Diffstat (limited to 'core/settings/launcher/taskbarsettings.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/settings/launcher/taskbarsettings.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/core/settings/launcher/taskbarsettings.cpp b/core/settings/launcher/taskbarsettings.cpp index b5c03c8..5bc5ad2 100644 --- a/core/settings/launcher/taskbarsettings.cpp +++ b/core/settings/launcher/taskbarsettings.cpp @@ -52,7 +52,7 @@ TaskbarSettings::TaskbarSettings ( QWidget *parent, const char *name ) QBoxLayout *lay = new QVBoxLayout ( this, 4, 4 ); - QLabel *l = new QLabel ( tr( "Load applets:" ), this ); + QLabel *l = new QLabel ( tr( "Load applets in Taskbar:" ), this ); lay-> addWidget ( l ); m_list = new QListView ( this ); @@ -85,7 +85,6 @@ void TaskbarSettings::init ( ) QLibrary *lib = new QLibrary ( path + "/" + *it ); lib-> queryInterface ( IID_TaskbarNamedApplet, (QUnknownInterface**) &iface ); if ( iface ) { - QString lang = getenv( "LANG" ); QTranslator *trans = new QTranslator ( qApp ); QString type = (*it). left ((*it). find (".")); @@ -97,9 +96,11 @@ void TaskbarSettings::init ( ) name = iface-> name ( ); icon = iface-> icon ( ); iface-> release ( ); - lib-> unload ( ); - } else { - delete lib; + } + if ( !iface ) { + lib-> queryInterface ( IID_TaskbarApplet, (QUnknownInterface**) &iface ); + + if ( iface ) { name = (*it). mid ( 3 ); int sep = name. find( ".so" ); if ( sep > 0 ) @@ -108,7 +109,11 @@ void TaskbarSettings::init ( ) if ( sep == (int) name.length ( ) - 6 ) name. truncate ( sep ); name[0] = name[0]. upper ( ); + iface-> release ( ); } + } + + if ( iface ) { QCheckListItem *item; item = new QCheckListItem ( m_list, name, QCheckListItem::CheckBox ); if ( !icon. isNull ( )) @@ -116,6 +121,9 @@ void TaskbarSettings::init ( ) item-> setOn ( exclude. find ( *it ) == exclude. end ( )); m_applets [*it] = item; } + lib-> unload ( ); + delete lib; + } } void TaskbarSettings::appletChanged() |