File indexing completed on 2024-04-28 17:06:03
0001 /* 0002 SPDX-FileCopyrightText: 2005 Csaba Karai <krusader@users.sourceforge.net> 0003 SPDX-FileCopyrightText: 2005-2022 Krusader Krew <https://krusader.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef FILTERTABS_H 0009 #define FILTERTABS_H 0010 0011 // QtCore 0012 #include <QList> 0013 0014 #include "filterbase.h" 0015 0016 class QTabWidget; 0017 0018 class FilterTabs : public QObject 0019 { 0020 Q_OBJECT 0021 0022 public: 0023 enum { 0024 HasProfileHandler = 0x1000, 0025 HasRecurseOptions = 0x2000, 0026 HasSearchIn = 0x4000, 0027 HasDontSearchIn = 0x8000, 0028 0029 Default = 0xe000 0030 }; 0031 0032 static FilterTabs *addTo(QTabWidget *tabWidget, int props = FilterTabs::Default, QStringList extraOptions = QStringList()); 0033 static KrQuery getQuery(QWidget *parent = nullptr); 0034 0035 FilterBase *get(const QString &name); 0036 bool isExtraOptionChecked(QString name); 0037 void checkExtraOption(QString name, bool check); 0038 FilterSettings getSettings(); 0039 void applySettings(const FilterSettings &s); 0040 void reset(); 0041 0042 public slots: 0043 void loadFromProfile(const QString &); 0044 void saveToProfile(const QString &); 0045 bool fillQuery(KrQuery *query); 0046 void close(bool accept = true) 0047 { 0048 emit closeRequest(accept); 0049 } 0050 0051 signals: 0052 void closeRequest(bool accept = true); 0053 0054 private: 0055 FilterTabs(int properties, QTabWidget *tabWidget, QObject *parent, QStringList extraOptions); 0056 void acceptQuery(); 0057 0058 QList<FilterBase *> filterList; 0059 QList<int> pageNumbers; 0060 0061 QTabWidget *tabWidget; 0062 }; 0063 0064 #endif /* FILTERTABS_H */