kwave  18.07.70
MessageBox.h
Go to the documentation of this file.
1 /***************************************************************************
2  MessageBox.h - threasafe wrapper for KMessageBox
3  -------------------
4  begin : Sun Apr 13 2008
5  copyright : (C) 2008 by Thomas Eschenbacher
6  email : Thomas.Eschenbacher@gmx.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef MESSAGE_BOX_H
19 #define MESSAGE_BOX_H
20 
21 #include "config.h"
22 
23 #include <QtGlobal>
24 #include <QObject>
25 #include <QSemaphore>
26 #include <QString>
27 
28 #include <KMessageBox>
29 
30 class QWidget;
31 
32 namespace Kwave
33 {
34 
35  class Q_DECL_EXPORT MessageBox: public QObject
36  {
37  Q_OBJECT
38 
39  public:
40 
42  static int questionYesNo(QWidget *widget,
43  QString message, QString caption = QString(),
44  const QString buttonYes = QString(),
45  const QString buttonNo = QString(),
46  const QString &dontAskAgainName = QString());
47 
49  static int questionYesNoCancel(QWidget *widget,
50  QString message, QString caption = QString(),
51  const QString buttonYes = QString(),
52  const QString buttonNo = QString(),
53  const QString &dontAskAgainName = QString());
54 
56  static int sorry(QWidget *widget,
57  QString message, QString caption = QString());
58 
60  static int warningYesNo(QWidget *widget,
61  QString message, QString caption = QString(),
62  const QString buttonYes = QString(),
63  const QString buttonNo = QString(),
64  const QString &dontAskAgainName = QString());
65 
67  static int warningYesNoCancel(QWidget *widget,
68  QString message, QString caption = QString(),
69  const QString buttonYes = QString(),
70  const QString buttonNo = QString(),
71  const QString &dontAskAgainName = QString());
72 
74  static int warningContinueCancel(QWidget *widget,
75  QString message, QString caption = QString(),
76  const QString buttonContinue = QString(),
77  const QString buttonCancel = QString(),
78  const QString &dontAskAgainName = QString());
79 
81  static int error(QWidget *widget,
82  QString message, QString caption = QString());
83 
84  private:
85 
87  MessageBox();
88 
99  MessageBox(KMessageBox::DialogType mode, QWidget *parent,
100  QString message, QString caption,
101  const QString &button1 = QString(),
102  const QString &button2 = QString(),
103  const QString &dontAskAgainName = QString());
104 
106  virtual ~MessageBox();
107 
109  virtual int retval() const;
110 
125  static int exec(KMessageBox::DialogType mode, QWidget *parent,
126  QString message, QString caption = QString(),
127  const QString &button1 = QString(),
128  const QString &button2 = QString(),
129  const QString &dontAskAgainName = QString());
130 
131  protected:
136  void show();
137 
138  private:
139 
141  class Trigger: public QObject
142  {
143  public:
148  explicit Trigger(Kwave::MessageBox &box);
149 
156  virtual ~Trigger();
157 
158  private:
159 
162  };
163 
164  private:
165 
167  QSemaphore m_semaphore;
168 
170  int m_retval;
171 
173  KMessageBox::DialogType m_mode;
174 
176  QWidget *m_parent;
177 
179  QString m_message;
180 
182  QString m_caption;
183 
185  const QString m_button1;
186 
188  const QString m_button2;
189 
191  const QString m_dont_ask_again_name;
192  };
193 }
194 
195 #endif /* MESSAGE_BOX_H */
196 
197 //***************************************************************************
198 //***************************************************************************
Definition: App.h:33
const QString m_button2
Definition: MessageBox.h:188
KMessageBox::DialogType m_mode
Definition: MessageBox.h:173
const QString m_button1
Definition: MessageBox.h:185
Kwave::MessageBox & m_box
Definition: MessageBox.h:161
const QString m_dont_ask_again_name
Definition: MessageBox.h:191
QWidget * m_parent
Definition: MessageBox.h:176
QSemaphore m_semaphore
Definition: MessageBox.h:167