umbrello 26.03.70-f7b1fd3
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
17class QVBoxLayout;
18
26public:
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
35protected:
36 QString m_name;
37};
38
40
41#define DefineDontAskAgainItem(name,key,_text) \
42class DontAskAgainItem##name : public DontAskAgainItem \
43{ \
44public: \
45 DontAskAgainItem##name() : DontAskAgainItem(QStringLiteral(key)) {} \
46 virtual QString text() const { return _text; } \
47}; \
48static DontAskAgainItem##name name;
49
63class DontAskAgainWidget : public QWidget
64{
65 Q_OBJECT
66public:
67 DontAskAgainWidget(QList<DontAskAgainItem *> &items, QWidget *parent = nullptr);
68 bool apply();
69 void setDefaults();
70
71protected:
72 void addItem(DontAskAgainItem *item);
73 QVBoxLayout *m_layout;
74 QList<DontAskAgainItem *> &m_items;
75
76protected Q_SLOTS:
77 void slotToggled(bool state);
78};
79
105{
106public:
107 void addItem(DontAskAgainItem *item);
110protected:
111 QList<DontAskAgainItem*> m_items;
112};
113
114#endif // DONTASKAGAIN_H
Definition: dontaskagain.h:105
static DontAskAgainHandler & instance()
Definition: dontaskagain.cpp:131
void addItem(DontAskAgainItem *item)
Definition: dontaskagain.cpp:121
DontAskAgainWidget * createWidget()
Definition: dontaskagain.cpp:126
QList< DontAskAgainItem * > m_items
Definition: dontaskagain.h:111
Definition: dontaskagain.h:25
virtual QString text() const =0
virtual ~DontAskAgainItem()
Definition: dontaskagain.cpp:25
bool isAll()
Definition: dontaskagain.cpp:34
void setEnabled(bool state=true)
Definition: dontaskagain.cpp:44
QString & name()
Definition: dontaskagain.cpp:29
bool isEnabled()
Definition: dontaskagain.cpp:39
QString m_name
Definition: dontaskagain.h:36
Definition: dontaskagain.h:64
QList< DontAskAgainItem * > & m_items
Definition: dontaskagain.h:74
void slotToggled(bool state)
Definition: dontaskagain.cpp:106
void addItem(DontAskAgainItem *item)
Definition: dontaskagain.cpp:97
bool apply()
Definition: dontaskagain.cpp:67
QVBoxLayout * m_layout
Definition: dontaskagain.h:73
void setDefaults()
Definition: dontaskagain.cpp:86
Q_DECLARE_METATYPE(UMLObject *)