Commit f323f850 authored by Don Gagne's avatar Don Gagne

Merge pull request #1854 from DonLakeFlyer/MissionEditorSwitch

Add switch for using old/new mission editor
parents 748f1dd9 7a25f8f6
...@@ -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) , _runningUnitTests(unitTesting)
, _styleIsDark(true) , _styleIsDark(true)
, _fakeMobile(false) , _fakeMobile(false)
, _useNewMissionEditor(false)
{ {
Q_ASSERT(_app == NULL); Q_ASSERT(_app == NULL);
_app = this; _app = this;
...@@ -419,6 +420,9 @@ bool QGCApplication::_initForNormalAppBoot(void) ...@@ -419,6 +420,9 @@ bool QGCApplication::_initForNormalAppBoot(void)
_styleIsDark = settings.value(_styleKey, _styleIsDark).toBool(); _styleIsDark = settings.value(_styleKey, _styleIsDark).toBool();
_loadCurrentStyle(); _loadCurrentStyle();
// Temp hack for new mission editor
_useNewMissionEditor = settings.value("UseNewMissionEditor", false).toBool();
// Show splash screen // Show splash screen
QPixmap splashImage(":/res/SplashScreen"); QPixmap splashImage(":/res/SplashScreen");
QSplashScreen* splashScreen = new QSplashScreen(splashImage); 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); QGCMessageBox::information("", message);
} }
} }
void QGCApplication::setUseNewMissionEditor(bool use)
{
// Temp hack for new mission editor
QSettings settings;
settings.setValue("UseNewMissionEditor", use);
}
...@@ -106,6 +106,9 @@ public: ...@@ -106,6 +106,9 @@ public:
/// @return true: Fake ui into showing mobile interface /// @return true: Fake ui into showing mobile interface
bool fakeMobile(void) { return _fakeMobile; } bool fakeMobile(void) { return _fakeMobile; }
bool useNewMissionEditor(void) { return _useNewMissionEditor; }
void setUseNewMissionEditor(bool use);
public slots: public slots:
/// You can connect to this slot to show an information message box from a different thread. /// You can connect to this slot to show an information message box from a different thread.
void informationMessageBoxOnMainThread(const QString& title, const QString& msg); 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 _fakeMobile; ///< true: Fake ui into displaying mobile interface
bool _useNewMissionEditor; ///< true: Use new Mission Editor
/// Unit Test have access to creating and destroying singletons /// Unit Test have access to creating and destroying singletons
friend class UnitTest; friend class UnitTest;
}; };
......
...@@ -709,7 +709,6 @@ void MainWindow::connectCommonActions() ...@@ -709,7 +709,6 @@ void MainWindow::connectCommonActions()
perspectives->addAction(_ui.actionFlight); perspectives->addAction(_ui.actionFlight);
perspectives->addAction(_ui.actionSimulationView); perspectives->addAction(_ui.actionSimulationView);
perspectives->addAction(_ui.actionPlan); perspectives->addAction(_ui.actionPlan);
perspectives->addAction(_ui.actionMissionEditor);
perspectives->addAction(_ui.actionSetup); perspectives->addAction(_ui.actionSetup);
perspectives->setExclusive(true); perspectives->setExclusive(true);
...@@ -729,16 +728,11 @@ void MainWindow::connectCommonActions() ...@@ -729,16 +728,11 @@ void MainWindow::connectCommonActions()
_ui.actionSimulationView->setChecked(true); _ui.actionSimulationView->setChecked(true);
_ui.actionSimulationView->activate(QAction::Trigger); _ui.actionSimulationView->activate(QAction::Trigger);
} }
if (_currentView == VIEW_PLAN) if (_currentView == VIEW_PLAN || _currentView == VIEW_MISSIONEDITOR)
{ {
_ui.actionPlan->setChecked(true); _ui.actionPlan->setChecked(true);
_ui.actionPlan->activate(QAction::Trigger); _ui.actionPlan->activate(QAction::Trigger);
} }
if (_currentView == VIEW_MISSIONEDITOR)
{
_ui.actionMissionEditor->setChecked(true);
_ui.actionMissionEditor->activate(QAction::Trigger);
}
if (_currentView == VIEW_SETUP) if (_currentView == VIEW_SETUP)
{ {
_ui.actionSetup->setChecked(true); _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.actionSimulationView, SIGNAL(triggered()), this, SLOT(loadSimulationView()));
connect(_ui.actionAnalyze, SIGNAL(triggered()), this, SLOT(loadAnalyzeView())); connect(_ui.actionAnalyze, SIGNAL(triggered()), this, SLOT(loadAnalyzeView()));
connect(_ui.actionPlan, SIGNAL(triggered()), this, SLOT(loadPlanView())); 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 // Help Actions
connect(_ui.actionOnline_Documentation, SIGNAL(triggered()), this, SLOT(showHelp())); connect(_ui.actionOnline_Documentation, SIGNAL(triggered()), this, SLOT(showHelp()));
...@@ -1005,24 +1001,23 @@ void MainWindow::loadAnalyzeView() ...@@ -1005,24 +1001,23 @@ void MainWindow::loadAnalyzeView()
void MainWindow::loadPlanView() void MainWindow::loadPlanView()
{ {
if (_currentView != VIEW_PLAN) if (qgcApp()->useNewMissionEditor()) {
if (_currentView != VIEW_MISSIONEDITOR)
{ {
_storeCurrentViewState(); _storeCurrentViewState();
_currentView = VIEW_PLAN; _currentView = VIEW_MISSIONEDITOR;
_ui.actionPlan->setChecked(true); _ui.actionPlan->setChecked(true);
_loadCurrentViewState(); _loadCurrentViewState();
} }
} } else {
if (_currentView != VIEW_PLAN)
void MainWindow::loadMissionEditorView()
{
if (_currentView != VIEW_MISSIONEDITOR)
{ {
_storeCurrentViewState(); _storeCurrentViewState();
_currentView = VIEW_MISSIONEDITOR; _currentView = VIEW_PLAN;
_ui.actionMissionEditor->setChecked(true); _ui.actionPlan->setChecked(true);
_loadCurrentViewState(); _loadCurrentViewState();
} }
}
} }
void MainWindow::loadSetupView() void MainWindow::loadSetupView()
...@@ -1118,3 +1113,8 @@ void MainWindow::_showQmlTestWidget(void) ...@@ -1118,3 +1113,8 @@ void MainWindow::_showQmlTestWidget(void)
new QmlTestWidget(); new QmlTestWidget();
} }
#endif #endif
void MainWindow::_setUseMissionEditor(bool checked)
{
qgcApp()->setUseNewMissionEditor(checked);
}
...@@ -135,7 +135,6 @@ public slots: ...@@ -135,7 +135,6 @@ public slots:
void loadSimulationView(); void loadSimulationView();
void loadAnalyzeView(); void loadAnalyzeView();
void loadPlanView(); void loadPlanView();
void loadMissionEditorView();
void manageLinks(); void manageLinks();
...@@ -177,6 +176,8 @@ protected slots: ...@@ -177,6 +176,8 @@ protected slots:
*/ */
void showStatusBarCallback(bool checked); void showStatusBarCallback(bool checked);
void _setUseMissionEditor(bool checked);
signals: signals:
void initStatusChanged(const QString& message, int alignment, const QColor &color); void initStatusChanged(const QString& message, int alignment, const QColor &color);
/** Emitted when any value changes from any source */ /** Emitted when any value changes from any source */
......
...@@ -62,6 +62,7 @@ ...@@ -62,6 +62,7 @@
<addaction name="actionMuteAudioOutput"/> <addaction name="actionMuteAudioOutput"/>
<addaction name="actionAdd_Link"/> <addaction name="actionAdd_Link"/>
<addaction name="actionSettings"/> <addaction name="actionSettings"/>
<addaction name="actionUseMissionEditor"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionExit"/> <addaction name="actionExit"/>
</widget> </widget>
...@@ -79,7 +80,6 @@ ...@@ -79,7 +80,6 @@
</property> </property>
<addaction name="actionSetup"/> <addaction name="actionSetup"/>
<addaction name="actionPlan"/> <addaction name="actionPlan"/>
<addaction name="actionMissionEditor"/>
<addaction name="actionFlight"/> <addaction name="actionFlight"/>
<addaction name="actionAnalyze"/> <addaction name="actionAnalyze"/>
<addaction name="separator"/> <addaction name="separator"/>
...@@ -254,6 +254,17 @@ ...@@ -254,6 +254,17 @@
<string>Mission Editor</string> <string>Mission Editor</string>
</property> </property>
</action> </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> </widget>
<layoutdefault spacing="6" margin="11"/> <layoutdefault spacing="6" margin="11"/>
<resources> <resources>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment