summaryrefslogtreecommitdiffstats
path: root/kcontrol/taskbar
diff options
context:
space:
mode:
Diffstat (limited to 'kcontrol/taskbar')
-rw-r--r--kcontrol/taskbar/CMakeLists.txt49
-rw-r--r--kcontrol/taskbar/Makefile.am21
-rw-r--r--kcontrol/taskbar/kcmtaskbar.cpp446
-rw-r--r--kcontrol/taskbar/kcmtaskbar.desktop228
-rw-r--r--kcontrol/taskbar/kcmtaskbar.h101
-rw-r--r--kcontrol/taskbar/kcmtaskbarui.ui607
-rw-r--r--kcontrol/taskbar/uninstall.desktop2
7 files changed, 1454 insertions, 0 deletions
diff --git a/kcontrol/taskbar/CMakeLists.txt b/kcontrol/taskbar/CMakeLists.txt
new file mode 100644
index 000000000..9e1e22d62
--- /dev/null
+++ b/kcontrol/taskbar/CMakeLists.txt
@@ -0,0 +1,49 @@
+#################################################
+#
+# (C) 2010-2011 Serghei Amelian
+# serghei (DOT) amelian (AT) gmail.com
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+if( NOT BUILD_KICKER )
+ include( "${TDE_CMAKE_DIR}/kicker.cmake" )
+endif( NOT BUILD_KICKER )
+
+include_directories(
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+)
+
+##### other data ################################
+
+install( FILES kcmtaskbar.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
+install( FILES uninstall.desktop DESTINATION ${APPS_INSTALL_DIR}/Settings/LookNFeel RENAME kcmtaskbar.desktop )
+
+
+##### kcm_taskbar (module) ######################
+
+add_custom_command( OUTPUT taskbarsettings.h
+ COMMAND ${KDE3_KCFGC_EXECUTABLE}
+ ${CMAKE_SOURCE_DIR}/kicker/taskbar/taskbar.kcfg
+ ${CMAKE_SOURCE_DIR}/kicker/taskbar/taskbarsettings.kcfgc
+ DEPENDS
+ ${CMAKE_SOURCE_DIR}/kicker/taskbar/taskbar.kcfg
+ ${CMAKE_SOURCE_DIR}/kicker/taskbar/taskbarsettings.kcfgc )
+
+set_source_files_properties( kcmtaskbar.cpp
+ PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/taskbarsettings.h )
+
+tde_add_kpart( kcm_taskbar AUTOMOC
+ SOURCES kcmtaskbarui.ui kcmtaskbar.cpp
+ LINK taskbar-shared
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
diff --git a/kcontrol/taskbar/Makefile.am b/kcontrol/taskbar/Makefile.am
new file mode 100644
index 000000000..c3da2a34a
--- /dev/null
+++ b/kcontrol/taskbar/Makefile.am
@@ -0,0 +1,21 @@
+kde_module_LTLIBRARIES = kcm_taskbar.la
+
+kcm_taskbar_la_SOURCES = kcmtaskbarui.ui kcmtaskbar.cpp
+kcm_taskbar_la_LDFLAGS = $(all_libraries) -module -avoid-version -no-undefined
+kcm_taskbar_la_LIBADD = $(top_builddir)/kicker/taskbar/libtaskbar.la -ltdeui
+AM_CPPFLAGS = -I$(top_builddir)/kicker/taskbar $(all_includes)
+
+METASOURCES = AUTO
+
+noinst_HEADERS = kcmtaskbar.h
+
+messages: rc.cpp
+ $(XGETTEXT) *.cpp -o $(podir)/kcmtaskbar.pot
+
+xdg_apps_DATA = kcmtaskbar.desktop
+
+install-data-local: uninstall.desktop
+ $(mkinstalldirs) $(DESTDIR)$(kde_appsdir)/Settings/LookNFeel
+ $(INSTALL_DATA) $(srcdir)/uninstall.desktop $(DESTDIR)$(kde_appsdir)/Settings/LookNFeel/kcmtaskbar.desktop
+
+kcmtaskbar.lo: ../../kicker/taskbar/taskbarsettings.h
diff --git a/kcontrol/taskbar/kcmtaskbar.cpp b/kcontrol/taskbar/kcmtaskbar.cpp
new file mode 100644
index 000000000..80c7bf87e
--- /dev/null
+++ b/kcontrol/taskbar/kcmtaskbar.cpp
@@ -0,0 +1,446 @@
+/*
+ * Copyright (c) 2000 Kurt Granroth <[email protected]>
+ * Copyright (c) 2000 Matthias Elter <[email protected]>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 program; if not, write to the Free Software
+
+ --------------------------------------------------------------
+ Additional changes:
+ - 2013/10/22 Michele Calgaro
+ * added support for display mode (Icons and Text, Text only, Icons only)
+ and removed "Show application icons"
+ */
+
+#include <tqcheckbox.h>
+#include <tqcombobox.h>
+#include <tqlayout.h>
+#include <tqtimer.h>
+#include <tqvaluelist.h>
+#include <tqfile.h>
+#include <tqlabel.h>
+#include <tqbuttongroup.h>
+
+#include <dcopclient.h>
+
+#include <tdeaboutdata.h>
+#include <tdeapplication.h>
+#include <tdeconfig.h>
+#include <kdialog.h>
+#include <kgenericfactory.h>
+#include <twin.h>
+#include <kcolorbutton.h>
+#include <kstandarddirs.h>
+
+#define protected public
+#include "kcmtaskbarui.h"
+#undef protected
+
+#include "taskbarsettings.h"
+
+#include "kcmtaskbar.h"
+#include "kcmtaskbar.moc"
+
+#define GLOBAL_TASKBAR_CONFIG_FILE_NAME "ktaskbarrc"
+
+typedef KGenericFactory<TaskbarConfig, TQWidget > TaskBarFactory;
+K_EXPORT_COMPONENT_FACTORY (kcm_taskbar, TaskBarFactory("kcmtaskbar") )
+
+TaskbarAppearance::TaskbarAppearance(TQString name,
+ bool drawButtons,
+ bool haloText,
+ bool showButtonOnHover,
+ TaskBarSettings* settingsObject)
+ : m_name(name),
+ m_drawButtons(drawButtons),
+ m_haloText(haloText),
+ m_showButtonOnHover(showButtonOnHover),
+ m_settingsObject(NULL)
+{
+ m_settingsObject = settingsObject;
+ if (m_settingsObject)
+ {
+ m_settingsObject->readConfig();
+ }
+}
+
+TaskbarAppearance::TaskbarAppearance()
+ : m_drawButtons(false),
+ m_haloText(false),
+ m_showButtonOnHover(true),
+ m_settingsObject(NULL)
+{
+}
+
+bool TaskbarAppearance::matchesSettings() const
+{
+ return m_settingsObject->drawButtons() == m_drawButtons &&
+ m_settingsObject->haloText() == m_haloText &&
+ m_settingsObject->showButtonOnHover() == m_showButtonOnHover;
+}
+
+void TaskbarAppearance::alterSettings() const
+{
+ m_settingsObject->setDrawButtons(m_drawButtons);
+ m_settingsObject->setHaloText(m_haloText);
+ m_settingsObject->setShowButtonOnHover(m_showButtonOnHover);
+}
+
+// These are the strings that are actually stored in the config file.
+const TQStringList& TaskbarConfig::actionList()
+{
+ static TQStringList list(
+ TQStringList() << I18N_NOOP("Show Task List") << I18N_NOOP("Show Operations Menu")
+ << I18N_NOOP("Activate, Raise or Minimize Task")
+ << I18N_NOOP("Activate Task") << I18N_NOOP("Raise Task")
+ << I18N_NOOP("Lower Task") << I18N_NOOP("Minimize Task")
+ << I18N_NOOP("Move To Current Desktop")
+ << I18N_NOOP("Close Task") );
+ return list;
+}
+
+// Get a translated version of the above string list.
+TQStringList TaskbarConfig::i18nActionList()
+{
+ TQStringList i18nList;
+ for( TQStringList::ConstIterator it = actionList().begin(); it != actionList().end(); ++it ) {
+ i18nList << i18n((*it).latin1());
+ }
+ return i18nList;
+}
+
+// These are the strings that are actually stored in the config file.
+const TQStringList& TaskbarConfig::groupModeList()
+{
+ static TQStringList list(
+ TQStringList() << I18N_NOOP("Never") << I18N_NOOP("When Taskbar Full")
+ << I18N_NOOP("Always"));
+ return list;
+}
+
+// Get a translated version of the above string list.
+TQStringList TaskbarConfig::i18nGroupModeList()
+{
+ TQStringList i18nList;
+ for( TQStringList::ConstIterator it = groupModeList().begin(); it != groupModeList().end(); ++it ) {
+ i18nList << i18n((*it).latin1());
+ }
+ return i18nList;
+}
+
+// These are the strings that are actually stored in the config file.
+const TQStringList& TaskbarConfig::showTaskStatesList()
+{
+ static TQStringList list(
+ TQStringList() << I18N_NOOP("Any") << I18N_NOOP("Only Stopped")
+ << I18N_NOOP("Only Running"));
+ return list;
+}
+
+// Get a translated version of the above string list.
+TQStringList TaskbarConfig::i18nShowTaskStatesList()
+{
+ TQStringList i18nList;
+ for( TQStringList::ConstIterator it = showTaskStatesList().begin(); it != showTaskStatesList().end(); ++it ) {
+ i18nList << i18n((*it).latin1());
+ }
+ return i18nList;
+}
+
+// These are the strings that are actually stored in the config file.
+const TQStringList& TaskbarConfig::displayIconsNText()
+{
+ static TQStringList list(TQStringList()
+ << I18N_NOOP("Icons and Text")
+ << I18N_NOOP("Text only")
+ << I18N_NOOP("Icons only"));
+ return list;
+}
+
+// Get a translated version of the above string list.
+TQStringList TaskbarConfig::i18ndisplayIconsNText()
+{
+ TQStringList i18nList;
+ for (TQStringList::ConstIterator it = displayIconsNText().begin(); it != displayIconsNText().end(); ++it)
+ {
+ i18nList << i18n((*it).latin1());
+ }
+ return i18nList;
+}
+
+TaskbarConfig::TaskbarConfig(TQWidget *parent, const char* name, const TQStringList& args)
+ : TDECModule(TaskBarFactory::instance(), parent, name),
+ m_settingsObject(NULL)
+{
+ TQVBoxLayout *layout = new TQVBoxLayout(this, 0, KDialog::spacingHint());
+ m_widget = new TaskbarConfigUI(this);
+ layout->addWidget(m_widget);
+
+ m_configFileName = GLOBAL_TASKBAR_CONFIG_FILE_NAME;
+ if (args.count() > 0)
+ {
+ m_configFileName = args[0];
+ m_isGlobalConfig = false;
+ }
+ else
+ {
+ m_isGlobalConfig = true;
+ }
+ connect(m_widget->globalConfigReload, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotReloadConfigurationFromGlobals()));
+ connect(m_widget->globalConfigEdit, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotEditGlobalConfiguration()));
+ connect(m_widget->kcfg_UseGlobalSettings, TQT_SIGNAL(clicked()), this, TQT_SLOT(processLockouts()));
+ connect(m_widget->kcfg_SortByApp, TQT_SIGNAL(clicked()), this, TQT_SLOT(processLockouts()));
+
+ TQFile configFile(locateLocal("config", m_configFileName));
+ if (!configFile.exists())
+ {
+ TDEConfig globalConfig(GLOBAL_TASKBAR_CONFIG_FILE_NAME, TRUE, TRUE);
+ TDEConfig localConfig(m_configFileName);
+ globalConfig.copyTo(m_configFileName, &localConfig);
+ localConfig.sync();
+ }
+
+ m_settingsObject = new TaskBarSettings(TDESharedConfig::openConfig(m_configFileName));
+ m_settingsObject->readConfig();
+
+ // TODO: Load these from .desktop files?
+ m_appearances.append(TaskbarAppearance(i18n("Elegant"), false, false, true, m_settingsObject));
+ m_appearances.append(TaskbarAppearance(i18n("Classic"), true, false, true, m_settingsObject));
+ m_appearances.append(TaskbarAppearance(i18n("For Transparency"), false, true, true, m_settingsObject));
+
+ for (TaskbarAppearance::List::const_iterator it = m_appearances.constBegin();
+ it != m_appearances.constEnd();
+ ++it)
+ {
+ m_widget->appearance->insertItem((*it).name());
+ }
+
+ connect(m_widget->appearance, TQT_SIGNAL(activated(int)),
+ this, TQT_SLOT(appearanceChanged(int)));
+ addConfig(m_settingsObject, m_widget);
+
+ setQuickHelp(i18n("<h1>Taskbar</h1> You can configure the taskbar here."
+ " This includes options such as whether or not the taskbar should show all"
+ " windows at once or only those on the current desktop."
+ " You can also configure whether or not the Window List button will be displayed."));
+
+ TQStringList list = i18nActionList();
+ m_widget->kcfg_LeftButtonAction->insertStringList(list);
+ m_widget->kcfg_MiddleButtonAction->insertStringList(list);
+ m_widget->kcfg_RightButtonAction->insertStringList(list);
+ m_widget->kcfg_DisplayIconsNText->insertStringList(i18ndisplayIconsNText());
+ m_widget->kcfg_GroupTasks->insertStringList(i18nGroupModeList());
+ m_widget->kcfg_ShowTaskStates->insertStringList(i18nShowTaskStatesList());
+
+ connect(m_widget->kcfg_GroupTasks, TQT_SIGNAL(activated(int)),
+ this, TQT_SLOT(slotUpdateComboBox()));
+ connect(m_widget->kcfg_UseCustomColors, TQT_SIGNAL(stateChanged(int)), this, TQT_SLOT(slotUpdateCustomColors()));
+
+ slotUpdateCustomColors();
+ updateAppearanceCombo();
+
+ if (KWin::numberOfDesktops() < 2)
+ {
+ m_widget->kcfg_ShowAllWindows->hide();
+ m_widget->kcfg_SortByDesktop->hide();
+ m_widget->spacer2->changeSize(0, 0);
+ }
+
+ if (!TQApplication::desktop()->isVirtualDesktop() ||
+ TQApplication::desktop()->numScreens() == 1) // No Ximerama
+ {
+ m_widget->showAllScreens->hide();
+ }
+ else
+ {
+ m_widget->showAllScreens->show();
+ }
+ connect( m_widget->showAllScreens, TQT_SIGNAL( stateChanged( int )), TQT_SLOT( changed()));
+
+ TDEAboutData *about = new TDEAboutData(I18N_NOOP("kcmtaskbar"),
+ I18N_NOOP("TDE Taskbar Control Module"),
+ 0, 0, TDEAboutData::License_GPL,
+ I18N_NOOP("(c) 2000 - 2001 Matthias Elter"));
+
+ about->addAuthor("Matthias Elter", 0, "[email protected]");
+ about->addCredit("Stefan Nikolaus", I18N_NOOP("TDEConfigXT conversion"),
+ setAboutData(about);
+
+ load();
+ processLockouts();
+
+ TQTimer::singleShot(0, this, TQT_SLOT(notChanged()));
+}
+
+TaskbarConfig::~TaskbarConfig()
+{
+ if (m_settingsObject)
+ {
+ delete m_settingsObject;
+ }
+}
+
+void TaskbarConfig::slotEditGlobalConfiguration() {
+ TQByteArray data;
+ kapp->dcopClient()->send("kicker", "kicker", "reshowTaskBarConfig()", data);
+}
+
+void TaskbarConfig::processLockouts()
+{
+ m_configFileName = GLOBAL_TASKBAR_CONFIG_FILE_NAME;
+ if (m_isGlobalConfig)
+ {
+ m_widget->globalConfigWarning->show();
+ m_widget->localConfigWarning->hide();
+ m_widget->globalConfigReload->hide();
+ m_widget->globalConfigEdit->hide();
+ m_widget->kcfg_UseGlobalSettings->hide();
+ }
+ else {
+ m_widget->globalConfigWarning->hide();
+ m_widget->localConfigWarning->show();
+ m_widget->kcfg_UseGlobalSettings->show();
+ if (m_widget->kcfg_UseGlobalSettings->isChecked()) {
+ m_widget->taskbarGroup->hide();
+ m_widget->actionsGroup->hide();
+ m_widget->globalConfigReload->hide();
+ m_widget->globalConfigEdit->show();
+ }
+ else {
+ m_widget->taskbarGroup->show();
+ m_widget->actionsGroup->show();
+ // FIXME
+ // Disable this feature until a method can be found to force the TDECModule to reload its settings from disk after the global settings have been copied!
+ //m_widget->globalConfigReload->show();
+ m_widget->globalConfigReload->hide();
+ m_widget->globalConfigEdit->hide();
+ }
+ }
+
+ m_widget->kcfg_AllowDragAndDropReArrange->setEnabled(!m_widget->kcfg_SortByApp->isChecked());
+}
+
+void TaskbarConfig::slotReloadConfigurationFromGlobals()
+{
+ TDEConfig globalConfig(GLOBAL_TASKBAR_CONFIG_FILE_NAME, TRUE, TRUE);
+ TDEConfig localConfig(m_configFileName);
+ globalConfig.copyTo(m_configFileName, &localConfig);
+ localConfig.sync();
+ m_settingsObject->readConfig();
+ load();
+ m_widget->kcfg_UseGlobalSettings->setChecked(false);
+}
+
+void TaskbarConfig::slotUpdateCustomColors()
+{
+ m_widget->kcfg_ActiveTaskTextColor->setEnabled(m_widget->kcfg_UseCustomColors->isChecked());
+ m_widget->activeTaskTextColorLabel->setEnabled(m_widget->kcfg_UseCustomColors->isChecked());
+
+ m_widget->kcfg_InactiveTaskTextColor->setEnabled(m_widget->kcfg_UseCustomColors->isChecked());
+ m_widget->inactiveTaskTextColorLabel->setEnabled(m_widget->kcfg_UseCustomColors->isChecked());
+
+ m_widget->kcfg_TaskBackgroundColor->setEnabled(m_widget->kcfg_UseCustomColors->isChecked());
+ m_widget->taskBackgroundColorLabel->setEnabled(m_widget->kcfg_UseCustomColors->isChecked());
+}
+
+void TaskbarConfig::slotUpdateComboBox()
+{
+ int pos = TaskBarSettings::ActivateRaiseOrMinimize;
+ // If grouping is enabled, call "Activate, Raise or Iconify something else,
+ // though the config key used is the same.
+ if(m_widget->kcfg_GroupTasks->currentItem() != TaskBarSettings::GroupNever)
+ {
+ m_widget->kcfg_LeftButtonAction->changeItem(i18n("Cycle Through Windows"), pos);
+ m_widget->kcfg_MiddleButtonAction->changeItem(i18n("Cycle Through Windows"), pos);
+ m_widget->kcfg_RightButtonAction->changeItem(i18n("Cycle Through Windows"), pos);
+ }
+ else
+ {
+ TQString action = i18nActionList()[pos];
+ m_widget->kcfg_LeftButtonAction->changeItem(action,pos);
+ m_widget->kcfg_MiddleButtonAction->changeItem(action,pos);
+ m_widget->kcfg_RightButtonAction->changeItem(action,pos);
+ }
+}
+
+void TaskbarConfig::updateAppearanceCombo()
+{
+ unsigned int i = 0;
+ for (TaskbarAppearance::List::const_iterator it = m_appearances.constBegin();
+ it != m_appearances.constEnd();
+ ++it, ++i)
+ {
+ if ((*it).matchesSettings())
+ {
+ break;
+ }
+ }
+
+ if (i < m_appearances.count())
+ {
+ m_widget->appearance->setCurrentItem(i);
+ return;
+ }
+
+ if (m_widget->appearance->count() == (int)m_appearances.count())
+ {
+ m_widget->appearance->insertItem(i18n("Custom"));
+ }
+
+ m_widget->appearance->setCurrentItem(m_appearances.count());
+}
+
+void TaskbarConfig::appearanceChanged(int selected)
+{
+ if (selected < (int)m_appearances.count())
+ {
+ unmanagedWidgetChangeState(!m_appearances[selected].matchesSettings());
+ }
+}
+
+void TaskbarConfig::load()
+{
+ TDECModule::load();
+ slotUpdateComboBox();
+ updateAppearanceCombo();
+ m_widget->showAllScreens->setChecked(!m_settingsObject->showCurrentScreenOnly());
+}
+
+void TaskbarConfig::save()
+{
+ m_settingsObject->setShowCurrentScreenOnly(!m_widget->showAllScreens->isChecked());
+ int selectedAppearance = m_widget->appearance->currentItem();
+ if (selectedAppearance < (int)m_appearances.count())
+ {
+ m_appearances[selectedAppearance].alterSettings();
+ m_settingsObject->writeConfig();
+ }
+
+ TDECModule::save();
+
+ TQByteArray data;
+ kapp->dcopClient()->emitDCOPSignal("kdeTaskBarConfigChanged()", data);
+}
+
+void TaskbarConfig::defaults()
+{
+ TDECModule::defaults();
+ slotUpdateComboBox();
+ updateAppearanceCombo();
+}
+
+void TaskbarConfig::notChanged()
+{
+ emit changed(false);
+}
diff --git a/kcontrol/taskbar/kcmtaskbar.desktop b/kcontrol/taskbar/kcmtaskbar.desktop
new file mode 100644
index 000000000..9d64ce9d1
--- /dev/null
+++ b/kcontrol/taskbar/kcmtaskbar.desktop
@@ -0,0 +1,228 @@
+[Desktop Entry]
+Icon=kmenu
+Type=Application
+X-DocPath=kicker/taskbar-settings.html
+Exec=tdecmshell kcmtaskbar
+
+X-TDE-Library=taskbar
+X-TDE-FactoryName=taskbar
+X-TDE-ParentApp=kcontrol
+
+Name=Taskbar
+Name[af]=Kasbar
+Name[ar]=شريط المهام
+Name[az]=Vəzifə Çubuğu
+Name[be]=Панэль заданняў
+Name[bg]=Панел за задачи
+Name[bn]=টাস্কবার
+Name[br]=Barrenn dleadoù
+Name[ca]=Barra de tasques
+Name[cs]=Pruh úloh
+Name[csb]=Lëstew dzejaniów
+Name[cy]=Bar tasgau
+Name[da]=Opgavelinje
+Name[de]=Fensterleiste
+Name[el]=Γραμμή εργασιών
+Name[eo]=Taskostrio
+Name[es]=Barra de tareas
+Name[et]=Tegumiriba
+Name[eu]=Ataza-barra
+Name[fa]=میله تکلیف
+Name[fi]=Tehtäväpalkki
+Name[fr]=Barre des tâches
+Name[fy]=Taakbalke
+Name[ga]=Tascbharra
+Name[gl]=Barra de tarefas
+Name[he]=שורת המשימות
+Name[hi]=कार्यपट्टी
+Name[hr]=Traka zadataka
+Name[hu]=Feladatlista
+Name[is]=Verkefnaslá
+Name[it]=Barra delle applicazioni
+Name[ja]=タスクバー
+Name[ka]=ამოცანათა პანელი
+Name[kk]=Тапсырмалар панелі
+Name[km]=របារ​ភារកិច្ច
+Name[ko]=작업 표시줄
+Name[lo]=ແຖບຫນ້າຕ່າງງານ
+Name[lt]=Užduočių juosta
+Name[lv]=Uzdevumjosla
+Name[mk]=Лента со програми
+Name[mn]=Цонхны самбар
+Name[nb]=Oppgavelinje
+Name[nds]=Programmbalken
+Name[ne]=कार्यपट्टी
+Name[nl]=Taakbalk
+Name[nn]=Oppgåvelinje
+Name[nso]=Bar ya Mosongwana
+Name[oc]=Barra de tasques
+Name[pa]=ਸੰਦਪੱਟੀ
+Name[pl]=Pasek zadań
+Name[pt]=Barra de Tarefas
+Name[pt_BR]=Barra de tarefas
+Name[ro]=Bara de procese
+Name[ru]=Панель задач
+Name[rw]=Umurongoibikorwa
+Name[se]=Bargoholga
+Name[sk]=Panel úloh
+Name[sl]=Opravilna vrstica
+Name[sr]=Трака задатака
+Name[sr@Latn]=Traka zadataka
+Name[ss]=Ibar yemsebenti
+Name[sv]=Aktivitetsfält
+Name[ta]=பணிப்பட்டி
+Name[tg]=Пайраҳаи вазифа
+Name[th]=แถบหน้าต่างงาน
+Name[tr]=Görev Çubuğu
+Name[tt]=Qoraltirä
+Name[uk]=Смужка задач
+Name[uz]=Vazifalar paneli
+Name[uz@cyrillic]=Вазифалар панели
+Name[ven]=Bara ya mushumo
+Name[vi]=Thanh tác vụ
+Name[wa]=Bår des bouyes
+Name[xh]=Ibar yomsebenzi
+Name[zh_CN]=任务条
+Name[zh_TW]=工作列
+Name[zu]=Ibha yemisebenzi
+
+Comment=Configure the selected taskbar
+Comment[af]=Stel die paneel taakbalk op
+Comment[ar]=إعداد شريط المهام اللوح
+Comment[be]=Настаўленні панэлі заданняў
+Comment[bg]=Настройване на панела за задачите
+Comment[bn]=প্যানেল টাস্কবার কনফিগার করুন
+Comment[br]=Kefluniañ barrenn dleadoù ar panell
+Comment[bs]=Podesite panel taskbara
+Comment[ca]=Configura el plafó barra de tasques
+Comment[cs]=Zde je možné nastavit pruh úloh panelu
+Comment[csb]=Kònfigùracëjô lëstwë dzejaniô panelu
+Comment[cy]=Ffurfweddu bar tasgau y panel
+Comment[da]=Indstil panelets opgavelinje
+Comment[de]=Den Programmbereich der Kontrollleiste einrichten
+Comment[el]=Ρυθμίστε τη γραμμή εργασιών του πίνακα
+Comment[eo]=Agordo de la panela taskostrio
+Comment[es]=Configuración de la barra de tareas del panel
+Comment[et]=Paneeli tegumiriba seadistamine
+Comment[eu]=Konfiguratu paneleko ataza-barra
+Comment[fa]=پیکربندی میله تکلیف
+Comment[fi]=Muokkaa paneelin tehtäväpalkkia
+Comment[fr]=Configuration de la barre des tâches du tableau de bord
+Comment[fy]=Hjir kinne jo de taakbalke fan it paniel ynstelle
+Comment[gl]=Configurar a barra de tarefas do painel
+Comment[he]=הגדר שורת המשימות של הלוח
+Comment[hi]=फलक कार्यपट्टी कॉन्फ़िगर करें
+Comment[hr]=Konfiguriranje trake zadataka na ploči
+Comment[hu]=A panel feladatlistájának beállításai
+Comment[is]=Hér getur þú stillt verkefnaslá spjaldsins
+Comment[it]=Configura la barra delle applicazioni nel pannello
+Comment[ja]=パネルのタスクバーを設定
+Comment[ka]=ამოცანათა პანელის კონფიგურაცია
+Comment[kk]=Тапсырмалар панелін баптау
+Comment[km]=កំណត់​រចនាសម្ព័ន្ធ​របារ​ភារកិច្ច​បន្ទះ
+Comment[ko]=패널 작업 표시줄 설정
+Comment[lt]=Čia galite konfigūruoti pulto užduočių juostą
+Comment[lv]=Šeit Jūs varat konfigurēt paneļa uzdevumjoslu
+Comment[mk]=Тука може да ја конфигурирате лентата со програми
+Comment[mn]=Цонхны самбар тохируулах
+Comment[ms]=Konfigur 'taskbar' panel
+Comment[mt]=Ikkonfigura t-taskbar tal-pannell
+Comment[nb]=Tilpass oppgavelinja i panelet
+Comment[nds]=Den Programmbalken in't Paneel instellen
+Comment[ne]=प्यानल कार्यपट्टी कन्फिगर गर्नुहोस्
+Comment[nl]=Hier kunt u de taakbalk van het paneel instellen
+Comment[nn]=Oppsett av oppgåvelinja i panelet
+Comment[pa]=ਪੈਨਲ ਸੰਦਪੱਟੀ ਸੰਰਚਨਾ
+Comment[pl]=Konfiguracja paska zadań panelu
+Comment[pt]=Configuração da barra de tarefas do painel
+Comment[pt_BR]=Configura a barra de tarefas
+Comment[ro]=Configurează bara de procese din panou
+Comment[ru]=Настройки панели задач
+Comment[rw]=Kuboneza umurongoibikorwa w'umwanya
+Comment[se]=Dáppe sáhtát heivehit panela bargoholgga.
+Comment[sk]=Tu môžete nastaviť vlastnosti panelu úloh
+Comment[sl]=Nastavite opravilno vrstico pulta
+Comment[sr]=Подешавање панела са списком послова
+Comment[sr@Latn]=Podešavanje panela sa spiskom poslova
+Comment[sv]=Anpassa panelens aktivitetsfält
+Comment[ta]=பலகச் பணிப்பட்டியை வடிவமை
+Comment[tg]=Панели пайраҳаи вазифаро танзим кунед
+Comment[th]=ปรับแต่งถาดหน้าต่างงานของพาเนล
+Comment[tr]=Panel görev çubuğunu yapılandır
+Comment[tt]=Eşlärtirä taqtasın caylaw
+Comment[uk]=Налаштування смужки задач
+Comment[uz]=Vazifalar panelini moslash
+Comment[uz@cyrillic]=Вазифалар панелини мослаш
+Comment[vi]=Cấu hình thanh tác vụ
+Comment[wa]=Apontyî li scriftôr bår des bouyes
+Comment[zh_CN]=配置面板的任务条
+Comment[zh_TW]=您可以在這裡設定面板工作列
+
+Keywords=kicker;panel;kpanel;taskbar;startbar;launchbar;windows;
+Keywords[ar]=kicker;لوحة المهام;kpanel;شريط المهام; شريط البدء; شريط التشغيل; النوافذ;
+Keywords[az]=kicker;panel;kpanel;vəzifə çubuğu;başlatma çubuğu;başlama çubuğu;pəncərələr;
+Keywords[be]=Панэль;Панэль заданняў;Панэль стартавання;Вокны;Акно;kicker;panel;kpanel;taskbar;startbar;launchbar;windows;
+Keywords[bg]=системен; панел; задачи; задача; прозорец; kicker; panel; kpanel; taskbar; startbar; launchbar; windows;
+Keywords[ca]=kicker;plafó;kpanel;barra de tasques;barra d'inici;barra d'engegar;finestres;
+Keywords[cs]=Kicker;Panel;Pruh úloh;Startovací lišta;Spouštěcí lišta;Okna;
+Keywords[csb]=kicker;panel;kpanel;lëstew dzejaniów;sztartowô lëstew;zrëszanié;òkna;
+Keywords[cy]=kicker;ciciwr;panel;kpanel;bar tasgau;bar cychwyn;bar lawnsio;ffenestri;
+Keywords[da]=kicker;panel;kpanel;opgavelinje;startlinje;kørelinje;vinduer;
+Keywords[de]=Kicker;Kontrollleiste;Panel;KPanel;Taskbar;Startleiste;Fensterleiste;Startleiste;Fenster;
+Keywords[el]=kicker;πίνακας;kpanel;μπάρα εργασιών;μπάρα έναρξης;μπάρα εκκίνησης;παράθυρα;
+Keywords[eo]=lanĉilo;panelo;taskostrio;lanĉostrio;fenestroj;
+Keywords[es]=kicker;panel;kpanel;barra de tareas;barra de inicio;barra de lanzamiento;ventanas;
+Keywords[et]=kicker;paneel;kpanel;tegumiriba;käivitusriba;aknad;
+Keywords[eu]=kicker;panela;kpanela;ataza-barra;hasiera-barra;abiatze-barra;leihoak;
+Keywords[fa]=kicker، تابلو، kpanel، میله تکلیف، میله آغازه میله راه‌اندازی، پنجره‌ها;
+Keywords[fi]=kicker;paneeli;kpanel;tehtäväpalkki;käynnistys;käynnistyspalkki;ikkunat;
+Keywords[fr]=kicker;tableau de bord;kpanel;barre des tâches;barre de démarrage;barre de lancement;fenêtres;
+Keywords[fy]=kicker;panel;paniel;kpanel;taakbalke;startbalk;Begjinbalke;startmenu;finsters;
+Keywords[gl]=kicker;painel;kpanel;barra de tarefas;startbar;launchbar;windows;
+Keywords[he]=לוח;שורת משימות;שורת התחל;שורת הפעלה;חלונות; kicker;panel;kpanel;taskbar;startbar;launchbar;windows;
+Keywords[hi]=किकर;फलक;केपेनल;औज़ार-पट्टी;प्रारंभ-पट्टी;चालक-पट्टी;विंडो;
+Keywords[hr]=kicker;panel;kpanel;taskbar;startbar;launchbar;ploča;prozori;traka zadataka;ploča;traka pokretanja;windows;
+Keywords[hu]=Kicker;panel;kpanel;feladatlista;indítómenü;ablakok;
+Keywords[is]=spjald;kspjald;tækjaslá;forritaslá;gluggar;ræsingarslá;
+Keywords[it]=kicker;pannello;kpanel;barra delle applicazioni;barra di avvio;finestre;
+Keywords[ja]=kicker;パネル;kpanel;タスクバー;スタートバー;ラウンチバー;ウィンドウ;
+Keywords[km]=kicker;បន្ទះ;kpanel;របារ​ភារកិច្ច;របារ​បើក​ដំណើរការ;បង្អួច;
+Keywords[lt]=kicker;pultas;kpanel;užduočių juosta;startavimo juosta;paleisties juosta;
+Keywords[lv]=kikers;panelis;kpanelis;uzdevumjosla;startjosla;palaišanasjosla;logi;
+Keywords[mk]=kicker;panel;kpanel;taskbar;startbar;launchbar;windows;панел;прозорци;
+Keywords[mn]=Kicker;Удирдах самбар;Самбар;KPanel;Taskbar;Эхлэл самбар;Цонхны самбар;Эхлэл самбар;Цонх;
+Keywords[ms]=kicker;panel; kpanel; 'taskbar'; bar mula; bar pelancar; tetingkap;
+Keywords[nb]=kicker;panel;kpanel;oppgavelinje;startlinje;kjørelinje;programlinje;vinduer;
+Keywords[nds]=kicker;Paneel;kpanel;Opgavenbalken;Startbalken;starten;Fnstern;
+Keywords[ne]=हान्ने; प्यानल; के प्यानल; कार्यपट्टी; सुरुपट्टी; सुरुआतपट्टी; सञ्झ्याल;
+Keywords[nl]=kicker;panel;paneel;kpanel;takenbalk;startbalk;launchbar;startmenu;vensters;taakbalk;
+Keywords[nn]=kicker;panel;kpanel;oppgåvelinje;startlinje;programlinje;vindauge;
+Keywords[nso]=seragi;panel;kpanel;bar ya mosongwana;bar ya thomiso;bar ya ngwadisoleswa;windows;
+Keywords[pa]=kicker;panel;kpanel;taskbar;startbar;launchbar;windows;ਪੈਨਲ;ਕੇਪੈਨਲ;ਝਰੋਖੇ;ਸਥਿਤੀ-ਪੱਟੀ;
+Keywords[pl]=kicker;panel;kpanel;pasek zadań;pasek startu;uruchamianie;okna;
+Keywords[pt]=kicker;painel;kpanel;barra de tarefas;barra de arranque;janelas;
+Keywords[pt_BR]=kicker;painel;kpanel;barra de tarefas;barra de início;barra de lançamento;janelas;
+Keywords[ro]=kicker;panou;kpanel;bară de procese;bară de start;pornire;ferestre;
+Keywords[ru]=kicker;panel;kpanel;taskbar;startbar;launchbar;windows;окно;панель;
+Keywords[rw]=igitera;umwanya;k-umwanya;umurongoibikorwa;umurongogutangira;umurongogutangiza;amadirishya;
+Keywords[se]=kicker;panela;kpanel;bargoholga;álggahanholga;láset;
+Keywords[sk]=kicker;panel;kpanel;taskbar;startbar;launchbar;okná;
+Keywords[sl]=kicker;panel;kpanel;opravilna vrstica;začetna vrstica;izstrelišče;okna;
+Keywords[sr]=kicker;panel;kpanel;taskbar;startbar;launchbar;windows;панел;послови;трака задатака;
+Keywords[sr@Latn]=kicker;panel;kpanel;taskbar;startbar;launchbar;windows;panel;poslovi;traka zadataka;
+Keywords[sv]=kicker;panel;kpanel;aktivitetsfält;startrad;programrad;fönster;
+Keywords[ta]= கிக்கர்; பலகம்.kபலகம்;பணிப்பட்டி;துவக்கபட்டி; வெளியீட்டுப்பட்டி; சாளரம்;
+Keywords[th]=kicker;ถาดพาเนล;kpanel;taskbar;startbar;แถบเรียกใช้งานด่วน;หน้าต่าง;
+Keywords[tr]=kicker;panel;kpanel;görev çubuğu;başlangıç çubuğu;yükleme çubuğu;pencere;pencereler;
+Keywords[uk]=kicker;панель;панель;kpanel;смужка задач;панель запуску;стартова панель;вікна;
+Keywords[uz]=kicker;kpanel;panel;oynalar;vazifalar paneli;
+Keywords[uz@cyrillic]=kicker;kpanel;панел;ойналар;вазифалар панели;
+Keywords[ven]=murahi;phanele;phanele ya k;bara ya mushumo;thomani bara;thoma bara;dziwindo;
+Keywords[vi]=kích hoạt;bảng điều khiển;bảng điều khiển TDE;thanh tác vụ;thanh khởi động;cửa sổ;
+Keywords[wa]=kicker;kpanel;bår des bouyes;bår d' enondaedje;purneas;
+Keywords[xh]=umkhabi;iwindowe eneenkcukacha;kpanel;ibar yomsebenzi;ibar yokuqalisa;ibar yelaunch;i windows;
+Keywords[zh_CN]=kicker;panel;kpanel;taskbar;startbar;launchbar;windows;面板;任务栏;启动栏;
+Keywords[zh_TW]=kicker;panel;kpanel;taskbar;startbar;launchbar;windows;控制面板;工作列;狀態列;快捷列;視窗;
+Keywords[zu]=kicker;iwindi lemininingwane;kpanel;ibha yemisebenzi; ibha yokuqala;ibha yokuqalisa;ama-window;
+
+Categories=Qt;TDE;X-TDE-settings-desktop;
diff --git a/kcontrol/taskbar/kcmtaskbar.h b/kcontrol/taskbar/kcmtaskbar.h
new file mode 100644
index 000000000..f14500a68
--- /dev/null
+++ b/kcontrol/taskbar/kcmtaskbar.h
@@ -0,0 +1,101 @@
+/*
+ * Copyright (c) 2000 Kurt Granroth <[email protected]>
+ * Copyright (c) 2000 Matthias Elter <[email protected]>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 program; if not, write to the Free Software
+
+ --------------------------------------------------------------
+ Additional changes:
+ - 2013/10/22 Michele Calgaro
+ * added support for display mode (Icons and Text, Text only, Icons only)
+ and removed "Show application icons"
+ */
+
+#ifndef __kcmtaskbar_h__
+#define __kcmtaskbar_h__
+
+#include <tqvaluelist.h>
+
+#include <tdecmodule.h>
+
+class TaskbarConfigUI;
+class TaskBarSettings;
+
+class TaskbarAppearance
+{
+ public:
+ typedef TQValueList<TaskbarAppearance> List;
+
+ TaskbarAppearance();
+ TaskbarAppearance(TQString name,
+ bool drawButtons,
+ bool haloText,
+ bool showButtonOnHover,
+ TaskBarSettings* settingsObject);
+
+ bool matchesSettings() const;
+ void alterSettings() const;
+ TQString name() const { return m_name; }
+
+ private:
+ TQString m_name;
+ bool m_drawButtons;
+ bool m_haloText;
+ bool m_showButtonOnHover;
+ TaskBarSettings* m_settingsObject;
+};
+
+class TaskbarConfig : public TDECModule
+{
+ Q_OBJECT
+
+public:
+ TaskbarConfig(TQWidget *parent = 0, const char* name = 0,
+ const TQStringList &list = TQStringList());
+ ~TaskbarConfig();
+
+public slots:
+ void load();
+ void save();
+ void defaults();
+
+protected slots:
+ void slotUpdateComboBox();
+ void appearanceChanged(int);
+ void notChanged();
+ void slotUpdateCustomColors();
+
+private slots:
+ void slotReloadConfigurationFromGlobals();
+ void slotEditGlobalConfiguration();
+ void processLockouts();
+
+private:
+ TaskbarAppearance::List m_appearances;
+ void updateAppearanceCombo();
+ static const TQStringList& actionList();
+ static TQStringList i18nActionList();
+ static const TQStringList& groupModeList();
+ static TQStringList i18nGroupModeList();
+ static const TQStringList& showTaskStatesList();
+ static TQStringList i18nShowTaskStatesList();
+ static const TQStringList& displayIconsNText();
+ static TQStringList i18ndisplayIconsNText();
+ TaskbarConfigUI *m_widget;
+ TQString m_configFileName;
+ TaskBarSettings* m_settingsObject;
+ bool m_isGlobalConfig;
+};
+
+#endif
diff --git a/kcontrol/taskbar/kcmtaskbarui.ui b/kcontrol/taskbar/kcmtaskbarui.ui
new file mode 100644
index 000000000..94f37f84e
--- /dev/null
+++ b/kcontrol/taskbar/kcmtaskbarui.ui
@@ -0,0 +1,607 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>TaskbarConfigUI</class>
+<widget class="TQWidget">
+ <property name="name">
+ <cstring>TaskbarConfigUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>358</width>
+ <height>351</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Taskbar</string>
+ </property>
+ <property name="layoutMargin" stdset="0">
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="TQGroupBox">
+ <property name="name">
+ <cstring>GroupBox2</cstring>
+ </property>
+ <property name="title">
+ <string>Settings</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="TQLabel" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>globalConfigWarning</cstring>
+ </property>
+ <property name="text">
+ <string>&lt;b&gt;NOTE: Currently you are editing the global taskbar configuration.&lt;/b&gt;&lt;br&gt;To change the configuration of a specific taskbar (when using multiple taskbars), use the corresponding Configure Taskbar menu option, located in the taskbar handle popup menu.</string>
+ </property>
+ </widget>
+ <widget class="TQLabel" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>localConfigWarning</cstring>
+ </property>
+ <property name="text">
+ <string>&lt;b&gt;NOTE:&lt;/b&gt; Currently you are editing the taskbar configuration for &lt;b&gt;only&lt;/b&gt; this taskbar.</string>
+ </property>
+ </widget>
+ <widget class="TQCheckBox" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_UseGlobalSettings</cstring>
+ </property>
+ <property name="text">
+ <string>Use global floating taskbar configuration</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Selecting this option causes the taskbar to use the global taskbar configuration.</string>
+ </property>
+ </widget>
+ <widget class="TQPushButton" row="2" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>globalConfigReload</cstring>
+ </property>
+ <property name="text">
+ <string>Overwrite current configuration with the current global floating taskbar configuration</string>
+ </property>
+ </widget>
+ <widget class="TQPushButton" row="3" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>globalConfigEdit</cstring>
+ </property>
+ <property name="text">
+ <string>Edt global floating taskbar configuration</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="TQButtonGroup">
+ <property name="name">
+ <cstring>taskbarGroup</cstring>
+ </property>
+ <property name="title">
+ <string>Taskbar</string>
+ </property>
+ <property name="layoutMargin" stdset="0">
+ </property>
+ <property name="layoutSpacing" stdset="0">
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="TQCheckBox" row="0" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_ShowAllWindows</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Show windows from all desktops</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Turning this option off will cause the taskbar to display &lt;b&gt;only&lt;/b&gt; the windows on the current desktop.
+
+By default, this option is selected and all windows are shown.</string>
+ </property>
+ </widget>
+ <widget class="TQCheckBox" row="1" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_SortByDesktop</cstring>
+ </property>
+ <property name="text">
+ <string>Sort windows by desk&amp;top</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Selecting this option causes the taskbar to show windows in order of the desktop they appear on.
+
+By default this option is selected.</string>
+ </property>
+ </widget>
+ <widget class="TQCheckBox" row="2" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>showAllScreens</cstring>
+ </property>
+ <property name="text">
+ <string>Show windows from all sc&amp;reens</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Turning this option off will cause the taskbar to display &lt;b&gt;only&lt;/b&gt; windows which are on the same Xinerama screen as the taskbar.
+
+By default, this option is selected and all windows are shown.</string>
+ </property>
+ </widget>
+ <widget class="TQCheckBox" row="3" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_SortByApp</cstring>
+ </property>
+ <property name="text">
+ <string>Sort alphabeticall&amp;y by application name</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="TQCheckBox" row="4" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_AllowDragAndDropReArrange</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Allow taskbar items to be rearranged using drag and drop</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Turning this option on will allow tasks on the taskbar to be manually rearranged using drag and drop.</string>
+ </property>
+ </widget>
+ <widget class="TQCheckBox" row="5" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_CycleWheel</cstring>
+ </property>
+ <property name="text">
+ <string>Cycle through windows with mouse wheel</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="TQCheckBox" row="6" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_ShowOnlyIconified</cstring>
+ </property>
+ <property name="text">
+ <string>Show o&amp;nly minimized windows</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Select this option if you want the taskbar to display &lt;b&gt;only&lt;/b&gt; minimized windows.
+
+By default, this option is not selected and the taskbar will show all windows.</string>
+ </property>
+ </widget>
+ <widget class="TQCheckBox" row="7" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_ShowWindowListBtn</cstring>
+ </property>
+ <property name="text">
+ <string>Show window list &amp;button</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Selecting this option causes the taskbar to display a button that, when clicked, shows a list of all windows in a popup menu.</string>
+ </property>
+ </widget>
+ <widget class="TQLabel" row="8" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>displayIconsNText</cstring>
+ </property>
+ <property name="text">
+ <string>Dis&amp;play:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_DisplayIconsNText</cstring>
+ </property>
+ </widget>
+ <widget class="TQComboBox" row="8" column="2">
+ <property name="name">
+ <cstring>kcfg_DisplayIconsNText</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Choose taskbar display mode among &lt;strong&gt;Icons and text&lt;/strong&gt;, &lt;strong&gt;Text only&lt;/strong&gt; and &lt;strong&gt;Icons only&lt;/strong&gt;.</string>
+ </property>
+ </widget>
+ <widget class="TQComboBox" row="9" column="2">
+ <property name="name">
+ <cstring>kcfg_GroupTasks</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The taskbar can group similar windows into single buttons. When one of these window group buttons are clicked on a menu appears showing all the windows in that group. This can be especially useful with the &lt;em&gt;Show all windows&lt;/em&gt; option.
+
+You can set the taskbar to &lt;strong&gt;Never&lt;/strong&gt; group windows, to &lt;strong&gt;Always&lt;/strong&gt; group windows or to group windows only &lt;strong&gt;When the Taskbar is Full&lt;/strong&gt;.
+
+By default the taskbar groups windows when it is full.</string>
+ </property>
+ </widget>
+ <widget class="TQLabel" row="9" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>groupTasksLabel</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Group similar tasks:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_GroupTasks</cstring>
+ </property>
+ </widget>
+ <widget class="TQComboBox" row="10" column="2">
+ <property name="name">
+ <cstring>kcfg_ShowTaskStates</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The taskbar can show and/or hide tasks based on their current process state. Select &lt;em&gt;Any&lt;/em&gt; to show all tasks regardless of current state.</string>
+ </property>
+ </widget>
+ <widget class="TQLabel" row="10" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>showTaskStatesLabel</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Show tasks with state:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_ShowTaskStates</cstring>
+ </property>
+ </widget>
+ <widget class="TQComboBox" row="11" column="2">
+ <property name="name">
+ <cstring>appearance</cstring>
+ </property>
+ </widget>
+ <widget class="TQLabel" row="11" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>A&amp;ppearance:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>appearance</cstring>
+ </property>
+ </widget>
+ <widget class="TQCheckBox" row="12" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_UseCustomColors</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Use &amp;custom colors</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="TQLayoutWidget" row="13" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>layout9</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="TQLabel" row="0" column="0">
+ <property name="name">
+ <cstring>inactiveTaskTextColorLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Inacti&amp;ve task text color:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_InactiveTaskTextColor</cstring>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="0" column="1">
+ <property name="name">
+ <cstring>kcfg_InactiveTaskTextColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <spacer row="0" column="2">
+ <property name="name">
+ <cstring>spacer11</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>191</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="TQLabel" row="0" column="3">
+ <property name="name">
+ <cstring>activeTaskTextColorLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Active task te&amp;xt color:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_ActiveTaskTextColor</cstring>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="0" column="4">
+ <property name="name">
+ <cstring>kcfg_ActiveTaskTextColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <spacer row="0" column="5">
+ <property name="name">
+ <cstring>spacer11_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>191</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="TQLabel" row="0" column="6">
+ <property name="name">
+ <cstring>taskBackgroundColorLabel</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Background color:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_TaskBackgroundColor</cstring>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="0" column="7">
+ <property name="name">
+ <cstring>kcfg_TaskBackgroundColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <spacer row="0" column="8">
+ <property name="name">
+ <cstring>spacer12</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>191</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <spacer row="1" column="0">
+ <property name="name">
+ <cstring>spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="TQGroupBox">
+ <property name="name">
+ <cstring>actionsGroup</cstring>
+ </property>
+ <property name="title">
+ <string>Actions</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="TQLabel" row="0" column="0">
+ <property name="name">
+ <cstring>leftButtonLabel</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Left button:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_LeftButtonAction</cstring>
+ </property>
+ </widget>
+ <widget class="TQLabel" row="1" column="0">
+ <property name="name">
+ <cstring>middleButtonLabel</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Middle button:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_MiddleButtonAction</cstring>
+ </property>
+ </widget>
+ <widget class="TQLabel" row="2" column="0">
+ <property name="name">
+ <cstring>rightButtonLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Right b&amp;utton:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_RightButtonAction</cstring>
+ </property>
+ </widget>
+ <widget class="TQComboBox" row="0" column="1">
+ <property name="name">
+ <cstring>kcfg_LeftButtonAction</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ <widget class="TQComboBox" row="1" column="1">
+ <property name="name">
+ <cstring>kcfg_MiddleButtonAction</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ <widget class="TQComboBox" row="2" column="1">
+ <property name="name">
+ <cstring>kcfg_RightButtonAction</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+</widget>
+<connections>
+ <connection>
+ <sender>kcfg_ShowAllWindows</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_SortByDesktop</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>kcfg_ShowAllWindows</tabstop>
+ <tabstop>kcfg_SortByDesktop</tabstop>
+ <tabstop>showAllScreens</tabstop>
+ <tabstop>kcfg_SortByApp</tabstop>
+ <tabstop>kcfg_AllowDragAndDropReArrange</tabstop>
+ <tabstop>kcfg_CycleWheel</tabstop>
+ <tabstop>kcfg_ShowOnlyIconified</tabstop>
+ <tabstop>kcfg_ShowWindowListBtn</tabstop>
+ <tabstop>kcfg_DisplayIconsNText</tabstop>
+ <tabstop>kcfg_GroupTasks</tabstop>
+ <tabstop>kcfg_ShowTaskStates</tabstop>
+ <tabstop>appearance</tabstop>
+ <tabstop>kcfg_UseCustomColors</tabstop>
+ <tabstop>kcfg_InactiveTaskTextColor</tabstop>
+ <tabstop>kcfg_ActiveTaskTextColor</tabstop>
+ <tabstop>kcfg_TaskBackgroundColor</tabstop>
+ <tabstop>kcfg_LeftButtonAction</tabstop>
+ <tabstop>kcfg_MiddleButtonAction</tabstop>
+ <tabstop>kcfg_RightButtonAction</tabstop>
+</tabstops>
+<includes>
+ <include location="local" impldecl="in implementation">kdialog.h</include>
+</includes>
+<layoutdefaults spacing="3" margin="6"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+</includehints>
+</UI>
diff --git a/kcontrol/taskbar/uninstall.desktop b/kcontrol/taskbar/uninstall.desktop
new file mode 100644
index 000000000..e1e3e1732
--- /dev/null
+++ b/kcontrol/taskbar/uninstall.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+Hidden=true