summaryrefslogtreecommitdiff
Side-by-side diff
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
@@ -19,15 +19,22 @@
**********************************************************************/
-#define protected public
+#include "qpedialog.h"
+
#include <qdialog.h>
-#undef protected
-#include "qpedialog.h"
-#include <qpe/qpeapplication.h>
+#include "qpeapplication.h"
+
+
+// Allow access to nornally protected accept and reject functions
+class HackedPrivateQDialog : public QDialog{
+public:
+ void accept() { QDialog::accept();}
+ void reject() { QDialog::reject();}
+};
/**
- * \brief This is the only c'tor.
- *
+ * \brief This is the only c'tor.
+ *
* The parent of this Listener is the Dialog you pass. This means once
* the dialog is deleted this listener will be deleted too.
@@ -42,5 +49,5 @@
}
delete dialog;
-
+
* \endcode
*
@@ -67,8 +74,11 @@ void QPEDialogListener::appMessage( const QCString &msg, const QByteArray & )
if (!dialog)
return;
+
+ HackedPrivateQDialog *hackedDialog = static_cast<HackedPrivateQDialog*>(dialog);
+
if (msg == "accept()") {
- dialog->accept();
+ hackedDialog->accept();
} else if (msg == "reject()") {
- dialog->reject();
+ hackedDialog->reject();
}
}