summaryrefslogtreecommitdiff
authoralwin <alwin>2004-04-06 12:34:17 (UTC)
committer alwin <alwin>2004-04-06 12:34:17 (UTC)
commit19a3f177cdf334259438a0f2266255886f3063bb (patch) (unidiff)
tree6fb30c93072f0698e308e67678574cdee469b4e8
parent601c352dd956c9736fb4e3881cd7e60c504d007a (diff)
downloadopie-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.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/oapplicationfactory.h38
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
@@ -264,32 +264,70 @@ struct OApplicationFactory< Opie::Core::Typelist<Product, ProductListTail > >
264#include <qpe/qpeapplication.h> 264#include <qpe/qpeapplication.h>
265 265
266#define OPIE_EXPORT_APP( Factory ) \ 266#define OPIE_EXPORT_APP( Factory ) \
267int main( int argc, char **argv ) { \ 267int main( int argc, char **argv ) { \
268 QPEApplication a(argc, argv ); \ 268 QPEApplication a(argc, argv ); \
269 QWidget *mw = 0;\ 269 QWidget *mw = 0;\
270\ 270\
271 /* method from TT */ \ 271 /* method from TT */ \
272 QString executableName = QString::fromLatin1( argv[0] ); \ 272 QString executableName = QString::fromLatin1( argv[0] ); \
273 executableName = executableName.right(executableName.length() \ 273 executableName = executableName.right(executableName.length() \
274 - executableName.findRev('/') - 1); \ 274 - executableName.findRev('/') - 1); \
275 \ 275 \
276 Factory f; \ 276 Factory f; \
277 QStringList list = f.applications(); \ 277 QStringList list = f.applications(); \
278 if (list.contains(executableName) ) \ 278 if (list.contains(executableName) ) \
279 mw = f.createMainWindow(executableName, 0, 0, 0 ); \ 279 mw = f.createMainWindow(executableName, 0, 0, 0 ); \
280 else \ 280 else \
281 mw = f.createMainWindow( list[0], 0, 0, 0 ); \ 281 mw = f.createMainWindow( list[0], 0, 0, 0 ); \
282\ 282\
283 if( mw ) { \ 283 if( mw ) { \
284 if ( mw->metaObject()->slotNames().contains("setDocument(const QString&)" ) ) \ 284 if ( mw->metaObject()->slotNames().contains("setDocument(const QString&)" ) ) \
285 a.showMainDocumentWidget( mw ); \ 285 a.showMainDocumentWidget( mw ); \
286 else \ 286 else \
287 a.showMainWidget( mw ); \ 287 a.showMainWidget( mw ); \
288\ 288\
289 int rv = a.exec(); \ 289 int rv = a.exec(); \
290 delete mw; \ 290 delete mw; \
291 return rv; \ 291 return rv; \
292 }else \ 292 }else \
293 return -1; \ 293 return -1; \
294} 294}
295#endif 295#endif
296
297#ifdef OPIE_APP_INTERFACE
298#define OPIE_EXPORT_APP_V2( factory,name ) Q_EXPORT_INTERFACE() { Q_CREATE_INSTANCE( factory ) }
299#else
300
301#include <opie2/oapplication.h>
302
303#define OPIE_EXPORT_APP_V2( Factory,name ) \
304int main( int argc, char **argv ) { \
305 Opie::Core::OApplication a(argc, argv, name ); \
306 QWidget *mw = 0;\
307\
308 /* method from TT */ \
309 QString executableName = QString::fromLatin1( argv[0] ); \
310 executableName = executableName.right(executableName.length() \
311 - executableName.findRev('/') - 1); \
312 \
313 Factory f; \
314 QStringList list = f.applications(); \
315 if (list.contains(executableName) ) \
316 mw = f.createMainWindow(executableName, 0, 0, 0 ); \
317 else \
318 mw = f.createMainWindow( list[0], 0, 0, 0 ); \
319\
320 if( mw ) { \
321 if ( mw->metaObject()->slotNames().contains("setDocument(const QString&)" ) ) \
322 a.showMainDocumentWidget( mw ); \
323 else \
324 a.showMainWidget( mw ); \
325\
326 int rv = a.exec(); \
327 delete mw; \
328 return rv; \
329 }else \
330 return -1; \
331}
332#endif
333