From c383079626178269bf0a3afefe6828a1c44d4d76 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Fri, 25 Jan 2019 22:41:07 +0100 Subject: [PATCH] Filter: implement close & reset Implement the close & reset functionality, by reseting the application state to "Default". This is currently the only state from where the fiter can be called. To make it consistent with CTRL^F, clear the filter in the hide() slot, which is called in both cases. Signed-off-by: Berthold Stoeger --- desktop-widgets/filterwidget2.cpp | 12 ++++++++++-- desktop-widgets/filterwidget2.h | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/desktop-widgets/filterwidget2.cpp b/desktop-widgets/filterwidget2.cpp index ccc996f3c..c27d22062 100644 --- a/desktop-widgets/filterwidget2.cpp +++ b/desktop-widgets/filterwidget2.cpp @@ -1,5 +1,6 @@ #include "desktop-widgets/filterwidget2.h" #include "desktop-widgets/simplewidgets.h" +#include "desktop-widgets/mainwindow.h" #include "core/qthelper.h" #include "core/settings/qPrefUnit.h" @@ -34,6 +35,9 @@ FilterWidget2::FilterWidget2(QWidget* parent) : QWidget(parent), ignoreSignal(fa connect(ui.clear, &QToolButton::clicked, this, &FilterWidget2::clearFilter); + connect(ui.close, &QToolButton::clicked, + this, &FilterWidget2::closeFilter); + connect(ui.maxRating, &StarWidget::valueChanged, this, &FilterWidget2::updateFilter); @@ -122,6 +126,11 @@ void FilterWidget2::clearFilter() filterDataChanged(filterData); } +void FilterWidget2::closeFilter() +{ + MainWindow::instance()->setApplicationState("Default"); +} + void FilterWidget2::temperatureChanged() { QString temp = get_temp_unit(); @@ -181,8 +190,7 @@ void FilterWidget2::showEvent(QShowEvent *event) void FilterWidget2::hideEvent(QHideEvent *event) { QWidget::hideEvent(event); - FilterData data; - filterDataChanged(data); + clearFilter(); } void FilterWidget2::filterDataChanged(const FilterData &data) diff --git a/desktop-widgets/filterwidget2.h b/desktop-widgets/filterwidget2.h index 2988fac67..e07259de7 100644 --- a/desktop-widgets/filterwidget2.h +++ b/desktop-widgets/filterwidget2.h @@ -29,6 +29,7 @@ public slots: void updateLogged(int value); private slots: void clearFilter(); + void closeFilter(); void temperatureChanged(); void countsChanged();