summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpedialog.cpp28
-rw-r--r--library/qpedialog.h8
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
@@ -22,21 +22,49 @@
#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();
diff --git a/library/qpedialog.h b/library/qpedialog.h
index ed77720..1e35efd 100644
--- a/library/qpedialog.h
+++ b/library/qpedialog.h
@@ -21,12 +21,20 @@
#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();