diff options
Diffstat (limited to 'kcontrol/taskbar')
-rw-r--r-- | kcontrol/taskbar/Makefile.am | 21 | ||||
-rw-r--r-- | kcontrol/taskbar/kcmtaskbar.cpp | 291 | ||||
-rw-r--r-- | kcontrol/taskbar/kcmtaskbar.desktop | 229 | ||||
-rw-r--r-- | kcontrol/taskbar/kcmtaskbar.h | 79 | ||||
-rw-r--r-- | kcontrol/taskbar/kcmtaskbarui.ui | 482 | ||||
-rw-r--r-- | kcontrol/taskbar/uninstall.desktop | 2 |
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&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>&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 <b>only</b> 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 &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 <em>Show all windows</em> option. + +You can set the taskbar to <strong>Never</strong> group windows, to <strong>Always</strong> group windows or to group windows only <strong>When the Taskbar is Full</strong>. + +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>&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&nly minimized windows</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Select this option if you want the taskbar to display <b>only</b> 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&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&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 <b>only</b> 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&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 &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>&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&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&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&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>&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>&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&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 |