summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/mainwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'desktop-widgets/mainwindow.cpp')
-rw-r--r--desktop-widgets/mainwindow.cpp24
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)