summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpedialog.cpp28
1 files changed, 19 insertions, 9 deletions
diff --git a/library/qpedialog.cpp b/library/qpedialog.cpp
index da461b7..87d61e3 100644
--- a/library/qpedialog.cpp
+++ b/library/qpedialog.cpp
@@ -15,36 +15,43 @@
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#define protected public 21#include "qpedialog.h"
22
22#include <qdialog.h> 23#include <qdialog.h>
23#undef protected
24 24
25#include "qpedialog.h" 25#include "qpeapplication.h"
26#include <qpe/qpeapplication.h> 26
27
28// Allow access to nornally protected accept and reject functions
29class HackedPrivateQDialog : public QDialog{
30public:
31 void accept() { QDialog::accept();}
32 void reject() { QDialog::reject();}
33};
27 34
28 35
29/** 36/**
30 * \brief This is the only c'tor. 37 * \brief This is the only c'tor.
31 * 38 *
32 * The parent of this Listener is the Dialog you pass. This means once 39 * The parent of this Listener is the Dialog you pass. This means once
33 * the dialog is deleted this listener will be deleted too. 40 * the dialog is deleted this listener will be deleted too.
34 * This Listener listens on QPEApplication::appMessage signal and implements 41 * This Listener listens on QPEApplication::appMessage signal and implements
35 * accept() and reject(). 42 * accept() and reject().
36 * 43 *
37 * \code 44 * \code
38 *QDialog *dialog = new YourDialog(); 45 *QDialog *dialog = new YourDialog();
39 (void)new QPEDialogListener(dialog); 46 (void)new QPEDialogListener(dialog);
40 if( QPEApplication::execDialog(dialog) == QDialog::Accept ){ 47 if( QPEApplication::execDialog(dialog) == QDialog::Accept ){
41 // do some stuff 48 // do some stuff
42 } 49 }
43 delete dialog; 50 delete dialog;
44 51
45 * \endcode 52 * \endcode
46 * 53 *
47 * @param di The dialog to handle 54 * @param di The dialog to handle
48 */ 55 */
49QPEDialogListener::QPEDialogListener(QDialog *di ) : QObject(di) 56QPEDialogListener::QPEDialogListener(QDialog *di ) : QObject(di)
50{ 57{
@@ -63,12 +70,15 @@ QPEDialogListener::~QPEDialogListener() {}
63 * \internal 70 * \internal
64 */ 71 */
65void QPEDialogListener::appMessage( const QCString &msg, const QByteArray & ) 72void QPEDialogListener::appMessage( const QCString &msg, const QByteArray & )
66{ 73{
67 if (!dialog) 74 if (!dialog)
68 return; 75 return;
76
77 HackedPrivateQDialog *hackedDialog = static_cast<HackedPrivateQDialog*>(dialog);
78
69 if (msg == "accept()") { 79 if (msg == "accept()") {
70 dialog->accept(); 80 hackedDialog->accept();
71 } else if (msg == "reject()") { 81 } else if (msg == "reject()") {
72 dialog->reject(); 82 hackedDialog->reject();
73 } 83 }
74} 84}