summaryrefslogtreecommitdiffstats
path: root/kcontrol/taskbar
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit4aed2c8219774f5d797760606b8489a92ddc5163 (patch)
tree3f8c130f7d269626bf6a9447407ef6c35954426a /kcontrol/taskbar
downloadtdebase-4aed2c8219774f5d797760606b8489a92ddc5163.tar.gz
tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kcontrol/taskbar')
-rw-r--r--kcontrol/taskbar/Makefile.am21
-rw-r--r--kcontrol/taskbar/kcmtaskbar.cpp291
-rw-r--r--kcontrol/taskbar/kcmtaskbar.desktop229
-rw-r--r--kcontrol/taskbar/kcmtaskbar.h79
-rw-r--r--kcontrol/taskbar/kcmtaskbarui.ui482
-rw-r--r--kcontrol/taskbar/uninstall.desktop2
6 files changed, 1104 insertions, 0 deletions
diff --git a/kcontrol/taskbar/Makefile.am b/kcontrol/taskbar/Makefile.am
new file mode 100644
index 000000000..bd458e1be
--- /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 -lkdeui
+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..08139b607
--- /dev/null
+++ b/kcontrol/taskbar/kcmtaskbar.cpp
@@ -0,0 +1,291 @@
+/*
+ * Copyright (c) 2000 Kurt Granroth <granroth@kde.org>
+ * Copyright (c) 2000 Matthias Elter <elter@kde.org>
+ *
+ * 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
+ */
+
+#include <qcheckbox.h>
+#include <qcombobox.h>
+#include <qlayout.h>
+#include <qtimer.h>
+#include <qvaluelist.h>
+
+#include <dcopclient.h>
+
+#include <kaboutdata.h>
+#include <kapplication.h>
+#include <kconfig.h>
+#include <kdialog.h>
+#include <kgenericfactory.h>
+#include <kwin.h>
+#include <kcolorbutton.h>
+#include <qlabel.h>
+
+#define protected public
+#include "kcmtaskbarui.h"
+#undef protected
+#include "taskbarsettings.h"
+
+#include "kcmtaskbar.h"
+#include "kcmtaskbar.moc"
+
+typedef KGenericFactory<TaskbarConfig, QWidget > TaskBarFactory;
+K_EXPORT_COMPONENT_FACTORY (kcm_taskbar, TaskBarFactory("kcmtaskbar") )
+
+TaskbarAppearance::TaskbarAppearance(QString name,
+ bool drawButtons,
+ bool haloText,
+ bool showButtonOnHover)
+ : m_name(name),
+ m_drawButtons(drawButtons),
+ m_haloText(haloText),
+ m_showButtonOnHover(showButtonOnHover)
+{
+}
+
+TaskbarAppearance::TaskbarAppearance()
+ : m_drawButtons(false),
+ m_haloText(false),
+ m_showButtonOnHover(true)
+{
+}
+
+bool TaskbarAppearance::matchesSettings() const
+{
+ return TaskBarSettings::drawButtons() == m_drawButtons &&
+ TaskBarSettings::haloText() == m_haloText &&
+ TaskBarSettings::showButtonOnHover() == m_showButtonOnHover;
+}
+
+void TaskbarAppearance::alterSettings() const
+{
+ TaskBarSettings::self()->setDrawButtons(m_drawButtons);
+ TaskBarSettings::self()->setHaloText(m_haloText);
+ TaskBarSettings::self()->setShowButtonOnHover(m_showButtonOnHover);
+}
+
+// These are the strings that are actually stored in the config file.
+const QStringList& TaskbarConfig::actionList()
+{
+ static QStringList list(
+ QStringList() << 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("To Current Desktop")
+ << I18N_NOOP("Close Task") );
+ return list;
+}
+
+// Get a translated version of the above string list.
+QStringList TaskbarConfig::i18nActionList()
+{
+ QStringList i18nList;
+ for( QStringList::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 QStringList& TaskbarConfig::groupModeList()
+{
+ static QStringList list(
+ QStringList() << I18N_NOOP("Never") << I18N_NOOP("When Taskbar Full")
+ << I18N_NOOP("Always"));
+ return list;
+}
+
+// Get a translated version of the above string list.
+QStringList TaskbarConfig::i18nGroupModeList()
+{
+ QStringList i18nList;
+ for( QStringList::ConstIterator it = groupModeList().begin(); it != groupModeList().end(); ++it ) {
+ i18nList << i18n((*it).latin1());
+ }
+ return i18nList;
+}
+
+TaskbarConfig::TaskbarConfig(QWidget *parent, const char* name, const QStringList&)
+ : KCModule(TaskBarFactory::instance(), parent, name)
+{
+ QVBoxLayout *layout = new QVBoxLayout(this, 0, KDialog::spacingHint());
+ m_widget = new TaskbarConfigUI(this);
+ layout->addWidget(m_widget);
+
+ // TODO: Load these from .desktop files?
+ m_appearances.append(TaskbarAppearance(i18n("Elegant"), false, false, true));
+ m_appearances.append(TaskbarAppearance(i18n("Classic"), true, false, true));
+ m_appearances.append(TaskbarAppearance(i18n("For Transparency"), false, true, true));
+
+ for (TaskbarAppearance::List::const_iterator it = m_appearances.constBegin();
+ it != m_appearances.constEnd();
+ ++it)
+ {
+ m_widget->appearance->insertItem((*it).name());
+ }
+
+ connect(m_widget->appearance, SIGNAL(activated(int)),
+ this, SLOT(appearanceChanged(int)));
+ addConfig(TaskBarSettings::self(), 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."));
+
+ QStringList list = i18nActionList();
+ m_widget->kcfg_LeftButtonAction->insertStringList(list);
+ m_widget->kcfg_MiddleButtonAction->insertStringList(list);
+ m_widget->kcfg_RightButtonAction->insertStringList(list);
+ m_widget->kcfg_GroupTasks->insertStringList(i18nGroupModeList());
+
+ connect(m_widget->kcfg_GroupTasks, SIGNAL(activated(int)),
+ this, SLOT(slotUpdateComboBox()));
+ connect(m_widget->kcfg_UseCustomColors, SIGNAL(stateChanged(int)), this, 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 (!QApplication::desktop()->isVirtualDesktop() ||
+ QApplication::desktop()->numScreens() == 1) // No Ximerama
+ {
+ m_widget->showAllScreens->hide();
+ }
+ connect( m_widget->showAllScreens, SIGNAL( stateChanged( int )), SLOT( changed()));
+
+ KAboutData *about = new KAboutData(I18N_NOOP("kcmtaskbar"),
+ I18N_NOOP("KDE Taskbar Control Module"),
+ 0, 0, KAboutData::License_GPL,
+ I18N_NOOP("(c) 2000 - 2001 Matthias Elter"));
+
+ about->addAuthor("Matthias Elter", 0, "elter@kde.org");
+ about->addCredit("Stefan Nikolaus", I18N_NOOP("KConfigXT conversion"),
+ "stefan.nikolaus@kdemail.net");
+ setAboutData(about);
+
+ load();
+ QTimer::singleShot(0, this, SLOT(notChanged()));
+}
+
+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
+ {
+ QString 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() == m_appearances.count())
+ {
+ m_widget->appearance->insertItem(i18n("Custom"));
+ }
+
+ m_widget->appearance->setCurrentItem(m_appearances.count());
+}
+
+void TaskbarConfig::appearanceChanged(int selected)
+{
+ if (selected < m_appearances.count())
+ {
+ unmanagedWidgetChangeState(!m_appearances[selected].matchesSettings());
+ }
+}
+
+void TaskbarConfig::load()
+{
+ KCModule::load();
+ slotUpdateComboBox();
+ updateAppearanceCombo();
+ m_widget->showAllScreens->setChecked(!TaskBarSettings::self()->showCurrentScreenOnly());
+}
+
+void TaskbarConfig::save()
+{
+ TaskBarSettings::self()->setShowCurrentScreenOnly(!m_widget->showAllScreens->isChecked());
+ int selectedAppearance = m_widget->appearance->currentItem();
+ if (selectedAppearance < m_appearances.count())
+ {
+ m_appearances[selectedAppearance].alterSettings();
+ TaskBarSettings::self()->writeConfig();
+ }
+
+ KCModule::save();
+
+ QByteArray data;
+ kapp->dcopClient()->emitDCOPSignal("kdeTaskBarConfigChanged()", data);
+}
+
+void TaskbarConfig::defaults()
+{
+ KCModule::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..85085f9ad
--- /dev/null
+++ b/kcontrol/taskbar/kcmtaskbar.desktop
@@ -0,0 +1,229 @@
+[Desktop Entry]
+Icon=kmenu
+Type=Application
+DocPath=kcontrol/kcmtaskbar/index.html
+Exec=kcmshell kcmtaskbar
+
+
+X-KDE-Library=taskbar
+X-KDE-FactoryName=taskbar
+X-KDE-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 panel 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 KDE,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;KDE;X-KDE-settings-desktop;
diff --git a/kcontrol/taskbar/kcmtaskbar.h b/kcontrol/taskbar/kcmtaskbar.h
new file mode 100644
index 000000000..6fd28e92d
--- /dev/null
+++ b/kcontrol/taskbar/kcmtaskbar.h
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2000 Kurt Granroth <granroth@kde.org>
+ * Copyright (c) 2000 Matthias Elter <elter@kde.org>
+ *
+ * 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
+ */
+
+#ifndef __kcmtaskbar_h__
+#define __kcmtaskbar_h__
+
+#include <qvaluelist.h>
+
+#include <kcmodule.h>
+
+class TaskbarConfigUI;
+
+class TaskbarAppearance
+{
+ public:
+ typedef QValueList<TaskbarAppearance> List;
+
+ TaskbarAppearance();
+ TaskbarAppearance(QString name,
+ bool drawButtons,
+ bool haloText,
+ bool showButtonOnHover);
+
+ bool matchesSettings() const;
+ void alterSettings() const;
+ QString name() const { return m_name; }
+
+ private:
+ QString m_name;
+ bool m_drawButtons;
+ bool m_haloText;
+ bool m_showButtonOnHover;
+};
+
+class TaskbarConfig : public KCModule
+{
+ Q_OBJECT
+
+public:
+ TaskbarConfig(QWidget *parent = 0, const char* name = 0,
+ const QStringList &list = QStringList());
+
+public slots:
+ void load();
+ void save();
+ void defaults();
+
+protected slots:
+ void slotUpdateComboBox();
+ void appearanceChanged(int);
+ void notChanged();
+ void slotUpdateCustomColors();
+
+private:
+ TaskbarAppearance::List m_appearances;
+ void updateAppearanceCombo();
+ static const QStringList& actionList();
+ static QStringList i18nActionList();
+ static const QStringList& groupModeList();
+ static QStringList i18nGroupModeList();
+ TaskbarConfigUI *m_widget;
+};
+
+#endif
diff --git a/kcontrol/taskbar/kcmtaskbarui.ui b/kcontrol/taskbar/kcmtaskbarui.ui
new file mode 100644
index 000000000..d234683ca
--- /dev/null
+++ b/kcontrol/taskbar/kcmtaskbarui.ui
@@ -0,0 +1,482 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>TaskbarConfigUI</class>
+<widget class="QWidget">
+ <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="QButtonGroup">
+ <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="QCheckBox" 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="QCheckBox" 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="QCheckBox" row="6" 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="QComboBox" row="7" 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="QLabel" row="7" 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="QCheckBox" row="4" 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="QCheckBox" row="5" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_ShowIcon</cstring>
+ </property>
+ <property name="text">
+ <string>Sho&amp;w application icons</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Select this option if you want window icons to appear along with their titles in the taskbar.
+
+By default this option is selected.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" 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="QComboBox" row="8" column="2">
+ <property name="name">
+ <cstring>appearance</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="8" 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="QCheckBox" row="9" 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="QLayoutWidget" row="10" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>layout9</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer row="1" column="2">
+ <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="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="KColorButton" row="2" column="1">
+ <property name="name">
+ <cstring>kcfg_TaskBackgroundColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <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="1" column="1">
+ <property name="name">
+ <cstring>kcfg_ActiveTaskTextColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" 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="QLabel" row="1" column="0">
+ <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>
+ <spacer row="2" column="2">
+ <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>
+ <widget class="QCheckBox" row="2" 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>
+ </grid>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>GroupBox1</cstring>
+ </property>
+ <property name="title">
+ <string>Actions</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" 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="QLabel" 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="QLabel" 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="QComboBox" 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="QComboBox" 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="QComboBox" 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_ShowOnlyIconified</tabstop>
+ <tabstop>kcfg_ShowIcon</tabstop>
+ <tabstop>kcfg_ShowWindowListBtn</tabstop>
+ <tabstop>kcfg_GroupTasks</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