umbrello  26.08.1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
dontaskagain.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2018-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef DONTASKAGAIN_H
7 #define DONTASKAGAIN_H
8 
9 // Qt includes
10 #include <QList>
11 #include <QString>
12 #include <QWidget>
13 
14 // KDE includes
15 #include <KLocalizedString>
16 
17 class QVBoxLayout;
18 
26 public:
27  DontAskAgainItem(const QString &name);
28  virtual ~DontAskAgainItem();
29  QString &name();
30  virtual QString text() const = 0;
31  bool isAll();
32  bool isEnabled();
33  void setEnabled(bool state = true);
34 
35 protected:
36  QString m_name;
37 };
38 
40 
41 #define DefineDontAskAgainItem(name,key,_text) \
42 class DontAskAgainItem##name : public DontAskAgainItem \
43 { \
44 public: \
45  DontAskAgainItem##name() : DontAskAgainItem(QStringLiteral(key)) {} \
46  virtual QString text() const { return _text; } \
47 }; \
48 static DontAskAgainItem##name name;
49 
63 class DontAskAgainWidget : public QWidget
64 {
65  Q_OBJECT
66 public:
67  DontAskAgainWidget(QList<DontAskAgainItem *> &items, QWidget *parent = nullptr);
68  bool apply();
69  void setDefaults();
70 
71 protected:
72  void addItem(DontAskAgainItem *item);
73  QVBoxLayout *m_layout;
74  QList<DontAskAgainItem *> &m_items;
75 
76 protected Q_SLOTS:
77  void slotToggled(bool state);
78 };
79 
105 {
106 public:
107  void addItem(DontAskAgainItem *item);
108  static DontAskAgainHandler &instance();
110 protected:
111  QList<DontAskAgainItem*> m_items;
112 };
113 
114 #endif // DONTASKAGAIN_H
bool apply()
Definition: dontaskagain.cpp:67
QString m_name
Definition: dontaskagain.h:36
QList< DontAskAgainItem * > & m_items
Definition: dontaskagain.h:74
void addItem(DontAskAgainItem *item)
Definition: dontaskagain.cpp:121
void setEnabled(bool state=true)
Definition: dontaskagain.cpp:44
Definition: dontaskagain.h:63
QList< DontAskAgainItem * > m_items
Definition: dontaskagain.h:111
DontAskAgainItem(const QString &name)
Definition: dontaskagain.cpp:19
void slotToggled(bool state)
Definition: dontaskagain.cpp:106
bool isAll()
Definition: dontaskagain.cpp:34
virtual ~DontAskAgainItem()
Definition: dontaskagain.cpp:25
virtual QString text() const =0
DontAskAgainWidget * createWidget()
Definition: dontaskagain.cpp:126
void setDefaults()
Definition: dontaskagain.cpp:86
void addItem(DontAskAgainItem *item)
Definition: dontaskagain.cpp:97
Q_DECLARE_METATYPE(UMLObject *)
QVBoxLayout * m_layout
Definition: dontaskagain.h:73
static DontAskAgainHandler & instance()
Definition: dontaskagain.cpp:131
Definition: dontaskagain.h:104
DontAskAgainWidget(QList< DontAskAgainItem *> &items, QWidget *parent=nullptr)
Definition: dontaskagain.cpp:54
bool isEnabled()
Definition: dontaskagain.cpp:39
QString & name()
Definition: dontaskagain.cpp:29
Definition: dontaskagain.h:25