summaryrefslogtreecommitdiff
Unidiff
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
@@ -293,3 +293,41 @@ int main( int argc, char **argv ) { \
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