-rw-r--r-- | core/launcher/systray.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
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 | |||
@@ -82,59 +82,60 @@ void SysTray::addApplets() | |||
82 | cfg.setGroup( "Applets" ); | 82 | cfg.setGroup( "Applets" ); |
83 | 83 | ||
84 | // SafeMode causes too much problems, so we disable it for now -- | 84 | // SafeMode causes too much problems, so we disable it for now -- |
85 | // maybe we should reenable it for OPIE 1.0 - sandman 26.09.02 | 85 | // maybe we should reenable it for OPIE 1.0 - sandman 26.09.02 |
86 | 86 | ||
87 | bool safe = false; //cfg.readBoolEntry("SafeMode",FALSE); | 87 | bool safe = false; //cfg.readBoolEntry("SafeMode",FALSE); |
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()]; |
100 | for ( it = list.begin(); it != list.end(); ++it ) { | 101 | for ( it = list.begin(); it != list.end(); ++it ) { |
101 | if ( exclude.find( *it ) != exclude.end() ) | 102 | if ( exclude.find( *it ) != exclude.end() ) |
102 | continue; | 103 | continue; |
103 | TaskbarAppletInterface *iface = 0; | 104 | TaskbarAppletInterface *iface = 0; |
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 ); |
135 | appletList.append( a ); | 136 | appletList.append( a ); |
136 | #endif | 137 | #endif |
137 | show(); | 138 | show(); |
138 | 139 | ||
139 | if ( !safety_tid ) | 140 | if ( !safety_tid ) |
140 | safety_tid = startTimer(2000); // TT has 5000, but this is a PITA for a developer ;) (sandman) | 141 | safety_tid = startTimer(2000); // TT has 5000, but this is a PITA for a developer ;) (sandman) |