-rw-r--r-- | core/settings/launcher/guisettings.cpp | 153 | ||||
-rw-r--r-- | core/settings/launcher/guisettings.h | 65 | ||||
-rw-r--r-- | core/settings/launcher/launcher.pro | 2 | ||||
-rw-r--r-- | core/settings/launcher/launchersettings.cpp | 8 | ||||
-rw-r--r-- | core/settings/launcher/launchersettings.h | 2 | ||||
-rw-r--r-- | core/settings/launcher/taskbarsettings.cpp | 31 | ||||
-rw-r--r-- | core/settings/launcher/taskbarsettings.h | 3 |
7 files changed, 228 insertions, 36 deletions
diff --git a/core/settings/launcher/guisettings.cpp b/core/settings/launcher/guisettings.cpp new file mode 100644 index 0000000..a292663 --- a/dev/null +++ b/core/settings/launcher/guisettings.cpp @@ -0,0 +1,153 @@ +/* + This file is part of the OPIE Project + =. Copyright (c) 2002 Trolltech AS <info@trolltech.com> + .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org> + .>+-= + _;:, .> :=|. This file is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU General Public +.="- .-=="i, .._ License as published by the Free Software + - . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -<s. This file is distributed in the hope that + + . -:. = it will be useful, but WITHOUT ANY WARRANTY; + : .. .:, . . . without even the implied warranty of + =_ + =;=|` MERCHANTABILITY or FITNESS FOR A + _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General +..}^=.= = ; Public License for more details. +++= -. .` .: + : = ...= . :.=- You should have received a copy of the GNU + -. .:....=;==+<; General Public License along with this file; + -_. . . )=. = see the file COPYING. If not, write to the + -- :-=` Free Software Foundation, Inc., + 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +#include "guisettings.h" + +#include <qpe/config.h> +#include <qpe/qpeapplication.h> +#include <qpe/qcopenvelope_qws.h> + +#include <qlistview.h> +#include <qcheckbox.h> +#include <qheader.h> +#include <qlayout.h> +#include <qlabel.h> +#include <qwhatsthis.h> + +#include <stdlib.h> + + +GuiSettings::GuiSettings ( QWidget *parent, const char *name ) + : QWidget ( parent, name ) +{ + m_menu_changed = false; + m_busy_changed = false; + + QGridLayout *lay = new QGridLayout ( this, 0, 0, 4, 4 ); + lay-> addColSpacing ( 0, 16 ); + + m_omenu = new QCheckBox ( tr( "Show O-Menu" ), this ); + lay-> addMultiCellWidget ( m_omenu, 0, 0, 0, 1 ); + + m_omenu_tabs = new QCheckBox ( tr( "Add Launcher tabs to O-Menu" ), this ); + lay-> addWidget ( m_omenu_tabs, 1, 1 ); + + m_omenu_home = new QCheckBox ( tr( "Add 'Home' shortcut to O-Menu" ), this ); + lay-> addWidget ( m_omenu_home, 2, 1 ); + + m_omenu_suspend = new QCheckBox ( tr( "Add 'Suspend' shortcut to O-Menu" ), this ); + lay-> addWidget ( m_omenu_suspend, 3, 1 ); + + QWhatsThis::add( m_omenu_tabs, tr( "Adds the contents of the Launcher as menus in the O-Menu." )); + QWhatsThis::add( m_omenu, tr( "Check if you want the O-Menu in the taskbar." )); + + connect ( m_omenu, SIGNAL( toggled ( bool )), m_omenu_tabs, SLOT( setEnabled ( bool ))); + connect ( m_omenu, SIGNAL( toggled ( bool )), m_omenu_home, SLOT( setEnabled ( bool ))); + connect ( m_omenu, SIGNAL( toggled ( bool )), m_omenu_suspend, SLOT( setEnabled ( bool ))); + + connect ( m_omenu, SIGNAL( toggled ( bool )), this, SLOT( menuChanged ( ))); + connect ( m_omenu_tabs, SIGNAL( toggled ( bool )), this, SLOT( menuChanged ( ))); + connect ( m_omenu_home, SIGNAL( toggled ( bool )), this, SLOT( menuChanged ( ))); + connect ( m_omenu_suspend, SIGNAL( toggled ( bool )), this, SLOT( menuChanged ( ))); + + lay-> addRowSpacing ( 4, 8 ); + + m_busy = new QCheckBox ( tr( "Enable blinking busy indicator" ), this ); + lay-> addMultiCellWidget ( m_busy, 5, 5, 0, 1 ); + + connect ( m_busy, SIGNAL( toggled( bool )), this, SLOT( busyChanged ( ))); + + lay-> setRowStretch ( 6, 10 ); + + init ( ); +} + +void GuiSettings::init ( ) +{ + Config cfg ( "Taskbar" ); + cfg. setGroup ( "Menu" ); + + m_omenu-> setChecked ( cfg. readBoolEntry ( "ShowMenu", true )); + m_omenu_tabs-> setChecked ( cfg. readBoolEntry ( "LauncherTabs", true )); + m_omenu_home-> setChecked ( cfg. readBoolEntry ( "Home", true )); + m_omenu_suspend-> setChecked ( cfg. readBoolEntry ( "Suspend", true )); + + m_omenu_tabs-> setEnabled ( m_omenu-> isChecked ( )); + m_omenu_home-> setEnabled ( m_omenu-> isChecked ( )); + m_omenu_suspend-> setEnabled ( m_omenu-> isChecked ( )); + + Config cfg2 ( "Launcher" ); + cfg2. setGroup ( "GUI" ); + + m_busy-> setChecked ( cfg2. readEntry ( "BusyType" ). lower ( ) == "blink" ); +} + +void GuiSettings::menuChanged() +{ + m_menu_changed = true; +} + +void GuiSettings::busyChanged() +{ + m_busy_changed = true; +} + +void GuiSettings::accept ( ) +{ + Config cfg ( "Taskbar" ); + cfg. setGroup ( "Menu" ); + + if ( m_menu_changed ) { + cfg. writeEntry ( "ShowMenu", m_omenu-> isChecked ( )); + cfg. writeEntry ( "LauncherTabs", m_omenu_tabs-> isChecked ( )); + cfg. writeEntry ( "Home", m_omenu_home-> isChecked ( )); + cfg. writeEntry ( "Suspend", m_omenu_suspend-> isChecked ( )); + } + cfg. write ( ); + + if ( m_menu_changed ) + QCopEnvelope ( "QPE/TaskBar", "reloadApplets()" ); + + Config cfg2 ( "Launcher" ); + cfg2. setGroup ( "GUI" ); + + QString busytype = QString ( m_busy-> isChecked ( ) ? "blink" : "" ); + + if ( m_busy_changed ) { + + cfg2. writeEntry ( "BusyType", busytype ); + } + + cfg2. write ( ); + + if ( m_busy_changed ) { + QCopEnvelope e ( "QPE/Launcher", "setBusyIndicatorType(QString)" ); + e << busytype; + } +} + diff --git a/core/settings/launcher/guisettings.h b/core/settings/launcher/guisettings.h new file mode 100644 index 0000000..2673981 --- a/dev/null +++ b/core/settings/launcher/guisettings.h @@ -0,0 +1,65 @@ +/* + =. This file is part of the OPIE Project + .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org> + .>+-= + _;:, .> :=|. This file is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU General Public +.="- .-=="i, .._ License as published by the Free Software + - . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -<s. This file is distributed in the hope that + + . -:. = it will be useful, but WITHOUT ANY WARRANTY; + : .. .:, . . . without even the implied warranty of + =_ + =;=|` MERCHANTABILITY or FITNESS FOR A + _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General +..}^=.= = ; Public License for more details. +++= -. .` .: + : = ...= . :.=- You should have received a copy of the GNU + -. .:....=;==+<; General Public License along with this file; + -_. . . )=. = see the file COPYING. If not, write to the + -- :-=` Free Software Foundation, Inc., + 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +#ifndef __GUI_SETTINGS_H__ +#define __GUI_SETTINGS_H__ + +#include <qwidget.h> +#include <qmap.h> + +class QListView; +class QCheckListItem; +class QCheckBox; + + +class GuiSettings : public QWidget { + Q_OBJECT + +public: + GuiSettings ( QWidget *parent = 0, const char *name = 0 ); + + void accept ( ); + +protected slots: + void menuChanged ( ); + void busyChanged ( ); + +protected: + void init ( ); + +private: + QCheckBox *m_omenu; + QCheckBox *m_omenu_tabs; + QCheckBox *m_omenu_home; + QCheckBox *m_omenu_suspend; + QCheckBox *m_busy; + + bool m_menu_changed; + bool m_busy_changed; +}; + +#endif diff --git a/core/settings/launcher/launcher.pro b/core/settings/launcher/launcher.pro index 484b159..0554d0a 100644 --- a/core/settings/launcher/launcher.pro +++ b/core/settings/launcher/launcher.pro @@ -1,20 +1,22 @@ TEMPLATE = app CONFIG += qt warn_on release DESTDIR = $(OPIEDIR)/bin HEADERS = launchersettings.h \ tabssettings.h \ taskbarsettings.h \ + guisettings.h \ tabconfig.h \ tabdialog.h SOURCES = main.cpp \ launchersettings.cpp \ tabssettings.cpp \ taskbarsettings.cpp \ + guisettings.cpp \ tabdialog.cpp INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe -lopie TARGET = launchersettings diff --git a/core/settings/launcher/launchersettings.cpp b/core/settings/launcher/launchersettings.cpp index 7a020a0..22bf1d1 100644 --- a/core/settings/launcher/launchersettings.cpp +++ b/core/settings/launcher/launchersettings.cpp @@ -1,67 +1,71 @@ /* =. This file is part of the OPIE Project .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org> .>+-= _;:, .> :=|. This file is free software; you can .> <`_, > . <= redistribute it and/or modify it under :`=1 )Y*s>-.-- : the terms of the GNU General Public .="- .-=="i, .._ License as published by the Free Software - . .-<_> .<> Foundation; either version 2 of the License, ._= =} : or (at your option) any later version. .%`+i> _;_. .i_,=:_. -<s. This file is distributed in the hope that + . -:. = it will be useful, but WITHOUT ANY WARRANTY; : .. .:, . . . without even the implied warranty of =_ + =;=|` MERCHANTABILITY or FITNESS FOR A _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General ..}^=.= = ; Public License for more details. ++= -. .` .: : = ...= . :.=- You should have received a copy of the GNU -. .:....=;==+<; General Public License along with this file; -_. . . )=. = see the file COPYING. If not, write to the -- :-=` Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include <qlayout.h> #include <opie/otabwidget.h> #include "launchersettings.h" #include "tabssettings.h" #include "taskbarsettings.h" +#include "guisettings.h" LauncherSettings::LauncherSettings ( ) : QDialog ( 0, "LauncherSettings", false ) { setCaption ( tr( "Launcher Settings" )); QVBoxLayout *lay = new QVBoxLayout ( this, 4, 4 ); OTabWidget *tw = new OTabWidget ( this, "otab" ); lay-> addWidget ( tw ); m_tabs = new TabsSettings ( tw ); m_taskbar = new TaskbarSettings ( tw ); + m_gui = new GuiSettings ( tw ); - tw-> addTab ( m_taskbar, "appearance/styletabicon.png", tr( "Taskbar" )); - tw-> addTab ( m_tabs, "appearance/styletabicon.png", tr( "Tabs" )); + tw-> addTab ( m_taskbar, "launchersettings/taskbartab.png", tr( "Taskbar" )); + tw-> addTab ( m_tabs, "launchersettings/tabstab.png", tr( "Tabs" )); + tw-> addTab ( m_gui, "launchersettings/guitab.png", tr( "GUI" )); tw-> setCurrentTab ( m_taskbar ); } void LauncherSettings::accept ( ) { m_taskbar-> accept ( ); m_tabs-> accept ( ); + m_gui-> accept ( ); QDialog::accept ( ); } void LauncherSettings::done ( int r ) { QDialog::done ( r ); close ( ); } diff --git a/core/settings/launcher/launchersettings.h b/core/settings/launcher/launchersettings.h index 09ea933..fa9977e 100644 --- a/core/settings/launcher/launchersettings.h +++ b/core/settings/launcher/launchersettings.h @@ -1,50 +1,52 @@ /* =. This file is part of the OPIE Project .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org> .>+-= _;:, .> :=|. This file is free software; you can .> <`_, > . <= redistribute it and/or modify it under :`=1 )Y*s>-.-- : the terms of the GNU General Public .="- .-=="i, .._ License as published by the Free Software - . .-<_> .<> Foundation; either version 2 of the License, ._= =} : or (at your option) any later version. .%`+i> _;_. .i_,=:_. -<s. This file is distributed in the hope that + . -:. = it will be useful, but WITHOUT ANY WARRANTY; : .. .:, . . . without even the implied warranty of =_ + =;=|` MERCHANTABILITY or FITNESS FOR A _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General ..}^=.= = ; Public License for more details. ++= -. .` .: : = ...= . :.=- You should have received a copy of the GNU -. .:....=;==+<; General Public License along with this file; -_. . . )=. = see the file COPYING. If not, write to the -- :-=` Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef __LAUNCHER_SETTINGS_H__ #define __LAUNCHER_SETTINGS_H__ #include <qdialog.h> class TabsSettings; class TaskbarSettings; +class GuiSettings; class LauncherSettings : public QDialog { Q_OBJECT public: LauncherSettings ( ); virtual void accept ( ); virtual void done ( int r ); private: TabsSettings *m_tabs; TaskbarSettings *m_taskbar; + GuiSettings *m_gui; }; #endif diff --git a/core/settings/launcher/taskbarsettings.cpp b/core/settings/launcher/taskbarsettings.cpp index 6921ee8..b5c03c8 100644 --- a/core/settings/launcher/taskbarsettings.cpp +++ b/core/settings/launcher/taskbarsettings.cpp @@ -1,178 +1,147 @@ /* This file is part of the OPIE Project =. Copyright (c) 2002 Trolltech AS <info@trolltech.com> .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org> .>+-= _;:, .> :=|. This file is free software; you can .> <`_, > . <= redistribute it and/or modify it under :`=1 )Y*s>-.-- : the terms of the GNU General Public .="- .-=="i, .._ License as published by the Free Software - . .-<_> .<> Foundation; either version 2 of the License, ._= =} : or (at your option) any later version. .%`+i> _;_. .i_,=:_. -<s. This file is distributed in the hope that + . -:. = it will be useful, but WITHOUT ANY WARRANTY; : .. .:, . . . without even the implied warranty of =_ + =;=|` MERCHANTABILITY or FITNESS FOR A _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General ..}^=.= = ; Public License for more details. ++= -. .` .: : = ...= . :.=- You should have received a copy of the GNU -. .:....=;==+<; General Public License along with this file; -_. . . )=. = see the file COPYING. If not, write to the -- :-=` Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "taskbarsettings.h" #include <qpe/config.h> #include <qpe/qlibrary.h> #include <qpe/qpeapplication.h> #include <qpe/taskbarappletinterface.h> #include <qpe/qcopenvelope_qws.h> #include <qdir.h> #include <qlistview.h> #include <qcheckbox.h> #include <qheader.h> #include <qlayout.h> #include <qlabel.h> #include <qwhatsthis.h> #include <stdlib.h> TaskbarSettings::TaskbarSettings ( QWidget *parent, const char *name ) : QWidget ( parent, name ) { m_applets_changed = false; QBoxLayout *lay = new QVBoxLayout ( this, 4, 4 ); QLabel *l = new QLabel ( tr( "Load applets:" ), this ); lay-> addWidget ( l ); m_list = new QListView ( this ); m_list-> addColumn ( "foobar" ); m_list-> header ( )-> hide ( ); lay-> addWidget ( m_list ); - m_omenu = new QCheckBox ( tr( "Show O-Menu" ), this ); - lay-> addWidget ( m_omenu ); - - m_omenu_tabs = new QCheckBox ( tr( "Show Launcher tabs in O-Menu" ), this ); - lay-> addWidget ( m_omenu_tabs ); - QWhatsThis::add ( m_list, tr( "Check the applets that you want displayed in the Taskbar." )); - QWhatsThis::add( m_omenu_tabs, tr( "Adds the contents of the Launcher as menus in the O-Menu." )); - QWhatsThis::add( m_omenu, tr( "Check if you want the O-Menu in the taskbar." )); connect ( m_list, SIGNAL( clicked ( QListViewItem * )), this, SLOT( appletChanged ( ))); - connect ( m_omenu, SIGNAL( toggled ( bool )), m_omenu_tabs, SLOT( setEnabled ( bool ))); - - // This option does not make sense ! (sandman) - m_omenu_tabs-> hide ( ); init ( ); } void TaskbarSettings::init ( ) { Config cfg ( "Taskbar" ); cfg. setGroup ( "Applets" ); QStringList exclude = cfg. readListEntry ( "ExcludeApplets", ',' ); QString path = QPEApplication::qpeDir ( ) + "/plugins/applets"; QStringList list = QDir ( path, "lib*.so" ). entryList ( ); for ( QStringList::Iterator it = list. begin ( ); it != list. end ( ); ++it ) { QString name; QPixmap icon; TaskbarNamedAppletInterface *iface = 0; 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 (".")); QString tfn = QPEApplication::qpeDir ( ) + "/i18n/" + lang + "/" + type + ".qm"; if ( trans-> load ( tfn )) qApp-> installTranslator ( trans ); else delete trans; name = iface-> name ( ); icon = iface-> icon ( ); iface-> release ( ); lib-> unload ( ); } else { delete lib; name = (*it). mid ( 3 ); int sep = name. find( ".so" ); if ( sep > 0 ) name. truncate ( sep ); sep = name. find ( "applet" ); if ( sep == (int) name.length ( ) - 6 ) name. truncate ( sep ); name[0] = name[0]. upper ( ); } QCheckListItem *item; item = new QCheckListItem ( m_list, name, QCheckListItem::CheckBox ); if ( !icon. isNull ( )) item-> setPixmap ( 0, icon ); item-> setOn ( exclude. find ( *it ) == exclude. end ( )); m_applets [*it] = item; } - - cfg. setGroup ( "Menu" ); - - m_omenu_tabs-> setChecked ( cfg. readBoolEntry ( "LauncherTabs", true )); - m_omenu-> setChecked ( cfg. readBoolEntry ( "ShowMenu", true )); - - m_omenu_tabs-> setEnabled ( m_omenu-> isChecked ( )); } void TaskbarSettings::appletChanged() { m_applets_changed = true; } void TaskbarSettings::accept ( ) { Config cfg ( "Taskbar" ); cfg. setGroup ( "Applets" ); if ( m_applets_changed ) { QStringList exclude; QMap <QString, QCheckListItem *>::Iterator it; for ( it = m_applets. begin ( ); it != m_applets. end ( ); ++it ) { if ( !(*it)-> isOn ( )) exclude << it. key ( ); } cfg. writeEntry ( "ExcludeApplets", exclude, ',' ); } cfg. writeEntry ( "SafeMode", false ); - - cfg. setGroup ( "Menu" ); - - if ( m_omenu_tabs-> isChecked ( ) != cfg. readBoolEntry ( "LauncherTabs", true )) { - m_applets_changed = true; - cfg. writeEntry ( "LauncherTabs", m_omenu_tabs-> isChecked ( )); - } - - if ( m_omenu-> isChecked ( ) != cfg. readBoolEntry ( "ShowMenu", true )) { - m_applets_changed = true; - cfg. writeEntry ( "ShowMenu", m_omenu-> isChecked ( )); - } cfg. write ( ); if ( m_applets_changed ) { QCopEnvelope ( "QPE/TaskBar", "reloadApplets()" ); m_applets_changed = false; } } diff --git a/core/settings/launcher/taskbarsettings.h b/core/settings/launcher/taskbarsettings.h index 2f5242f..b99720d 100644 --- a/core/settings/launcher/taskbarsettings.h +++ b/core/settings/launcher/taskbarsettings.h @@ -1,62 +1,59 @@ /* =. This file is part of the OPIE Project .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org> .>+-= _;:, .> :=|. This file is free software; you can .> <`_, > . <= redistribute it and/or modify it under :`=1 )Y*s>-.-- : the terms of the GNU General Public .="- .-=="i, .._ License as published by the Free Software - . .-<_> .<> Foundation; either version 2 of the License, ._= =} : or (at your option) any later version. .%`+i> _;_. .i_,=:_. -<s. This file is distributed in the hope that + . -:. = it will be useful, but WITHOUT ANY WARRANTY; : .. .:, . . . without even the implied warranty of =_ + =;=|` MERCHANTABILITY or FITNESS FOR A _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General ..}^=.= = ; Public License for more details. ++= -. .` .: : = ...= . :.=- You should have received a copy of the GNU -. .:....=;==+<; General Public License along with this file; -_. . . )=. = see the file COPYING. If not, write to the -- :-=` Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef __TASKBAR_SETTINGS_H__ #define __TASKBAR_SETTINGS_H__ #include <qwidget.h> #include <qmap.h> class QListView; class QCheckListItem; class QCheckBox; class TaskbarSettings : public QWidget { Q_OBJECT public: TaskbarSettings ( QWidget *parent = 0, const char *name = 0 ); void accept ( ); protected slots: void appletChanged ( ); protected: void init ( ); private: QListView *m_list; - QCheckBox *m_omenu; - QCheckBox *m_omenu_tabs; - QMap <QString, QCheckListItem *> m_applets; bool m_applets_changed; }; #endif |