diff options
Diffstat (limited to 'desktop-widgets/filterwidget2.h')
-rw-r--r-- | desktop-widgets/filterwidget2.h | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/desktop-widgets/filterwidget2.h b/desktop-widgets/filterwidget2.h index b52386fe7..462200bf8 100644 --- a/desktop-widgets/filterwidget2.h +++ b/desktop-widgets/filterwidget2.h @@ -1,45 +1,46 @@ #ifndef FILTERWIDGET_2_H #define FILTERWIDGET_2_H -#include <QWidget> #include <QHideEvent> #include <QShowEvent> +#include <vector> #include <memory> #include "ui_filterwidget2.h" #include "core/divefilter.h" +#include "qt-models/filterconstraintmodel.h" -namespace Ui { - class FilterWidget2; -} +class FilterConstraintWidget; class FilterWidget2 : public QWidget { Q_OBJECT public: explicit FilterWidget2(QWidget *parent = 0); - void updateFilter(); + ~FilterWidget2(); QString shownText(); protected: void hideEvent(QHideEvent *event) override; void showEvent(QShowEvent *event) override; -public slots: - void updatePlanned(int value); - void updateLogged(int value); private slots: void clearFilter(); void closeFilter(); - void temperatureChanged(); + void updateFilter(); + void constraintAdded(const QModelIndex &parent, int first, int last); + void constraintRemoved(const QModelIndex &parent, int first, int last); + void constraintChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles); + void constraintsReset(); private: bool ignoreSignal; - bool isActive() const; Ui::FilterWidget2 ui; - void filterDataChanged(const FilterData &data); - FilterData filterData; + FilterConstraintModel constraintModel; + bool validFilter; + void addConstraint(filter_constraint_type type); + std::vector<std::unique_ptr<FilterConstraintWidget>> constraintWidgets; }; #endif |