diff options
Diffstat (limited to 'desktop-widgets')
-rw-r--r-- | desktop-widgets/filterwidget.cpp | 2 | ||||
-rw-r--r-- | desktop-widgets/locationinformation.cpp | 2 | ||||
-rw-r--r-- | desktop-widgets/mainwindow.cpp | 16 | ||||
-rw-r--r-- | desktop-widgets/mainwindow.h | 17 | ||||
-rw-r--r-- | desktop-widgets/statswidget.cpp | 2 |
5 files changed, 27 insertions, 12 deletions
diff --git a/desktop-widgets/filterwidget.cpp b/desktop-widgets/filterwidget.cpp index b6a1429fe..5c910ea72 100644 --- a/desktop-widgets/filterwidget.cpp +++ b/desktop-widgets/filterwidget.cpp @@ -181,7 +181,7 @@ void FilterWidget::clearFilter() void FilterWidget::closeFilter() { - MainWindow::instance()->setApplicationState(ApplicationState::Default); + MainWindow::instance()->setApplicationState(MainWindow::ApplicationState::Default); } FilterData FilterWidget::createFilterData() const diff --git a/desktop-widgets/locationinformation.cpp b/desktop-widgets/locationinformation.cpp index 780390198..2f5648461 100644 --- a/desktop-widgets/locationinformation.cpp +++ b/desktop-widgets/locationinformation.cpp @@ -219,7 +219,7 @@ void LocationInformationWidget::acceptChanges() MainWindow::instance()->diveList->setEnabled(true); MainWindow::instance()->setEnabledToolbar(true); - MainWindow::instance()->setApplicationState(ApplicationState::Default); + MainWindow::instance()->setApplicationState(MainWindow::ApplicationState::Default); DiveFilter::instance()->stopFilterDiveSites(); // Subtlety alert: diveSite must be cleared *after* exiting the dive-site mode. diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp index e2fb7368a..2a932d278 100644 --- a/desktop-widgets/mainwindow.cpp +++ b/desktop-widgets/mainwindow.cpp @@ -112,6 +112,7 @@ extern "C" void showErrorFromC(char *buf) } MainWindow::MainWindow() : QMainWindow(), + appState((ApplicationState)-1), // Invalid state actionNextDive(nullptr), actionPreviousDive(nullptr), #ifndef NO_USERMANUAL @@ -653,8 +654,7 @@ void MainWindow::updateLastUsedDir(const QString &dir) void MainWindow::on_actionPrint_triggered() { #ifndef NO_PRINTING - bool in_planner = getAppState() == ApplicationState::PlanDive || - getAppState() == ApplicationState::EditPlannedDive; + bool in_planner = appState == ApplicationState::PlanDive || appState == ApplicationState::EditPlannedDive; PrintDialog dlg(in_planner, this); dlg.exec(); @@ -1132,7 +1132,7 @@ void MainWindow::writeSettings() settings.setValue("geometry", saveGeometry()); settings.setValue("windowState", saveState()); settings.setValue("maximized", isMaximized()); - settings.setValue("lastState", (int)getAppState()); + settings.setValue("lastState", (int)appState); saveSplitterSizes(); settings.endGroup(); } @@ -1562,14 +1562,14 @@ void MainWindow::on_actionFilterTags_triggered() { if (!userMayChangeAppState()) return; - setApplicationState(getAppState() == ApplicationState::FilterDive ? ApplicationState::Default : ApplicationState::FilterDive); + setApplicationState(appState == ApplicationState::FilterDive ? ApplicationState::Default : ApplicationState::FilterDive); } void MainWindow::on_actionStats_triggered() { if (!userMayChangeAppState()) return; - setApplicationState(getAppState() == ApplicationState::Statistics ? ApplicationState::Default : ApplicationState::Statistics); + setApplicationState(appState == ApplicationState::Statistics ? ApplicationState::Default : ApplicationState::Statistics); } void MainWindow::registerApplicationState(ApplicationState state, Quadrants q) @@ -1602,17 +1602,17 @@ void MainWindow::setQuadrantWidgets(QSplitter &splitter, const Quadrant &left, c bool MainWindow::userMayChangeAppState() const { - return applicationState[(int)getAppState()].allowUserChange; + return applicationState[(int)appState].allowUserChange; } void MainWindow::setApplicationState(ApplicationState state) { - if (getAppState() == state) + if (appState == state) return; saveSplitterSizes(); - setAppState(state); + appState = state; clearSplitter(*topSplitter); clearSplitter(*bottomSplitter); diff --git a/desktop-widgets/mainwindow.h b/desktop-widgets/mainwindow.h index ae8e11740..4b28c0a9e 100644 --- a/desktop-widgets/mainwindow.h +++ b/desktop-widgets/mainwindow.h @@ -19,7 +19,6 @@ #include "ui_plannerDetails.h" #include "desktop-widgets/notificationwidget.h" #include "desktop-widgets/filterwidget.h" -#include "core/applicationstate.h" #include "core/dive.h" #include "core/subsurface-qt/divelistnotifier.h" @@ -53,6 +52,21 @@ public: LocationInformationWidget *locationInformationWidget(); void setTitle(); + enum class ApplicationState { + Default, + EditDive, + PlanDive, + EditPlannedDive, + EditDiveSite, + FilterDive, + Statistics, + MapMaximized, + ProfileMaximized, + ListMaximized, + InfoMaximized, + Count + }; + void loadFiles(const QStringList files); void importFiles(const QStringList importFiles); void setToolButtonsEnabled(bool enabled); @@ -155,6 +169,7 @@ slots: void startDiveSiteEdit(); private: + ApplicationState appState; Ui::MainWindow ui; FilterWidget filterWidget; std::unique_ptr<QSplitter> topSplitter; diff --git a/desktop-widgets/statswidget.cpp b/desktop-widgets/statswidget.cpp index b74a26863..465d5d496 100644 --- a/desktop-widgets/statswidget.cpp +++ b/desktop-widgets/statswidget.cpp @@ -157,7 +157,7 @@ void StatsWidget::updateRestrictionLabel() void StatsWidget::closeStats() { - MainWindow::instance()->setApplicationState(ApplicationState::Default); + MainWindow::instance()->setApplicationState(MainWindow::ApplicationState::Default); } void StatsWidget::chartTypeChanged(int idx) |