File indexing completed on 2024-04-28 17:06:02

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 FILTERDIALOG_H
0009 #define FILTERDIALOG_H
0010 
0011 #include "../FileSystem/krquery.h"
0012 #include "filtersettings.h"
0013 
0014 // QtWidgets
0015 #include <QDialog>
0016 
0017 class FilterTabs;
0018 class GeneralFilter;
0019 
0020 class FilterDialog : public QDialog
0021 {
0022     Q_OBJECT
0023 
0024 public:
0025     explicit FilterDialog(QWidget *parent = nullptr, const QString &caption = QString(), QStringList extraOptions = QStringList(), bool modal = true);
0026     KrQuery getQuery();
0027     const FilterSettings &getSettings()
0028     {
0029         return settings;
0030     }
0031     void applySettings(const FilterSettings &s);
0032     bool isExtraOptionChecked(QString name);
0033     void checkExtraOption(QString name, bool check);
0034 
0035 public slots:
0036     void slotCloseRequest(bool doAccept);
0037     void slotReset();
0038     void slotOk();
0039 
0040 private:
0041     FilterTabs *filterTabs;
0042     GeneralFilter *generalFilter;
0043     FilterSettings settings;
0044 };
0045 
0046 #endif /* FILTERDIALOG_H */