Browse Source

Merge pull request #1854 from DonLakeFlyer/MissionEditorSwitch

Add switch for using old/new mission editor
QGC4.4
Don Gagne 10 years ago
parent
commit
f323f850b3
  1. 12
      src/QGCApplication.cc
  2. 5
      src/QGCApplication.h
  3. 50
      src/ui/MainWindow.cc
  4. 3
      src/ui/MainWindow.h
  5. 13
      src/ui/MainWindow.ui

12
src/QGCApplication.cc

@ -158,6 +158,7 @@ QGCApplication::QGCApplication(int &argc, char* argv[], bool unitTesting) @@ -158,6 +158,7 @@ QGCApplication::QGCApplication(int &argc, char* argv[], bool unitTesting)
, _runningUnitTests(unitTesting)
, _styleIsDark(true)
, _fakeMobile(false)
, _useNewMissionEditor(false)
{
Q_ASSERT(_app == NULL);
_app = this;
@ -419,6 +420,9 @@ bool QGCApplication::_initForNormalAppBoot(void) @@ -419,6 +420,9 @@ bool QGCApplication::_initForNormalAppBoot(void)
_styleIsDark = settings.value(_styleKey, _styleIsDark).toBool();
_loadCurrentStyle();
// Temp hack for new mission editor
_useNewMissionEditor = settings.value("UseNewMissionEditor", false).toBool();
// Show splash screen
QPixmap splashImage(":/res/SplashScreen");
QSplashScreen* splashScreen = new QSplashScreen(splashImage);
@ -801,3 +805,11 @@ void QGCApplication::showToolBarMessage(const QString& message) @@ -801,3 +805,11 @@ void QGCApplication::showToolBarMessage(const QString& message)
QGCMessageBox::information("", message);
}
}
void QGCApplication::setUseNewMissionEditor(bool use)
{
// Temp hack for new mission editor
QSettings settings;
settings.setValue("UseNewMissionEditor", use);
}

5
src/QGCApplication.h

@ -106,6 +106,9 @@ public: @@ -106,6 +106,9 @@ public:
/// @return true: Fake ui into showing mobile interface
bool fakeMobile(void) { return _fakeMobile; }
bool useNewMissionEditor(void) { return _useNewMissionEditor; }
void setUseNewMissionEditor(bool use);
public slots:
/// You can connect to this slot to show an information message box from a different thread.
void informationMessageBoxOnMainThread(const QString& title, const QString& msg);
@ -175,6 +178,8 @@ private: @@ -175,6 +178,8 @@ private:
bool _fakeMobile; ///< true: Fake ui into displaying mobile interface
bool _useNewMissionEditor; ///< true: Use new Mission Editor
/// Unit Test have access to creating and destroying singletons
friend class UnitTest;
};

50
src/ui/MainWindow.cc

@ -709,7 +709,6 @@ void MainWindow::connectCommonActions() @@ -709,7 +709,6 @@ void MainWindow::connectCommonActions()
perspectives->addAction(_ui.actionFlight);
perspectives->addAction(_ui.actionSimulationView);
perspectives->addAction(_ui.actionPlan);
perspectives->addAction(_ui.actionMissionEditor);
perspectives->addAction(_ui.actionSetup);
perspectives->setExclusive(true);
@ -729,16 +728,11 @@ void MainWindow::connectCommonActions() @@ -729,16 +728,11 @@ void MainWindow::connectCommonActions()
_ui.actionSimulationView->setChecked(true);
_ui.actionSimulationView->activate(QAction::Trigger);
}
if (_currentView == VIEW_PLAN)
if (_currentView == VIEW_PLAN || _currentView == VIEW_MISSIONEDITOR)
{
_ui.actionPlan->setChecked(true);
_ui.actionPlan->activate(QAction::Trigger);
}
if (_currentView == VIEW_MISSIONEDITOR)
{
_ui.actionMissionEditor->setChecked(true);
_ui.actionMissionEditor->activate(QAction::Trigger);
}
if (_currentView == VIEW_SETUP)
{
_ui.actionSetup->setChecked(true);
@ -757,7 +751,9 @@ void MainWindow::connectCommonActions() @@ -757,7 +751,9 @@ void MainWindow::connectCommonActions()
connect(_ui.actionSimulationView, SIGNAL(triggered()), this, SLOT(loadSimulationView()));
connect(_ui.actionAnalyze, SIGNAL(triggered()), this, SLOT(loadAnalyzeView()));
connect(_ui.actionPlan, SIGNAL(triggered()), this, SLOT(loadPlanView()));
connect(_ui.actionMissionEditor, SIGNAL(triggered()), this, SLOT(loadMissionEditorView()));
_ui.actionUseMissionEditor->setChecked(qgcApp()->useNewMissionEditor());
connect(_ui.actionUseMissionEditor, &QAction::triggered, this, &MainWindow::_setUseMissionEditor);
// Help Actions
connect(_ui.actionOnline_Documentation, SIGNAL(triggered()), this, SLOT(showHelp()));
@ -1005,23 +1001,22 @@ void MainWindow::loadAnalyzeView() @@ -1005,23 +1001,22 @@ void MainWindow::loadAnalyzeView()
void MainWindow::loadPlanView()
{
if (_currentView != VIEW_PLAN)
{
_storeCurrentViewState();
_currentView = VIEW_PLAN;
_ui.actionPlan->setChecked(true);
_loadCurrentViewState();
}
}
void MainWindow::loadMissionEditorView()
{
if (_currentView != VIEW_MISSIONEDITOR)
{
_storeCurrentViewState();
_currentView = VIEW_MISSIONEDITOR;
_ui.actionMissionEditor->setChecked(true);
_loadCurrentViewState();
if (qgcApp()->useNewMissionEditor()) {
if (_currentView != VIEW_MISSIONEDITOR)
{
_storeCurrentViewState();
_currentView = VIEW_MISSIONEDITOR;
_ui.actionPlan->setChecked(true);
_loadCurrentViewState();
}
} else {
if (_currentView != VIEW_PLAN)
{
_storeCurrentViewState();
_currentView = VIEW_PLAN;
_ui.actionPlan->setChecked(true);
_loadCurrentViewState();
}
}
}
@ -1118,3 +1113,8 @@ void MainWindow::_showQmlTestWidget(void) @@ -1118,3 +1113,8 @@ void MainWindow::_showQmlTestWidget(void)
new QmlTestWidget();
}
#endif
void MainWindow::_setUseMissionEditor(bool checked)
{
qgcApp()->setUseNewMissionEditor(checked);
}

3
src/ui/MainWindow.h

@ -135,7 +135,6 @@ public slots: @@ -135,7 +135,6 @@ public slots:
void loadSimulationView();
void loadAnalyzeView();
void loadPlanView();
void loadMissionEditorView();
void manageLinks();
@ -176,6 +175,8 @@ protected slots: @@ -176,6 +175,8 @@ protected slots:
* @brief Enable/Disable Status Bar
*/
void showStatusBarCallback(bool checked);
void _setUseMissionEditor(bool checked);
signals:
void initStatusChanged(const QString& message, int alignment, const QColor &color);

13
src/ui/MainWindow.ui

@ -62,6 +62,7 @@ @@ -62,6 +62,7 @@
<addaction name="actionMuteAudioOutput"/>
<addaction name="actionAdd_Link"/>
<addaction name="actionSettings"/>
<addaction name="actionUseMissionEditor"/>
<addaction name="separator"/>
<addaction name="actionExit"/>
</widget>
@ -79,7 +80,6 @@ @@ -79,7 +80,6 @@
</property>
<addaction name="actionSetup"/>
<addaction name="actionPlan"/>
<addaction name="actionMissionEditor"/>
<addaction name="actionFlight"/>
<addaction name="actionAnalyze"/>
<addaction name="separator"/>
@ -254,6 +254,17 @@ @@ -254,6 +254,17 @@
<string>Mission Editor</string>
</property>
</action>
<action name="actionUseMissionEditor">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Use new mission editor (reboot required)</string>
</property>
<property name="toolTip">
<string>Mission Editor</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources>

Loading…
Cancel
Save