summaryrefslogtreecommitdiff
Unidiff
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
@@ -1,74 +1,84 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of the Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
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
29class HackedPrivateQDialog : public QDialog{
30public:
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().
36 * 43 *
37 * \code 44 * \code
38 *QDialog *dialog = new YourDialog(); 45 *QDialog *dialog = new YourDialog();
39 (void)new QPEDialogListener(dialog); 46 (void)new QPEDialogListener(dialog);
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 */
49QPEDialogListener::QPEDialogListener(QDialog *di ) : QObject(di) 56QPEDialogListener::QPEDialogListener(QDialog *di ) : QObject(di)
50{ 57{
51 dialog = di; 58 dialog = di;
52 connect(qApp, SIGNAL(appMessage(const QCString&,const QByteArray&)), 59 connect(qApp, SIGNAL(appMessage(const QCString&,const QByteArray&)),
53 this, SLOT(appMessage(const QCString&,const QByteArray&)) ); 60 this, SLOT(appMessage(const QCString&,const QByteArray&)) );
54} 61}
55 62
56 63
57/** 64/**
58 * d'tor 65 * d'tor
59 */ 66 */
60QPEDialogListener::~QPEDialogListener() {} 67QPEDialogListener::~QPEDialogListener() {}
61 68
62/** 69/**
63 * \internal 70 * \internal
64 */ 71 */
65void QPEDialogListener::appMessage( const QCString &msg, const QByteArray & ) 72void 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}