Libksieve

selectflagswidget.h
1 /*
2  Copyright (C) 2013-2020 Laurent Montel <[email protected]>
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Library General Public
6  License as published by the Free Software Foundation; either
7  version 2 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Library General Public License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to
16  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  Boston, MA 02110-1301, USA.
18 */
19 #ifndef SELECTFLAGSWIDGET_H
20 #define SELECTFLAGSWIDGET_H
21 
22 #include <QDialog>
23 #include <QListWidget>
24 class QLineEdit;
25 
26 namespace KSieveUi {
27 class SelectFlagsListWidget : public QListWidget
28 {
29  Q_OBJECT
30 public:
31  explicit SelectFlagsListWidget(QWidget *parent = nullptr);
32  ~SelectFlagsListWidget();
33 
34  void setFlags(const QStringList &list);
35  Q_REQUIRED_RESULT QStringList flags() const;
36 
37 private:
38  enum Type {
39  FlagsRealName = Qt::UserRole + 1
40  };
41  void init();
42 };
43 
44 class SelectFlagsListDialog : public QDialog
45 {
46  Q_OBJECT
47 public:
48  explicit SelectFlagsListDialog(QWidget *parent = nullptr);
49  ~SelectFlagsListDialog();
50 
51  void setFlags(const QStringList &list);
52  Q_REQUIRED_RESULT QStringList flags() const;
53 
54 private:
55  void readConfig();
56  void writeConfig();
57  SelectFlagsListWidget *mListWidget = nullptr;
58 };
59 
60 class SelectFlagsWidget : public QWidget
61 {
62  Q_OBJECT
63 public:
64  explicit SelectFlagsWidget(QWidget *parent = nullptr);
65  ~SelectFlagsWidget();
66 
67  Q_REQUIRED_RESULT QString code() const;
68  void setFlags(const QStringList &flags);
69 
70 Q_SIGNALS:
71  void valueChanged();
72 
73 private:
74  void slotSelectFlags();
75  QLineEdit *mEdit = nullptr;
76 };
77 }
78 
79 #endif // SELECTFLAGSWIDGET_H
KCRASH_EXPORT void setFlags(KCrash::CrashFlags flags)
QUICKADDONS_EXPORT void init()
Q_OBJECTQ_OBJECT
void readConfig()
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sun May 24 2020 22:46:41 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.