00001 /********************************************************************** 00002 ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 00003 ** 00004 ** This file is part of the Qtopia Environment. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00012 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00013 ** 00014 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 00015 ** 00016 ** Contact info@trolltech.com if any conditions of this licensing are 00017 ** not clear to you. 00018 ** 00019 **********************************************************************/ 00020 00021 #include "qpedialog.h" 00022 00023 #include <qdialog.h> 00024 00025 #include <qtopia/qpeapplication.h> 00026 00027 00028 // Allow access to nornally protected accept and reject functions 00029 class HackedPrivateQDialog : public QDialog{ 00030 public: 00031 void accept() { QDialog::accept();} 00032 void reject() { QDialog::reject();} 00033 }; 00034 00035 00056 QPEDialogListener::QPEDialogListener(QDialog *di ) : QObject(di) 00057 { 00058 dialog = di; 00059 connect(qApp, SIGNAL(appMessage(const QCString&,const QByteArray&)), 00060 this, SLOT(appMessage(const QCString&,const QByteArray&)) ); 00061 } 00062 00063 00067 QPEDialogListener::~QPEDialogListener() {} 00068 00072 void QPEDialogListener::appMessage( const QCString &msg, const QByteArray & ) 00073 { 00074 if (!dialog) 00075 return; 00076 00077 HackedPrivateQDialog *hackedDialog = static_cast<HackedPrivateQDialog*>(dialog); 00078 00079 if (msg == "accept()") { 00080 hackedDialog->accept(); 00081 } else if (msg == "reject()") { 00082 hackedDialog->reject(); 00083 } 00084 }
1.4.2