author | alwin <alwin> | 2004-04-06 12:34:17 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-04-06 12:34:17 (UTC) |
commit | 19a3f177cdf334259438a0f2266255886f3063bb (patch) (side-by-side diff) | |
tree | 6fb30c93072f0698e308e67678574cdee469b4e8 /libopie2 | |
parent | 601c352dd956c9736fb4e3881cd7e60c504d007a (diff) | |
download | opie-19a3f177cdf334259438a0f2266255886f3063bb.zip opie-19a3f177cdf334259438a0f2266255886f3063bb.tar.gz opie-19a3f177cdf334259438a0f2266255886f3063bb.tar.bz2 |
added OPIE_EXPORT_APP_V2( Factory,name ) macro.
Factory is the same as in OPIE_EXPORT_APP, name is the display name
(third parameter of OApplication). In non-quicklaunch mode it will generate
a Opie::Core::OApplication object instead of a QPEApplication object.
-rw-r--r-- | libopie2/opiecore/oapplicationfactory.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/libopie2/opiecore/oapplicationfactory.h b/libopie2/opiecore/oapplicationfactory.h index 4518174..6247776 100644 --- a/libopie2/opiecore/oapplicationfactory.h +++ b/libopie2/opiecore/oapplicationfactory.h @@ -295 +295,39 @@ int main( int argc, char **argv ) { \ #endif + +#ifdef OPIE_APP_INTERFACE +#define OPIE_EXPORT_APP_V2( factory,name ) Q_EXPORT_INTERFACE() { Q_CREATE_INSTANCE( factory ) } +#else + +#include <opie2/oapplication.h> + +#define OPIE_EXPORT_APP_V2( Factory,name ) \ +int main( int argc, char **argv ) { \ + Opie::Core::OApplication a(argc, argv, name ); \ + QWidget *mw = 0;\ +\ + /* method from TT */ \ + QString executableName = QString::fromLatin1( argv[0] ); \ + executableName = executableName.right(executableName.length() \ + - executableName.findRev('/') - 1); \ + \ + Factory f; \ + QStringList list = f.applications(); \ + if (list.contains(executableName) ) \ + mw = f.createMainWindow(executableName, 0, 0, 0 ); \ + else \ + mw = f.createMainWindow( list[0], 0, 0, 0 ); \ +\ + if( mw ) { \ + if ( mw->metaObject()->slotNames().contains("setDocument(const QString&)" ) ) \ + a.showMainDocumentWidget( mw ); \ + else \ + a.showMainWidget( mw ); \ +\ + int rv = a.exec(); \ + delete mw; \ + return rv; \ + }else \ + return -1; \ +} +#endif + |