summaryrefslogtreecommitdiff
path: root/core
authorsandman <sandman>2002-10-23 21:55:13 (UTC)
committer sandman <sandman>2002-10-23 21:55:13 (UTC)
commit3c9835537b2fdccab4c0f720a4d77a98ad8bba10 (patch) (unidiff)
treebedafdbcd4410bca7fe177e5ffeab982f81496bb /core
parent482c5cfe8b3653888ba97716a1b29dae05200d70 (diff)
downloadopie-3c9835537b2fdccab4c0f720a4d77a98ad8bba10.zip
opie-3c9835537b2fdccab4c0f720a4d77a98ad8bba10.tar.gz
opie-3c9835537b2fdccab4c0f720a4d77a98ad8bba10.tar.bz2
Fixed a translation bug regarding launcher applets, that got in when I
merged with Qtopia 1.6 (TT bug). found by Héctor GarcíaÁlvarez <hector@disoft.es>, but I modified his patch, since running the applet widget constructor *before* the QTranslator gets installed seems like a bad idea.
Diffstat (limited to 'core') (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/startmenu.cpp17
-rw-r--r--core/launcher/systray.cpp17
2 files changed, 18 insertions, 16 deletions
diff --git a/core/launcher/startmenu.cpp b/core/launcher/startmenu.cpp
index 917f4c1..7373ea8 100644
--- a/core/launcher/startmenu.cpp
+++ b/core/launcher/startmenu.cpp
@@ -309,12 +309,13 @@ void StartMenu::loadApplets()
309 if ( safe && !safety_tid ) 309 if ( safe && !safety_tid )
310 return; 310 return;
311 cfg.writeEntry("SafeMode",TRUE); 311 cfg.writeEntry("SafeMode",TRUE);
312 cfg.write(); 312 cfg.write();
313 QStringList exclude = cfg.readListEntry( "ExcludeApplets", ',' ); 313 QStringList exclude = cfg.readListEntry( "ExcludeApplets", ',' );
314 314
315 QString lang = getenv( "LANG" );
315 QString path = QPEApplication::qpeDir() + "/plugins/applets"; 316 QString path = QPEApplication::qpeDir() + "/plugins/applets";
316 QDir dir( path, "lib*.so" ); 317 QDir dir( path, "lib*.so" );
317 QStringList list = dir.entryList(); 318 QStringList list = dir.entryList();
318 QStringList::Iterator it; 319 QStringList::Iterator it;
319 int napplets=0; 320 int napplets=0;
320 MenuApplet* *xapplets = new MenuApplet*[list.count()]; 321 MenuApplet* *xapplets = new MenuApplet*[list.count()];
@@ -325,12 +326,20 @@ void StartMenu::loadApplets()
325 QLibrary *lib = new QLibrary( path + "/" + *it ); 326 QLibrary *lib = new QLibrary( path + "/" + *it );
326 if (( lib->queryInterface( IID_MenuApplet, (QUnknownInterface**)&iface ) == QS_OK ) && iface ) { 327 if (( lib->queryInterface( IID_MenuApplet, (QUnknownInterface**)&iface ) == QS_OK ) && iface ) {
327 MenuApplet *applet = new MenuApplet; 328 MenuApplet *applet = new MenuApplet;
328 xapplets[napplets++] = applet; 329 xapplets[napplets++] = applet;
329 applet->library = lib; 330 applet->library = lib;
330 applet->iface = iface; 331 applet->iface = iface;
332
333 QTranslator *trans = new QTranslator(qApp);
334 QString type = (*it).left( (*it).find(".") );
335 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm";
336 if ( trans->load( tfn ))
337 qApp->installTranslator( trans );
338 else
339 delete trans;
331 } else { 340 } else {
332 exclude += *it; 341 exclude += *it;
333 delete lib; 342 delete lib;
334 } 343 }
335 } 344 }
336 cfg.writeEntry( "ExcludeApplets", exclude, ',' ); 345 cfg.writeEntry( "ExcludeApplets", exclude, ',' );
@@ -339,20 +348,12 @@ void StartMenu::loadApplets()
339 if ( sepId ) 348 if ( sepId )
340 launchMenu-> removeItem ( sepId ); 349 launchMenu-> removeItem ( sepId );
341 sepId = ( launchMenu-> count ( )) ? launchMenu-> insertSeparator ( ) : 0; 350 sepId = ( launchMenu-> count ( )) ? launchMenu-> insertSeparator ( ) : 0;
342 351
343 while (napplets--) { 352 while (napplets--) {
344 MenuApplet *applet = xapplets[napplets]; 353 MenuApplet *applet = xapplets[napplets];
345 QString lang = getenv( "LANG" );
346 QTranslator * trans = new QTranslator(qApp);
347 QString type = (*it).left( (*it).find(".") );
348 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm";
349 if ( trans->load( tfn ))
350 qApp->installTranslator( trans );
351 else
352 delete trans;
353 354
354 applet-> popup = applet-> iface-> popup ( this ); 355 applet-> popup = applet-> iface-> popup ( this );
355 356
356 if ( applet-> popup ) 357 if ( applet-> popup )
357 applet-> id = launchMenu-> insertItem ( applet-> iface-> icon ( ), applet-> iface-> text ( ), applet-> popup ); 358 applet-> id = launchMenu-> insertItem ( applet-> iface-> icon ( ), applet-> iface-> text ( ), applet-> popup );
358 else 359 else
diff --git a/core/launcher/systray.cpp b/core/launcher/systray.cpp
index 406c662..4859e48 100644
--- a/core/launcher/systray.cpp
+++ b/core/launcher/systray.cpp
@@ -88,12 +88,13 @@ void SysTray::addApplets()
88 if ( safe && !safety_tid ) 88 if ( safe && !safety_tid )
89 return; 89 return;
90 cfg.writeEntry("SafeMode",TRUE); 90 cfg.writeEntry("SafeMode",TRUE);
91 cfg.write(); 91 cfg.write();
92 QStringList exclude = cfg.readListEntry( "ExcludeApplets", ',' ); 92 QStringList exclude = cfg.readListEntry( "ExcludeApplets", ',' );
93 93
94 QString lang = getenv( "LANG" );
94 QString path = QPEApplication::qpeDir() + "/plugins/applets"; 95 QString path = QPEApplication::qpeDir() + "/plugins/applets";
95 QDir dir( path, "lib*.so" ); 96 QDir dir( path, "lib*.so" );
96 QStringList list = dir.entryList(); 97 QStringList list = dir.entryList();
97 QStringList::Iterator it; 98 QStringList::Iterator it;
98 int napplets=0; 99 int napplets=0;
99 TaskbarApplet* *applets = new TaskbarApplet*[list.count()]; 100 TaskbarApplet* *applets = new TaskbarApplet*[list.count()];
@@ -104,31 +105,31 @@ void SysTray::addApplets()
104 QLibrary *lib = new QLibrary( path + "/" + *it ); 105 QLibrary *lib = new QLibrary( path + "/" + *it );
105 if (( lib->queryInterface( IID_TaskbarApplet, (QUnknownInterface**)&iface ) == QS_OK ) && iface ) { 106 if (( lib->queryInterface( IID_TaskbarApplet, (QUnknownInterface**)&iface ) == QS_OK ) && iface ) {
106 TaskbarApplet *applet = new TaskbarApplet; 107 TaskbarApplet *applet = new TaskbarApplet;
107 applets[napplets++] = applet; 108 applets[napplets++] = applet;
108 applet->library = lib; 109 applet->library = lib;
109 applet->iface = iface; 110 applet->iface = iface;
111
112 QTranslator *trans = new QTranslator(qApp);
113 QString type = (*it).left( (*it).find(".") );
114 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm";
115 if ( trans->load( tfn ))
116 qApp->installTranslator( trans );
117 else
118 delete trans;
110 } else { 119 } else {
111 exclude += *it; 120 exclude += *it;
112 delete lib; 121 delete lib;
113 } 122 }
114 } 123 }
115 cfg.writeEntry( "ExcludeApplets", exclude, ',' ); 124 cfg.writeEntry( "ExcludeApplets", exclude, ',' );
116 qsort(applets,napplets,sizeof(applets[0]),compareAppletPositions); 125 qsort(applets,napplets,sizeof(applets[0]),compareAppletPositions);
117 while (napplets--) { 126 while (napplets--) {
118 TaskbarApplet *applet = applets[napplets]; 127 TaskbarApplet *applet = applets[napplets];
119 applet->applet = applet->iface->applet( this ); 128 applet->applet = applet->iface->applet( this );
120 appletList.append(*applet); 129 appletList.append(*applet);
121 QString lang = getenv( "LANG" );
122 QTranslator * trans = new QTranslator(qApp);
123 QString type = (*it).left( (*it).find(".") );
124 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm";
125 if ( trans->load( tfn ))
126 qApp->installTranslator( trans );
127 else
128 delete trans;
129 } 130 }
130 delete applets; 131 delete applets;
131#else 132#else
132 TaskbarApplet applet; 133 TaskbarApplet applet;
133 applet.iface = new ClockAppletImpl(); 134 applet.iface = new ClockAppletImpl();
134 applet.applet = applet.iface->applet( this ); 135 applet.applet = applet.iface->applet( this );