diff options
Diffstat (limited to 'desktop-widgets/mainwindow.cpp')
-rw-r--r-- | desktop-widgets/mainwindow.cpp | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp index 99942ec56..6c0b42c9d 100644 --- a/desktop-widgets/mainwindow.cpp +++ b/desktop-widgets/mainwindow.cpp @@ -53,6 +53,8 @@ #include "desktop-widgets/tab-widgets/maintab.h" #include "desktop-widgets/updatemanager.h" #include "desktop-widgets/usersurvey.h" +#include "desktop-widgets/filterwidget2.h" +#include "desktop-widgets/simplewidgets.h" #include "profile-widget/profilewidget2.h" @@ -141,10 +143,10 @@ MainWindow::MainWindow() : QMainWindow(), diveList = new DiveListView(this); graphics = new ProfileWidget2(this); MapWidget *mapWidget = MapWidget::instance(); - divePlannerSettingsWidget = new PlannerSettingsWidget(this); divePlannerWidget = new DivePlannerWidget(this); plannerDetails = new PlannerDetails(this); + auto *filterWidget2 = new FilterWidget2(); // what is a sane order for those icons? we should have the ones the user is // most likely to want towards the top so they are always visible @@ -193,6 +195,7 @@ MainWindow::MainWindow() : QMainWindow(), registerApplicationState("PlanDive", divePlannerWidget, profileContainer, divePlannerSettingsWidget, plannerDetails ); registerApplicationState("EditPlannedDive", divePlannerWidget, profileContainer, diveList, mapWidget ); registerApplicationState("EditDiveSite", diveSiteEdit, profileContainer, diveList, mapWidget); + registerApplicationState("FilterDive", mainTab, profileContainer, diveList, filterWidget2); setStateProperties("Default", enabledList, enabledList, enabledList,enabledList); setStateProperties("AddDive", enabledList, enabledList, enabledList,enabledList); @@ -200,11 +203,9 @@ MainWindow::MainWindow() : QMainWindow(), setStateProperties("PlanDive", enabledList, enabledList, enabledList,enabledList); setStateProperties("EditPlannedDive", enabledList, enabledList, enabledList,enabledList); setStateProperties("EditDiveSite", enabledList, disabledList, disabledList, enabledList); - + setStateProperties("FilterDive", enabledList, enabledList, enabledList, enabledList); setApplicationState("Default"); - ui.multiFilter->hide(); - setWindowIcon(QIcon(":subsurface-icon")); if (!QIcon::hasThemeIcon("window-close")) { QIcon::setThemeName("subsurface"); @@ -495,10 +496,6 @@ void MainWindow::refreshDisplay(bool doRecreateDiveList) void MainWindow::recreateDiveList() { diveList->reload(); - TagFilterModel::instance()->repopulate(); - BuddyFilterModel::instance()->repopulate(); - LocationFilterModel::instance()->repopulate(); - SuitsFilterModel::instance()->repopulate(); MultiFilterSortModel::instance()->myInvalidate(); } @@ -759,9 +756,8 @@ void MainWindow::on_actionClose_triggered() { if (okToClose(tr("Please save or cancel the current dive edit before closing the file."))) { closeCurrentFile(); - // hide any pictures and the filter DivePictureModel::instance()->updateDivePictures(); - ui.multiFilter->closeFilter(); + setApplicationState("Default"); recreateDiveList(); } } @@ -1874,13 +1870,7 @@ void MainWindow::on_paste_triggered() void MainWindow::on_actionFilterTags_triggered() { - if (ui.multiFilter->isVisible()) { - ui.multiFilter->closeFilter(); - ui.actionFilterTags->setChecked(false); - } else { - ui.multiFilter->setVisible(true); - ui.actionFilterTags->setChecked(true); - } + setApplicationState(getCurrentAppState() == "FilterDive" ? "Default" : "FilterDive"); } void MainWindow::setCheckedActionFilterTags(bool checked) |