author | zecke <zecke> | 2004-07-15 17:29:39 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-07-15 17:29:39 (UTC) |
commit | aa292b322f1ecb43dd8f4e3cd295855730dd9f59 (patch) (side-by-side diff) | |
tree | 63238dd550aee1007902af07c35bcc8bb6480fa1 | |
parent | ca486a4558dc7aa23e3e5c677f6eedd26ed02746 (diff) | |
download | opie-aa292b322f1ecb43dd8f4e3cd295855730dd9f59.zip opie-aa292b322f1ecb43dd8f4e3cd295855730dd9f59.tar.gz opie-aa292b322f1ecb43dd8f4e3cd295855730dd9f59.tar.bz2 |
-Change order of includes. Include "qpedialog.h" first
-In regards to precompiled headers drop the 'protected -> public define hack'
and use TrollTechs solution inspired from QETWidget to static_cast to
a private reimplementation to change the method. This was taken from
Qtopia
-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 @@ -5,70 +5,80 @@ ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ -#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. * This Listener listens on QPEApplication::appMessage signal and implements * accept() and reject(). * * \code * QDialog *dialog = new YourDialog(); (void)new QPEDialogListener(dialog); if( QPEApplication::execDialog(dialog) == QDialog::Accept ){ // do some stuff } delete dialog; - + * \endcode * * @param di The dialog to handle */ QPEDialogListener::QPEDialogListener(QDialog *di ) : QObject(di) { dialog = di; connect(qApp, SIGNAL(appMessage(const QCString&,const QByteArray&)), this, SLOT(appMessage(const QCString&,const QByteArray&)) ); } /** * d'tor */ QPEDialogListener::~QPEDialogListener() {} /** * \internal */ 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(); } } |