summaryrefslogtreecommitdiff
path: root/core/settings/launcher
Unidiff
Diffstat (limited to 'core/settings/launcher') (more/less context) (ignore whitespace changes)
-rw-r--r--core/settings/launcher/menusettings.cpp5
-rw-r--r--core/settings/launcher/taskbarsettings.cpp13
2 files changed, 12 insertions, 6 deletions
diff --git a/core/settings/launcher/menusettings.cpp b/core/settings/launcher/menusettings.cpp
index 29ce841..d63b203 100644
--- a/core/settings/launcher/menusettings.cpp
+++ b/core/settings/launcher/menusettings.cpp
@@ -12,48 +12,49 @@ _;:, .> :=|. This file is free software; you can
12 .%`+i> _;_. 12 .%`+i> _;_.
13 .i_,=:_. -<s. This file is distributed in the hope that 13 .i_,=:_. -<s. This file is distributed in the hope that
14 + . -:. = it will be useful, but WITHOUT ANY WARRANTY; 14 + . -:. = it will be useful, but WITHOUT ANY WARRANTY;
15 : .. .:, . . . without even the implied warranty of 15 : .. .:, . . . without even the implied warranty of
16 =_ + =;=|` MERCHANTABILITY or FITNESS FOR A 16 =_ + =;=|` MERCHANTABILITY or FITNESS FOR A
17 _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General 17 _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General
18..}^=.= = ; Public License for more details. 18..}^=.= = ; Public License for more details.
19++= -. .` .: 19++= -. .` .:
20: = ...= . :.=- You should have received a copy of the GNU 20: = ...= . :.=- You should have received a copy of the GNU
21-. .:....=;==+<; General Public License along with this file; 21-. .:....=;==+<; General Public License along with this file;
22 -_. . . )=. = see the file COPYING. If not, write to the 22 -_. . . )=. = see the file COPYING. If not, write to the
23 -- :-=` Free Software Foundation, Inc., 23 -- :-=` Free Software Foundation, Inc.,
24 59 Temple Place - Suite 330, 24 59 Temple Place - Suite 330,
25 Boston, MA 02111-1307, USA. 25 Boston, MA 02111-1307, USA.
26 26
27*/ 27*/
28 28
29#include "menusettings.h" 29#include "menusettings.h"
30 30
31#include <qpe/config.h> 31#include <qpe/config.h>
32#include <qpe/qlibrary.h> 32#include <qpe/qlibrary.h>
33#include <qpe/qpeapplication.h> 33#include <qpe/qpeapplication.h>
34#include <qpe/menuappletinterface.h> 34#include <qpe/menuappletinterface.h>
35#include <qpe/qcopenvelope_qws.h> 35#include <qpe/qcopenvelope_qws.h>
36#include <opie2/odebug.h>
36 37
37#include <qdir.h> 38#include <qdir.h>
38#include <qlistview.h> 39#include <qlistview.h>
39#include <qcheckbox.h> 40#include <qcheckbox.h>
40#include <qheader.h> 41#include <qheader.h>
41#include <qlayout.h> 42#include <qlayout.h>
42#include <qlabel.h> 43#include <qlabel.h>
43#include <qwhatsthis.h> 44#include <qwhatsthis.h>
44 45
45#include <stdlib.h> 46#include <stdlib.h>
46 47
47 48
48MenuSettings::MenuSettings ( QWidget *parent, const char *name ) 49MenuSettings::MenuSettings ( QWidget *parent, const char *name )
49 : QWidget ( parent, name ) 50 : QWidget ( parent, name )
50{ 51{
51 m_applets_changed = false; 52 m_applets_changed = false;
52 53
53 QBoxLayout *lay = new QVBoxLayout ( this, 4, 4 ); 54 QBoxLayout *lay = new QVBoxLayout ( this, 4, 4 );
54 55
55 QLabel *l = new QLabel ( tr( "Load applets in O-Menu:" ), this ); 56 QLabel *l = new QLabel ( tr( "Load applets in O-Menu:" ), this );
56 lay-> addWidget ( l ); 57 lay-> addWidget ( l );
57 58
58 m_list = new QListView ( this ); 59 m_list = new QListView ( this );
59 m_list-> addColumn ( "foobar" ); 60 m_list-> addColumn ( "foobar" );
@@ -73,49 +74,51 @@ MenuSettings::MenuSettings ( QWidget *parent, const char *name )
73 connect ( m_list, SIGNAL( clicked(QListViewItem*)), this, SLOT( appletChanged())); 74 connect ( m_list, SIGNAL( clicked(QListViewItem*)), this, SLOT( appletChanged()));
74 75
75 init ( ); 76 init ( );
76} 77}
77 78
78void MenuSettings::init ( ) 79void MenuSettings::init ( )
79{ 80{
80 Config cfg ( "StartMenu" ); 81 Config cfg ( "StartMenu" );
81 cfg. setGroup ( "Applets" ); 82 cfg. setGroup ( "Applets" );
82 QStringList exclude = cfg. readListEntry ( "ExcludeApplets", ',' ); 83 QStringList exclude = cfg. readListEntry ( "ExcludeApplets", ',' );
83 84
84 QString path = QPEApplication::qpeDir ( ) + "plugins/applets"; 85 QString path = QPEApplication::qpeDir ( ) + "plugins/applets";
85#ifdef Q_OS_MACX 86#ifdef Q_OS_MACX
86 QStringList list = QDir ( path, "lib*.dylib" ). entryList ( ); 87 QStringList list = QDir ( path, "lib*.dylib" ). entryList ( );
87#else 88#else
88 QStringList list = QDir ( path, "lib*.so" ). entryList ( ); 89 QStringList list = QDir ( path, "lib*.so" ). entryList ( );
89#endif /* Q_OS_MACX */ 90#endif /* Q_OS_MACX */
90 91
91 for ( QStringList::Iterator it = list. begin ( ); it != list. end ( ); ++it ) { 92 for ( QStringList::Iterator it = list. begin ( ); it != list. end ( ); ++it ) {
92 QString name; 93 QString name;
93 QPixmap icon; 94 QPixmap icon;
94 MenuAppletInterface *iface = 0; 95 MenuAppletInterface *iface = 0;
95 96
96 QLibrary *lib = new QLibrary ( path + "/" + *it ); 97 QLibrary *lib = new QLibrary ( path + "/" + *it );
97 lib-> queryInterface ( IID_MenuApplet, (QUnknownInterface**) &iface ); 98 QRESULT retVal = QS_OK;
99 if ((retVal = lib-> queryInterface ( IID_MenuApplet, (QUnknownInterface**)(&iface) )) != QS_OK )
100 owarn << "queryInterface failed with " << retVal << oendl;
98 if ( iface ) { 101 if ( iface ) {
99 QString lang = getenv( "LANG" ); 102 QString lang = getenv( "LANG" );
100 QTranslator *trans = new QTranslator ( qApp ); 103 QTranslator *trans = new QTranslator ( qApp );
101 QString type = (*it). left ((*it). find (".")); 104 QString type = (*it). left ((*it). find ("."));
102 QString tfn = QPEApplication::qpeDir ( ) + "i18n/" + lang + "/" + type + ".qm"; 105 QString tfn = QPEApplication::qpeDir ( ) + "i18n/" + lang + "/" + type + ".qm";
103 if ( trans-> load ( tfn )) 106 if ( trans-> load ( tfn ))
104 qApp-> installTranslator ( trans ); 107 qApp-> installTranslator ( trans );
105 else 108 else
106 delete trans; 109 delete trans;
107 name = iface-> name ( ); 110 name = iface-> name ( );
108 icon = iface-> icon ( ). pixmap (); 111 icon = iface-> icon ( ). pixmap ();
109 iface-> release ( ); 112 iface-> release ( );
110 lib-> unload ( ); 113 lib-> unload ( );
111 114
112 QCheckListItem *item; 115 QCheckListItem *item;
113 item = new QCheckListItem ( m_list, name, QCheckListItem::CheckBox ); 116 item = new QCheckListItem ( m_list, name, QCheckListItem::CheckBox );
114 if ( !icon. isNull ( )) 117 if ( !icon. isNull ( ))
115 item-> setPixmap ( 0, icon ); 118 item-> setPixmap ( 0, icon );
116 item-> setOn ( exclude. find ( *it ) == exclude. end ( )); 119 item-> setOn ( exclude. find ( *it ) == exclude. end ( ));
117 m_applets [*it] = item; 120 m_applets [*it] = item;
118 } else { 121 } else {
119 delete lib; 122 delete lib;
120 } 123 }
121 } 124 }
diff --git a/core/settings/launcher/taskbarsettings.cpp b/core/settings/launcher/taskbarsettings.cpp
index 861ff3a..c2b82b9 100644
--- a/core/settings/launcher/taskbarsettings.cpp
+++ b/core/settings/launcher/taskbarsettings.cpp
@@ -70,91 +70,94 @@ TaskbarSettings::TaskbarSettings ( QWidget *parent, const char *name )
70 70
71 init ( ); 71 init ( );
72} 72}
73 73
74void TaskbarSettings::init ( ) 74void TaskbarSettings::init ( )
75{ 75{
76 Config cfg ( "Taskbar" ); 76 Config cfg ( "Taskbar" );
77 cfg. setGroup ( "Applets" ); 77 cfg. setGroup ( "Applets" );
78 QStringList exclude = cfg. readListEntry ( "ExcludeApplets", ',' ); 78 QStringList exclude = cfg. readListEntry ( "ExcludeApplets", ',' );
79 79
80 QString path = QPEApplication::qpeDir ( ) + "plugins/applets"; 80 QString path = QPEApplication::qpeDir ( ) + "plugins/applets";
81#ifdef Q_OS_MACX 81#ifdef Q_OS_MACX
82 QStringList list = QDir ( path, "lib*.dylib" ). entryList ( ); 82 QStringList list = QDir ( path, "lib*.dylib" ). entryList ( );
83#else 83#else
84 QStringList list = QDir ( path, "lib*.so" ). entryList ( ); 84 QStringList list = QDir ( path, "lib*.so" ). entryList ( );
85#endif /* Q_OS_MACX */ 85#endif /* Q_OS_MACX */
86 86
87 for ( QStringList::Iterator it = list. begin ( ); it != list. end ( ); ++it ) { 87 for ( QStringList::Iterator it = list. begin ( ); it != list. end ( ); ++it ) {
88 QString name; 88 QString name;
89 QPixmap icon; 89 QPixmap icon;
90 TaskbarNamedAppletInterface *iface = 0; 90 TaskbarNamedAppletInterface *iface = 0;
91 91
92 owarn << "Load applet: " << (*it) << "" << oendl; 92 owarn << "Load applet: " << (*it) << "" << oendl;
93 QLibrary *lib = new QLibrary ( path + "/" + *it ); 93 QLibrary *lib = new QLibrary ( path + "/" + *it );
94 lib-> queryInterface ( IID_TaskbarNamedApplet, (QUnknownInterface**) &iface ); 94 QRESULT retVal = QS_OK;
95 if ((retVal = lib-> queryInterface ( IID_TaskbarNamedApplet, (QUnknownInterface**)(&iface) )) != QS_OK)
96 owarn << "<0>" << oendl;
95 owarn << "<1>" << oendl; 97 owarn << "<1>" << oendl;
96 if ( iface ) { 98 if ( iface ) {
97 owarn << "<2>" << oendl; 99 owarn << "<2>" << oendl;
98 QString lang = getenv( "LANG" ); 100 QString lang = getenv( "LANG" );
99 QTranslator *trans = new QTranslator ( qApp ); 101 QTranslator *trans = new QTranslator ( qApp );
100 QString type = (*it). left ((*it). find (".")); 102 QString type = (*it). left ((*it). find ("."));
101 QString tfn = QPEApplication::qpeDir ( ) + "i18n/" + lang + "/" + type + ".qm"; 103 QString tfn = QPEApplication::qpeDir ( ) + "i18n/" + lang + "/" + type + ".qm";
102 if ( trans-> load ( tfn )) 104 if ( trans-> load ( tfn ))
103 qApp-> installTranslator ( trans ); 105 qApp-> installTranslator ( trans );
104 else 106 else
105 delete trans; 107 delete trans;
106 name = iface-> name ( ); 108 name = iface-> name ( );
107 icon = iface-> icon ( ); 109 icon = iface-> icon ( );
108 iface-> release ( ); 110 iface-> release ( );
109 } 111 }
110 owarn << "<3>" << oendl; 112 owarn << "<3>" << oendl;
111 if ( !iface ) { 113 if ( !iface ) {
112 owarn << "<4>" << oendl; 114 owarn << "<4>" << oendl;
113 lib-> queryInterface ( IID_TaskbarApplet, (QUnknownInterface**) &iface ); 115 if ((retVal = lib-> queryInterface ( IID_TaskbarApplet, (QUnknownInterface**)(&iface))) != QS_OK)
116 owarn << "<5>" << oendl;
114 117
115 if ( iface ) { 118 if ( iface ) {
116 owarn << "<5>" << oendl; 119 owarn << "<6>" << oendl;
117 name = (*it). mid ( 3 ); 120 name = (*it). mid ( 3 );
118 owarn << "Found applet: " << name << "" << oendl; 121 owarn << "Found applet: " << name << "" << oendl;
119#ifdef Q_OS_MACX 122#ifdef Q_OS_MACX
120 int sep = name. find( ".dylib" ); 123 int sep = name. find( ".dylib" );
121#else 124#else
122 int sep = name. find( ".so" ); 125 int sep = name. find( ".so" );
123#endif /* Q_OS_MACX */ 126#endif /* Q_OS_MACX */
124 if ( sep > 0 ) 127 if ( sep > 0 )
125 name. truncate ( sep ); 128 name. truncate ( sep );
126 sep = name. find ( "applet" ); 129 sep = name. find ( "applet" );
127 if ( sep == (int) name.length ( ) - 6 ) 130 if ( sep == (int) name.length ( ) - 6 )
128 name. truncate ( sep ); 131 name. truncate ( sep );
129 name[0] = name[0]. upper ( ); 132 name[0] = name[0]. upper ( );
130 iface-> release ( ); 133 iface-> release ( );
131 } 134 }
132 } 135 }
133 owarn << "<6>" << oendl; 136 owarn << "<7>" << oendl;
134 137
135 if ( iface ) { 138 if ( iface ) {
136 owarn << "<7>" << oendl; 139 owarn << "<8>" << oendl;
137 QCheckListItem *item; 140 QCheckListItem *item;
138 item = new QCheckListItem ( m_list, name, QCheckListItem::CheckBox ); 141 item = new QCheckListItem ( m_list, name, QCheckListItem::CheckBox );
139 if ( !icon. isNull ( )) 142 if ( !icon. isNull ( ))
140 item-> setPixmap ( 0, icon ); 143 item-> setPixmap ( 0, icon );
141 item-> setOn ( exclude. find ( *it ) == exclude. end ( )); 144 item-> setOn ( exclude. find ( *it ) == exclude. end ( ));
142 m_applets [*it] = item; 145 m_applets [*it] = item;
143 } 146 }
144 lib-> unload ( ); 147 lib-> unload ( );
145 delete lib; 148 delete lib;
146 } 149 }
147} 150}
148 151
149void TaskbarSettings::appletChanged() 152void TaskbarSettings::appletChanged()
150{ 153{
151 m_applets_changed = true; 154 m_applets_changed = true;
152} 155}
153 156
154void TaskbarSettings::accept ( ) 157void TaskbarSettings::accept ( )
155{ 158{
156 Config cfg ( "Taskbar" ); 159 Config cfg ( "Taskbar" );
157 cfg. setGroup ( "Applets" ); 160 cfg. setGroup ( "Applets" );
158 161
159 if ( m_applets_changed ) { 162 if ( m_applets_changed ) {
160 QStringList exclude; 163 QStringList exclude;