-rw-r--r-- | library/qpedialog.cpp | 28 |
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 | |||
@@ -17,19 +17,26 @@ | |||
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 | ||
29 | class HackedPrivateQDialog : public QDialog{ | ||
30 | public: | ||
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(). |
@@ -40,9 +47,9 @@ | |||
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 | */ |
@@ -65,10 +72,13 @@ QPEDialogListener::~QPEDialogListener() {} | |||
65 | void QPEDialogListener::appMessage( const QCString &msg, const QByteArray & ) | 72 | void 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 | } |