summaryrefslogtreecommitdiff
authorzecke <zecke>2004-12-20 22:04:43 (UTC)
committer zecke <zecke>2004-12-20 22:04:43 (UTC)
commite561899f6cf0c98b428f70df06eaee2ce1912291 (patch) (unidiff)
treedeb204bd5f6026c9b48a82089739a29dd564be07
parent4a9d317adb576fed2164638a1d4d15c75eebfd6b (diff)
downloadopie-e561899f6cf0c98b428f70df06eaee2ce1912291.zip
opie-e561899f6cf0c98b428f70df06eaee2ce1912291.tar.gz
opie-e561899f6cf0c98b428f70df06eaee2ce1912291.tar.bz2
A define to avoid writing static QString fromLatin1() {...}
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/oapplicationfactory.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/libopie2/opiecore/oapplicationfactory.h b/libopie2/opiecore/oapplicationfactory.h
index 6247776..cabaf79 100644
--- a/libopie2/opiecore/oapplicationfactory.h
+++ b/libopie2/opiecore/oapplicationfactory.h
@@ -206,128 +206,130 @@ struct OPrivate< Opie::Core::Typelist<Product, ProductListTail> > {
206 list = OPrivate<ProductListTail>::multiString( list ); 206 list = OPrivate<ProductListTail>::multiString( list );
207 207
208 return list; 208 return list;
209 } 209 }
210}; 210};
211 211
212 212
213 213
214 214
215 215
216 216
217 217
218 218
219/* Internal END */ 219/* Internal END */
220 220
221/* 221/*
222 * If you want to export more than one Widget use that function 222 * If you want to export more than one Widget use that function
223 * Make sure all your Widgets provide the appName() static method 223 * Make sure all your Widgets provide the appName() static method
224 * otherwise you'll get a compiler error 224 * otherwise you'll get a compiler error
225 * 225 *
226 * typedef Opie::MakeTypeList<MyWidget, MyDialog, MyMediaPlayer >::Result MyTypes; 226 * typedef Opie::MakeTypeList<MyWidget, MyDialog, MyMediaPlayer >::Result MyTypes;
227 * OPIE_EXPORT_APP( OApplicationFactory<MyTypes> ) 227 * OPIE_EXPORT_APP( OApplicationFactory<MyTypes> )
228 */ 228 */
229 229
230template<class Product, class ProductListTail> 230template<class Product, class ProductListTail>
231struct OApplicationFactory< Opie::Core::Typelist<Product, ProductListTail > > 231struct OApplicationFactory< Opie::Core::Typelist<Product, ProductListTail > >
232 : ApplicationInterface { 232 : ApplicationInterface {
233 QRESULT queryInterface( const QUuid &uuid, QUnknownInterface **iface ) { 233 QRESULT queryInterface( const QUuid &uuid, QUnknownInterface **iface ) {
234 *iface = 0; 234 *iface = 0;
235 if ( uuid == IID_QUnknown ) *iface = this; 235 if ( uuid == IID_QUnknown ) *iface = this;
236 else if ( uuid ==IID_QtopiaApplication ) *iface = this; 236 else if ( uuid ==IID_QtopiaApplication ) *iface = this;
237 else return QS_FALSE; 237 else return QS_FALSE;
238 (*iface)->addRef(); 238 (*iface)->addRef();
239 return QS_OK; 239 return QS_OK;
240 } 240 }
241 241
242 QWidget* createMainWindow ( const QString& appName, QWidget* parent, 242 QWidget* createMainWindow ( const QString& appName, QWidget* parent,
243 const char* name, Qt::WFlags fl ) { 243 const char* name, Qt::WFlags fl ) {
244 qWarning("StringList is %s", applications().join(":").latin1() ); 244 qWarning("StringList is %s", applications().join(":").latin1() );
245 return OPrivate< Opie::Core::Typelist<Product, ProductListTail > >::multiFactory( appName, parent, name, fl ); 245 return OPrivate< Opie::Core::Typelist<Product, ProductListTail > >::multiFactory( appName, parent, name, fl );
246 } 246 }
247 247
248 QStringList applications()const { 248 QStringList applications()const {
249 QStringList _list; 249 QStringList _list;
250 return OPrivate< Opie::Core::Typelist<Product, ProductListTail> >::multiString( _list ); 250 return OPrivate< Opie::Core::Typelist<Product, ProductListTail> >::multiString( _list );
251 } 251 }
252 252
253 Q_REFCOUNT 253 Q_REFCOUNT
254}; 254};
255 255
256} 256}
257} 257}
258 258
259/* If the library version should be build */ 259/* If the library version should be build */
260#ifdef OPIE_APP_INTERFACE 260#ifdef OPIE_APP_INTERFACE
261#define OPIE_EXPORT_APP( factory ) Q_EXPORT_INTERFACE() { Q_CREATE_INSTANCE( factory ) } 261#define OPIE_EXPORT_APP( factory ) Q_EXPORT_INTERFACE() { Q_CREATE_INSTANCE( factory ) }
262#else 262#else
263 263
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 296
297#ifdef OPIE_APP_INTERFACE 297#ifdef OPIE_APP_INTERFACE
298#define OPIE_EXPORT_APP_V2( factory,name ) Q_EXPORT_INTERFACE() { Q_CREATE_INSTANCE( factory ) } 298#define OPIE_EXPORT_APP_V2( factory,name ) Q_EXPORT_INTERFACE() { Q_CREATE_INSTANCE( factory ) }
299#else 299#else
300 300
301#include <opie2/oapplication.h> 301#include <opie2/oapplication.h>
302 302
303#define OPIE_EXPORT_APP_V2( Factory,name ) \ 303#define OPIE_EXPORT_APP_V2( Factory,name ) \
304int main( int argc, char **argv ) { \ 304int main( int argc, char **argv ) { \
305 Opie::Core::OApplication a(argc, argv, name ); \ 305 Opie::Core::OApplication a(argc, argv, name ); \
306 QWidget *mw = 0;\ 306 QWidget *mw = 0;\
307\ 307\
308 /* method from TT */ \ 308 /* method from TT */ \
309 QString executableName = QString::fromLatin1( argv[0] ); \ 309 QString executableName = QString::fromLatin1( argv[0] ); \
310 executableName = executableName.right(executableName.length() \ 310 executableName = executableName.right(executableName.length() \
311 - executableName.findRev('/') - 1); \ 311 - executableName.findRev('/') - 1); \
312 \ 312 \
313 Factory f; \ 313 Factory f; \
314 QStringList list = f.applications(); \ 314 QStringList list = f.applications(); \
315 if (list.contains(executableName) ) \ 315 if (list.contains(executableName) ) \
316 mw = f.createMainWindow(executableName, 0, 0, 0 ); \ 316 mw = f.createMainWindow(executableName, 0, 0, 0 ); \
317 else \ 317 else \
318 mw = f.createMainWindow( list[0], 0, 0, 0 ); \ 318 mw = f.createMainWindow( list[0], 0, 0, 0 ); \
319\ 319\
320 if( mw ) { \ 320 if( mw ) { \
321 if ( mw->metaObject()->slotNames().contains("setDocument(const QString&)" ) ) \ 321 if ( mw->metaObject()->slotNames().contains("setDocument(const QString&)" ) ) \
322 a.showMainDocumentWidget( mw ); \ 322 a.showMainDocumentWidget( mw ); \
323 else \ 323 else \
324 a.showMainWidget( mw ); \ 324 a.showMainWidget( mw ); \
325\ 325\
326 int rv = a.exec(); \ 326 int rv = a.exec(); \
327 delete mw; \ 327 delete mw; \
328 return rv; \ 328 return rv; \
329 }else \ 329 }else \
330 return -1; \ 330 return -1; \
331} 331}
332#endif 332#endif
333 333
334
335#define OPIE_EXPORT_APPNAME static QString appName() { return QString::fromLatin1( QUICKAPP_NAME ); }