author | sandman <sandman> | 2002-09-12 01:54:38 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-09-12 01:54:38 (UTC) |
commit | 5443baf95c52ed0ead459fec48cb877d71a0e427 (patch) (unidiff) | |
tree | 80718baad2fda769200ef442bcd7bf4e86ba9c82 | |
parent | b35aa16e051554783b30f1551ad7677e382cc823 (diff) | |
download | opie-5443baf95c52ed0ead459fec48cb877d71a0e427.zip opie-5443baf95c52ed0ead459fec48cb877d71a0e427.tar.gz opie-5443baf95c52ed0ead459fec48cb877d71a0e427.tar.bz2 |
New launcher/taskbar settings (merge from QPE 1.6 - reworked)
-rw-r--r-- | core/settings/launcher/launcher.pro | 17 | ||||
-rw-r--r-- | core/settings/launcher/launchersettings.cpp | 39 | ||||
-rw-r--r-- | core/settings/launcher/launchersettings.h | 23 | ||||
-rw-r--r-- | core/settings/launcher/main.cpp | 35 | ||||
-rw-r--r-- | core/settings/launcher/tabssettings.cpp | 177 | ||||
-rw-r--r-- | core/settings/launcher/tabssettings.h | 52 | ||||
-rw-r--r-- | core/settings/launcher/taskbarsettings.cpp | 169 | ||||
-rw-r--r-- | core/settings/launcher/taskbarsettings.h | 35 |
8 files changed, 547 insertions, 0 deletions
diff --git a/core/settings/launcher/launcher.pro b/core/settings/launcher/launcher.pro new file mode 100644 index 0000000..a46a22f --- a/dev/null +++ b/core/settings/launcher/launcher.pro | |||
@@ -0,0 +1,17 @@ | |||
1 | TEMPLATE = app | ||
2 | CONFIG += qt warn_on release | ||
3 | DESTDIR = $(OPIEDIR)/bin | ||
4 | HEADERS = launchersettings.h \ | ||
5 | tabssettings.h \ | ||
6 | taskbarsettings.h | ||
7 | |||
8 | SOURCES = main.cpp \ | ||
9 | launchersettings.cpp \ | ||
10 | tabssettings.cpp \ | ||
11 | taskbarsettings.cpp | ||
12 | |||
13 | INCLUDEPATH += $(OPIEDIR)/include | ||
14 | DEPENDPATH += $(OPIEDIR)/include | ||
15 | LIBS += -lqpe -lopie | ||
16 | TARGET = launchersettings | ||
17 | |||
diff --git a/core/settings/launcher/launchersettings.cpp b/core/settings/launcher/launchersettings.cpp new file mode 100644 index 0000000..b794519 --- a/dev/null +++ b/core/settings/launcher/launchersettings.cpp | |||
@@ -0,0 +1,39 @@ | |||
1 | |||
2 | #include <qlayout.h> | ||
3 | |||
4 | #include <opie/otabwidget.h> | ||
5 | |||
6 | #include "launchersettings.h" | ||
7 | #include "tabssettings.h" | ||
8 | #include "taskbarsettings.h" | ||
9 | |||
10 | |||
11 | LauncherSettings::LauncherSettings ( ) : QDialog ( 0, "LauncherSettings", false ) | ||
12 | { | ||
13 | setCaption ( tr( "Launcher Settings" )); | ||
14 | |||
15 | QVBoxLayout *lay = new QVBoxLayout ( this, 4, 4 ); | ||
16 | |||
17 | OTabWidget *tw = new OTabWidget ( this, "otab" ); | ||
18 | lay-> addWidget ( tw ); | ||
19 | |||
20 | m_tabs = new TabsSettings ( tw ); | ||
21 | m_taskbar = new TaskbarSettings ( tw ); | ||
22 | |||
23 | tw-> addTab ( m_taskbar, "appearance/styletabicon.png", tr( "Taskbar" )); | ||
24 | tw-> addTab ( m_tabs, "appearance/styletabicon.png", tr( "Tabs" )); | ||
25 | } | ||
26 | |||
27 | void LauncherSettings::accept ( ) | ||
28 | { | ||
29 | m_taskbar-> accept ( ); | ||
30 | m_tabs-> accept ( ); | ||
31 | |||
32 | QDialog::accept ( ); | ||
33 | } | ||
34 | |||
35 | void LauncherSettings::done ( int r ) | ||
36 | { | ||
37 | QDialog::done ( r ); | ||
38 | close ( ); | ||
39 | } | ||
diff --git a/core/settings/launcher/launchersettings.h b/core/settings/launcher/launchersettings.h new file mode 100644 index 0000000..c91c765 --- a/dev/null +++ b/core/settings/launcher/launchersettings.h | |||
@@ -0,0 +1,23 @@ | |||
1 | #ifndef __LAUNCHER_SETTINGS_H__ | ||
2 | #define __LAUNCHER_SETTINGS_H__ | ||
3 | |||
4 | #include <qdialog.h> | ||
5 | |||
6 | class TabsSettings; | ||
7 | class TaskbarSettings; | ||
8 | |||
9 | class LauncherSettings : public QDialog { | ||
10 | Q_OBJECT | ||
11 | |||
12 | public: | ||
13 | LauncherSettings ( ); | ||
14 | |||
15 | virtual void accept ( ); | ||
16 | virtual void done ( int r ); | ||
17 | |||
18 | private: | ||
19 | TabsSettings *m_tabs; | ||
20 | TaskbarSettings *m_taskbar; | ||
21 | }; | ||
22 | |||
23 | #endif | ||
diff --git a/core/settings/launcher/main.cpp b/core/settings/launcher/main.cpp new file mode 100644 index 0000000..ca7102d --- a/dev/null +++ b/core/settings/launcher/main.cpp | |||
@@ -0,0 +1,35 @@ | |||
1 | /********************************************************************** | ||
2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | ||
3 | ** | ||
4 | ** This file is part of the Qtopia Environment. | ||
5 | ** | ||
6 | ** This file may be distributed and/or modified under the terms of the | ||
7 | ** GNU General Public License version 2 as published by the Free Software | ||
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
9 | ** packaging of this file. | ||
10 | ** | ||
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
13 | ** | ||
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
15 | ** | ||
16 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
17 | ** not clear to you. | ||
18 | ** | ||
19 | **********************************************************************/ | ||
20 | |||
21 | #include "launchersettings.h" | ||
22 | |||
23 | #include <qpe/qpeapplication.h> | ||
24 | |||
25 | |||
26 | int main ( int argc, char** argv ) | ||
27 | { | ||
28 | QPEApplication a ( argc,argv ); | ||
29 | |||
30 | LauncherSettings dlg; | ||
31 | a. showMainWidget ( &dlg ); | ||
32 | |||
33 | return a. exec ( ); | ||
34 | } | ||
35 | |||
diff --git a/core/settings/launcher/tabssettings.cpp b/core/settings/launcher/tabssettings.cpp new file mode 100644 index 0000000..292c615 --- a/dev/null +++ b/core/settings/launcher/tabssettings.cpp | |||
@@ -0,0 +1,177 @@ | |||
1 | /********************************************************************** | ||
2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | ||
3 | ** | ||
4 | ** This file is part of the Qtopia Environment. | ||
5 | ** | ||
6 | ** This file may be distributed and/or modified under the terms of the | ||
7 | ** GNU General Public License version 2 as published by the Free Software | ||
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
9 | ** packaging of this file. | ||
10 | ** | ||
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
13 | ** | ||
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
15 | ** | ||
16 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
17 | ** not clear to you. | ||
18 | ** | ||
19 | **********************************************************************/ | ||
20 | |||
21 | #include "tabssettings.h" | ||
22 | |||
23 | #include <qpe/qpeapplication.h> | ||
24 | #include <qpe/resource.h> | ||
25 | #include <qpe/applnk.h> | ||
26 | #include <qpe/mimetype.h> | ||
27 | #include <qpe/qcopenvelope_qws.h> | ||
28 | #include <qpe/config.h> | ||
29 | |||
30 | #include <qlistview.h> | ||
31 | #include <qheader.h> | ||
32 | #include <qlayout.h> | ||
33 | #include <qlabel.h> | ||
34 | #include <qwhatsthis.h> | ||
35 | |||
36 | #include <stdlib.h> | ||
37 | |||
38 | TabsSettings::TabsSettings ( QWidget *parent, const char *name ) | ||
39 | : QWidget ( parent, name ) | ||
40 | { | ||
41 | QBoxLayout *lay = new QVBoxLayout ( this, 4, 4 ); | ||
42 | |||
43 | QLabel *l = new QLabel ( tr( "Launcher Tabs:" ), this ); | ||
44 | lay-> addWidget ( l ); | ||
45 | |||
46 | m_list = new QListView ( this ); | ||
47 | m_list-> addColumn ( "foobar" ); | ||
48 | m_list-> header ( )-> hide ( ); | ||
49 | |||
50 | lay-> addWidget ( m_list ); | ||
51 | |||
52 | QWhatsThis::add ( m_list, tr( "foobar" )); | ||
53 | |||
54 | init ( ); | ||
55 | } | ||
56 | |||
57 | void TabsSettings::init ( ) | ||
58 | { | ||
59 | QListViewItem *lvi; | ||
60 | |||
61 | AppLnkSet rootFolder( MimeType::appsFolderName ( )); | ||
62 | QStringList types = rootFolder. types ( ); | ||
63 | for ( QStringList::Iterator it = types. begin ( ); it != types. end ( ); ++it ) { | ||
64 | lvi = new QListViewItem ( m_list, rootFolder. typeName ( *it )); | ||
65 | lvi-> setPixmap ( 0, rootFolder. typePixmap ( *it )); | ||
66 | m_ids << *it; | ||
67 | } | ||
68 | QImage img ( Resource::loadImage ( "DocsIcon" )); | ||
69 | QPixmap pix; | ||
70 | pix = img. smoothScale ( AppLnk::smallIconSize ( ), AppLnk::smallIconSize ( )); | ||
71 | lvi = new QListViewItem ( m_list, tr( "Documents" )); | ||
72 | lvi-> setPixmap ( 0, pix ); | ||
73 | m_ids += "Documents"; // No tr | ||
74 | |||
75 | readTabSettings ( ); | ||
76 | } | ||
77 | |||
78 | void TabsSettings::readTabSettings ( ) | ||
79 | { | ||
80 | Config cfg ( "Launcher" ); | ||
81 | QString grp ( "Tab %1" ); // No tr | ||
82 | m_tabs. clear ( ); | ||
83 | |||
84 | for ( QStringList::Iterator it = m_ids. begin ( ); it != m_ids. end ( ); ++it ) { | ||
85 | TabSettings ts; | ||
86 | ts. m_view = Icon; | ||
87 | ts. m_bg_type = Ruled; | ||
88 | ts. m_changed = false; | ||
89 | |||
90 | cfg. setGroup ( grp. arg ( *it )); | ||
91 | |||
92 | QString view = cfg. readEntry ( "View", "Icon" ); | ||
93 | if ( view == "List" ) // No tr | ||
94 | ts. m_view = List; | ||
95 | |||
96 | QString bgType = cfg. readEntry ( "BackgroundType", "Ruled" ); | ||
97 | if ( bgType == "SolidColor" ) | ||
98 | ts. m_bg_type = SolidColor; | ||
99 | else if ( bgType == "Image" ) // No tr | ||
100 | ts. m_bg_type = Image; | ||
101 | |||
102 | ts. m_bg_image = cfg. readEntry ( "BackgroundImage", "wallpaper/opie" ); | ||
103 | ts. m_bg_color = cfg. readEntry ( "BackgroundColor" ); | ||
104 | ts. m_text_color = cfg. readEntry ( "TextColor" ); | ||
105 | QStringList f = cfg. readListEntry ( "Font", ',' ); | ||
106 | if ( f. count ( ) == 4 ) { | ||
107 | ts. m_font_family = f [0]; | ||
108 | ts. m_font_size = f [1]. toInt ( ); | ||
109 | } else { | ||
110 | ts. m_font_family = font ( ). family ( ); | ||
111 | ts. m_font_size = font ( ). pointSize ( ); | ||
112 | } | ||
113 | m_tabs [*it] = ts; | ||
114 | } | ||
115 | } | ||
116 | |||
117 | |||
118 | void TabsSettings::accept ( ) | ||
119 | { | ||
120 | Config cfg ( "Launcher" ); | ||
121 | |||
122 | // Launcher Tab | ||
123 | QString grp ( "Tab %1" ); // No tr | ||
124 | |||
125 | for ( QStringList::Iterator it = m_ids. begin ( ); it != m_ids. end ( ); ++it ) { | ||
126 | TabSettings &tab = m_tabs [*it]; | ||
127 | |||
128 | cfg. setGroup ( grp. arg ( *it )); | ||
129 | if ( !tab. m_changed ) | ||
130 | continue; | ||
131 | switch ( tab. m_view ) { | ||
132 | case Icon: | ||
133 | cfg.writeEntry ( "View", "Icon" ); | ||
134 | break; | ||
135 | case List: | ||
136 | cfg.writeEntry ( "View", "List" ); | ||
137 | break; | ||
138 | } | ||
139 | |||
140 | QCopEnvelope e ( "QPE/Launcher", "setTabView(QString,int)" ); | ||
141 | e << *it << tab. m_view; | ||
142 | |||
143 | cfg. writeEntry ( "BackgroundImage", tab. m_bg_image ); | ||
144 | cfg. writeEntry ( "BackgroundColor", tab. m_bg_color ); | ||
145 | cfg. writeEntry ( "TextColor", tab. m_text_color ); | ||
146 | |||
147 | QString f = tab. m_font_family + "," + QString::number ( tab. m_font_size ) + ",50,0"; | ||
148 | cfg. writeEntry ( "Font", f ); | ||
149 | QCopEnvelope be ( "QPE/Launcher", "setTabBackground(QString,int,QString)" ); | ||
150 | |||
151 | switch ( tab. m_bg_type ) { | ||
152 | case Ruled: | ||
153 | cfg.writeEntry( "BackgroundType", "Ruled" ); | ||
154 | be << *it << tab. m_bg_type << QString(""); | ||
155 | break; | ||
156 | case SolidColor: | ||
157 | cfg.writeEntry( "BackgroundType", "SolidColor" ); | ||
158 | be << *it << tab. m_bg_type << tab. m_bg_color; | ||
159 | break; | ||
160 | case Image: | ||
161 | cfg.writeEntry( "BackgroundType", "Image" ); | ||
162 | be << *it << tab. m_bg_type << tab. m_bg_image; | ||
163 | break; | ||
164 | } | ||
165 | |||
166 | QCopEnvelope te( "QPE/Launcher", "setTextColor(QString,QString)" ); | ||
167 | te << *it << tab. m_text_color; | ||
168 | |||
169 | QCopEnvelope fe ( "QPE/Launcher", "setFont(QString,QString,int,int,int)" ); | ||
170 | fe << *it << tab. m_font_family; | ||
171 | fe << tab. m_font_size; | ||
172 | fe << 50 << 0; | ||
173 | |||
174 | tab. m_changed = false; | ||
175 | } | ||
176 | } | ||
177 | |||
diff --git a/core/settings/launcher/tabssettings.h b/core/settings/launcher/tabssettings.h new file mode 100644 index 0000000..17b6e25 --- a/dev/null +++ b/core/settings/launcher/tabssettings.h | |||
@@ -0,0 +1,52 @@ | |||
1 | #ifndef __TABS_SETTINGS_H__ | ||
2 | #define __TABS_SETTINGS_H__ | ||
3 | |||
4 | #include <qwidget.h> | ||
5 | #include <qmap.h> | ||
6 | |||
7 | class QListView; | ||
8 | |||
9 | |||
10 | class TabsSettings : public QWidget { | ||
11 | Q_OBJECT | ||
12 | |||
13 | public: | ||
14 | TabsSettings ( QWidget *parent = 0, const char *name = 0 ); | ||
15 | |||
16 | void accept ( ); | ||
17 | |||
18 | enum ViewMode { | ||
19 | Icon, | ||
20 | List | ||
21 | }; | ||
22 | enum BackgroundType { | ||
23 | Ruled, | ||
24 | SolidColor, | ||
25 | Image | ||
26 | }; | ||
27 | struct TabSettings { | ||
28 | ViewMode m_view; | ||
29 | BackgroundType m_bg_type; | ||
30 | QString m_bg_image; | ||
31 | QString m_bg_color; | ||
32 | QString m_text_color; | ||
33 | QString m_font_family; | ||
34 | int m_font_size; | ||
35 | bool m_changed; | ||
36 | }; | ||
37 | |||
38 | protected: | ||
39 | void init ( ); | ||
40 | void readTabSettings ( ); | ||
41 | |||
42 | private: | ||
43 | QListView *m_list; | ||
44 | //QString currentTab; | ||
45 | QStringList m_ids; | ||
46 | QMap <QString, TabSettings> m_tabs; | ||
47 | }; | ||
48 | |||
49 | |||
50 | |||
51 | |||
52 | #endif | ||
diff --git a/core/settings/launcher/taskbarsettings.cpp b/core/settings/launcher/taskbarsettings.cpp new file mode 100644 index 0000000..8f16951 --- a/dev/null +++ b/core/settings/launcher/taskbarsettings.cpp | |||
@@ -0,0 +1,169 @@ | |||
1 | /********************************************************************** | ||
2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | ||
3 | ** | ||
4 | ** This file is part of the Qtopia Environment. | ||
5 | ** | ||
6 | ** This file may be distributed and/or modified under the terms of the | ||
7 | ** GNU General Public License version 2 as published by the Free Software | ||
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
9 | ** packaging of this file. | ||
10 | ** | ||
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
13 | ** | ||
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
15 | ** | ||
16 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
17 | ** not clear to you. | ||
18 | ** | ||
19 | **********************************************************************/ | ||
20 | |||
21 | #include "taskbarsettings.h" | ||
22 | |||
23 | #include <qpe/config.h> | ||
24 | #include <qpe/qlibrary.h> | ||
25 | #include <qpe/qpeapplication.h> | ||
26 | #include <qpe/taskbarappletinterface.h> | ||
27 | #include <qpe/qcopenvelope_qws.h> | ||
28 | |||
29 | #include <qdir.h> | ||
30 | #include <qlistview.h> | ||
31 | #include <qcheckbox.h> | ||
32 | #include <qheader.h> | ||
33 | #include <qlayout.h> | ||
34 | #include <qlabel.h> | ||
35 | #include <qwhatsthis.h> | ||
36 | |||
37 | #include <stdlib.h> | ||
38 | |||
39 | |||
40 | TaskbarSettings::TaskbarSettings ( QWidget *parent, const char *name ) | ||
41 | : QWidget ( parent, name ) | ||
42 | { | ||
43 | m_applets_changed = false; | ||
44 | |||
45 | QBoxLayout *lay = new QVBoxLayout ( this, 4, 4 ); | ||
46 | |||
47 | QLabel *l = new QLabel ( tr( "Load applets:" ), this ); | ||
48 | lay-> addWidget ( l ); | ||
49 | |||
50 | m_list = new QListView ( this ); | ||
51 | m_list-> addColumn ( "foobar" ); | ||
52 | m_list-> header ( )-> hide ( ); | ||
53 | |||
54 | lay-> addWidget ( m_list ); | ||
55 | |||
56 | m_omenu = new QCheckBox ( tr( "Show O-Menu" ), this ); | ||
57 | lay-> addWidget ( m_omenu ); | ||
58 | |||
59 | m_omenu_tabs = new QCheckBox ( tr( "Show Launcher tabs in O-Menu" ), this ); | ||
60 | lay-> addWidget ( m_omenu_tabs ); | ||
61 | |||
62 | QWhatsThis::add ( m_list, tr( "Check the applets that you want displayed in the Taskbar." )); | ||
63 | QWhatsThis::add( m_omenu_tabs, tr( "Adds the contents of the Launcher as menus in the O-Menu." )); | ||
64 | QWhatsThis::add( m_omenu, tr( "Check if you want the O-Menu in the taskbar." )); | ||
65 | |||
66 | connect ( m_list, SIGNAL( clicked ( QListViewItem * )), this, SLOT( appletChanged ( ))); | ||
67 | connect ( m_omenu, SIGNAL( toggled ( bool )), m_omenu_tabs, SLOT( setEnabled ( bool ))); | ||
68 | |||
69 | // This option does not make sense ! (sandman) | ||
70 | m_omenu_tabs-> hide ( ); | ||
71 | |||
72 | init ( ); | ||
73 | } | ||
74 | |||
75 | void TaskbarSettings::init ( ) | ||
76 | { | ||
77 | Config cfg ( "Taskbar" ); | ||
78 | cfg. setGroup ( "Applets" ); | ||
79 | QStringList exclude = cfg. readListEntry ( "ExcludeApplets", ',' ); | ||
80 | |||
81 | QString path = QPEApplication::qpeDir ( ) + "/plugins/applets"; | ||
82 | QStringList list = QDir ( path, "lib*.so" ). entryList ( ); | ||
83 | |||
84 | for ( QStringList::Iterator it = list. begin ( ); it != list. end ( ); ++it ) { | ||
85 | QString name; | ||
86 | QPixmap icon; | ||
87 | TaskbarNamedAppletInterface *iface = 0; | ||
88 | |||
89 | QLibrary *lib = new QLibrary ( path + "/" + *it ); | ||
90 | lib-> queryInterface ( IID_TaskbarNamedApplet, (QUnknownInterface**) &iface ); | ||
91 | if ( iface ) { | ||
92 | QString lang = getenv( "LANG" ); | ||
93 | QTranslator *trans = new QTranslator ( qApp ); | ||
94 | QString type = (*it). left ((*it). find (".")); | ||
95 | QString tfn = QPEApplication::qpeDir ( ) + "/i18n/" + lang + "/" + type + ".qm"; | ||
96 | if ( trans-> load ( tfn )) | ||
97 | qApp-> installTranslator ( trans ); | ||
98 | else | ||
99 | delete trans; | ||
100 | name = iface-> name ( ); | ||
101 | icon = iface-> icon ( ); | ||
102 | iface-> release ( ); | ||
103 | lib-> unload ( ); | ||
104 | } else { | ||
105 | delete lib; | ||
106 | name = (*it). mid ( 3 ); | ||
107 | int sep = name. find( ".so" ); | ||
108 | if ( sep > 0 ) | ||
109 | name. truncate ( sep ); | ||
110 | sep = name. find ( "applet" ); | ||
111 | if ( sep == (int) name.length ( ) - 6 ) | ||
112 | name. truncate ( sep ); | ||
113 | name[0] = name[0]. upper ( ); | ||
114 | } | ||
115 | QCheckListItem *item; | ||
116 | item = new QCheckListItem ( m_list, name, QCheckListItem::CheckBox ); | ||
117 | if ( !icon. isNull ( )) | ||
118 | item-> setPixmap ( 0, icon ); | ||
119 | item-> setOn ( exclude. find ( *it ) == exclude. end ( )); | ||
120 | m_applets [*it] = item; | ||
121 | } | ||
122 | |||
123 | cfg. setGroup ( "Menu" ); | ||
124 | |||
125 | m_omenu_tabs-> setChecked ( cfg. readBoolEntry ( "LauncherTabs", true )); | ||
126 | m_omenu-> setChecked ( cfg. readBoolEntry ( "ShowMenu", true )); | ||
127 | |||
128 | m_omenu_tabs-> setEnabled ( m_omenu-> isChecked ( )); | ||
129 | } | ||
130 | |||
131 | void TaskbarSettings::appletChanged() | ||
132 | { | ||
133 | m_applets_changed = true; | ||
134 | } | ||
135 | |||
136 | void TaskbarSettings::accept ( ) | ||
137 | { | ||
138 | Config cfg ( "Taskbar" ); | ||
139 | cfg. setGroup ( "Applets" ); | ||
140 | if ( m_applets_changed ) { | ||
141 | QStringList exclude; | ||
142 | QMap <QString, QCheckListItem *>::Iterator it; | ||
143 | for ( it = m_applets. begin ( ); it != m_applets. end ( ); ++it ) { | ||
144 | if ( !(*it)-> isOn ( )) | ||
145 | exclude << it. key ( ); | ||
146 | } | ||
147 | cfg. writeEntry ( "ExcludeApplets", exclude, ',' ); | ||
148 | } | ||
149 | cfg. writeEntry ( "SafeMode", false ); | ||
150 | |||
151 | cfg. setGroup ( "Menu" ); | ||
152 | |||
153 | if ( m_omenu_tabs-> isChecked ( ) != cfg. readBoolEntry ( "LauncherTabs", true )) { | ||
154 | m_applets_changed = true; | ||
155 | cfg. writeEntry ( "LauncherTabs", m_omenu_tabs-> isChecked ( )); | ||
156 | } | ||
157 | |||
158 | if ( m_omenu-> isChecked ( ) != cfg. readBoolEntry ( "ShowMenu", true )) { | ||
159 | m_applets_changed = true; | ||
160 | cfg. writeEntry ( "ShowMenu", m_omenu-> isChecked ( )); | ||
161 | } | ||
162 | cfg. write ( ); | ||
163 | |||
164 | if ( m_applets_changed ) { | ||
165 | QCopEnvelope ( "QPE/TaskBar", "reloadApplets()" ); | ||
166 | m_applets_changed = false; | ||
167 | } | ||
168 | } | ||
169 | |||
diff --git a/core/settings/launcher/taskbarsettings.h b/core/settings/launcher/taskbarsettings.h new file mode 100644 index 0000000..b8c6fbb --- a/dev/null +++ b/core/settings/launcher/taskbarsettings.h | |||
@@ -0,0 +1,35 @@ | |||
1 | #ifndef __TASKBAR_SETTINGS_H__ | ||
2 | #define __TASKBAR_SETTINGS_H__ | ||
3 | |||
4 | #include <qwidget.h> | ||
5 | #include <qmap.h> | ||
6 | |||
7 | class QListView; | ||
8 | class QCheckListItem; | ||
9 | class QCheckBox; | ||
10 | |||
11 | |||
12 | class TaskbarSettings : public QWidget { | ||
13 | Q_OBJECT | ||
14 | |||
15 | public: | ||
16 | TaskbarSettings ( QWidget *parent = 0, const char *name = 0 ); | ||
17 | |||
18 | void accept ( ); | ||
19 | |||
20 | protected slots: | ||
21 | void appletChanged ( ); | ||
22 | |||
23 | protected: | ||
24 | void init ( ); | ||
25 | |||
26 | private: | ||
27 | QListView *m_list; | ||
28 | QCheckBox *m_omenu; | ||
29 | QCheckBox *m_omenu_tabs; | ||
30 | |||
31 | QMap <QString, QCheckListItem *> m_applets; | ||
32 | bool m_applets_changed; | ||
33 | }; | ||
34 | |||
35 | #endif | ||