mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Factor out *Filter code into FilterBase base class
The TagFilter, BuddyFilter, SuitFilter and LocationFilter classes all did essentially the same thing. Therefore, factor out common code / objects into a base class FilterBase. The new base class stores a pointer to the filter model. It was felt that this is simpler than introducing virtual methods. The only thing the *Filter classes now do is setting a label and in one case a tooltip. Thus, in principle, they could be removed completely, but let's keep them for now. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
603e43f46e
commit
1a4e7ad0dd
2 changed files with 32 additions and 98 deletions
|
@ -5,6 +5,7 @@
|
|||
class MinMaxAvgWidgetPrivate;
|
||||
class QAbstractButton;
|
||||
class QNetworkReply;
|
||||
class FilterModelBase;
|
||||
|
||||
#include <QWidget>
|
||||
#include <QGroupBox>
|
||||
|
@ -165,49 +166,39 @@ public:
|
|||
Ui::FilterWidget2 ui;
|
||||
};
|
||||
|
||||
class TagFilter : public QWidget {
|
||||
Q_OBJECT
|
||||
public:
|
||||
TagFilter(QWidget *parent = 0);
|
||||
class FilterBase : public QWidget {
|
||||
protected:
|
||||
FilterBase(FilterModelBase *model, QWidget *parent = 0);
|
||||
FilterModelBase *model;
|
||||
Ui::FilterWidget ui;
|
||||
virtual void showEvent(QShowEvent *);
|
||||
virtual void hideEvent(QHideEvent *);
|
||||
|
||||
private:
|
||||
Ui::FilterWidget ui;
|
||||
friend class MultiFilter;
|
||||
};
|
||||
|
||||
class BuddyFilter : public QWidget {
|
||||
class TagFilter : public FilterBase {
|
||||
Q_OBJECT
|
||||
public:
|
||||
TagFilter(QWidget *parent = 0);
|
||||
friend class MultiFilter;
|
||||
};
|
||||
|
||||
class BuddyFilter : public FilterBase {
|
||||
Q_OBJECT
|
||||
public:
|
||||
BuddyFilter(QWidget *parent = 0);
|
||||
virtual void showEvent(QShowEvent *);
|
||||
virtual void hideEvent(QHideEvent *);
|
||||
|
||||
private:
|
||||
Ui::FilterWidget ui;
|
||||
};
|
||||
|
||||
class SuitFilter : public QWidget {
|
||||
class SuitFilter : public FilterBase {
|
||||
Q_OBJECT
|
||||
public:
|
||||
SuitFilter(QWidget *parent = 0);
|
||||
virtual void showEvent(QShowEvent *);
|
||||
virtual void hideEvent(QHideEvent *);
|
||||
|
||||
private:
|
||||
Ui::FilterWidget ui;
|
||||
};
|
||||
|
||||
class LocationFilter : public QWidget {
|
||||
class LocationFilter : public FilterBase {
|
||||
Q_OBJECT
|
||||
public:
|
||||
LocationFilter(QWidget *parent = 0);
|
||||
virtual void showEvent(QShowEvent *);
|
||||
virtual void hideEvent(QHideEvent *);
|
||||
|
||||
private:
|
||||
Ui::FilterWidget ui;
|
||||
};
|
||||
|
||||
class TextHyperlinkEventFilter : public QObject {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue