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