summaryrefslogtreecommitdiff
authorsandman <sandman>2002-09-25 23:24:31 (UTC)
committer sandman <sandman>2002-09-25 23:24:31 (UTC)
commitc73cc2b7f4417b7cb168b3d801b00f34f3c3b7eb (patch) (side-by-side diff)
treecaf691893d0e59e8e8396ef12a1d2cf774f7c9b0
parent489bc02ad26767dc45b81bf122a09ef55ac20249 (diff)
downloadopie-c73cc2b7f4417b7cb168b3d801b00f34f3c3b7eb.zip
opie-c73cc2b7f4417b7cb168b3d801b00f34f3c3b7eb.tar.gz
opie-c73cc2b7f4417b7cb168b3d801b00f34f3c3b7eb.tar.bz2
Disable SafeMode for now, since it can't be turned off easily once it gets
activated.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/systray.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/launcher/systray.cpp b/core/launcher/systray.cpp
index 4767150..697971d 100644
--- a/core/launcher/systray.cpp
+++ b/core/launcher/systray.cpp
@@ -19,129 +19,133 @@
**********************************************************************/
#include <qpe/qpeapplication.h>
#include <qpe/qlibrary.h>
#include <qpe/config.h>
#include <qlayout.h>
#include <qdir.h>
#include <qtranslator.h>
#include "quicklauncher.h"
#include "systray.h"
#include <stdlib.h>
#ifdef SINGLE_APP
#include "clockappletimpl.h"
#endif
SysTray::SysTray( QWidget *parent ) : QFrame( parent ), layout(0)
{
safety_tid = 0;
//setFrameStyle( QFrame::Panel | QFrame::Sunken );
loadApplets();
}
static int compareAppletPositions(const void *a, const void *b)
{
const TaskbarApplet* aa = *(const TaskbarApplet**)a;
const TaskbarApplet* ab = *(const TaskbarApplet**)b;
int d = ab->iface->position() - aa->iface->position();
if ( d ) return d;
return QString::compare(ab->library->library(),aa->library->library());
}
void SysTray::loadApplets()
{
clearApplets();
addApplets();
}
void SysTray::clearApplets()
{
hide();
#ifndef SINGLE_APP
QValueList<TaskbarApplet>::Iterator mit;
for ( mit = appletList.begin(); mit != appletList.end(); ++mit ) {
(*mit).iface->release();
(*mit).library->unload();
delete (*mit).library;
}
#endif
appletList.clear();
if ( layout )
delete layout;
layout = new QHBoxLayout( this, 0, 1 );
layout->setAutoAdd(TRUE);
}
void SysTray::addApplets()
{
#ifndef SINGLE_APP
Config cfg( "Taskbar" );
cfg.setGroup( "Applets" );
- bool safe = cfg.readBoolEntry("SafeMode",FALSE);
+
+ // SafeMode causes too much problems, so we disable it for now --
+ // maybe we should reenable it for OPIE 1.0 - sandman 26.09.02
+
+ bool safe = false; //cfg.readBoolEntry("SafeMode",FALSE);
if ( safe && !safety_tid )
return;
cfg.writeEntry("SafeMode",TRUE);
cfg.write();
QStringList exclude = cfg.readListEntry( "ExcludeApplets", ',' );
QString path = QPEApplication::qpeDir() + "/plugins/applets";
QDir dir( path, "lib*.so" );
QStringList list = dir.entryList();
QStringList::Iterator it;
int napplets=0;
TaskbarApplet* *applets = new TaskbarApplet*[list.count()];
for ( it = list.begin(); it != list.end(); ++it ) {
if ( exclude.find( *it ) != exclude.end() )
continue;
TaskbarAppletInterface *iface = 0;
QLibrary *lib = new QLibrary( path + "/" + *it );
if ( lib->queryInterface( IID_TaskbarApplet, (QUnknownInterface**)&iface ) == QS_OK ) {
TaskbarApplet *applet = new TaskbarApplet;
applets[napplets++] = applet;
applet->library = lib;
applet->iface = iface;
} else {
exclude += *it;
delete lib;
}
}
cfg.writeEntry( "ExcludeApplets", exclude, ',' );
qsort(applets,napplets,sizeof(applets[0]),compareAppletPositions);
while (napplets--) {
TaskbarApplet *applet = applets[napplets];
applet->applet = applet->iface->applet( this );
appletList.append(*applet);
QString lang = getenv( "LANG" );
QTranslator * trans = new QTranslator(qApp);
QString type = (*it).left( (*it).find(".") );
QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm";
if ( trans->load( tfn ))
qApp->installTranslator( trans );
else
delete trans;
}
delete applets;
#else
TaskbarApplet applet;
applet.iface = new ClockAppletImpl();
applet.applet = applet.iface->applet( this );
appletList.append( a );
#endif
show();
if ( !safety_tid )
safety_tid = startTimer(2000); // TT has 5000, but this is a PITA for a developer ;) (sandman)
}
void SysTray::timerEvent(QTimerEvent* e)
{
if ( e->timerId() == safety_tid ) {
Config cfg( "Taskbar" );
cfg.setGroup( "Applets" );
cfg.writeEntry( "SafeMode", FALSE );
killTimer(safety_tid);
safety_tid = 0;
}