-rw-r--r-- | library/qpedialog.cpp | 28 | ||||
-rw-r--r-- | library/qpedialog.h | 8 |
2 files changed, 36 insertions, 0 deletions
diff --git a/library/qpedialog.cpp b/library/qpedialog.cpp index b98e42e..ac42972 100644 --- a/library/qpedialog.cpp +++ b/library/qpedialog.cpp @@ -4,43 +4,71 @@ ** This file is part of the Qtopia Environment. ** ** 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 <qdialog.h> #undef protected #include "qpedialog.h" #include <qpe/qpeapplication.h> + +/** + * \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; if (msg == "accept()") { dialog->accept(); } else if (msg == "reject()") { dialog->reject(); } } diff --git a/library/qpedialog.h b/library/qpedialog.h index ed77720..1e35efd 100644 --- a/library/qpedialog.h +++ b/library/qpedialog.h @@ -3,42 +3,50 @@ ** ** This file is part of the Qtopia Environment. ** ** 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. ** **********************************************************************/ #ifndef __QPE_DIALOG_H__ #define __QPE_DIALOG_H__ #include <qobject.h> class QPEDialogListenerData; +/** + * \brief Listen on QCOP messages to accept/reject a dialog. + * + * If you want your dialog to be acceptables/rejectable by QCOP + * You need to create a QPEDialogListener with your Dialog as Argument. + * + * This feature is at least use with the first use support of Opie + */ class QPEDialogListener : public QObject { Q_OBJECT public: QPEDialogListener(QDialog *di); ~QPEDialogListener(); private slots: void appMessage( const QCString &msg, const QByteArray &data ); private: QDialog *dialog; QPEDialogListenerData *d; }; #endif |