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 FILTERBASE_H
0009 #define FILTERBASE_H
0010 
0011 #include "filtersettings.h"
0012 
0013 // QtCore
0014 #include <QString>
0015 // QtWidgets
0016 #include <QComboBox>
0017 
0018 class FilterTabs;
0019 
0020 class FilterBase
0021 {
0022 public:
0023     virtual ~FilterBase()
0024     {
0025     }
0026 
0027     virtual void queryAccepted() = 0;
0028     virtual QString name() = 0;
0029     virtual FilterTabs *filterTabs() = 0;
0030     virtual bool getSettings(FilterSettings &) = 0;
0031     virtual void applySettings(const FilterSettings &) = 0;
0032 
0033 protected:
0034     static void setComboBoxValue(QComboBox *cb, QString value)
0035     {
0036         int idx = cb->findText(value);
0037         cb->setCurrentIndex(idx < 0 ? 0 : idx);
0038     }
0039 };
0040 
0041 #endif /* FILTERBASE_H */