summaryrefslogtreecommitdiffstats
path: root/kcontrol/kicker
diff options
context:
space:
mode:
Diffstat (limited to 'kcontrol/kicker')
-rw-r--r--kcontrol/kicker/Makefile.am40
-rw-r--r--kcontrol/kicker/advancedDialog.cpp163
-rw-r--r--kcontrol/kicker/advancedDialog.h44
-rw-r--r--kcontrol/kicker/advancedOptions.ui321
-rw-r--r--kcontrol/kicker/applettab.ui227
-rw-r--r--kcontrol/kicker/applettab_impl.cpp239
-rw-r--r--kcontrol/kicker/applettab_impl.h68
-rw-r--r--kcontrol/kicker/extensionInfo.cpp259
-rw-r--r--kcontrol/kicker/extensionInfo.h85
-rw-r--r--kcontrol/kicker/hidingconfig.cpp94
-rw-r--r--kcontrol/kicker/hidingconfig.h44
-rw-r--r--kcontrol/kicker/hidingtab.ui761
-rw-r--r--kcontrol/kicker/hidingtab_impl.cpp280
-rw-r--r--kcontrol/kicker/hidingtab_impl.h64
-rw-r--r--kcontrol/kicker/kicker_config.desktop223
-rw-r--r--kcontrol/kicker/kicker_config_appearance.desktop229
-rw-r--r--kcontrol/kicker/kicker_config_arrangement.desktop212
-rw-r--r--kcontrol/kicker/kicker_config_hiding.desktop202
-rw-r--r--kcontrol/kicker/kicker_config_menus.desktop199
-rw-r--r--kcontrol/kicker/lookandfeelconfig.cpp94
-rw-r--r--kcontrol/kicker/lookandfeelconfig.h44
-rw-r--r--kcontrol/kicker/lookandfeeltab.ui635
-rw-r--r--kcontrol/kicker/lookandfeeltab_impl.cpp384
-rw-r--r--kcontrol/kicker/lookandfeeltab_impl.h70
-rw-r--r--kcontrol/kicker/lookandfeeltab_kcm.cpp94
-rw-r--r--kcontrol/kicker/lookandfeeltab_kcm.h44
-rw-r--r--kcontrol/kicker/main.cpp398
-rw-r--r--kcontrol/kicker/main.h84
-rw-r--r--kcontrol/kicker/menuconfig.cpp94
-rw-r--r--kcontrol/kicker/menuconfig.h44
-rw-r--r--kcontrol/kicker/menutab.ui407
-rw-r--r--kcontrol/kicker/menutab_impl.cpp181
-rw-r--r--kcontrol/kicker/menutab_impl.h72
-rw-r--r--kcontrol/kicker/panel.desktop224
-rw-r--r--kcontrol/kicker/positionconfig.cpp94
-rw-r--r--kcontrol/kicker/positionconfig.h44
-rw-r--r--kcontrol/kicker/positiontab.ui1129
-rw-r--r--kcontrol/kicker/positiontab_impl.cpp742
-rw-r--r--kcontrol/kicker/positiontab_impl.h77
-rw-r--r--kcontrol/kicker/uninstall.desktop11
40 files changed, 8720 insertions, 0 deletions
diff --git a/kcontrol/kicker/Makefile.am b/kcontrol/kicker/Makefile.am
new file mode 100644
index 000000000..2fa9a2ad9
--- /dev/null
+++ b/kcontrol/kicker/Makefile.am
@@ -0,0 +1,40 @@
+kde_module_LTLIBRARIES = kcm_kicker.la
+
+kcm_kicker_la_SOURCES = positiontab.ui hidingtab.ui lookandfeeltab.ui menutab.ui \
+ positiontab_impl.cpp hidingtab_impl.cpp lookandfeeltab_impl.cpp \
+ menutab_impl.cpp extensionInfo.cpp main.cpp main.skel \
+ advancedOptions.ui advancedDialog.cpp \
+ positionconfig.cpp hidingconfig.cpp menuconfig.cpp lookandfeelconfig.cpp
+
+kcm_kicker_la_LDFLAGS = $(all_libraries) -module -avoid-version -no-undefined
+kcm_kicker_la_LIBADD = $(top_builddir)/kicker/libkicker/libkickermain.la ../background/libbgnd.la $(LIB_KIO) $(LIB_KUTILS)
+AM_CPPFLAGS = -I$(top_srcdir)/kicker/kicker/core -I$(top_srcdir)/kicker/libkicker \
+ -I$(top_builddir)/kicker/libkicker -I$(srcdir)/../background $(all_includes)
+
+METASOURCES = AUTO
+
+noinst_HEADERS = positiontab_impl.h hidingtab_impl.h lookandfeeltab_impl.h menutab_impl.h \
+ extensionInfo.h main.h advancedDialog.h
+
+# Translation of tiles is used by lookandfeeltab_impl.cpp
+# Tile names are transformed to words with title case
+messages: rc.cpp
+ (cd ../../kicker/data/tiles ; ls *_tiny_up.png) | perl -p -e \
+ 's/(.*)_tiny_up\.png/i18n\(\"\u$$1\"\)\;/; s/[_ ]+(.)/ \u$$1/g' >> rc.cpp
+ $(XGETTEXT) *.cpp -o $(podir)/kcmkicker.pot
+
+xdg_apps_DATA = panel.desktop
+EXTRA_DIST = $(xdg_apps_DATA)
+
+kcmkicker_data3_DATA = kicker_config.desktop \
+ kicker_config_arrangement.desktop kicker_config_hiding.desktop \
+ kicker_config_menus.desktop kicker_config_appearance.desktop
+kcmkicker_data3dir = $(kde_appsdir)/.hidden
+
+install-data-local: uninstall.desktop
+ $(mkinstalldirs) $(DESTDIR)$(kde_appsdir)/Settings/LookNFeel
+ $(INSTALL_DATA) $(srcdir)/uninstall.desktop $(DESTDIR)$(kde_appsdir)/Settings/LookNFeel/panel.desktop
+ $(INSTALL_DATA) $(srcdir)/uninstall.desktop $(DESTDIR)$(kde_appsdir)/Settings/LookNFeel/panel_appearance.desktop
+ $(INSTALL_DATA) $(srcdir)/uninstall.desktop $(DESTDIR)$(xdg_appsdir)/panel_appearance.desktop
+
+extensionInfo.lo: ../../kicker/libkicker/kickerSettings.h
diff --git a/kcontrol/kicker/advancedDialog.cpp b/kcontrol/kicker/advancedDialog.cpp
new file mode 100644
index 000000000..4605cbb09
--- /dev/null
+++ b/kcontrol/kicker/advancedDialog.cpp
@@ -0,0 +1,163 @@
+/*
+ * advancedDialog.cpp
+ *
+ * Copyright (c) 2002 Aaron J. Seigo <aseigo@olympusproject.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 <qbuttongroup.h>
+#include <qcheckbox.h>
+#include <qlayout.h>
+#include <qpushbutton.h>
+#include <qradiobutton.h>
+#include <qslider.h>
+
+#include <kcolorbutton.h>
+#include <klocale.h>
+
+#include "advancedDialog.h"
+#include "advancedOptions.h"
+#include "main.h"
+
+advancedDialog::advancedDialog(QWidget* parent, const char* name)
+ : KDialogBase(KDialogBase::Plain,
+ i18n("Advanced Options"),
+ Ok|Apply|Cancel,
+ Cancel,
+ parent,
+ name,
+ false, false)
+{
+ connect(this, SIGNAL(applyClicked()),
+ this, SLOT(save()));
+ connect(this, SIGNAL(okClicked()),
+ this, SLOT(save()));
+
+ QFrame* page = plainPage();
+ QVBoxLayout* layout = new QVBoxLayout(page);
+ m_advancedWidget = new advancedKickerOptions(page);
+ layout->addWidget(m_advancedWidget);
+ layout->addStretch();
+
+ setMinimumSize( sizeHint() );
+
+ connect(m_advancedWidget->handles, SIGNAL(clicked(int)),
+ this, SLOT(changed()));
+ connect(m_advancedWidget->hideButtonSize, SIGNAL(valueChanged(int)),
+ this, SLOT(changed()));
+ connect(m_advancedWidget->tintColorB, SIGNAL(clicked()),
+ this, SLOT(changed()));
+ connect(m_advancedWidget->tintSlider, SIGNAL(valueChanged(int)),
+ this, SLOT(changed()));
+ connect(m_advancedWidget->menubarPanelTransparent, SIGNAL(clicked()),
+ this, SLOT(changed()));
+ load();
+}
+
+advancedDialog::~advancedDialog()
+{
+}
+
+void advancedDialog::load()
+{
+ KConfig c(KickerConfig::the()->configName(), false, false);
+ c.setGroup("General");
+
+ bool fadedOut = c.readBoolEntry("FadeOutAppletHandles", true);
+ bool hideHandles = c.readBoolEntry("HideAppletHandles", false);
+ if (hideHandles)
+ m_advancedWidget->hideHandles->setChecked(true);
+ else if (fadedOut)
+ m_advancedWidget->fadeOutHandles->setChecked(true);
+ else
+ m_advancedWidget->visibleHandles->setChecked(true);
+
+ int defaultHideButtonSize = c.readNumEntry("HideButtonSize", 14);
+ m_advancedWidget->hideButtonSize->setValue(defaultHideButtonSize);
+ QColor color = c.readColorEntry( "TintColor", &colorGroup().mid() );
+ m_advancedWidget->tintColorB->setColor( color );
+ int tintValue = c.readNumEntry( "TintValue", 33 );
+ m_advancedWidget->tintSlider->setValue( tintValue );
+
+ bool transparentMenubarPanel = c.readBoolEntry("MenubarPanelTransparent", false);
+ m_advancedWidget->menubarPanelTransparent->setChecked( transparentMenubarPanel );
+
+ enableButtonApply(false);
+}
+
+void advancedDialog::save()
+{
+ KConfig c(KickerConfig::the()->configName(), false, false);
+
+ c.setGroup("General");
+ c.writeEntry("FadeOutAppletHandles",
+ m_advancedWidget->fadeOutHandles->isChecked());
+ c.writeEntry("HideAppletHandles",
+ m_advancedWidget->hideHandles->isChecked());
+ c.writeEntry("HideButtonSize",
+ m_advancedWidget->hideButtonSize->value());
+ c.writeEntry("TintColor",
+ m_advancedWidget->tintColorB->color());
+ c.writeEntry("TintValue",
+ m_advancedWidget->tintSlider->value());
+ c.writeEntry("MenubarPanelTransparent",
+ m_advancedWidget->menubarPanelTransparent->isChecked());
+
+ QStringList elist = c.readListEntry("Extensions2");
+ for (QStringList::Iterator it = elist.begin(); it != elist.end(); ++it)
+ {
+ // extension id
+ QString group(*it);
+
+ // is there a config group for this extension?
+ if(!c.hasGroup(group) ||
+ group.contains("Extension") < 1)
+ {
+ continue;
+ }
+
+ // set config group
+ c.setGroup(group);
+ KConfig extConfig(c.readEntry("ConfigFile"));
+ extConfig.setGroup("General");
+ extConfig.writeEntry("FadeOutAppletHandles",
+ m_advancedWidget->fadeOutHandles->isChecked());
+ extConfig.writeEntry("HideAppletHandles",
+ m_advancedWidget->hideHandles->isChecked());
+ extConfig.writeEntry("HideButtonSize",
+ m_advancedWidget->hideButtonSize->value());
+ extConfig.writeEntry("TintColor",
+ m_advancedWidget->tintColorB->color());
+ extConfig.writeEntry("TintValue",
+ m_advancedWidget->tintSlider->value());
+ extConfig.writeEntry("MenubarPanelTransparent",
+ m_advancedWidget->menubarPanelTransparent->isChecked());
+
+ extConfig.sync();
+ }
+
+ c.sync();
+
+ KickerConfig::the()->notifyKicker();
+ enableButtonApply(false);
+}
+
+void advancedDialog::changed()
+{
+ enableButtonApply(true);
+}
+
+#include "advancedDialog.moc"
+
diff --git a/kcontrol/kicker/advancedDialog.h b/kcontrol/kicker/advancedDialog.h
new file mode 100644
index 000000000..bbbcdd109
--- /dev/null
+++ b/kcontrol/kicker/advancedDialog.h
@@ -0,0 +1,44 @@
+/*
+ * advancedDialog.h
+ *
+ * Copyright (c) 2002 Aaron J. Seigo <aseigo@olympusproject.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 __ADVANCEDDIALOG_H
+#define __ADVANCEDDIALOG_H
+
+#include <kdialogbase.h>
+
+class advancedKickerOptions;
+
+class advancedDialog : public KDialogBase
+{
+ Q_OBJECT
+
+ public:
+ advancedDialog(QWidget* parent, const char* name);
+ ~advancedDialog();
+
+ protected slots:
+ void load();
+ void save();
+ void changed();
+
+ protected:
+ advancedKickerOptions* m_advancedWidget;
+};
+
+#endif
diff --git a/kcontrol/kicker/advancedOptions.ui b/kcontrol/kicker/advancedOptions.ui
new file mode 100644
index 000000000..215ef7e8b
--- /dev/null
+++ b/kcontrol/kicker/advancedOptions.ui
@@ -0,0 +1,321 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>advancedKickerOptions</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>advancedKickerOptions</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>324</width>
+ <height>235</height>
+ </rect>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>groupBox3</cstring>
+ </property>
+ <property name="title">
+ <string>Panel Dimensions</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>TextLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Hide button size:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>hideButtonSize</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This setting defines how large the panel hide buttons will be if they are visible.</string>
+ </property>
+ </widget>
+ <widget class="KIntSpinBox" row="0" column="1">
+ <property name="name">
+ <cstring>hideButtonSize</cstring>
+ </property>
+ <property name="suffix">
+ <string> pixels</string>
+ </property>
+ <property name="maxValue">
+ <number>24</number>
+ </property>
+ <property name="minValue">
+ <number>3</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This setting defines how large the panel hide buttons will be if they are visible.</string>
+ </property>
+ </widget>
+ <spacer row="0" column="2">
+ <property name="name">
+ <cstring>spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>101</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QButtonGroup">
+ <property name="name">
+ <cstring>handles</cstring>
+ </property>
+ <property name="title">
+ <string>Applet Handles</string>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>visibleHandles</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Visible</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;
+&lt;p&gt;Select this option to always show the Applet Handles.&lt;/p&gt;
+&lt;p&gt;Applet Handles let you move, remove and configure applets in the panel.&lt;/p&gt;
+&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>fadeOutHandles</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Fade out</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;
+&lt;p&gt;Select this option to make Applet Handles visible only on mouse hover.&lt;/p&gt;
+&lt;p&gt;Applet Handles let you move, remove and configure applets in the panel.&lt;/p&gt;
+&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>hideHandles</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Hide</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;
+&lt;p&gt;&lt;p&gt;Select this option to always hide the Applet Handles. Beware that this option can disable removing, moving or configuring some applets.&lt;/p&gt;
+&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>21</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>groupBox2</cstring>
+ </property>
+ <property name="title">
+ <string>Transparency</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="KColorButton" row="0" column="1">
+ <property name="name">
+ <cstring>tintColorB</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Click on this button to set the color to use when tinting transparent panels.</string>
+ </property>
+ </widget>
+ <spacer row="2" column="0">
+ <property name="name">
+ <cstring>spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel" row="2" column="1">
+ <property name="name">
+ <cstring>textLabel3</cstring>
+ </property>
+ <property name="text">
+ <string>Min</string>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignLeft</set>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Use this slider to set how much transparent panels should be tinted using the tint color.</string>
+ </property>
+ </widget>
+ <spacer row="0" column="2">
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>81</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QSlider" row="1" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>tintSlider</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Use this slider to set how much transparent panels should be tinted using the tint color.</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="2">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>Max</string>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Use this slider to set how much transparent panels should be tinted using the tint color.</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel1_2</cstring>
+ </property>
+ <property name="text">
+ <string>Ti&amp;nt amount:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>tintSlider</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Use this slider to set how much transparent panels should be tinted using the tint color.</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Tint c&amp;olor:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>tintColorB</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Click on this button to set the color to use when tinting transparent panels.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>menubarPanelTransparent</cstring>
+ </property>
+ <property name="text">
+ <string>Also apply to panel with menu bar</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Normally if you have the desktop's or current application's menu bar displayed in a panel at the top of the screen (MacOS-style), transparency is disabled for this panel to avoid the desktop background clashing with the menu bar. Set this option to make it transparent anyways.</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </vbox>
+</widget>
+<tabstops>
+ <tabstop>hideButtonSize</tabstop>
+ <tabstop>visibleHandles</tabstop>
+ <tabstop>fadeOutHandles</tabstop>
+ <tabstop>hideHandles</tabstop>
+ <tabstop>tintColorB</tabstop>
+ <tabstop>tintSlider</tabstop>
+</tabstops>
+<includes>
+ <include location="global" impldecl="in declaration">knuminput.h</include>
+ <include location="local" impldecl="in implementation">kdialog.h</include>
+</includes>
+<layoutdefaults spacing="3" margin="6"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>knuminput.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+</includehints>
+</UI>
diff --git a/kcontrol/kicker/applettab.ui b/kcontrol/kicker/applettab.ui
new file mode 100644
index 000000000..6ebfa2c88
--- /dev/null
+++ b/kcontrol/kicker/applettab.ui
@@ -0,0 +1,227 @@
+<!DOCTYPE UI><UI version="3.1" stdsetdef="1">
+<class>AppletTabBase</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>AppletTabBase</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>732</width>
+ <height>764</height>
+ </rect>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QButtonGroup">
+ <property name="name">
+ <cstring>level_group</cstring>
+ </property>
+ <property name="title">
+ <string>Security Level</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>trusted_rb</cstring>
+ </property>
+ <property name="text">
+ <string>Load only trusted applets internal</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>new_rb</cstring>
+ </property>
+ <property name="text">
+ <string>Load startup config applets internal</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>all_rb</cstring>
+ </property>
+ <property name="text">
+ <string>Load all applets internal</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>list_group</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>Box</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="title">
+ <string>List of Trusted Applets</string>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout13</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QListView">
+ <column>
+ <property name="text">
+ <string>Available Applets</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>lb_available</cstring>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout12</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer1_2</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>
+ <widget class="QToolButton">
+ <property name="name">
+ <cstring>pb_add</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>&gt;&gt;</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer11</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Minimum</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QToolButton">
+ <property name="name">
+ <cstring>pb_remove</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>&lt;&lt;</string>
+ </property>
+ </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>
+ <widget class="QListView">
+ <column>
+ <property name="text">
+ <string>Trusted Applets</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>lb_trusted</cstring>
+ </property>
+ <property name="resizePolicy">
+ <enum>AutoOneFit</enum>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </hbox>
+ </widget>
+ </vbox>
+</widget>
+<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>qwidget.h</includehint>
+</includehints>
+</UI>
diff --git a/kcontrol/kicker/applettab_impl.cpp b/kcontrol/kicker/applettab_impl.cpp
new file mode 100644
index 000000000..700dbd9ca
--- /dev/null
+++ b/kcontrol/kicker/applettab_impl.cpp
@@ -0,0 +1,239 @@
+/*
+ * applettab.cpp
+ *
+ * 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 <qlayout.h>
+#include <qgroupbox.h>
+#include <qvbuttongroup.h>
+#include <qwhatsthis.h>
+#include <qradiobutton.h>
+#include <qpushbutton.h>
+#include <qtoolbutton.h>
+#include <qvbox.h>
+#include <qfileinfo.h>
+
+#include <kconfig.h>
+#include <kglobal.h>
+#include <klocale.h>
+#include <kdialog.h>
+#include <kstandarddirs.h>
+#include <klistview.h>
+#include <kdebug.h>
+
+#include "applettab_impl.h"
+#include "applettab_impl.moc"
+
+AppletTab::AppletTab( QWidget *parent, const char* name )
+ : AppletTabBase (parent, name)
+{
+
+ connect(level_group, SIGNAL(clicked(int)), SLOT(level_changed(int)));
+
+ connect(lb_trusted, SIGNAL(selectionChanged(QListViewItem*)),
+ SLOT(trusted_selection_changed(QListViewItem*)));
+
+ connect(pb_add, SIGNAL(clicked()), SLOT(add_clicked()));
+ connect(pb_remove, SIGNAL(clicked()), SLOT(remove_clicked()));
+
+ connect(lb_available, SIGNAL(selectionChanged(QListViewItem*)),
+ SLOT(available_selection_changed(QListViewItem*)));
+
+ pb_add->setEnabled(false);
+ pb_remove->setEnabled(false);
+
+ QWhatsThis::add( level_group, i18n("Panel applets can be started in two different ways:"
+ " internally or externally. While 'internally' is the preferred way to load applets, this can"
+ " raise stability or security problems when you are using poorly-programmed third-party applets."
+ " To address these problems, applets can be marked 'trusted'. You might want to configure"
+ " Kicker to treat trusted applets differently to untrusted ones; your options are:"
+ " <ul><li><em>Load only trusted applets internally:</em> All applets but the ones marked 'trusted'"
+ " will be loaded using an external wrapper application.</li>"
+ " <li><em>Load startup config applets internally:</em> The applets shown on KDE startup"
+ " will be loaded internally, others will be loaded using an external wrapper application.</li>"
+ " <li><em>Load all applets internally</em></li></ul>") );
+
+ QWhatsThis::add( lb_trusted, i18n("Here you can see a list of applets that are marked"
+ " 'trusted', i.e. will be loaded internally by Kicker in any case. To move an applet"
+ " from the list of available applets to the trusted ones, or vice versa, select it and"
+ " press the left or right buttons.") );
+
+ QWhatsThis::add( pb_add, i18n("Click here to add the selected applet from the list of available,"
+ " untrusted applets to the list of trusted applets.") );
+
+ QWhatsThis::add( pb_remove, i18n("Click here to remove the selected applet from the list of trusted"
+ " applets to the list of available, untrusted applets.") );
+
+ QWhatsThis::add( lb_available, i18n("Here you can see a list of available applets that you"
+ " currently do not trust. This does not mean you cannot use those applets, but rather that"
+ " the panel's policy using them depends on your applet security level. To move an applet"
+ " from the list of available applets to the trusted ones or vice versa, select it and"
+ " press the left or right buttons.") );
+
+ load();
+}
+
+void AppletTab::load()
+{
+ load( false );
+}
+
+void AppletTab::load( bool useDefaults )
+{
+ KConfig c(KickerConfig::the()->configName(), false, false);
+ c.setReadDefaults( useDefaults );
+ c.setGroup("General");
+
+ available.clear();
+ l_available.clear();
+ l_trusted.clear();
+
+ int level = c.readNumEntry("SecurityLevel", 1);
+
+ switch(level)
+ {
+ case 0:
+ default:
+ trusted_rb->setChecked(true);
+ break;
+ case 1:
+ new_rb->setChecked(true);
+ break;
+ case 2:
+ all_rb->setChecked(true);
+ break;
+ }
+
+ list_group->setEnabled(trusted_rb->isChecked());
+
+ QStringList list = KGlobal::dirs()->findAllResources("applets", "*.desktop");
+ for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it )
+ {
+ QFileInfo fi(*it);
+ available << fi.baseName();
+ }
+
+ if(c.hasKey("TrustedApplets"))
+ {
+ QStringList list = c.readListEntry("TrustedApplets");
+ for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it )
+ {
+ if(available.contains(*it))
+ l_trusted << (*it);
+ }
+ }
+ else
+ l_trusted << "clockapplet" << "ksystemtrayapplet" << "krunapplet" << "quicklauncher"
+ << "kminipagerapplet" << "ktaskbarapplet" << "eyesapplet" << "kmixapplet";
+
+ for ( QStringList::Iterator it = available.begin(); it != available.end(); ++it )
+ {
+ if(!l_trusted.contains(*it))
+ l_available << (*it);
+ }
+
+ updateTrusted();
+ updateAvailable();
+ emit changed( useDefaults );
+}
+
+void AppletTab::save()
+{
+ KConfig c(KickerConfig::the()->configName(), false, false);
+ c.setGroup("General");
+
+ int level = 0;
+ if(new_rb->isChecked()) level = 1;
+ else if (all_rb->isChecked()) level = 2;
+
+ c.writeEntry("SecurityLevel", level);
+ c.writeEntry("TrustedApplets", l_trusted);
+ c.sync();
+}
+
+void AppletTab::defaults()
+{
+ load( true );
+}
+
+QString AppletTab::quickHelp() const
+{
+ return QString::null;
+}
+
+void AppletTab::level_changed(int)
+{
+ list_group->setEnabled(trusted_rb->isChecked());
+ setChanged();
+}
+
+void AppletTab::updateTrusted()
+{
+ lb_trusted->clear();
+ for ( QStringList::Iterator it = l_trusted.begin(); it != l_trusted.end(); ++it )
+ (void) new QListViewItem(lb_trusted, (*it));
+}
+
+void AppletTab::updateAvailable()
+{
+ lb_available->clear();
+ for ( QStringList::Iterator it = l_available.begin(); it != l_available.end(); ++it )
+ (void) new QListViewItem(lb_available, (*it));
+}
+
+void AppletTab::trusted_selection_changed(QListViewItem * item)
+{
+ pb_remove->setEnabled(item != 0);
+ setChanged();
+}
+
+void AppletTab::available_selection_changed(QListViewItem * item)
+{
+ pb_add->setEnabled(item != 0);
+ setChanged();
+}
+
+void AppletTab::add_clicked()
+{
+ QListViewItem *item = lb_available->selectedItem();
+ if (!item) return;
+ l_available.remove(item->text(0));
+ l_trusted.append(item->text(0));
+
+ updateTrusted();
+ updateAvailable();
+ updateAddRemoveButton();
+}
+
+void AppletTab::remove_clicked()
+{
+ QListViewItem *item = lb_trusted->selectedItem();
+ if (!item) return;
+ l_trusted.remove(item->text(0));
+ l_available.append(item->text(0));
+
+ updateTrusted();
+ updateAvailable();
+ updateAddRemoveButton();
+}
+
+
+void AppletTab::updateAddRemoveButton()
+{
+ pb_remove->setEnabled(l_trusted.count ()>0);
+ pb_add->setEnabled(l_available.count()>0);
+}
diff --git a/kcontrol/kicker/applettab_impl.h b/kcontrol/kicker/applettab_impl.h
new file mode 100644
index 000000000..76c071c1a
--- /dev/null
+++ b/kcontrol/kicker/applettab_impl.h
@@ -0,0 +1,68 @@
+/*
+ * applettab.h
+ *
+ * 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 __applettab_impl_h__
+#define __applettab_impl_h__
+
+#include <qwidget.h>
+#include "applettab.h"
+
+class QGroupBox;
+class QButtonGroup;
+class QRadioButton;
+class QPushButton;
+class KListView;
+class QListViewItem;
+
+class AppletTab : public AppletTabBase
+{
+ Q_OBJECT
+
+ public:
+ AppletTab( QWidget *parent=0, const char* name=0 );
+
+ void load();
+ void load(bool useDefaults);
+ void save();
+ void defaults();
+
+ QString quickHelp() const;
+
+ signals:
+ void changed();
+
+ protected slots:
+ void level_changed(int level);
+ void trusted_selection_changed(QListViewItem *);
+ void available_selection_changed(QListViewItem *);
+ void add_clicked();
+ void remove_clicked();
+
+ protected:
+ void updateTrusted();
+ void updateAvailable();
+ void updateAddRemoveButton();
+
+ private:
+ QStringList available, l_available, l_trusted;
+};
+
+#endif
+
diff --git a/kcontrol/kicker/extensionInfo.cpp b/kcontrol/kicker/extensionInfo.cpp
new file mode 100644
index 000000000..54ce23937
--- /dev/null
+++ b/kcontrol/kicker/extensionInfo.cpp
@@ -0,0 +1,259 @@
+/*
+ * Copyright (c) 2001 John Firebaugh <jfirebaugh@kde.org>
+ * Copyright (c) 2002 Aaron J. Seigo <aseigo@olympusproject.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 <qapplication.h>
+
+#include <kdebug.h>
+#include <kdesktopfile.h>
+#include <klocale.h>
+
+#include "extensionInfo.h"
+
+
+ExtensionInfo::ExtensionInfo(const QString& desktopFile,
+ const QString& configFile,
+ const QString& configPath)
+ : _configFile(configFile),
+ _configPath(configPath),
+ _desktopFile(desktopFile)
+{
+ load();
+}
+
+void ExtensionInfo::load()
+{
+ setDefaults();
+
+ kdDebug() << "loading defaults for " << _desktopFile << endl;
+ if (_desktopFile.isNull())
+ {
+ _name = i18n("Main Panel");
+ _resizeable = true;
+ _useStdSizes = true;
+ _customSizeMin = 24;
+ _customSizeMax = 256;
+ _customSize = 56;
+ _showLeftHB = false;
+ _showRightHB = true;
+ for (int i=0;i<4;i++) _allowedPosition[i]=true;
+ }
+ else
+ {
+ KDesktopFile df(_desktopFile);
+ _name = df.readName();
+ _resizeable = df.readBoolEntry("X-KDE-PanelExt-Resizeable", _resizeable);
+
+ if (_resizeable)
+ {
+ _useStdSizes = df.readBoolEntry("X-KDE-PanelExt-StdSizes", _useStdSizes);
+ _size = df.readNumEntry("X-KDE-PanelExt-StdSizeDefault", _size);
+ _customSizeMin = df.readNumEntry("X-KDE-PanelExt-CustomSizeMin", _customSizeMin);
+ _customSizeMax = df.readNumEntry("X-KDE-PanelExt-CustomSizeMax", _customSizeMax);
+ _customSize = df.readNumEntry("X-KDE-PanelExt-CustomSizeDefault", _customSize);
+ }
+
+ for (int i = 0; i < 4; i++)
+ {
+ _allowedPosition[i]=false;
+ }
+
+ kdDebug()<<"BEFORE X-KDE-PanelExt-Positions parsing"<<endl;
+ QStringList allowedPos;
+ allowedPos << "BOTTOM" << "TOP" << "LEFT" << "RIGHT" << "BOTTOM";
+ allowedPos= df.readListEntry("X-KDE-PanelExt-Positions", allowedPos);
+
+ for (unsigned int i=0;i<allowedPos.count();i++)
+ {
+ QString pos = allowedPos[i].upper();
+ kdDebug() << pos << endl;
+ if (pos == "LEFT")
+ {
+ if (i == 0)
+ {
+ _position = KPanelExtension::Left;
+ }
+ _allowedPosition[KPanelExtension::Left] = true;
+ }
+ else if (pos == "RIGHT")
+ {
+ if (i == 0)
+ {
+ _position = KPanelExtension::Right;
+ }
+ _allowedPosition[KPanelExtension::Right]=true;
+ }
+ else if (pos =="TOP")
+ {
+ if (i == 0)
+ {
+ _position = KPanelExtension::Top;
+ }
+ _allowedPosition[KPanelExtension::Top]=true;
+ }
+ else if (pos == "BOTTOM")
+ {
+ if (i == 0)
+ {
+ _position = KPanelExtension::Bottom;
+ }
+ _allowedPosition[KPanelExtension::Bottom]=true;
+ }
+ }
+ }
+
+ // sanitize
+ if (_customSizeMin < 0) _customSizeMin = 0;
+ if (_customSizeMax < _customSizeMin) _customSizeMax = _customSizeMin;
+ if (_customSize < _customSizeMin) _customSize = _customSizeMin;
+
+ KConfig c(_configFile);
+ c.setGroup("General");
+
+ _position = c.readNumEntry ("Position", _position);
+ _alignment = c.readNumEntry ("Alignment", _alignment);
+ _xineramaScreen = c.readNumEntry ("XineramaScreen", _xineramaScreen);
+ _showLeftHB = c.readBoolEntry("ShowLeftHideButton", _showLeftHB);
+ _showRightHB = c.readBoolEntry("ShowRightHideButton", _showRightHB);
+ _hideButtonSize = c.readNumEntry ("HideButtonSize", _hideButtonSize);
+ _autohidePanel = c.readBoolEntry("AutoHidePanel", _autohidePanel);
+ _backgroundHide = c.readBoolEntry("BackgroundHide", _backgroundHide);
+ _autoHideSwitch = c.readBoolEntry("AutoHideSwitch", _autoHideSwitch);
+ _autoHideDelay = c.readNumEntry ("AutoHideDelay", _autoHideDelay);
+ _hideAnim = c.readBoolEntry("HideAnimation", _hideAnim);
+ _hideAnimSpeed = c.readNumEntry ("HideAnimationSpeed", _hideAnimSpeed);
+ _unhideLocation = c.readNumEntry ("UnhideLocation", _unhideLocation);
+ _sizePercentage = c.readNumEntry ("SizePercentage", _sizePercentage);
+ _expandSize = c.readBoolEntry("ExpandSize", _expandSize);
+
+ if (_resizeable)
+ {
+ _size = c.readNumEntry ("Size", _size);
+ _customSize = c.readNumEntry ("CustomSize", _customSize);
+ }
+
+ _orig_position = _position;
+ _orig_alignment = _alignment;
+ _orig_size = _size;
+ _orig_customSize = _customSize;
+
+ // sanitize
+ if (_sizePercentage < 1) _sizePercentage = 1;
+ if (_sizePercentage > 100) _sizePercentage = 100;
+}
+
+void ExtensionInfo::configChanged()
+{
+ KConfig c(_configFile);
+ c.setGroup("General");
+
+ // check to see if the new value is different from both
+ // the original value and the currently set value, then it
+ // must be a newly set value, external to the panel!
+ int position = c.readNumEntry ("Position", 3);
+ if (position != _position && position != _orig_position)
+ {
+ _orig_position = _position = position;
+ }
+
+ int alignment = c.readNumEntry ("Alignment", QApplication::reverseLayout() ? 2 : 0);
+ if (alignment != _alignment && alignment != _orig_alignment)
+ {
+ _orig_alignment = _alignment = alignment;
+ }
+
+ if (_resizeable)
+ {
+ int size = c.readNumEntry ("Size", 2);
+ if (size != _size && size != _orig_size)
+ {
+ _orig_size = _size = size;
+ }
+
+ int customSize = c.readNumEntry ("CustomSize", 0);
+ if (customSize != _customSize && customSize != _orig_customSize)
+ {
+ _orig_customSize = _customSize = customSize;
+ }
+
+ }
+}
+
+void ExtensionInfo::setDefaults()
+{
+ // defaults
+ _position = 3;
+ _alignment = QApplication::reverseLayout() ? 2 : 0;
+ _xineramaScreen = QApplication::desktop()->primaryScreen();
+ _size = 2;
+ _showLeftHB = false;
+ _showRightHB = true;
+ _hideButtonSize = 14;
+ _autohidePanel = false;
+ _backgroundHide = false;
+ _autoHideSwitch = false;
+ _autoHideDelay = 3;
+ _hideAnim = true;
+ _hideAnimSpeed = 40;
+ _unhideLocation = 0;
+ _sizePercentage = 100;
+ _expandSize = true;
+ _customSize = 0;
+ _resizeable = false;
+ _useStdSizes = false;
+ _customSizeMin = 0;
+ _customSizeMax = 0;
+}
+
+void ExtensionInfo::save()
+{
+ KConfig c(_configFile);
+ c.setGroup("General");
+
+ c.writeEntry("Position", _position);
+ c.writeEntry("Alignment", _alignment);
+ c.writeEntry("XineramaScreen", _xineramaScreen);
+ c.writeEntry("ShowLeftHideButton", _showLeftHB);
+ c.writeEntry("ShowRightHideButton", _showRightHB);
+ c.writeEntry("AutoHidePanel", _autohidePanel);
+ c.writeEntry("BackgroundHide", _backgroundHide);
+ c.writeEntry("AutoHideSwitch", _autoHideSwitch);
+ c.writeEntry("AutoHideDelay", _autoHideDelay);
+ c.writeEntry("HideAnimation", _hideAnim);
+ c.writeEntry("HideAnimationSpeed", _hideAnimSpeed);
+ c.writeEntry("UnhideLocation", _unhideLocation);
+ c.writeEntry("SizePercentage", _sizePercentage );
+ c.writeEntry("ExpandSize", _expandSize );
+
+ // FIXME: this is set only for the main panel and only in the
+ // look 'n feel (aka appearance) tab. so we can't save it here
+ // this should be implemented properly. - AJS
+ //c.writeEntry("HideButtonSize", _hideButtonSize);
+
+ if (_resizeable)
+ {
+ c.writeEntry("Size", _size);
+ c.writeEntry("CustomSize", _customSize);
+ }
+
+ _orig_position = _position;
+ _orig_alignment = _alignment;
+ _orig_size = _size;
+ _orig_customSize = _customSize;
+
+ c.sync();
+}
diff --git a/kcontrol/kicker/extensionInfo.h b/kcontrol/kicker/extensionInfo.h
new file mode 100644
index 000000000..a8885c651
--- /dev/null
+++ b/kcontrol/kicker/extensionInfo.h
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2001 John Firebaugh <jfirebaugh@kde.org>
+ * Copyright (c) 2002 Aaron J. Seigo <aseigo@olympusproject.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 __PANELINFO_H
+#define __PANELINFO_H
+
+#include <qvaluelist.h>
+#include <qlistview.h>
+#include <kpanelextension.h>
+
+class ExtensionInfo;
+
+typedef QValueList<ExtensionInfo*> ExtensionInfoList;
+
+class ExtensionInfo
+{
+ public:
+ ExtensionInfo(const QString& destopFile,
+ const QString& configFile,
+ const QString& configPath);
+ ~ExtensionInfo() {};
+
+ void setDefaults();
+ void save();
+ void load();
+ void configChanged();
+
+ QString _configFile;
+ QString _configPath;
+ QString _desktopFile;
+
+ // Configuration settings
+ QString _name;
+ int _position;
+ int _alignment;
+ int _xineramaScreen;
+ int _size;
+ int _customSize;
+ bool _showLeftHB;
+ bool _showRightHB;
+ int _hideButtonSize;
+ bool _autohidePanel;
+ bool _backgroundHide;
+ bool _autoHideSwitch;
+ int _autoHideDelay;
+ bool _hideAnim;
+ int _hideAnimSpeed;
+ int _unhideLocation;
+ int _sizePercentage;
+ bool _expandSize;
+
+ // Original settings to ensure that we can figure out
+ // what has changed externally to the panel vs within the panel
+ int _orig_position;
+ int _orig_alignment;
+ int _orig_size;
+ int _orig_customSize;
+
+ // Size info
+ bool _resizeable;
+ bool _useStdSizes;
+ int _customSizeMin;
+ int _customSizeMax;
+
+ // position handling
+ bool _allowedPosition[4];
+};
+
+#endif
+
diff --git a/kcontrol/kicker/hidingconfig.cpp b/kcontrol/kicker/hidingconfig.cpp
new file mode 100644
index 000000000..95899d9dc
--- /dev/null
+++ b/kcontrol/kicker/hidingconfig.cpp
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2005 Stefan Nikolaus <stefan.nikolaus@kdemail.net>
+ *
+ * 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 <qlayout.h>
+#include <qtimer.h>
+
+#include <klocale.h>
+#include <kdebug.h>
+
+#include "hidingtab_impl.h"
+#include "kickerSettings.h"
+#include "main.h"
+
+#include "hidingconfig.h"
+#include "hidingconfig.moc"
+
+HidingConfig::HidingConfig(QWidget *parent, const char *name)
+ : KCModule(parent, name)
+{
+ QVBoxLayout *layout = new QVBoxLayout(this);
+ m_widget = new HidingTab(this);
+ layout->addWidget(m_widget);
+ layout->addStretch();
+
+ setQuickHelp(KickerConfig::the()->quickHelp());
+ setAboutData(KickerConfig::the()->aboutData());
+
+ //addConfig(KickerSettings::self(), m_widget);
+
+ connect(m_widget, SIGNAL(changed()),
+ this, SLOT(changed()));
+ connect(KickerConfig::the(), SIGNAL(aboutToNotifyKicker()),
+ this, SLOT(aboutToNotifyKicker()));
+
+ load();
+ QTimer::singleShot(0, this, SLOT(notChanged()));
+}
+
+void HidingConfig::notChanged()
+{
+ emit changed(false);
+}
+
+void HidingConfig::load()
+{
+ m_widget->load();
+ KCModule::load();
+}
+
+void HidingConfig::aboutToNotifyKicker()
+{
+ kdDebug() << "HidingConfig::aboutToNotifyKicker()" << endl;
+
+ // This slot is triggered by the signal,
+ // which is send before Kicker is notified.
+ // See comment in save().
+ m_widget->save();
+ KCModule::save();
+}
+
+void HidingConfig::save()
+{
+ // As we don't want to notify Kicker multiple times
+ // we do not save the settings here. Instead the
+ // KickerConfig object sends a signal before the
+ // notification. On this signal all existing modules,
+ // including this object, save their settings.
+ KickerConfig::the()->notifyKicker();
+}
+
+void HidingConfig::defaults()
+{
+ m_widget->defaults();
+ KCModule::defaults();
+
+ // KConfigDialogManager may queue an changed(false) signal,
+ // so we make sure, that the module is labeled as changed,
+ // while we manage some of the widgets ourselves
+ QTimer::singleShot(0, this, SLOT(changed()));
+}
diff --git a/kcontrol/kicker/hidingconfig.h b/kcontrol/kicker/hidingconfig.h
new file mode 100644
index 000000000..c5b3d66a8
--- /dev/null
+++ b/kcontrol/kicker/hidingconfig.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2005 Stefan Nikolaus <stefan.nikolaus@kdemail.net>
+ *
+ * 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 __hidingconfig_h__
+#define __hidingconfig_h__
+
+#include <kcmodule.h>
+
+class HidingTab;
+
+class HidingConfig : public KCModule
+{
+ Q_OBJECT
+
+public:
+ HidingConfig(QWidget *parent = 0, const char *name = 0);
+
+ void load();
+ void save();
+ void defaults();
+
+public slots:
+ void notChanged();
+ void aboutToNotifyKicker();
+
+private:
+ HidingTab *m_widget;
+};
+
+#endif // __hidingconfig_h__
diff --git a/kcontrol/kicker/hidingtab.ui b/kcontrol/kicker/hidingtab.ui
new file mode 100644
index 000000000..8d7b0b254
--- /dev/null
+++ b/kcontrol/kicker/hidingtab.ui
@@ -0,0 +1,761 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>HidingTabBase</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>HidingTabBase</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>694</width>
+ <height>472</height>
+ </rect>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>m_panelsGroupBox</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="title">
+ <string></string>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>m_panelListLabel</cstring>
+ </property>
+ <property name="text">
+ <string>S&amp;ettings for:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>m_panelList</cstring>
+ </property>
+ </widget>
+ <widget class="QComboBox">
+ <property name="name">
+ <cstring>m_panelList</cstring>
+ </property>
+ </widget>
+ <spacer>
+ <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>342</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QButtonGroup">
+ <property name="name">
+ <cstring>m_modeGroup</cstring>
+ </property>
+ <property name="title">
+ <string>Hide Mode</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer row="2" column="0">
+ <property name="name">
+ <cstring>Spacer6</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>30</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QRadioButton" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>m_manual</cstring>
+ </property>
+ <property name="text">
+ <string>On&amp;ly hide when a panel-hiding button is clicked</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>If this option is selected, the only way to hide the panel will be to click on the hide buttons that appear on either end of it.</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="2" column="1">
+ <property name="name">
+ <cstring>layout5</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="KIntNumInput">
+ <property name="name">
+ <cstring>m_delaySpinBox</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="minValue">
+ <number>0</number>
+ </property>
+ <property name="maxValue">
+ <number>10</number>
+ </property>
+ <property name="suffix">
+ <string> sec</string>
+ </property>
+ <property name="specialValueText">
+ <string>Immediately</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Here you can change the delay after which the panel will disappear if not used.</string>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>DelayLabel_2_3_2</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>after the &amp;cursor leaves the panel</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>m_delaySpinBox</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Here you can change the delay after which the panel will disappear if not used.</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer10</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QRadioButton" row="3" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>m_background</cstring>
+ </property>
+ <property name="focusPolicy">
+ <enum>NoFocus</enum>
+ </property>
+ <property name="text">
+ <string>Allow other &amp;windows to cover the panel</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>If this option is selected, the panel will allow itself to be covered by other windows.</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>m_automatic</cstring>
+ </property>
+ <property name="focusPolicy">
+ <enum>NoFocus</enum>
+ </property>
+ <property name="text">
+ <string>Hide a&amp;utomatically</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>If this option is selected, the panel will automatically hide after a period of time and reappear when you move the mouse to the screen edge where the panel is hidden. This is particularly useful for small screen resolutions, such as on laptops.</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="6" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>layout6</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>m_backgroundRaise</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>&amp;Raise when the pointer touches the screen's:</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When this option is selected, moving the pointer to the specified edge of the screen will cause the panel to appear on top of any windows that may be covering it.</string>
+ </property>
+ </widget>
+ <widget class="QComboBox">
+ <item>
+ <property name="text">
+ <string>Top Left Corner</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Top Edge</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Top Right Corner</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Right Edge</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Bottom Right Corner</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Bottom Edge</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Bottom Left Corner</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Left Edge</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>m_backgroundPos</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Here you can set the location on the screen's edge that will bring the panel to the front.</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer23</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QCheckBox" row="5" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>m_autoHideSwitch</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Show panel when switching &amp;desktops</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>If this option is enabled, the panel will automatically show itself for a brief period of time when the desktop is switched so you can see which desktop you are on.</string>
+ </property>
+ </widget>
+ <spacer row="4" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>spacer12</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>10</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>m_manualGroup</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Panel-Hiding Buttons</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This option controls the panel-hiding buttons, which are buttons with a small triangle found at the ends of the panel. You can place a button at either end of the panel, or both. Clicking on one of these buttons will hide the panel.</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>m_lHB</cstring>
+ </property>
+ <property name="text">
+ <string>Show left panel-hiding bu&amp;tton</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When this option is selected, a panel-hiding button appears on the left end of the panel.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0">
+ <property name="name">
+ <cstring>m_rHB</cstring>
+ </property>
+ <property name="text">
+ <string>Show right panel-hiding &amp;button</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When this option is selected, a panel-hiding button appears on the right end of the panel.</string>
+ </property>
+ </widget>
+ <spacer row="1" column="1">
+ <property name="name">
+ <cstring>Spacer17</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>m_manualGroup_2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Panel Animation</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer row="0" column="2">
+ <property name="name">
+ <cstring>Spacer18</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>m_animateHiding</cstring>
+ </property>
+ <property name="text">
+ <string>A&amp;nimate panel hiding</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When this option is selected the panel will "slide" off the screen when hiding. The speed of the animation is controlled by the slider directly below.</string>
+ </property>
+ </widget>
+ <spacer row="1" column="0">
+ <property name="name">
+ <cstring>Spacer6_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>30</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLayoutWidget" row="1" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>Layout2</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QSlider" row="0" column="0" rowspan="1" colspan="5">
+ <property name="name">
+ <cstring>m_hideSlider</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="maxValue">
+ <number>10</number>
+ </property>
+ <property name="pageStep">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>10</number>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="tickmarks">
+ <enum>NoMarks</enum>
+ </property>
+ <property name="tickInterval">
+ <number>1</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Determines how quickly the panel hides if hiding animation is enabled.</string>
+ </property>
+ </widget>
+ <spacer row="1" column="3">
+ <property name="name">
+ <cstring>Spacer3_2_2_3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel" row="1" column="4">
+ <property name="name">
+ <cstring>TextLabel4_2_2_2_3</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Fast</string>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ <property name="hAlign" stdset="0">
+ </property>
+ </widget>
+ <spacer row="1" column="1">
+ <property name="name">
+ <cstring>Spacer3_3_3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel" row="1" column="2">
+ <property name="name">
+ <cstring>TextLabel5_2_2_2_3</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Medium</string>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ <property name="hAlign" stdset="0">
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>TextLabel3_2_2_3_3</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Slow</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer7</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>16</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+</widget>
+<connections>
+ <connection>
+ <sender>m_automatic</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>DelayLabel_2_3_2</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>m_automatic</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>m_autoHideSwitch</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>m_background</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>m_backgroundRaise</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>m_animateHiding</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>TextLabel3_2_2_3_3</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>m_animateHiding</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>TextLabel5_2_2_2_3</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>m_animateHiding</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>TextLabel4_2_2_2_3</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>m_animateHiding</sender>
+ <signal>clicked()</signal>
+ <receiver>m_hideSlider</receiver>
+ <slot>setFocus()</slot>
+ </connection>
+ <connection>
+ <sender>m_animateHiding</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>m_hideSlider</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>m_backgroundRaise</sender>
+ <signal>clicked()</signal>
+ <receiver>m_backgroundPos</receiver>
+ <slot>setFocus()</slot>
+ </connection>
+ <connection>
+ <sender>m_backgroundRaise</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>m_backgroundPos</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>m_automatic</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>m_delaySpinBox</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>m_panelList</sender>
+ <signal>activated(int)</signal>
+ <receiver>HidingTabBase</receiver>
+ <slot>switchPanel(int)</slot>
+ </connection>
+ <connection>
+ <sender>m_automatic</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>m_backgroundRaise</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>m_background</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>m_autoHideSwitch</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>m_manual</tabstop>
+ <tabstop>m_delaySpinBox</tabstop>
+ <tabstop>m_autoHideSwitch</tabstop>
+ <tabstop>m_backgroundRaise</tabstop>
+ <tabstop>m_backgroundPos</tabstop>
+ <tabstop>m_lHB</tabstop>
+ <tabstop>m_rHB</tabstop>
+ <tabstop>m_animateHiding</tabstop>
+ <tabstop>m_hideSlider</tabstop>
+ <tabstop>m_automatic</tabstop>
+ <tabstop>m_background</tabstop>
+</tabstops>
+<includes>
+ <include location="global" impldecl="in declaration">klineedit.h</include>
+ <include location="global" impldecl="in implementation">knuminput.h</include>
+ <include location="local" impldecl="in implementation">kdialog.h</include>
+</includes>
+<slots>
+ <slot specifier="pure virtual">switchPanel(int)</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>knuminput.h</includehint>
+</includehints>
+</UI>
diff --git a/kcontrol/kicker/hidingtab_impl.cpp b/kcontrol/kicker/hidingtab_impl.cpp
new file mode 100644
index 000000000..e637b71c0
--- /dev/null
+++ b/kcontrol/kicker/hidingtab_impl.cpp
@@ -0,0 +1,280 @@
+/*
+ * Copyright (c) 2000 Matthias Elter <elter@kde.org>
+ * Copyright (c) 2002 Aaron Seigo <aseigo@olympusproject.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 <qgroupbox.h>
+#include <qradiobutton.h>
+#include <qslider.h>
+
+#include <kcombobox.h>
+#include <kdebug.h>
+#include <klocale.h>
+#include <knuminput.h>
+
+#include "main.h"
+#include "positiontab_impl.h"
+
+#include "hidingtab_impl.h"
+#include "hidingtab_impl.moc"
+
+
+HidingTab::HidingTab(QWidget *parent, const char* name)
+ : HidingTabBase(parent, name),
+ m_panelInfo(0)
+{
+ // connections
+ connect(m_manual,SIGNAL(toggled(bool)), SIGNAL(changed()));
+ connect(m_automatic, SIGNAL(toggled(bool)), SIGNAL(changed()));
+ connect(m_automatic, SIGNAL(toggled(bool)), SLOT(backgroundModeClicked()));
+ connect(m_background,SIGNAL(toggled(bool)), SIGNAL(changed()));
+ connect(m_background, SIGNAL(toggled(bool)), SLOT(backgroundModeClicked()));
+ connect(m_hideSlider, SIGNAL(valueChanged(int)), SIGNAL(changed()));
+ connect(m_delaySpinBox, SIGNAL(valueChanged(int)), SIGNAL(changed()));
+ connect(m_animateHiding, SIGNAL(toggled(bool)), SIGNAL(changed()));
+ connect(m_delaySpinBox, SIGNAL(valueChanged(int)), SIGNAL(changed()));
+ connect(m_autoHideSwitch, SIGNAL(toggled(bool)), SIGNAL(changed()));
+ connect(m_backgroundRaise, SIGNAL(toggled(bool)), SIGNAL(changed()));
+ connect(m_backgroundPos, SIGNAL(activated(int)), SIGNAL(changed()));
+ connect(m_lHB, SIGNAL(toggled(bool)), SIGNAL(changed()));
+ connect(m_rHB, SIGNAL(toggled(bool)), SIGNAL(changed()));
+
+ connect(KickerConfig::the(), SIGNAL(extensionInfoChanged()),
+ SLOT(infoUpdated()));
+ connect(KickerConfig::the(), SIGNAL(extensionAdded(ExtensionInfo*)),
+ SLOT(extensionAdded(ExtensionInfo*)));
+ connect(KickerConfig::the(), SIGNAL(extensionRemoved(ExtensionInfo*)),
+ SLOT(extensionRemoved(ExtensionInfo*)));
+ // position tab tells hiding tab about extension selections and vice versa
+ connect(KickerConfig::the(), SIGNAL(positionPanelChanged(int)),
+ SLOT(switchPanel(int)));
+ connect(m_panelList, SIGNAL(activated(int)),
+ KickerConfig::the(), SIGNAL(hidingPanelChanged(int)));
+}
+
+void HidingTab::load()
+{
+ KickerConfig::the()->populateExtensionInfoList(m_panelList);
+ m_panelsGroupBox->setHidden(m_panelList->count() < 2);
+
+ switchPanel(KickerConfig::the()->currentPanelIndex());
+}
+
+void HidingTab::extensionAdded(ExtensionInfo* info)
+{
+ m_panelList->insertItem(info->_name);
+ m_panelsGroupBox->setHidden(m_panelList->count() < 2);
+}
+
+void HidingTab::extensionRemoved(ExtensionInfo* info)
+{
+ int count = m_panelList->count();
+ int extensionCount = KickerConfig::the()->extensionsInfo().count();
+ int index = 0;
+ for (; index < count && index < extensionCount; ++index)
+ {
+ if (KickerConfig::the()->extensionsInfo()[index] == info)
+ {
+ break;
+ }
+ }
+
+ bool isCurrentlySelected = index == m_panelList->currentItem();
+ m_panelList->removeItem(index);
+ m_panelsGroupBox->setHidden(m_panelList->count() < 2);
+
+ if (isCurrentlySelected)
+ {
+ m_panelList->setCurrentItem(0);
+ }
+}
+
+void HidingTab::switchPanel(int panelItem)
+{
+ blockSignals(true);
+ ExtensionInfo* panelInfo = (KickerConfig::the()->extensionsInfo())[panelItem];
+
+ if (!panelInfo)
+ {
+ m_panelList->setCurrentItem(0);
+ panelInfo = (KickerConfig::the()->extensionsInfo())[panelItem];
+
+ if (!panelInfo)
+ {
+ return;
+ }
+ }
+
+ if (m_panelInfo)
+ {
+ storeInfo();
+ }
+
+ m_panelList->setCurrentItem(panelItem);
+
+ m_panelInfo = panelInfo;
+
+ if(m_panelInfo->_autohidePanel)
+ {
+ m_automatic->setChecked(true);
+ }
+ else if(m_panelInfo->_backgroundHide)
+ {
+ m_background->setChecked(true);
+ }
+ else
+ {
+ m_manual->setChecked(true);
+ }
+
+ m_delaySpinBox->setValue(m_panelInfo->_autoHideDelay);
+ m_autoHideSwitch->setChecked(m_panelInfo->_autoHideSwitch);
+
+ m_lHB->setChecked( m_panelInfo->_showLeftHB );
+ m_rHB->setChecked( m_panelInfo->_showRightHB );
+
+ m_animateHiding->setChecked(m_panelInfo->_hideAnim);
+ m_hideSlider->setValue(m_panelInfo->_hideAnimSpeed/10);
+
+ if (m_panelInfo->_unhideLocation > 0)
+ {
+ m_backgroundRaise->setChecked(true);
+ m_backgroundPos->setCurrentItem(triggerConfigToCombo(m_panelInfo->_unhideLocation));
+ }
+ else
+ {
+ m_backgroundRaise->setChecked(false);
+ }
+
+ panelPositionChanged(m_panelInfo->_position);
+
+ backgroundModeClicked();
+ blockSignals(false);
+}
+
+void HidingTab::save()
+{
+ storeInfo();
+ KickerConfig::the()->saveExtentionInfo();
+}
+
+void HidingTab::storeInfo()
+{
+ if (!m_panelInfo)
+ {
+ return;
+ }
+
+ m_panelInfo->_autohidePanel = m_automatic->isChecked();
+ m_panelInfo->_backgroundHide = m_background->isChecked();
+
+ m_panelInfo->_showLeftHB = m_lHB->isChecked();
+ m_panelInfo->_showRightHB = m_rHB->isChecked();
+ m_panelInfo->_hideAnim = m_animateHiding->isChecked();
+ m_panelInfo->_hideAnimSpeed = m_hideSlider->value() * 10;
+
+ m_panelInfo->_autoHideDelay = m_delaySpinBox->value();
+ m_panelInfo->_autoHideSwitch = m_autoHideSwitch->isChecked();
+
+ m_panelInfo->_unhideLocation = m_backgroundRaise->isChecked() ?
+ triggerComboToConfig(m_backgroundPos->currentItem()) : 0;
+}
+
+void HidingTab::defaults()
+{
+ m_manual->setChecked( true );
+ m_delaySpinBox->setValue( 3 );
+ m_autoHideSwitch->setChecked( false );
+ m_lHB->setChecked( false );
+ m_rHB->setChecked( true );
+ m_animateHiding->setChecked( true );
+ m_hideSlider->setValue( 10 );
+ m_delaySpinBox->setValue( 3 );
+ m_backgroundPos->setCurrentItem( triggerConfigToCombo( BottomLeft ) );
+ m_backgroundRaise->setChecked( false );
+}
+
+void HidingTab::panelPositionChanged(int position)
+{
+ if (position == PositionTab::PosTop ||
+ position == PositionTab::PosBottom)
+ {
+ m_lHB->setText(i18n("Show left panel-hiding bu&tton"));
+ m_rHB->setText(i18n("Show right panel-hiding bu&tton"));
+ }
+ else
+ {
+ m_lHB->setText(i18n("Show top panel-hiding bu&tton"));
+ m_rHB->setText(i18n("Show bottom panel-hiding bu&tton"));
+ }
+}
+
+int HidingTab::triggerComboToConfig(int trigger)
+{
+ if (trigger == 0)
+ return TopLeft;
+ else if (trigger == 1)
+ return Top;
+ else if (trigger == 2)
+ return TopRight;
+ else if (trigger == 3)
+ return Right;
+ else if (trigger == 4)
+ return BottomRight;
+ else if (trigger == 5)
+ return Bottom;
+ else if (trigger == 6)
+ return BottomLeft;
+ else if (trigger == 7)
+ return Left;
+
+ return 0;
+}
+
+int HidingTab::triggerConfigToCombo(int trigger)
+{
+ if (trigger == TopLeft)
+ return 0;
+ else if (trigger == Top)
+ return 1;
+ else if (trigger == TopRight)
+ return 2;
+ else if (trigger == Right)
+ return 3;
+ else if (trigger == BottomRight)
+ return 4;
+ else if (trigger == Bottom)
+ return 5;
+ else if (trigger == BottomLeft)
+ return 6;
+ else if (trigger == Left)
+ return 7;
+
+ return 0;
+}
+
+void HidingTab::backgroundModeClicked()
+{
+ m_backgroundPos->setEnabled((m_automatic->isChecked() ||
+ m_background->isChecked()) &&
+ m_backgroundRaise->isChecked());
+}
+
+void HidingTab::infoUpdated()
+{
+ switchPanel(0);
+}
diff --git a/kcontrol/kicker/hidingtab_impl.h b/kcontrol/kicker/hidingtab_impl.h
new file mode 100644
index 000000000..69e39dea0
--- /dev/null
+++ b/kcontrol/kicker/hidingtab_impl.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2000 Matthias Elter <elter@kde.org>
+ * Copyright (c) 2002 Aaron Seigo <aseigo@olympusproject.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 __hidingtab_impl_h__
+#define __hidingtab_impl_h__
+
+#include "hidingtab.h"
+
+class KickerConfig;
+class ExtensionInfo;
+
+class HidingTab : public HidingTabBase
+{
+ Q_OBJECT
+
+public:
+ HidingTab(QWidget *parent = 0, const char* name = 0);
+
+ void load();
+ void save();
+ void defaults();
+
+signals:
+ void changed();
+
+public slots:
+ void panelPositionChanged(int);
+
+protected slots:
+ void backgroundModeClicked();
+ void infoUpdated();
+ void storeInfo();
+ void extensionAdded(ExtensionInfo*);
+ void extensionRemoved(ExtensionInfo*);
+ void switchPanel(int);
+
+private:
+ enum Trigger { None = 0, Top, TopRight, Right, BottomRight, Bottom, BottomLeft, Left, TopLeft };
+
+ // these convert between the combobox and the config file for trigger
+ // this is why storing enums vs strings can be a BAD thing
+ int triggerComboToConfig(int trigger);
+ int triggerConfigToCombo(int trigger);
+
+ KickerConfig* m_kcm;
+ ExtensionInfo* m_panelInfo;
+};
+
+#endif
diff --git a/kcontrol/kicker/kicker_config.desktop b/kcontrol/kicker/kicker_config.desktop
new file mode 100644
index 000000000..85dab37e9
--- /dev/null
+++ b/kcontrol/kicker/kicker_config.desktop
@@ -0,0 +1,223 @@
+[Desktop Entry]
+Icon=kcmkicker
+Type=Application
+DocPath=kcontrol/panel/index.html
+Exec=kcmshell panel
+
+
+X-KDE-Library=kicker
+X-KDE-FactoryName=kicker
+X-KDE-ParentApp=kicker
+
+Name=Layout
+Name[af]=Uitleg
+Name[ar]=التصميم
+Name[az]=Düzülüş
+Name[be]=Расклад
+Name[bg]=Системен панел
+Name[bn]=বিন্যাস
+Name[br]=Doare
+Name[bs]=Izgled
+Name[ca]=Disposició
+Name[cs]=Rozvržení
+Name[csb]=Ùstôw
+Name[cy]=Cynllun
+Name[el]=Διάταξη
+Name[eo]=Aranĝo
+Name[es]=Disposición
+Name[et]=Paigutus
+Name[eu]=Diseinua
+Name[fa]=طرح‌بندی
+Name[fi]=Ulkonäkö
+Name[fr]=Disposition
+Name[fy]=Untwerp
+Name[ga]=Leagan Amach
+Name[gl]=Disposición
+Name[he]=סידור
+Name[hi]=ले-आउट
+Name[hr]=Raspored
+Name[hu]=Elrendezés
+Name[id]=Tata Letak
+Name[is]=Útlit
+Name[it]=Aspetto
+Name[ja]=配置
+Name[ka]=განლაგება
+Name[kk]=Орналасу
+Name[km]=ប្លង់
+Name[lo]=ລັອກເອົ້າ
+Name[lt]=Pavidalas
+Name[lv]=Izkārtojums
+Name[mk]=Распоред
+Name[ms]=Bentangan
+Name[mt]=Tqassim
+Name[nb]=Utseende
+Name[ne]=सजावट
+Name[nl]=Opmaak
+Name[nn]=Utsjånad
+Name[nso]=Peakanyo
+Name[pa]=ਖਾਕਾ
+Name[pl]=Układ
+Name[pt]=Disposição
+Name[ro]=Format
+Name[ru]=Расположение
+Name[rw]=Imboneko
+Name[se]=Ráhkadus
+Name[sk]=Rozloženie
+Name[sl]=Razpored
+Name[sr]=Изглед
+Name[sr@Latn]=Izgled
+Name[ta]=உருவரை
+Name[te]=కూర్పు
+Name[tg]=Тарҳбандӣ
+Name[th]=การจัดวาง
+Name[tr]=Düzen
+Name[tt]=Urnaşılu
+Name[uk]=Розкладка
+Name[uz]=Joylashishi
+Name[uz@cyrillic]=Жойлашиши
+Name[ven]=Tshivhumbeo
+Name[vi]=Xếp đặt
+Name[wa]=Adjinçmint
+Name[xh]=Ubeko
+Name[zh_CN]=布局
+Name[zh_TW]=配置
+Name[zu]=Isendlalelo
+
+Comment=You can configure the arrangement of the panel here
+Comment[af]=Jy kan die rangskikking van die paneel hier opstel
+Comment[ar]=يمكنك إعداد ترتيب اللوحة هنا
+Comment[az]=Panelin düzülüşünü buradan quraşdıra bilərsiniz
+Comment[be]=Тут вы можаце змяніць настаўленні раўнавання панэлі
+Comment[bg]=Настройване на системния панел
+Comment[bn]=আপনি এখানে প্যানেল-এর বিন্যাস কনফিগার করতে পারেন
+Comment[br]=Amañ e c'hellit kefluniañ doare ar banell
+Comment[bs]=Ovdje možete podesiti izgled panela
+Comment[ca]=Aquí podeu configurar l'arranjament del plafó
+Comment[cs]=Zde je možné nastavit uspořádání panelu
+Comment[csb]=Kònfigùracëjô pòłożeniô panelu
+Comment[cy]=Cewch ffurfweddu trefn y panel yma
+Comment[da]=Her kan du indstille panelets arrangement
+Comment[de]=Hier können Sie Einstellungen für die Kontrollleiste vornehmen
+Comment[el]=Εδώ μπορείτε να ρυθμίσετε τη διάταξη του πίνακα
+Comment[eo]=Ĉi tie vi povas agordi la aranĝon de la panelo
+Comment[es]=Configuración de la apariencia del panel
+Comment[et]=Siin saad seadistada paneeli paigutust
+Comment[eu]=Panelaren kokapena konfigura dezakezu hemen
+Comment[fa]=می‌توانید ترتیب تابلو را اینجا پیکربندی کنید
+Comment[fi]=Muokkaa paneelin asettelua ja sisältöä
+Comment[fr]=Configuration de l'apparence du tableau de bord
+Comment[fy]=Hjir kinne jo it ûntwerp fan it paniel ynstelle
+Comment[gl]=Pode configurar aqui a disposición do painel
+Comment[he]=שינוי הגדרות הסידור של הלוח
+Comment[hi]=फलक की व्यवस्था को आप यहाँ कॉन्फ़िगर कर सकते हैं
+Comment[hr]=Konfiguriranje rasporeda ploče
+Comment[hu]=Itt lehet beállítani a panel elrendezését
+Comment[is]=Stilla viðmót spjaldsins
+Comment[it]=Configura la disposizione del pannello
+Comment[ja]=ここでパネルの配置を設定します
+Comment[ka]=აქ შეგიძლიათ პანელის თანმიმდევრულობის კონფიგურაცია
+Comment[kk]=Панельді орналастыру
+Comment[km]=នៅ​ទីនេះ អ្នក​អាច​កំណត់​រចនាសម្ព័ន្ធ​ការ​រៀបចំ​បន្ទះ
+Comment[ko]=데스크톱의 행동 설정
+Comment[lo]=ທ່ານສາມາດປັບແຕ່ງລັກສະນະ ທີ່ປະກົດຂອງພາແນວໄດ້ທີ່ນີ້
+Comment[lt]=Čia galite konfigūruoti pulto pavidalą
+Comment[lv]=Šeit jūs varat konfigurēt paneļa izkārtojumu
+Comment[mk]=Тука може да го конфигурирате распоредот на панелот
+Comment[mn]=Энд та удирдах самбар тохируулж болно
+Comment[ms]=Anda boleh konfigur susunan panel di sini
+Comment[mt]=Tista' tbiddel it-tqassim tal-pannell hawnhekk
+Comment[nb]=Her kan du sette opp hvordan panelet skal se ut
+Comment[nds]=Hier kannst Du de Anornen vun't Paneel instellen
+Comment[ne]=तपाईँले यहाँ प्यानलको मिलान कन्फिगर गर्न सक्नुहुन्छ
+Comment[nl]=U kunt hier de opmaak van het paneel instellen
+Comment[nn]=Her kan du setja opp utsjånaden til panelet
+Comment[nso]=Oka beakanya kgobokanyo ya panel mo
+Comment[pa]=ਤੁਸੀਂ ਪੈਨਲ ਦੇ ਢਾਂਚੇ ਦੀ ਸੰਰਚਨਾ ਇੱਥੇ ਕਰ ਸਕਦੇ ਹੋ
+Comment[pl]=Konfiguracja położenia panelu
+Comment[pt]=Pode configurar o posicionamento do painel aqui
+Comment[pt_BR]=Você pode configurar a disposição do painel aqui
+Comment[ro]=Aici puteți configura modul de aranjare al panoului KDE
+Comment[ru]=Настройка выравнивания панели
+Comment[rw]=Ushobora kuboneza itunganya ry'umwanya hano
+Comment[se]=Dáppe sáhtát heivehit panela ráhkadusa
+Comment[sk]=Nastavenie vzhľadu panelu
+Comment[sl]=Tu lahko nastavite razpored pulta
+Comment[sr]=Овде можете подесити распоред панела
+Comment[sr@Latn]=Ovde možete podesiti raspored panela
+Comment[sv]=Du kan anpassa panelens utseende här
+Comment[ta]=பலகத்தின் தோற்றத்தை இங்கே அமைக்க முடியும்
+Comment[tg]= Дар инҷо шумо метавонед тоҳири сафҳотро танзим кунед
+Comment[th]=คุณสามารถปรับแต่งการจัดวางถาดพาเนลได้ที่นี่
+Comment[tr]=Panelin görünümünü buradan yapılandırabilirsiniz
+Comment[tt]=Taqta urnaşıluın köyläw urını
+Comment[uk]=Тут можна налаштувати вигляд панелі
+Comment[uz]=Bu yerda panelning tartibini moslashingiz mumkin
+Comment[uz@cyrillic]=Бу ерда панелнинг тартибини мослашингиз мумкин
+Comment[ven]=Ninga dzudzanya mavhekanyele a phanele hafhano
+Comment[vi]=Bạn có thể cấu hình sự sắp xếp các bảng điều khiển ở đây
+Comment[wa]=Vos ploz apontyî chal l' arindjimint do scriftôr
+Comment[xh]=Uyakwazi ukuqwalasela apha i window yenkcukacha
+Comment[zh_CN]=您可以在这里配置面板的排列
+Comment[zh_TW]=您可以在此設定面板的外觀
+Comment[zu]=Ungahlanganisela ukuhlelwa kwewindi lemininingwane lapha
+
+Keywords=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[be]=Панэль,Панэль заданняў,Панэль стартавання,Размяшчэнне,Пазіцыя,Памер,Аўтаматычна хаваць,Хаваць,Кнопкі,Анімацыя,Фон,Тэмы,Кэш меню,Кэш,Схаваная,Схаваць,Меню KDE,Закладкі,Ранейшыя,Нядаўнія,Дакументы,Хуткі прагляд,Меню вандроўніка,Меню вандравання,Меню,Значкі,Аплеты,Запуск,Падсвятленне,Апрацоўка,Апрацоўшчык,Маштабаванне значак,kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[bg]=системен, панел, подредба, подравняване, kicker, panel, kpanel, taskbar, startbar, launchbar, location, size, auto hide, hide, buttons, animation, background, themes, menu cache, cache, hidden, K-Menu, bookmarks, recent documents, quickbrowser, browser menu, menu, icons, tiles, applets, startup, highlight, handles, zooming icons
+Keywords[bs]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,veličina,automatsko sakrivanje,sakrivanje,dugmad,animacija,pozadina,teme,keš menija,meni,keš,skriven,zabilješke,skorašnji dokumenti,meni browsera,meni preglednika,ikone,appleti,pokretanje,uvećavanje
+Keywords[ca]=kicker,plafó,kpanel,barra de tasques,barra d'inici,barra de llançament,localització,mida,auto oculta,oculta,botons,animació,temes,fons,cau del menú,cau,ocult,Menú K,punts,documents recents,navegació ràpida,menú de navegació,menú,icones,mosaics,aplets,arrencada,ressaltat,nanses,ampliar les icones
+Keywords[cs]=kicker,panel,kpanel,pruh úloh,lišta úloh,umístění, velikost,skrývání,automatické skrývání,tlačítka,animace,pozadí, motivy,nabídka,menu,záložky,nedávné dokumenty,rychlé prohlížení, ikony,dlaždice,applety,spuštění,zvýraznění,úchytky,zvětšování ikon
+Keywords[csb]=kicker,panel,kpanel,lëstëw zadaniów,sztartowô lëstëw,lëstëw zrëszaniô,pòłożenié,miara,aùtomatno tacënié,tacë,knąpë,animacëjô,spódk,spòdlé,témë,cache menu,cache,zatacony,K-Menu,załóżczi,slédny dokùmentë,chùtczé przezéranié,menu,ikònë,kafelkòwané,programiczi,zrëszanié,pòdskrzënianié,ùchwëtë,zwikszanié ikònów
+Keywords[cy]=ciciwr,kicker,panel,kpanel,bar tasgau,bar cychwyn,bar lansio,lleoliad,maint,awto-guddio,hunan-guddio,cuddio,botymau,animeiddiad,cefndir,themâu,storfa dewislen, storfa,cache,celc,cudd,K-Menu,nodau tudalen,dogfenni diweddar,porydd cyflym,dewislen porydd,dewislen,eiconau,teiliau,rhaglenigion,ymcychwyn,amlygu,carnau,eiconau chwyddo
+Keywords[da]=kicker,panel,kpanel,opgavelinje,startlinje,sted,størrelse,autogem,gem,knapper,animering,baggrund,temaer,menucache,cache,skjult,K-Menu,bogmærker,nylige dokumenter,hurtigsøger,søgemenu,menu,ikoner,fliser,panelprogrammer,opstart,markér,håndterer,ikoner
+Keywords[de]=Kicker,Panel,Taskbar,Kontrollleiste,Startleiste,Klickstartleiste,Fensterleiste,Autom. ausblenden,Ausblenden, Knöpfe,Animation,Hintergründe,Stile,Design,Themes,Menü-Zwischenspeicher, K-Menü,Zwischenspeicher,Lesezeichen,Zuletzt geöffnete Dateien, Schnellanzeiger,Menüs,Symbole,Icons,Kacheln,Applets,Miniprogramme, Java-Miniprogramme,Hervorhebung,Anfasser,Sicherheitsstufen,Zoom für Symbole
+Keywords[el]=kicker,πίνακας,kpanel,γραμμή εργασιών,γραμμή έναρξης,γραμμή εκκίνησης,τοποθεσία,μέγεθος,αυτόματη απόκρυψη,απόκρυψη,κουμπιά,εφέ κίνησης,φόντο,θέματα,λανθάνουσα μνήμη μενού,λανθάνουσα μνήμη,κρυφό, K-Μενού,σελιδοδείκτες,πρόσφατα έγγραφα,γρήγορος εξερευνητής,μενού εξερευνητή,μενού,εικονίδια,tiles,μικροεφαρμογές,έναρξη,τονισμός,χειριστήρια, μεγέθυνση εικονιδίων
+Keywords[eo]=lanĉilo,panelo,tasklistelo,situo,grandeco,aŭtokaŝo,kaŝo,butono,fono,etoso,menubufro,K-Menuo,legosigno,lasta dokumento,rapidrigardilo,rigardmenuo,piktogramo,kahelo,aplikaĵo,lanĉo,emfazo,teniloj,pligrandigo,fidindaj aplikaĵetoj,sekurecnivelo
+Keywords[es]=kicker,panel,kpanel,barra de tareas,barra de inicio,barra de lanzamiento,dirección,tamaño,auto ocultar,ocultar,botones,animación,fondo,temas,caché de menú,caché,oculto,Menú K,marcadores,documentos recientes,navegador rápido,menú navegador,menú,iconos,mosaicos,miniaplicaciones,arranque,resaltado,asas,iconos ampliados
+Keywords[et]=kicker,paneel,kpanel,tegumiriba,käivitusriba,asukoht,suurus,terminal,automaatne peitmine,peitmine,nupud,animatsioon,taust,teemad,menüü vahemälu,vahemälu,peidetud,K-menüü,järjehoidjad,viimati kasutatud dokumendid, kiirbrauser,lehitsemise menüü,menüü,ikoonid,apletid,käivitamine,esiletõstmine,piirded,ikoonide suurendamine,usaldusväärsed apletid,turvatase
+Keywords[eu]=kicker,panela,kpanela,ataza-barra,hasiera-barra,abiarazte-barra,kokapena, neurria,auto ezkutatu,ezkutatu,botoiak,animazioa,atzeko planoa, gaiak,menu-katxea,katxea,ezkutatu,K-menua,laster-markak,oraintsuko dokumentuak, arakatzaile bizkorra,arakatzaile menua,menua,ikonoak,baldosak,appletak,abiatu,nabarmendu,heldulekuak,zooming icons
+Keywords[fa]=kicker، تابلو، kpanel، میله‌ تکلیف، میله آغاز، میله راه‌انداز، محل، اندازه، مخفی کردن خودکار، مخفی کردن، دکمه‌ها، پویانمایی، زمینه، چهره‌ها، نهانگاه گزینگان، نهانگاه، مخفی، گزینگان K، چوب ‌الفها، سندهای اخیر، مرورگر سریع، گزینگان، مرورگر، شمایلها، کاشیها، برنامکها، راه‌اندازی، مشخص، گرداننده‌ها، بزرگ‌نمایی شمایلها
+Keywords[fi]=kicker,paneeli,kpanel,tehtäväpalkki,käynnistyspalkki,paikka,koko,automaattipiilotus,piilotus,napit,animaatio,tausta,teemat,valikkovälimuisti,välimuisti,K-valikko,kirjanmerkit,viimeaikaiset asiakirjat,pikaselain,selausvalikko,valikko,kuvakkeet,sovelmat,käynnistys,korostus,kahvat,kuvakkeiden suurennus
+Keywords[fr]=kicker,tableau de bord,barre du bas,barre des tâches,barre de démarrage,barre de lancement,emplacement,taille,auto-masquage,cacher,masquer,boutons,animation,fond,arrière-plan,thème,cache de menu,cache,caché,menu K,K,signets,documents récents,document récent,navigateur rapide,navigateur,menu,icône,mosaïque,applet,démarrage,surbrillance,poignée,poignées,zoom,zoom sur les icônes
+Keywords[fy]=kicker,paniel,kpanel,taakbalke,takebalke,Startbalke,startmenu,applikaasje begjinner,lokaasje,ôfmjiting,terminaltapassing,auto hide,automatysk ferstopje,ferstopje,Ynklappe,knoppen,animaasje,eftergrûn,tema's,menu lyts ûnthâld,lyts ûnthâld,ferstoppe,K-Menu,bookmarks,blêdwizers,resinte dokuminten,quickbrowser,browser menu,menu,icons,ikoan,ikoanen,tegels,tiles,applets,begjinne,opljochtsje,handles,zoomen,knoppen,hanfetten,betroubere applets,feiligens nivo
+Keywords[gl]=kicker,painel,kpanel,barra de tarefas,barra de comezo,barra de lanzamento,localización,tamaño,auto agochamento,agochamento,botóns,animación,fondo,temas,cache de menú,caché,oculto,Menú K,marcadores,derradeiros documentos,navegador rápido,menú de navegación,menú,iconas,apliques,início,resaltado,xestión,aumento de iconas
+Keywords[he]=kicker, לוח, kpanel, שורת משימות, שורת הרצה, מיקום, גודל, הסתרה אוטומטית, הסתר, אנימציה, רקע, ערכות, תפריט, מטמון, מוסתר, תפריט K, מועדפים, מסמכים אחרונים, דפדוף מהיר, תפריט, סימנים, סמלים, כותרות, יישומונים, אתחול, הדגשה, ידיות, הגדלת סמלים, taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons, panel
+Keywords[hi]=किकर,फलक,के-पेनल,कार्यपट्टी,प्रारंभपट्टी,चालकपट्टी,स्थान,आकार,स्वतः छुपें,छुपें,बटन्स,एनिमेशन,पृष्ठभूमि,प्रसंग,मेनू कैश,कैश,छुपा,के-मेन्यू,पसंद,हाल ही के दस्तावेज़,क्विक-ब्राउज़र,ब्राउज़र मेन्यू,मेन्यू,प्रतीक,टाइल्स,ऐप्लेट्स,स्टार्टअप,उभारना,हैंडल्स,जूमिंग प्रतीक
+Keywords[hr]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,ploča,traka zadataka,traka pokretanja,lokacija,veličina,automatsko skrivanje,skrivanje,gumbi,animacija,pozadina,teme,pohrana izbornika,pohrana,skriven,oznake,nedavni dokumenti,brzi preglednik,izbornik preglednika,izbornik,ikone,popločeno,apleti,naglašavanje,rukovanje,uvećane ikone
+Keywords[hu]=Kicker,panel,kpanel,feladatlista,start menü,indítómenü,indítósáv,hely,méret,automatikus elrejtés,elrejtés,gombok,animáció,háttér,témák,menügyorstár,gyorstár,rejtett,K menü,könyvjelzők,legutóbbi dokumentumok,gyorsböngésző,böngészőmenü,menü,ikonok,mozaikszerű,kisalkalmazások,indulás,kiemelés,fogantyúk,nagyítóikonok
+Keywords[is]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,trusted applets,security level
+Keywords[it]=kicker,pannello,kpanel,barra delle applicazioni,taskbar,startbar,launchbar,barra di avvio,posizione,dimensione,scomparsa automatica,pulsanti,animazione,sfondo,temi,cache dei menu,nascosto,Menu K,segnalibri,documenti recenti,browser veloce,menu,icone,piastrelle,applet,avvio,evidenziazione,maniglie,ingrandimento icone
+Keywords[ja]=kicker,パネル,kpanel,タスクバー,スタートバー,ラウンチバー,場所,サイズ,自動的に隠す,隠す,ボタン,アニメーション,背景,テーマ,メニューキャッシュ,キャッシュ,隠れた,Kメニュー,ブックマーク,最近のドキュメント,クイックブラウザ,ブラウザメニュー,メニュー,アイコン,タイル,アプレット,スタートアップ,ハイライト,ハンドル,アイコンのズーム
+Keywords[km]=kicker,បន្ទះ,kpanel,របារ​ភារកិច្ច,របារ​បើក​ដំណើរការ,ទីតាំង,ទំហំ,លាក់​ស្វ័យប្រវត្តិ,លាក់,ប៊ូតុង,ចលនា,ផ្ទៃ​ខាង​ក្រោយ,ស្បែក,ឃ្លាំង​សម្ងាត់​ម៉ឺនុយ,ឃ្លាំង​សម្ងាត់,លាក់,ម៉ឺនុយ K,កន្លែង​ចំណាំ,ឯកសារ​ថ្មីៗ​នេះ,កម្មវិធី​រុករក​រហ័ស,ម៉ឺនុយ​កម្មវិធី​រុករក,ម៉ឺនុយ,រូបតំណាង,ក្បឿង,អាប់ភ្លេត,ចាប់ផ្ដើម,បន្លិច,ប្រើ,រូបតំណាង​ពង្រីក
+Keywords[lt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,skydelis,kskydelis,užduočių juosta,paleidimo juosta,slėpti,mygtukai,animacija,fonas,temos,meniu atmintinė,atmintinė,paslėptas,žymelės,neseniai naudoti dokumentai,peržiūra,meniu,ženkliukai,perdengti,įskiepiai,paleistis,pažymėti,rankenėlės,išdidinti ženkliukus
+Keywords[lv]=kicker,panelis,kpanel,uzdevumjosla,startbar,launchbar,location,size,izmērs,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,grāmatzīmes,recent documents,quickbrowser,browser menu,izvēlne,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[mk]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,панел,лента со програми,локација,големина,авто криење,криење,копчиња,анимација,подлога,позадина,теми,кеш на менито,кеш,скриен,K-Мени,обележувачи, последни документи,брз прелистувач,мени за прелистувачи,мени,икони,плочки,аплети,рачки,зумирање на икони
+Keywords[mt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,favoriti,pannell,post,daqs,lokazzjoni,ħabi,animazzjoni,buttuni
+Keywords[nb]=kicker,panel,kpanel,oppgavelinje,startlinje,plassering,størrelse, autoskjul,skjul,knapper,animasjon,bakgrunn,temaer,mellomlager for temaer, mellomlager,skjult,K-meny,bokmerker,nylig brukte dokumenter,hurtigviser, katalogmeny,meny,ikoner,fliser,miniprogrammer,panelprogrammer,oppstart, uthev,håndtak,forstørring av ikoner
+Keywords[nds]=Kicker,Paneel,kpanel,Taskbalken,Programmbalken,Startbalken,Adress,Grött,automaatsch versteken,versteken,Knööp,Knoop,Knööp,Animatschoon,Achtergrund,Muster,Menü-Twischenspieker,Twischenspieker,versteken,K-Menü,Leesteken,leste Dokmenten,Fixkieker,Nettkieker-Menü,Menü,Lüttbiller,Titel,Programmen,starten,markeren,handles,Grepen,Lüttbiller grötter maken
+Keywords[ne]=किकर, प्यानल, के प्यानल, कार्यपट्टी, सुरुपट्टी, सुरुआतपट्टी, स्थान, आकार, स्वत: लुकाउने, लुकाउनुहोस्, बटनहरू, एनिमेसन, पृष्ठभूमि, विषयवस्तुहरू, मेनु क्यास, क्यास, लुकेको, के-मेनु, पुस्तकचिनोहरू, हालको कागजातहरू, छिटो ब्राउजर, ब्राउजर मेनु, मेनु, प्रतिमा, टायलहरू, एप्लेटहरू, सुरु, हाइलाइट, ह्यान्डल गर्दछ, जुम प्रतिमा
+Keywords[nl]=kicker,paneel,kpanel,taakbalk,takenbalk,startbalk,startmenu,applicatie starter,locatie,afmeting,terminaltoepassing,auto hide,automatisch verbergen,verbergen,invouwen,knoppen,animatie,achtergrond,thema's,menu cache,cache,verborgen,K-Menu,bookmarks,bladwijzers,recente documenten,quickbrowser,browser menu,menu,icons,icoon,iconen,pictogrammen,tegels,tiles,applets,opstarten,highlight,accentuering,handles,zoomen,knoppen,handvatten,betrouwbare applets,security level,beveiligingsniveau
+Keywords[nn]=Kicker,panel,KPanel,oppgåvelinje,oppstartslinje,plassering,storleik,autogøym,gøym,knappar,animasjon,bakgrunn,tema,menymellomlager,mellomlager,gøymd,K-meny,bokmerke,nyleg bruka dokument,snøgglesar,katalogmeny,meny,ikon,brikker,applet,panelprogram,oppstart,merking,handtak,forstørring av ikon
+Keywords[pa]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons, ਪੈਨਲ, ਟਿਕਾਣਾ, ਬਰਾਊਜ਼ਰ, ਝਲਾਕਰਾ, ਕੈਂਚੇ, ਕੇ-ਮੇਨੂ, ਬੁੱਕਮਾਰਕ, ਤਾਜ਼ਾ, ਉਘੜੇ, ਹੈਂਡਲ, ਬਟਨ, ਸਰੂਪ, ਮੇਨੂ, ਓਹਲੇ, ਅਕਾਰ
+Keywords[pl]=kicker,panel,kpanel,pasek zadań,pasek startu,pasek uruchamiania,położenie,rozmiar,automatyczne ukrywanie,ukryj,przyciski,animacja,tło,motywy,bufor (cache) menu,bufor,cache,ukryty,K-Menu,zakładki,ostatnie dokumenty,szybkie przeglądanie,menu,ikony,kafelkowane,programiki,uruchomienie,podświetlanie,uchwyty,powiększanie ikon
+Keywords[pt]=kicker,painel,kpanel,barra de tarefas,barra de início,barra de lançamento,localização,tamanho,auto-esconder,esconder,botões,animação,fundo,temas,'cache' de menu,'cache',escondido,menu K,favoritos,documentos recentes,navegador rápido,menu de navegação,menu,ícones,mosaicos,'applets',inicio,realce,pegas,ícones aumentados
+Keywords[pt_BR]=kicker,painel,kpanel,barra de tarefas,lançar aplicativos,localização,tamanho,auto-ocultar,esconder,botões, animação,fundo,temas,cache de menu,cache,escondido,Menu K,favoritos,documentos recentes,navegador rápido, menu do navegador,menu,ícones,títulos,mini-aplicativos,iniciar,realçar, manipuladores, ícones de ampliação
+Keywords[ro]=kicker,panou,kpanel,bară de procese,bară de start,pornire,lansare,mărime,locație,ascundere automată,butoane,animație,fundal,tematică,meniu K,semne de carte,documente recente,navigator rapid,meniu navigare,meniu,iconițe,mozaic,miniaplicații,evidențiere,scalare
+Keywords[rw]=igitera,umwanya,k-umwanya,umurongogutangira,umurongogutangiza,indangahantu,ingano,kwihisha,guhisha,buto,iyega,mbuganyuma,insanganyamatsiko,ubwihisho bw'ibikubiyemo,ubwihisho,bihishe,K-Ibikubiyemo,utumenyetso,inyandiko zigezweho,mucukumbuzi yihuta,ibikubiyemo bya mucukumbuzi,ibikubiyemo,udushushondanga,udukaro,apuleti,gutangira,gushimangira,ibifashi,udushushondanga guhindura-ingano
+Keywords[se]=kicker,panela,kpanel,bargoholga,álggahanholga,báiki,sturrodat,autočiega,čiehkadit,boalut,animašuvdna,duogáš,fáddá,fálločiehkárájus,čiehkárájus,K-fállu,girjemearkkat,aiddo geavahuvvon dokumeantta,ohcofállu,fállu,govažat,prográmmažat,álggaheapmi,merken,geavjjat,luohttehahtti prográmmažat,sihkkarvuohtadássi
+Keywords[sk]=kicker,panel,kpanel,taskbar,startbar,launchbar,miesto,umiestnenie,veľkosť,terminálová aplikácia,skrývanie,automatické skrývanie,tlačidlá,animácia,pozadie,témy,cache,cache ponuky,skryté,K-Menu,záložky,posledné dokumenty,rýchly prehliadač,ponuka prehliadača,menu,ikony,applety,štart,zvýraznenie,handles,zväčšovanie ikon,overené applety,úroveň zabezpečenia
+Keywords[sl]=kicker,pult,kpanel,opravilna vrstica,zagonska vrstica,mesto,lokacija,velikost,terminalski program,skrij,samodejno skrivanje,skrivanje,gumbi,animacija,ozadje,teme,menijski predpomnilnik,predpomnilnik,skrit,K-Menu,zaznamki,nedavni dokumenti,hitro brskanje,brskalni meni,meni,tlakovci,ikone,vstavki,zagon,osvetlitev,ročice,ikone za povečavo
+Keywords[sr]=kicker,панел,kpanel,трака задатака,startbar,launchbar,локација,величина,Терминалски програм,аутоматско сакривање,сакривање,дугмићи,анимација,позадина,теме,мени кеш,кеш,скривен,K-Menu,маркери,скори документи,брзи прегледач,мени прегледача,мени,иконе,блокови,апплети,startup,истицање,хватаљке,увеличавање икона,аплети којима се верује,ниво безбедности
+Keywords[sr@Latn]=kicker,panel,kpanel,traka zadataka,startbar,launchbar,lokacija,veličina,Terminalski program,automatsko sakrivanje,sakrivanje,dugmići,animacija,pozadina,teme,meni keš,keš,skriven,K-Menu,markeri,skori dokumenti,brzi pregledač,meni pregledača,meni,ikone,blokovi,appleti,startup,isticanje,hvataljke,uveličavanje ikona,apleti kojima se veruje,nivo bezbednosti
+Keywords[sv]=kicker,panel,k-panel,aktivitetsfält,startfält,körningsfält,plats,storlek,dölj automatiskt,dölj,göm,knappar,animering,bakgrund,teman,menycache,cache,gömd,dold,K-meny,bokmärken,senaste dokument,snabbläddrare,bläddringsmeny,meny,ikoner,miniprogram,start,framhäv,grepp,zoomikoner
+Keywords[ta]=கிக்கர், பானல், கேபானல்,துவக்கப்பட்டி, துவங்கும்பட்டி,இடம்,அளவு, சத்தம் மறை, மறை,பட்டன், உயிர்சித்திரம்,பின்னனி,கருப்பொருள், தற்காலிக மெனு, மறைந்த,கே-மெனு,புத்தககுறிகள், தற்போதைய ஆவணம். வேக உலாவி, உலாவி மெனு, மெனு, சின்னம், சிறுநிரல், துவக்கம், கையாள், பெரிதாக்கும் சின்னங்கள்
+Keywords[th]=kicker,พาเนล,kpanel,taskbar,startbar,แถบเรียกโปรแกรม,ที่ตั้ง,ขนาด,ซ่อนอัตโนมัติ ,ซ่อน,ปุ่ม,อนิเมชั่น,พื้นหลัง,ชุดตกแต่ง,แคชของเมนู,แคช,ถูกซ่อน,K-Menu,ที่คั่นหน้า,เอกสารที่เพิ่งเปิดไป,quickbrowser,เมนูของบราวเซอร์,เมนู,ไอคอน,พื้นผิว,applets,startup,highlight,handles,ซูมไอคอน
+Keywords[tr]=kicker,panel,kpanel,görev çubuğu,başlangıç çubuğu,başlat çubuğu,konum,boyut,Uç birim uygulaması,otomatik gizle,gizle,tuşlar,animasyon,artalan,temalar,menü ön belleği,ön bellek,gizli,K-Menu,yer imleri,en son kullanılan belgeler,hızlı gözatıcı,göz atıcı menüsü,menü,simgeler,karo,programcıklar,Başlangıç,belirt,tutamaçlar,büyüyen simgeler,güvenilen programcıklar,güvenlik düzeyi
+Keywords[tt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser saylaq,saylaq,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[uk]=kicker,панель,смужка задач,kpanel,смужка запуску,розташування,розмір,консольна програма,автоматичне згортання,згортання,кнопки,анімація,тло,теми,кеш меню,кеш,схований,К-Меню,закладки,недавні документи,швидка навігація,меню навігатора,меню,піктограми,заголовки,аплети,запуск,підсвічування,маніпулятор,масштабування піктограм
+Keywords[uz]=panel,vazifalar paneli,bekitish,avto-bekitish,tugmalar,animatsiya,orqa fon,mavzular,K-menyu,kesh,yashirilgan,xatchoʻplar,yaqinda ochilgan hujjatlar,tez koʻruvchi,brauzer menyusi,menyuning keshi,menyu,nishonchalar,appletlar,nishonchalarni kattalashtirish,oʻlcham,kicker,kpanel,startbar,launchbar,joylashishi,tiles,startup,highlight,handles
+Keywords[uz@cyrillic]=панел,вазифалар панели,бекитиш,авто-бекитиш,тугмалар,анимация,орқа фон,мавзулар,К-меню,кэш,яширилган,хатчўплар,яқинда очилган ҳужжатлар,тез кўрувчи,браузер менюси,менюнинг кэши,меню,нишончалар,апплетлар,нишончаларни катталаштириш,ўлчам,kicker,kpanel,startbar,launchbar,жойлашиши,tiles,startup,highlight,handles
+Keywords[vi]=kích hoạt,bảng điều khiển,kpanel,thanh tác vụ,thanh khởi động,thanh phóng,vị trí,kích cỡ,tự ẩn,ẩn,nút,hoạt hình,mảnh nền,sắc thái,thực đơn đệm,đệm,giấu,Thực đơn K,số lưu liên kết,tài liệu gần đây,duyệt nhanh,thực đơn duyệt,thực đơn,biểu tượng,tiêu đề,tiểu ứng dụng,khởi động,nổi bật,cầm nắm,biểu tượng phóng đại,ứng dụng đáng tin,mức độ an ninh
+Keywords[wa]=kicker,panel,sicriftôr,scriftôr,kpanel,taskbar,bår des bouyes,startbar,launchbar,bår d' enondaedje,plaece,grandeu,catche tot seu,catchî,botons,animåvion,fond,tinmes,muchete menu,muchete,K-Menu,rimåkes,documints nén vî,betchteu rade,dresseŷe do betchteu,dressêye,menu,imådjetes,applets,apliketes,enonde tot seu,highlight,handles,zooming icons,zoumer les imådjetes
+Keywords[zh_CN]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons面板,任务栏,启动栏,位置,大小,自动隐藏,隐藏,按钮,动画,背景,主题,菜单缓存,缓存,书签,最近文档,快速浏览器,浏览器菜单,菜单,图标,平铺,启动,突出,句柄,缩放图标
+Keywords[zh_TW]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,面板,工作列,啟動列,快捷列,位置,大小,自動隱藏,隱藏,按鈕,動畫,背景,佈景主題,選單快取,快取,隱藏,K-選單,書籤,最近開啟的文件,快速瀏覽,瀏覽選單,選單,圖示,小圖塊,應用程式,啟動,高亮度,處理,縮放圖示
diff --git a/kcontrol/kicker/kicker_config_appearance.desktop b/kcontrol/kicker/kicker_config_appearance.desktop
new file mode 100644
index 000000000..fd35460a1
--- /dev/null
+++ b/kcontrol/kicker/kicker_config_appearance.desktop
@@ -0,0 +1,229 @@
+[Desktop Entry]
+Icon=kcmkicker
+Type=Application
+DocPath=kcontrol/panel/index.html#panel-looknfeel
+Exec=kcmshell kicker_appearance
+
+
+X-KDE-Library=kicker
+X-KDE-FactoryName=kicker_appearance
+X-KDE-ParentApp=kicker
+
+Name=Appearance
+Name[af]=Voorkoms
+Name[ar]=المظهر
+Name[az]=Görünüş
+Name[be]=Вонкавы выгляд
+Name[bg]=Системен панел
+Name[bn]=চেহারা
+Name[br]=Neuziadur
+Name[bs]=Izgled
+Name[ca]=Aparença
+Name[cs]=Vzhled
+Name[csb]=Wëzdrzatk
+Name[cy]=Golwg
+Name[da]=Udseende
+Name[de]=Erscheinungsbild
+Name[el]=Εμφάνιση
+Name[eo]=Aspekto
+Name[es]=Aspecto
+Name[et]=Välimus
+Name[eu]=Itxura
+Name[fa]=ظاهر
+Name[fi]=Ulkonäkö
+Name[fr]=Apparence
+Name[fy]=Uterlik
+Name[ga]=Cuma
+Name[gl]=Apariencia
+Name[he]=מראה
+Name[hi]=शक्ल-सूरत
+Name[hr]=Izgled
+Name[hu]=Megjelenés
+Name[id]=Penampilan
+Name[is]=Útlit
+Name[it]=Aspetto
+Name[ja]=外観
+Name[ka]=გარეგნობა
+Name[kk]=Көрініс
+Name[km]=រូបរាង
+Name[ko]=모양
+Name[lo]=ການປະກົດ
+Name[lt]=Išvaizda
+Name[lv]=Izskats
+Name[mk]=Изглед
+Name[mn]=Харагдалт
+Name[ms]=Rupa
+Name[mt]=Apparenza
+Name[nb]=Utseende
+Name[nds]=Utsehn
+Name[ne]=दृश्य
+Name[nl]=Uiterlijk
+Name[nn]=Utsjånad
+Name[nso]=Ponagalo
+Name[pa]=ਦਿੱਖ
+Name[pl]=Wygląd
+Name[pt]=Aparência
+Name[pt_BR]=Aparência
+Name[ro]=Aspect
+Name[ru]=Внешний вид
+Name[rw]=Imigaragarire
+Name[se]=Fárda
+Name[sk]=Vzhľad
+Name[sl]=Videz
+Name[sr]=Изглед
+Name[sr@Latn]=Izgled
+Name[sv]=Utseende
+Name[ta]=தோற்றம்
+Name[tg]=Намуди зоҳирӣ
+Name[th]=ลักษณะที่ปรากฎ
+Name[tr]=Görünüm
+Name[tt]=Küreneş
+Name[uk]=Вигляд
+Name[uz]=Tashqi koʻrinish
+Name[uz@cyrillic]=Ташқи кўриниш
+Name[ven]=Mbonalelo
+Name[vi]=Diện mạo
+Name[wa]=Rivnance
+Name[xh]=Inkangeleko
+Name[zh_CN]=外观
+Name[zh_TW]=外觀
+Name[zu]=Ukubukeka
+Comment=You can configure the appearance of the panel here
+Comment[af]=Jy kan die voorkoms van die paneel hier opstel
+Comment[ar]=تستطيع تغيير اعدادات لوحة المهام هنا
+Comment[az]=Panelin görünüşünü buradan quraşdıra bilərsiniz
+Comment[be]=Тут вы можаце змяніць вонкавы выгляд панэлі
+Comment[bg]=Настройване на системния панел
+Comment[bn]=আপনি এখানে প্যানেল-এর চেহারা কনফিগার করতে পারেন
+Comment[br]=Amañ e c'hellit kefluniañ neuziadur ar banell
+Comment[bs]=Ovdje možete podesiti izgled panela
+Comment[ca]=Aquí podeu configurar l'aspecte del plafó
+Comment[cs]=Zde je možné nastavit vzhled panelu
+Comment[csb]=Kònfigùracëjô wëzdrzatkù panelu
+Comment[cy]=Cewch ffurfweddu golwg y panel yma
+Comment[da]=Her kan du indstille panelets udseende
+Comment[de]=Hier können Sie das Erscheinungsbild der Kontrollleiste festlegen
+Comment[el]=Εδώ μπορείτε να ρυθμίσετε την εμφάνιση του πίνακα
+Comment[eo]=Agordo de la panela aspekto
+Comment[es]=Configuración de la apariencia del panel
+Comment[et]=Paneeli välimuse seadistamine
+Comment[eu]=Panelaren itxura konfigura dezakezu hemen
+Comment[fa]=می‌توانید ظاهر تابلو را اینجا پیکربندی کنید
+Comment[fi]=Muokkaa paneelin ulkonäköä
+Comment[fr]=Configuration de l'apparence du tableau de bord
+Comment[fy]=Hjir kinne jo it uterlik fan it paniel ynstelle
+Comment[gl]=Pode configurar aquí a apariencia do panel
+Comment[he]=שינוי הגדרות המראה של הלוח
+Comment[hi]=फलक के शक्ल-सूरत को आप यहाँ कॉन्फ़िगर कर सकते हैं
+Comment[hr]=Konfiguriranje izgleda ploče
+Comment[hu]=Itt lehet beállítani a panel tulajdonságait
+Comment[id]=Anda dapat konfigurasi tampilan panel disini
+Comment[is]=Stilla viðmót spjaldsins
+Comment[it]=Configura l'aspetto del pannello
+Comment[ja]=ここでパネルの外観を設定します
+Comment[ka]=აქ შეგიძლიათ პანელის გარეგნობის კონფიგურაცია
+Comment[kk]=Панельдің көрінісін баптау
+Comment[km]=នៅ​ទីនេះ អ្នក​អាច​កំណត់​រចនាសម្ព័ន្ធ​រូបរាង​របស់​បន្ទះ
+Comment[ko]=데스크톱의 행동 설정
+Comment[lo]=ທ່ານສາມາດປັບແຕ່ງລັກສະນະທີ່ປະກົດຂອງ ຖາດພາແນວໄດ້ທີ່ນີ້
+Comment[lt]=Čia galite konfigūruoti pulto išvaizdą
+Comment[lv]=Šeit jūs varat konfigurēt paneļa izskatu
+Comment[mk]=Тука може да го конфигурирате изгледот на панелот
+Comment[mn]=Энд та удирдах самбарын харагдалтыг тохируулж болно
+Comment[ms]=Anda boleh konfigur rupa panel di sini
+Comment[mt]=Tista' tbiddel id-dehra tal-pannell hawnhekk
+Comment[nb]=Her kan du sette opp hvordan panelet skal se ut
+Comment[nds]=Hier kannst Du instellen, woans dat Paneel utsüht
+Comment[ne]=तपाईँले यहाँ प्यानलको दृश्य कन्फिगर गर्न सक्नुहुन्छ
+Comment[nl]=U kunt hier de opmaak van het paneel instellen
+Comment[nn]=Her kan du setja opp utsjånaden til panelet
+Comment[nso]=Oka beakanya ponagalo ya panel mo
+Comment[oc]=Aqui podetz configurar l'aspecte dèu plafon
+Comment[pa]=ਇੱਥੇ ਤੁਸੀਂ ਪੈਨਲ ਦੀ ਦਿੱਖ ਦੀ ਸੰਰਚਨਾ ਕਰ ਸਕਦੇ ਹੋ
+Comment[pl]=Konfiguracja wyglądu panelu
+Comment[pt]=Pode configurar aqui a aparência do painel
+Comment[pt_BR]=Você pode configurar a aparência do painel aqui
+Comment[ro]=Aici puteți configura aspectul panoului KDE
+Comment[ru]=Внешний вид панели
+Comment[rw]=Ushobora kuboneza imigaragarire y'umwanya hano
+Comment[se]=Dás sáhtát heivehit panela fárdda
+Comment[sk]=Tu môžete nastaviť vlastnosti panelu
+Comment[sl]=Tu lahko nastavite videz pulta
+Comment[sr]=Овде можете подесити изглед панела
+Comment[sr@Latn]=Ovde možete podesiti izgled panela
+Comment[sv]=Du kan anpassa panelens utseende här
+Comment[ta]=பலகத்தின் தோற்றத்தை இங்கே அமைக்க முடியும்
+Comment[tg]=Шумо метавонед намуди зоҳири панел дар инҷо танзим кунед
+Comment[th]=คุณสามารถปรับแต่งลักษณะที่ปรากฎของถาดพาเนลได้ที่นี่
+Comment[tr]=Panelin görünümünü buradan yapılandırabilirsiniz
+Comment[tt]=Taqta küreneşen köyläw urını
+Comment[uk]=Тут можна налаштувати вигляд панелі
+Comment[uz]=Bu yerda panelning tashqi koʻrinishini moslash mumkin
+Comment[uz@cyrillic]=Бу ерда панелнинг ташқи кўринишини мослаш мумкин
+Comment[ven]=Ni nga khonifigara mbonalelo ya phanele fhano
+Comment[vi]=Bạn có thể cấu hình diện mạo các bảng điều khiển ở đây
+Comment[wa]=Vos ploz apontyî chal li rivnance do scriftôr
+Comment[xh]=Ungaqwalasela inkangeleko yeqela labantu benjongo ethile apha
+Comment[zh_CN]=配置面板的外观
+Comment[zh_TW]=在此設定面板的外觀
+Comment[zu]=Ungahlanganisela ukubukeka kwewindi lemininingwane lapha
+Keywords=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[be]=Панэль,Панэль заданняў,Панэль стартавання,Размяшчэнне,Пазіцыя,Памер,Аўтаматычна хаваць,Хаваць,Кнопкі,Анімацыя,Фон,Тэмы,Кэш меню,Кэш,Схаваная,Схаваць,Меню KDE,Закладкі,Ранейшыя,Нядаўнія,Дакументы,Хуткі прагляд,Меню вандроўніка,Меню вандравання,Меню,Значкі,Аплеты,Запуск,Падсвятленне,Апрацоўка,Апрацоўшчык,Маштабаванне значак,kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[bg]=системен, панел, подредба, подравняване, kicker, panel, kpanel, taskbar, startbar, launchbar, location, size, auto hide, hide, buttons, animation, background, themes, menu cache, cache, hidden, K-Menu, bookmarks, recent documents, quickbrowser, browser menu, menu, icons, tiles, applets, startup, highlight, handles, zooming icons
+Keywords[bs]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,veličina,automatsko sakrivanje,sakrivanje,dugmad,animacija,pozadina,teme,keš menija,meni,keš,skriven,zabilješke,skorašnji dokumenti,meni browsera,meni preglednika,ikone,appleti,pokretanje,uvećavanje
+Keywords[ca]=kicker,plafó,kpanel,barra de tasques,barra d'inici,barra de llançament,localització,mida,auto oculta,oculta,botons,animació,temes,fons,cau del menú,cau,ocult,Menú K,punts,documents recents,navegació ràpida,menú de navegació,menú,icones,mosaics,aplets,arrencada,ressaltat,nanses,ampliar les icones
+Keywords[cs]=kicker,panel,kpanel,pruh úloh,lišta úloh,umístění, velikost,skrývání,automatické skrývání,tlačítka,animace,pozadí, motivy,nabídka,menu,záložky,nedávné dokumenty,rychlé prohlížení, ikony,dlaždice,applety,spuštění,zvýraznění,úchytky,zvětšování ikon
+Keywords[csb]=kicker,panel,kpanel,lëstëw zadaniów,sztartowô lëstëw,lëstëw zrëszaniô,pòłożenié,miara,aùtomatno tacënié,tacë,knąpë,animacëjô,spódk,spòdlé,témë,cache menu,cache,zatacony,K-Menu,załóżczi,slédny dokùmentë,chùtczé przezéranié,menu,ikònë,kafelkòwané,programiczi,zrëszanié,pòdskrzënianié,ùchwëtë,zwikszanié ikònów
+Keywords[cy]=ciciwr,kicker,panel,kpanel,bar tasgau,bar cychwyn,bar lansio,lleoliad,maint,awto-guddio,hunan-guddio,cuddio,botymau,animeiddiad,cefndir,themâu,storfa dewislen, storfa,cache,celc,cudd,K-Menu,nodau tudalen,dogfenni diweddar,porydd cyflym,dewislen porydd,dewislen,eiconau,teiliau,rhaglenigion,ymcychwyn,amlygu,carnau,eiconau chwyddo
+Keywords[da]=kicker,panel,kpanel,opgavelinje,startlinje,sted,størrelse,autogem,gem,knapper,animering,baggrund,temaer,menucache,cache,skjult,K-Menu,bogmærker,nylige dokumenter,hurtigsøger,søgemenu,menu,ikoner,fliser,panelprogrammer,opstart,markér,håndterer,ikoner
+Keywords[de]=Kicker,Panel,Taskbar,Kontrollleiste,Startleiste,Klickstartleiste,Fensterleiste,Autom. ausblenden,Ausblenden, Knöpfe,Animation,Hintergründe,Stile,Design,Themes,Menü-Zwischenspeicher, K-Menü,Zwischenspeicher,Lesezeichen,Zuletzt geöffnete Dateien, Schnellanzeiger,Menüs,Symbole,Icons,Kacheln,Applets,Miniprogramme, Java-Miniprogramme,Hervorhebung,Anfasser,Sicherheitsstufen,Zoom für Symbole
+Keywords[el]=kicker,πίνακας,kpanel,γραμμή εργασιών,γραμμή έναρξης,γραμμή εκκίνησης,τοποθεσία,μέγεθος,αυτόματη απόκρυψη,απόκρυψη,κουμπιά,εφέ κίνησης,φόντο,θέματα,λανθάνουσα μνήμη μενού,λανθάνουσα μνήμη,κρυφό, K-Μενού,σελιδοδείκτες,πρόσφατα έγγραφα,γρήγορος εξερευνητής,μενού εξερευνητή,μενού,εικονίδια,tiles,μικροεφαρμογές,έναρξη,τονισμός,χειριστήρια, μεγέθυνση εικονιδίων
+Keywords[eo]=lanĉilo,panelo,tasklistelo,situo,grandeco,aŭtokaŝo,kaŝo,butono,fono,etoso,menubufro,K-Menuo,legosigno,lasta dokumento,rapidrigardilo,rigardmenuo,piktogramo,kahelo,aplikaĵo,lanĉo,emfazo,teniloj,pligrandigo,fidindaj aplikaĵetoj,sekurecnivelo
+Keywords[es]=kicker,panel,kpanel,barra de tareas,barra de inicio,barra de lanzamiento,dirección,tamaño,auto ocultar,ocultar,botones,animación,fondo,temas,caché de menú,caché,oculto,Menú K,marcadores,documentos recientes,navegador rápido,menú navegador,menú,iconos,mosaicos,miniaplicaciones,arranque,resaltado,asas,iconos ampliados
+Keywords[et]=kicker,paneel,kpanel,tegumiriba,käivitusriba,asukoht,suurus,terminal,automaatne peitmine,peitmine,nupud,animatsioon,taust,teemad,menüü vahemälu,vahemälu,peidetud,K-menüü,järjehoidjad,viimati kasutatud dokumendid, kiirbrauser,lehitsemise menüü,menüü,ikoonid,apletid,käivitamine,esiletõstmine,piirded,ikoonide suurendamine,usaldusväärsed apletid,turvatase
+Keywords[eu]=kicker,panela,kpanela,ataza-barra,hasiera-barra,abiarazte-barra,kokapena, neurria,auto ezkutatu,ezkutatu,botoiak,animazioa,atzeko planoa, gaiak,menu-katxea,katxea,ezkutatu,K-menua,laster-markak,oraintsuko dokumentuak, arakatzaile bizkorra,arakatzaile menua,menua,ikonoak,baldosak,appletak,abiatu,nabarmendu,heldulekuak,zooming icons
+Keywords[fa]=kicker، تابلو، kpanel، میله‌ تکلیف، میله آغاز، میله راه‌انداز، محل، اندازه، مخفی کردن خودکار، مخفی کردن، دکمه‌ها، پویانمایی، زمینه، چهره‌ها، نهانگاه گزینگان، نهانگاه، مخفی، گزینگان K، چوب ‌الفها، سندهای اخیر، مرورگر سریع، گزینگان، مرورگر، شمایلها، کاشیها، برنامکها، راه‌اندازی، مشخص، گرداننده‌ها، بزرگ‌نمایی شمایلها
+Keywords[fi]=kicker,paneeli,kpanel,tehtäväpalkki,käynnistyspalkki,paikka,koko,automaattipiilotus,piilotus,napit,animaatio,tausta,teemat,valikkovälimuisti,välimuisti,K-valikko,kirjanmerkit,viimeaikaiset asiakirjat,pikaselain,selausvalikko,valikko,kuvakkeet,sovelmat,käynnistys,korostus,kahvat,kuvakkeiden suurennus
+Keywords[fr]=kicker,tableau de bord,barre du bas,barre des tâches,barre de démarrage,barre de lancement,emplacement,taille,auto-masquage,cacher,masquer,boutons,animation,fond,arrière-plan,thème,cache de menu,cache,caché,menu K,K,signets,documents récents,document récent,navigateur rapide,navigateur,menu,icône,mosaïque,applet,démarrage,surbrillance,poignée,poignées,zoom,zoom sur les icônes
+Keywords[fy]=kicker,paniel,kpanel,taakbalke,takebalke,Startbalke,startmenu,applikaasje begjinner,lokaasje,ôfmjiting,terminaltapassing,auto hide,automatysk ferstopje,ferstopje,Ynklappe,knoppen,animaasje,eftergrûn,tema's,menu lyts ûnthâld,lyts ûnthâld,ferstoppe,K-Menu,bookmarks,blêdwizers,resinte dokuminten,quickbrowser,browser menu,menu,icons,ikoan,ikoanen,tegels,tiles,applets,begjinne,opljochtsje,handles,zoomen,knoppen,hanfetten,betroubere applets,feiligens nivo
+Keywords[gl]=kicker,painel,kpanel,barra de tarefas,barra de comezo,barra de lanzamento,localización,tamaño,auto agochamento,agochamento,botóns,animación,fondo,temas,cache de menú,caché,oculto,Menú K,marcadores,derradeiros documentos,navegador rápido,menú de navegación,menú,iconas,apliques,início,resaltado,xestión,aumento de iconas
+Keywords[he]=kicker, לוח, kpanel, שורת משימות, שורת הרצה, מיקום, גודל, הסתרה אוטומטית, הסתר, אנימציה, רקע, ערכות, תפריט, מטמון, מוסתר, תפריט K, מועדפים, מסמכים אחרונים, דפדוף מהיר, תפריט, סימנים, סמלים, כותרות, יישומונים, אתחול, הדגשה, ידיות, הגדלת סמלים, taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons, panel
+Keywords[hi]=किकर,फलक,के-पेनल,कार्यपट्टी,प्रारंभपट्टी,चालकपट्टी,स्थान,आकार,स्वतः छुपें,छुपें,बटन्स,एनिमेशन,पृष्ठभूमि,प्रसंग,मेनू कैश,कैश,छुपा,के-मेन्यू,पसंद,हाल ही के दस्तावेज़,क्विक-ब्राउज़र,ब्राउज़र मेन्यू,मेन्यू,प्रतीक,टाइल्स,ऐप्लेट्स,स्टार्टअप,उभारना,हैंडल्स,जूमिंग प्रतीक
+Keywords[hr]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,ploča,traka zadataka,traka pokretanja,lokacija,veličina,automatsko skrivanje,skrivanje,gumbi,animacija,pozadina,teme,pohrana izbornika,pohrana,skriven,oznake,nedavni dokumenti,brzi preglednik,izbornik preglednika,izbornik,ikone,popločeno,apleti,naglašavanje,rukovanje,uvećane ikone
+Keywords[hu]=Kicker,panel,kpanel,feladatlista,start menü,indítómenü,indítósáv,hely,méret,automatikus elrejtés,elrejtés,gombok,animáció,háttér,témák,menügyorstár,gyorstár,rejtett,K menü,könyvjelzők,legutóbbi dokumentumok,gyorsböngésző,böngészőmenü,menü,ikonok,mozaikszerű,kisalkalmazások,indulás,kiemelés,fogantyúk,nagyítóikonok
+Keywords[is]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,trusted applets,security level
+Keywords[it]=kicker,pannello,kpanel,barra delle applicazioni,taskbar,startbar,launchbar,barra di avvio,posizione,dimensione,scomparsa automatica,pulsanti,animazione,sfondo,temi,cache dei menu,nascosto,Menu K,segnalibri,documenti recenti,browser veloce,menu,icone,piastrelle,applet,avvio,evidenziazione,maniglie,ingrandimento icone
+Keywords[ja]=kicker,パネル,kpanel,タスクバー,スタートバー,ラウンチバー,場所,サイズ,自動的に隠す,隠す,ボタン,アニメーション,背景,テーマ,メニューキャッシュ,キャッシュ,隠れた,Kメニュー,ブックマーク,最近のドキュメント,クイックブラウザ,ブラウザメニュー,メニュー,アイコン,タイル,アプレット,スタートアップ,ハイライト,ハンドル,アイコンのズーム
+Keywords[km]=kicker,បន្ទះ,kpanel,របារ​ភារកិច្ច,របារ​បើក​ដំណើរការ,ទីតាំង,ទំហំ,លាក់​ស្វ័យប្រវត្តិ,លាក់,ប៊ូតុង,ចលនា,ផ្ទៃ​ខាង​ក្រោយ,ស្បែក,ឃ្លាំង​សម្ងាត់​ម៉ឺនុយ,ឃ្លាំង​សម្ងាត់,លាក់,ម៉ឺនុយ K,កន្លែង​ចំណាំ,ឯកសារ​ថ្មីៗ​នេះ,កម្មវិធី​រុករក​រហ័ស,ម៉ឺនុយ​កម្មវិធី​រុករក,ម៉ឺនុយ,រូបតំណាង,ក្បឿង,អាប់ភ្លេត,ចាប់ផ្ដើម,បន្លិច,ប្រើ,រូបតំណាង​ពង្រីក
+Keywords[lt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,skydelis,kskydelis,užduočių juosta,paleidimo juosta,slėpti,mygtukai,animacija,fonas,temos,meniu atmintinė,atmintinė,paslėptas,žymelės,neseniai naudoti dokumentai,peržiūra,meniu,ženkliukai,perdengti,įskiepiai,paleistis,pažymėti,rankenėlės,išdidinti ženkliukus
+Keywords[lv]=kicker,panelis,kpanel,uzdevumjosla,startbar,launchbar,location,size,izmērs,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,grāmatzīmes,recent documents,quickbrowser,browser menu,izvēlne,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[mk]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,панел,лента со програми,локација,големина,авто криење,криење,копчиња,анимација,подлога,позадина,теми,кеш на менито,кеш,скриен,K-Мени,обележувачи, последни документи,брз прелистувач,мени за прелистувачи,мени,икони,плочки,аплети,рачки,зумирање на икони
+Keywords[mt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,favoriti,pannell,post,daqs,lokazzjoni,ħabi,animazzjoni,buttuni
+Keywords[nb]=kicker,panel,kpanel,oppgavelinje,startlinje,plassering,størrelse, autoskjul,skjul,knapper,animasjon,bakgrunn,temaer,mellomlager for temaer, mellomlager,skjult,K-meny,bokmerker,nylig brukte dokumenter,hurtigviser, katalogmeny,meny,ikoner,fliser,miniprogrammer,panelprogrammer,oppstart, uthev,håndtak,forstørring av ikoner
+Keywords[nds]=Kicker,Paneel,kpanel,Taskbalken,Programmbalken,Startbalken,Adress,Grött,automaatsch versteken,versteken,Knööp,Knoop,Knööp,Animatschoon,Achtergrund,Muster,Menü-Twischenspieker,Twischenspieker,versteken,K-Menü,Leesteken,leste Dokmenten,Fixkieker,Nettkieker-Menü,Menü,Lüttbiller,Titel,Programmen,starten,markeren,handles,Grepen,Lüttbiller grötter maken
+Keywords[ne]=किकर, प्यानल, के प्यानल, कार्यपट्टी, सुरुपट्टी, सुरुआतपट्टी, स्थान, आकार, स्वत: लुकाउने, लुकाउनुहोस्, बटनहरू, एनिमेसन, पृष्ठभूमि, विषयवस्तुहरू, मेनु क्यास, क्यास, लुकेको, के-मेनु, पुस्तकचिनोहरू, हालको कागजातहरू, छिटो ब्राउजर, ब्राउजर मेनु, मेनु, प्रतिमा, टायलहरू, एप्लेटहरू, सुरु, हाइलाइट, ह्यान्डल गर्दछ, जुम प्रतिमा
+Keywords[nl]=kicker,paneel,kpanel,taakbalk,takenbalk,startbalk,startmenu,applicatie starter,locatie,afmeting,terminaltoepassing,auto hide,automatisch verbergen,verbergen,invouwen,knoppen,animatie,achtergrond,thema's,menu cache,cache,verborgen,K-Menu,bookmarks,bladwijzers,recente documenten,quickbrowser,browser menu,menu,icons,icoon,iconen,pictogrammen,tegels,tiles,applets,opstarten,highlight,accentuering,handles,zoomen,knoppen,handvatten,betrouwbare applets,security level,beveiligingsniveau
+Keywords[nn]=Kicker,panel,KPanel,oppgåvelinje,oppstartslinje,plassering,storleik,autogøym,gøym,knappar,animasjon,bakgrunn,tema,menymellomlager,mellomlager,gøymd,K-meny,bokmerke,nyleg bruka dokument,snøgglesar,katalogmeny,meny,ikon,brikker,applet,panelprogram,oppstart,merking,handtak,forstørring av ikon
+Keywords[pa]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons, ਪੈਨਲ, ਟਿਕਾਣਾ, ਬਰਾਊਜ਼ਰ, ਝਲਾਕਰਾ, ਕੈਂਚੇ, ਕੇ-ਮੇਨੂ, ਬੁੱਕਮਾਰਕ, ਤਾਜ਼ਾ, ਉਘੜੇ, ਹੈਂਡਲ, ਬਟਨ, ਸਰੂਪ, ਮੇਨੂ, ਓਹਲੇ, ਅਕਾਰ
+Keywords[pl]=kicker,panel,kpanel,pasek zadań,pasek startu,pasek uruchamiania,położenie,rozmiar,automatyczne ukrywanie,ukryj,przyciski,animacja,tło,motywy,bufor (cache) menu,bufor,cache,ukryty,K-Menu,zakładki,ostatnie dokumenty,szybkie przeglądanie,menu,ikony,kafelkowane,programiki,uruchomienie,podświetlanie,uchwyty,powiększanie ikon
+Keywords[pt]=kicker,painel,kpanel,barra de tarefas,barra de início,barra de lançamento,localização,tamanho,auto-esconder,esconder,botões,animação,fundo,temas,'cache' de menu,'cache',escondido,menu K,favoritos,documentos recentes,navegador rápido,menu de navegação,menu,ícones,mosaicos,'applets',inicio,realce,pegas,ícones aumentados
+Keywords[pt_BR]=kicker,painel,kpanel,barra de tarefas,lançar aplicativos,localização,tamanho,auto-ocultar,esconder,botões, animação,fundo,temas,cache de menu,cache,escondido,Menu K,favoritos,documentos recentes,navegador rápido, menu do navegador,menu,ícones,títulos,mini-aplicativos,iniciar,realçar, manipuladores, ícones de ampliação
+Keywords[ro]=kicker,panou,kpanel,bară de procese,bară de start,pornire,lansare,mărime,locație,ascundere automată,butoane,animație,fundal,tematică,meniu K,semne de carte,documente recente,navigator rapid,meniu navigare,meniu,iconițe,mozaic,miniaplicații,evidențiere,scalare
+Keywords[rw]=igitera,umwanya,k-umwanya,umurongogutangira,umurongogutangiza,indangahantu,ingano,kwihisha,guhisha,buto,iyega,mbuganyuma,insanganyamatsiko,ubwihisho bw'ibikubiyemo,ubwihisho,bihishe,K-Ibikubiyemo,utumenyetso,inyandiko zigezweho,mucukumbuzi yihuta,ibikubiyemo bya mucukumbuzi,ibikubiyemo,udushushondanga,udukaro,apuleti,gutangira,gushimangira,ibifashi,udushushondanga guhindura-ingano
+Keywords[se]=kicker,panela,kpanel,bargoholga,álggahanholga,báiki,sturrodat,autočiega,čiehkadit,boalut,animašuvdna,duogáš,fáddá,fálločiehkárájus,čiehkárájus,K-fállu,girjemearkkat,aiddo geavahuvvon dokumeantta,ohcofállu,fállu,govažat,prográmmažat,álggaheapmi,merken,geavjjat,luohttehahtti prográmmažat,sihkkarvuohtadássi
+Keywords[sk]=kicker,panel,kpanel,taskbar,startbar,launchbar,miesto,umiestnenie,veľkosť,terminálová aplikácia,skrývanie,automatické skrývanie,tlačidlá,animácia,pozadie,témy,cache,cache ponuky,skryté,K-Menu,záložky,posledné dokumenty,rýchly prehliadač,ponuka prehliadača,menu,ikony,applety,štart,zvýraznenie,handles,zväčšovanie ikon,overené applety,úroveň zabezpečenia
+Keywords[sl]=kicker,pult,kpanel,opravilna vrstica,zagonska vrstica,mesto,lokacija,velikost,terminalski program,skrij,samodejno skrivanje,skrivanje,gumbi,animacija,ozadje,teme,menijski predpomnilnik,predpomnilnik,skrit,K-Menu,zaznamki,nedavni dokumenti,hitro brskanje,brskalni meni,meni,tlakovci,ikone,vstavki,zagon,osvetlitev,ročice,ikone za povečavo
+Keywords[sr]=kicker,панел,kpanel,трака задатака,startbar,launchbar,локација,величина,Терминалски програм,аутоматско сакривање,сакривање,дугмићи,анимација,позадина,теме,мени кеш,кеш,скривен,K-Menu,маркери,скори документи,брзи прегледач,мени прегледача,мени,иконе,блокови,апплети,startup,истицање,хватаљке,увеличавање икона,аплети којима се верује,ниво безбедности
+Keywords[sr@Latn]=kicker,panel,kpanel,traka zadataka,startbar,launchbar,lokacija,veličina,Terminalski program,automatsko sakrivanje,sakrivanje,dugmići,animacija,pozadina,teme,meni keš,keš,skriven,K-Menu,markeri,skori dokumenti,brzi pregledač,meni pregledača,meni,ikone,blokovi,appleti,startup,isticanje,hvataljke,uveličavanje ikona,apleti kojima se veruje,nivo bezbednosti
+Keywords[sv]=kicker,panel,k-panel,aktivitetsfält,startfält,körningsfält,plats,storlek,dölj automatiskt,dölj,göm,knappar,animering,bakgrund,teman,menycache,cache,gömd,dold,K-meny,bokmärken,senaste dokument,snabbläddrare,bläddringsmeny,meny,ikoner,miniprogram,start,framhäv,grepp,zoomikoner
+Keywords[ta]=கிக்கர், பானல், கேபானல்,துவக்கப்பட்டி, துவங்கும்பட்டி,இடம்,அளவு, சத்தம் மறை, மறை,பட்டன், உயிர்சித்திரம்,பின்னனி,கருப்பொருள், தற்காலிக மெனு, மறைந்த,கே-மெனு,புத்தககுறிகள், தற்போதைய ஆவணம். வேக உலாவி, உலாவி மெனு, மெனு, சின்னம், சிறுநிரல், துவக்கம், கையாள், பெரிதாக்கும் சின்னங்கள்
+Keywords[th]=kicker,พาเนล,kpanel,taskbar,startbar,แถบเรียกโปรแกรม,ที่ตั้ง,ขนาด,ซ่อนอัตโนมัติ ,ซ่อน,ปุ่ม,อนิเมชั่น,พื้นหลัง,ชุดตกแต่ง,แคชของเมนู,แคช,ถูกซ่อน,K-Menu,ที่คั่นหน้า,เอกสารที่เพิ่งเปิดไป,quickbrowser,เมนูของบราวเซอร์,เมนู,ไอคอน,พื้นผิว,applets,startup,highlight,handles,ซูมไอคอน
+Keywords[tr]=kicker,panel,kpanel,görev çubuğu,başlangıç çubuğu,başlat çubuğu,konum,boyut,Uç birim uygulaması,otomatik gizle,gizle,tuşlar,animasyon,artalan,temalar,menü ön belleği,ön bellek,gizli,K-Menu,yer imleri,en son kullanılan belgeler,hızlı gözatıcı,göz atıcı menüsü,menü,simgeler,karo,programcıklar,Başlangıç,belirt,tutamaçlar,büyüyen simgeler,güvenilen programcıklar,güvenlik düzeyi
+Keywords[tt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser saylaq,saylaq,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[uk]=kicker,панель,смужка задач,kpanel,смужка запуску,розташування,розмір,консольна програма,автоматичне згортання,згортання,кнопки,анімація,тло,теми,кеш меню,кеш,схований,К-Меню,закладки,недавні документи,швидка навігація,меню навігатора,меню,піктограми,заголовки,аплети,запуск,підсвічування,маніпулятор,масштабування піктограм
+Keywords[uz]=panel,vazifalar paneli,bekitish,avto-bekitish,tugmalar,animatsiya,orqa fon,mavzular,K-menyu,kesh,yashirilgan,xatchoʻplar,yaqinda ochilgan hujjatlar,tez koʻruvchi,brauzer menyusi,menyuning keshi,menyu,nishonchalar,appletlar,nishonchalarni kattalashtirish,oʻlcham,kicker,kpanel,startbar,launchbar,joylashishi,tiles,startup,highlight,handles
+Keywords[uz@cyrillic]=панел,вазифалар панели,бекитиш,авто-бекитиш,тугмалар,анимация,орқа фон,мавзулар,К-меню,кэш,яширилган,хатчўплар,яқинда очилган ҳужжатлар,тез кўрувчи,браузер менюси,менюнинг кэши,меню,нишончалар,апплетлар,нишончаларни катталаштириш,ўлчам,kicker,kpanel,startbar,launchbar,жойлашиши,tiles,startup,highlight,handles
+Keywords[vi]=kích hoạt,bảng điều khiển,kpanel,thanh tác vụ,thanh khởi động,thanh phóng,vị trí,kích cỡ,tự ẩn,ẩn,nút,hoạt hình,mảnh nền,sắc thái,thực đơn đệm,đệm,giấu,Thực đơn K,số lưu liên kết,tài liệu gần đây,duyệt nhanh,thực đơn duyệt,thực đơn,biểu tượng,tiêu đề,tiểu ứng dụng,khởi động,nổi bật,cầm nắm,biểu tượng phóng đại,ứng dụng đáng tin,mức độ an ninh
+Keywords[wa]=kicker,panel,sicriftôr,scriftôr,kpanel,taskbar,bår des bouyes,startbar,launchbar,bår d' enondaedje,plaece,grandeu,catche tot seu,catchî,botons,animåvion,fond,tinmes,muchete menu,muchete,K-Menu,rimåkes,documints nén vî,betchteu rade,dresseŷe do betchteu,dressêye,menu,imådjetes,applets,apliketes,enonde tot seu,highlight,handles,zooming icons,zoumer les imådjetes
+Keywords[zh_CN]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons面板,任务栏,启动栏,位置,大小,自动隐藏,隐藏,按钮,动画,背景,主题,菜单缓存,缓存,书签,最近文档,快速浏览器,浏览器菜单,菜单,图标,平铺,启动,突出,句柄,缩放图标
+Keywords[zh_TW]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,面板,工作列,啟動列,快捷列,位置,大小,自動隱藏,隱藏,按鈕,動畫,背景,佈景主題,選單快取,快取,隱藏,K-選單,書籤,最近開啟的文件,快速瀏覽,瀏覽選單,選單,圖示,小圖塊,應用程式,啟動,高亮度,處理,縮放圖示
diff --git a/kcontrol/kicker/kicker_config_arrangement.desktop b/kcontrol/kicker/kicker_config_arrangement.desktop
new file mode 100644
index 000000000..bc2a8a445
--- /dev/null
+++ b/kcontrol/kicker/kicker_config_arrangement.desktop
@@ -0,0 +1,212 @@
+[Desktop Entry]
+Icon=kcmkicker
+Type=Application
+DocPath=kcontrol/panel/index.html#panel-position
+Exec=kcmshell kicker_arrangement
+
+X-KDE-Library=kicker
+X-KDE-FactoryName=kicker_arrangement
+X-KDE-ParentApp=kicker
+
+Name=Arrangement
+Name[af]=Rangskikking
+Name[ar]=الترتيب
+Name[be]=Раўнанне
+Name[bg]=Разпределение
+Name[bn]=বিন্যাস
+Name[br]=Doare
+Name[bs]=Raspored
+Name[ca]=Arranjament
+Name[cs]=Uspořádání
+Name[csb]=Ùstôw
+Name[cy]=Trefniad
+Name[de]=Layout
+Name[el]=Διάταξη
+Name[eo]=Agordo
+Name[es]=Acuerdo
+Name[et]=Paigutus
+Name[eu]=Antolakuntza
+Name[fa]=ترتیب
+Name[fi]=Järjestely
+Name[fy]=Yndieling
+Name[ga]=Leagan Amach
+Name[gl]=Disposición
+Name[he]=סידור
+Name[hr]=Raspored
+Name[hu]=Elrendezés
+Name[is]=Skipulag
+Name[it]=Disposizione
+Name[ja]=配置
+Name[ka]=განთავსება
+Name[kk]=Орналастыру
+Name[km]=ការរៀបចំ
+Name[lt]=Išdėstymas
+Name[mk]=Распоред
+Name[ms]=Susunan
+Name[nds]=Anornen
+Name[ne]=मिलान
+Name[nl]=Indeling
+Name[nn]=Oppsett
+Name[pa]=ਇਕਰਾਰਨਾਮਾ
+Name[pl]=Układ
+Name[pt]=Organização
+Name[pt_BR]=Disposição
+Name[ro]=Aranjament
+Name[ru]=Расстановка
+Name[rw]=Ugutunganya
+Name[se]=Ráhkadus
+Name[sk]=Usporiadanie
+Name[sl]=Postavitev
+Name[sr]=Распоред
+Name[sr@Latn]=Raspored
+Name[sv]=Arrangemang
+Name[ta]=ஏற்பாடு
+Name[te]=క్రమం
+Name[tg]=Созишнома
+Name[th]=การจัดเรียง
+Name[tr]=Düzenleme
+Name[tt]=Urınlaşu
+Name[uk]=Розташування
+Name[uz]=Joylashishi
+Name[uz@cyrillic]=Жойлашиши
+Name[vi]=Sắp đặt
+Name[wa]=Arindjmint
+Name[zh_CN]=排列
+Name[zh_TW]=對齊方式
+Comment=You can configure the arrangement of the panel here
+Comment[af]=Jy kan die rangskikking van die paneel hier opstel
+Comment[ar]=يمكنك إعداد ترتيب اللوحة هنا
+Comment[az]=Panelin düzülüşünü buradan quraşdıra bilərsiniz
+Comment[be]=Тут вы можаце змяніць настаўленні раўнавання панэлі
+Comment[bg]=Настройване на системния панел
+Comment[bn]=আপনি এখানে প্যানেল-এর বিন্যাস কনফিগার করতে পারেন
+Comment[br]=Amañ e c'hellit kefluniañ doare ar banell
+Comment[bs]=Ovdje možete podesiti izgled panela
+Comment[ca]=Aquí podeu configurar l'arranjament del plafó
+Comment[cs]=Zde je možné nastavit uspořádání panelu
+Comment[csb]=Kònfigùracëjô pòłożeniô panelu
+Comment[cy]=Cewch ffurfweddu trefn y panel yma
+Comment[da]=Her kan du indstille panelets arrangement
+Comment[de]=Hier können Sie Einstellungen für die Kontrollleiste vornehmen
+Comment[el]=Εδώ μπορείτε να ρυθμίσετε τη διάταξη του πίνακα
+Comment[eo]=Ĉi tie vi povas agordi la aranĝon de la panelo
+Comment[es]=Configuración de la apariencia del panel
+Comment[et]=Siin saad seadistada paneeli paigutust
+Comment[eu]=Panelaren kokapena konfigura dezakezu hemen
+Comment[fa]=می‌توانید ترتیب تابلو را اینجا پیکربندی کنید
+Comment[fi]=Muokkaa paneelin asettelua ja sisältöä
+Comment[fr]=Configuration de l'apparence du tableau de bord
+Comment[fy]=Hjir kinne jo it ûntwerp fan it paniel ynstelle
+Comment[gl]=Pode configurar aqui a disposición do painel
+Comment[he]=שינוי הגדרות הסידור של הלוח
+Comment[hi]=फलक की व्यवस्था को आप यहाँ कॉन्फ़िगर कर सकते हैं
+Comment[hr]=Konfiguriranje rasporeda ploče
+Comment[hu]=Itt lehet beállítani a panel elrendezését
+Comment[is]=Stilla viðmót spjaldsins
+Comment[it]=Configura la disposizione del pannello
+Comment[ja]=ここでパネルの配置を設定します
+Comment[ka]=აქ შეგიძლიათ პანელის თანმიმდევრულობის კონფიგურაცია
+Comment[kk]=Панельді орналастыру
+Comment[km]=នៅ​ទីនេះ អ្នក​អាច​កំណត់​រចនាសម្ព័ន្ធ​ការ​រៀបចំ​បន្ទះ
+Comment[ko]=데스크톱의 행동 설정
+Comment[lo]=ທ່ານສາມາດປັບແຕ່ງລັກສະນະ ທີ່ປະກົດຂອງພາແນວໄດ້ທີ່ນີ້
+Comment[lt]=Čia galite konfigūruoti pulto pavidalą
+Comment[lv]=Šeit jūs varat konfigurēt paneļa izkārtojumu
+Comment[mk]=Тука може да го конфигурирате распоредот на панелот
+Comment[mn]=Энд та удирдах самбар тохируулж болно
+Comment[ms]=Anda boleh konfigur susunan panel di sini
+Comment[mt]=Tista' tbiddel it-tqassim tal-pannell hawnhekk
+Comment[nb]=Her kan du sette opp hvordan panelet skal se ut
+Comment[nds]=Hier kannst Du de Anornen vun't Paneel instellen
+Comment[ne]=तपाईँले यहाँ प्यानलको मिलान कन्फिगर गर्न सक्नुहुन्छ
+Comment[nl]=U kunt hier de opmaak van het paneel instellen
+Comment[nn]=Her kan du setja opp utsjånaden til panelet
+Comment[nso]=Oka beakanya kgobokanyo ya panel mo
+Comment[pa]=ਤੁਸੀਂ ਪੈਨਲ ਦੇ ਢਾਂਚੇ ਦੀ ਸੰਰਚਨਾ ਇੱਥੇ ਕਰ ਸਕਦੇ ਹੋ
+Comment[pl]=Konfiguracja położenia panelu
+Comment[pt]=Pode configurar o posicionamento do painel aqui
+Comment[pt_BR]=Você pode configurar a disposição do painel aqui
+Comment[ro]=Aici puteți configura modul de aranjare al panoului KDE
+Comment[ru]=Настройка выравнивания панели
+Comment[rw]=Ushobora kuboneza itunganya ry'umwanya hano
+Comment[se]=Dáppe sáhtát heivehit panela ráhkadusa
+Comment[sk]=Nastavenie vzhľadu panelu
+Comment[sl]=Tu lahko nastavite razpored pulta
+Comment[sr]=Овде можете подесити распоред панела
+Comment[sr@Latn]=Ovde možete podesiti raspored panela
+Comment[sv]=Du kan anpassa panelens utseende här
+Comment[ta]=பலகத்தின் தோற்றத்தை இங்கே அமைக்க முடியும்
+Comment[tg]= Дар инҷо шумо метавонед тоҳири сафҳотро танзим кунед
+Comment[th]=คุณสามารถปรับแต่งการจัดวางถาดพาเนลได้ที่นี่
+Comment[tr]=Panelin görünümünü buradan yapılandırabilirsiniz
+Comment[tt]=Taqta urnaşıluın köyläw urını
+Comment[uk]=Тут можна налаштувати вигляд панелі
+Comment[uz]=Bu yerda panelning tartibini moslashingiz mumkin
+Comment[uz@cyrillic]=Бу ерда панелнинг тартибини мослашингиз мумкин
+Comment[ven]=Ninga dzudzanya mavhekanyele a phanele hafhano
+Comment[vi]=Bạn có thể cấu hình sự sắp xếp các bảng điều khiển ở đây
+Comment[wa]=Vos ploz apontyî chal l' arindjimint do scriftôr
+Comment[xh]=Uyakwazi ukuqwalasela apha i window yenkcukacha
+Comment[zh_CN]=您可以在这里配置面板的排列
+Comment[zh_TW]=您可以在此設定面板的外觀
+Comment[zu]=Ungahlanganisela ukuhlelwa kwewindi lemininingwane lapha
+Keywords=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[be]=Панэль,Панэль заданняў,Панэль стартавання,Размяшчэнне,Пазіцыя,Памер,Аўтаматычна хаваць,Хаваць,Кнопкі,Анімацыя,Фон,Тэмы,Кэш меню,Кэш,Схаваная,Схаваць,Меню KDE,Закладкі,Ранейшыя,Нядаўнія,Дакументы,Хуткі прагляд,Меню вандроўніка,Меню вандравання,Меню,Значкі,Аплеты,Запуск,Падсвятленне,Апрацоўка,Апрацоўшчык,Маштабаванне значак,kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[bg]=системен, панел, подредба, подравняване, kicker, panel, kpanel, taskbar, startbar, launchbar, location, size, auto hide, hide, buttons, animation, background, themes, menu cache, cache, hidden, K-Menu, bookmarks, recent documents, quickbrowser, browser menu, menu, icons, tiles, applets, startup, highlight, handles, zooming icons
+Keywords[bs]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,veličina,automatsko sakrivanje,sakrivanje,dugmad,animacija,pozadina,teme,keš menija,meni,keš,skriven,zabilješke,skorašnji dokumenti,meni browsera,meni preglednika,ikone,appleti,pokretanje,uvećavanje
+Keywords[ca]=kicker,plafó,kpanel,barra de tasques,barra d'inici,barra de llançament,localització,mida,auto oculta,oculta,botons,animació,temes,fons,cau del menú,cau,ocult,Menú K,punts,documents recents,navegació ràpida,menú de navegació,menú,icones,mosaics,aplets,arrencada,ressaltat,nanses,ampliar les icones
+Keywords[cs]=kicker,panel,kpanel,pruh úloh,lišta úloh,umístění, velikost,skrývání,automatické skrývání,tlačítka,animace,pozadí, motivy,nabídka,menu,záložky,nedávné dokumenty,rychlé prohlížení, ikony,dlaždice,applety,spuštění,zvýraznění,úchytky,zvětšování ikon
+Keywords[csb]=kicker,panel,kpanel,lëstëw zadaniów,sztartowô lëstëw,lëstëw zrëszaniô,pòłożenié,miara,aùtomatno tacënié,tacë,knąpë,animacëjô,spódk,spòdlé,témë,cache menu,cache,zatacony,K-Menu,załóżczi,slédny dokùmentë,chùtczé przezéranié,menu,ikònë,kafelkòwané,programiczi,zrëszanié,pòdskrzënianié,ùchwëtë,zwikszanié ikònów
+Keywords[cy]=ciciwr,kicker,panel,kpanel,bar tasgau,bar cychwyn,bar lansio,lleoliad,maint,awto-guddio,hunan-guddio,cuddio,botymau,animeiddiad,cefndir,themâu,storfa dewislen, storfa,cache,celc,cudd,K-Menu,nodau tudalen,dogfenni diweddar,porydd cyflym,dewislen porydd,dewislen,eiconau,teiliau,rhaglenigion,ymcychwyn,amlygu,carnau,eiconau chwyddo
+Keywords[da]=kicker,panel,kpanel,opgavelinje,startlinje,sted,størrelse,autogem,gem,knapper,animering,baggrund,temaer,menucache,cache,skjult,K-Menu,bogmærker,nylige dokumenter,hurtigsøger,søgemenu,menu,ikoner,fliser,panelprogrammer,opstart,markér,håndterer,ikoner
+Keywords[de]=Kicker,Panel,Taskbar,Kontrollleiste,Startleiste,Klickstartleiste,Fensterleiste,Autom. ausblenden,Ausblenden, Knöpfe,Animation,Hintergründe,Stile,Design,Themes,Menü-Zwischenspeicher, K-Menü,Zwischenspeicher,Lesezeichen,Zuletzt geöffnete Dateien, Schnellanzeiger,Menüs,Symbole,Icons,Kacheln,Applets,Miniprogramme, Java-Miniprogramme,Hervorhebung,Anfasser,Sicherheitsstufen,Zoom für Symbole
+Keywords[el]=kicker,πίνακας,kpanel,γραμμή εργασιών,γραμμή έναρξης,γραμμή εκκίνησης,τοποθεσία,μέγεθος,αυτόματη απόκρυψη,απόκρυψη,κουμπιά,εφέ κίνησης,φόντο,θέματα,λανθάνουσα μνήμη μενού,λανθάνουσα μνήμη,κρυφό, K-Μενού,σελιδοδείκτες,πρόσφατα έγγραφα,γρήγορος εξερευνητής,μενού εξερευνητή,μενού,εικονίδια,tiles,μικροεφαρμογές,έναρξη,τονισμός,χειριστήρια, μεγέθυνση εικονιδίων
+Keywords[eo]=lanĉilo,panelo,tasklistelo,situo,grandeco,aŭtokaŝo,kaŝo,butono,fono,etoso,menubufro,K-Menuo,legosigno,lasta dokumento,rapidrigardilo,rigardmenuo,piktogramo,kahelo,aplikaĵo,lanĉo,emfazo,teniloj,pligrandigo,fidindaj aplikaĵetoj,sekurecnivelo
+Keywords[es]=kicker,panel,kpanel,barra de tareas,barra de inicio,barra de lanzamiento,dirección,tamaño,auto ocultar,ocultar,botones,animación,fondo,temas,caché de menú,caché,oculto,Menú K,marcadores,documentos recientes,navegador rápido,menú navegador,menú,iconos,mosaicos,miniaplicaciones,arranque,resaltado,asas,iconos ampliados
+Keywords[et]=kicker,paneel,kpanel,tegumiriba,käivitusriba,asukoht,suurus,terminal,automaatne peitmine,peitmine,nupud,animatsioon,taust,teemad,menüü vahemälu,vahemälu,peidetud,K-menüü,järjehoidjad,viimati kasutatud dokumendid, kiirbrauser,lehitsemise menüü,menüü,ikoonid,apletid,käivitamine,esiletõstmine,piirded,ikoonide suurendamine,usaldusväärsed apletid,turvatase
+Keywords[eu]=kicker,panela,kpanela,ataza-barra,hasiera-barra,abiarazte-barra,kokapena, neurria,auto ezkutatu,ezkutatu,botoiak,animazioa,atzeko planoa, gaiak,menu-katxea,katxea,ezkutatu,K-menua,laster-markak,oraintsuko dokumentuak, arakatzaile bizkorra,arakatzaile menua,menua,ikonoak,baldosak,appletak,abiatu,nabarmendu,heldulekuak,zooming icons
+Keywords[fa]=kicker، تابلو، kpanel، میله‌ تکلیف، میله آغاز، میله راه‌انداز، محل، اندازه، مخفی کردن خودکار، مخفی کردن، دکمه‌ها، پویانمایی، زمینه، چهره‌ها، نهانگاه گزینگان، نهانگاه، مخفی، گزینگان K، چوب ‌الفها، سندهای اخیر، مرورگر سریع، گزینگان، مرورگر، شمایلها، کاشیها، برنامکها، راه‌اندازی، مشخص، گرداننده‌ها، بزرگ‌نمایی شمایلها
+Keywords[fi]=kicker,paneeli,kpanel,tehtäväpalkki,käynnistyspalkki,paikka,koko,automaattipiilotus,piilotus,napit,animaatio,tausta,teemat,valikkovälimuisti,välimuisti,K-valikko,kirjanmerkit,viimeaikaiset asiakirjat,pikaselain,selausvalikko,valikko,kuvakkeet,sovelmat,käynnistys,korostus,kahvat,kuvakkeiden suurennus
+Keywords[fr]=kicker,tableau de bord,barre du bas,barre des tâches,barre de démarrage,barre de lancement,emplacement,taille,auto-masquage,cacher,masquer,boutons,animation,fond,arrière-plan,thème,cache de menu,cache,caché,menu K,K,signets,documents récents,document récent,navigateur rapide,navigateur,menu,icône,mosaïque,applet,démarrage,surbrillance,poignée,poignées,zoom,zoom sur les icônes
+Keywords[fy]=kicker,paniel,kpanel,taakbalke,takebalke,Startbalke,startmenu,applikaasje begjinner,lokaasje,ôfmjiting,terminaltapassing,auto hide,automatysk ferstopje,ferstopje,Ynklappe,knoppen,animaasje,eftergrûn,tema's,menu lyts ûnthâld,lyts ûnthâld,ferstoppe,K-Menu,bookmarks,blêdwizers,resinte dokuminten,quickbrowser,browser menu,menu,icons,ikoan,ikoanen,tegels,tiles,applets,begjinne,opljochtsje,handles,zoomen,knoppen,hanfetten,betroubere applets,feiligens nivo
+Keywords[gl]=kicker,painel,kpanel,barra de tarefas,barra de comezo,barra de lanzamento,localización,tamaño,auto agochamento,agochamento,botóns,animación,fondo,temas,cache de menú,caché,oculto,Menú K,marcadores,derradeiros documentos,navegador rápido,menú de navegación,menú,iconas,apliques,início,resaltado,xestión,aumento de iconas
+Keywords[he]=kicker, לוח, kpanel, שורת משימות, שורת הרצה, מיקום, גודל, הסתרה אוטומטית, הסתר, אנימציה, רקע, ערכות, תפריט, מטמון, מוסתר, תפריט K, מועדפים, מסמכים אחרונים, דפדוף מהיר, תפריט, סימנים, סמלים, כותרות, יישומונים, אתחול, הדגשה, ידיות, הגדלת סמלים, taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons, panel
+Keywords[hi]=किकर,फलक,के-पेनल,कार्यपट्टी,प्रारंभपट्टी,चालकपट्टी,स्थान,आकार,स्वतः छुपें,छुपें,बटन्स,एनिमेशन,पृष्ठभूमि,प्रसंग,मेनू कैश,कैश,छुपा,के-मेन्यू,पसंद,हाल ही के दस्तावेज़,क्विक-ब्राउज़र,ब्राउज़र मेन्यू,मेन्यू,प्रतीक,टाइल्स,ऐप्लेट्स,स्टार्टअप,उभारना,हैंडल्स,जूमिंग प्रतीक
+Keywords[hr]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,ploča,traka zadataka,traka pokretanja,lokacija,veličina,automatsko skrivanje,skrivanje,gumbi,animacija,pozadina,teme,pohrana izbornika,pohrana,skriven,oznake,nedavni dokumenti,brzi preglednik,izbornik preglednika,izbornik,ikone,popločeno,apleti,naglašavanje,rukovanje,uvećane ikone
+Keywords[hu]=Kicker,panel,kpanel,feladatlista,start menü,indítómenü,indítósáv,hely,méret,automatikus elrejtés,elrejtés,gombok,animáció,háttér,témák,menügyorstár,gyorstár,rejtett,K menü,könyvjelzők,legutóbbi dokumentumok,gyorsböngésző,böngészőmenü,menü,ikonok,mozaikszerű,kisalkalmazások,indulás,kiemelés,fogantyúk,nagyítóikonok
+Keywords[is]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,trusted applets,security level
+Keywords[it]=kicker,pannello,kpanel,barra delle applicazioni,taskbar,startbar,launchbar,barra di avvio,posizione,dimensione,scomparsa automatica,pulsanti,animazione,sfondo,temi,cache dei menu,nascosto,Menu K,segnalibri,documenti recenti,browser veloce,menu,icone,piastrelle,applet,avvio,evidenziazione,maniglie,ingrandimento icone
+Keywords[ja]=kicker,パネル,kpanel,タスクバー,スタートバー,ラウンチバー,場所,サイズ,自動的に隠す,隠す,ボタン,アニメーション,背景,テーマ,メニューキャッシュ,キャッシュ,隠れた,Kメニュー,ブックマーク,最近のドキュメント,クイックブラウザ,ブラウザメニュー,メニュー,アイコン,タイル,アプレット,スタートアップ,ハイライト,ハンドル,アイコンのズーム
+Keywords[km]=kicker,បន្ទះ,kpanel,របារ​ភារកិច្ច,របារ​បើក​ដំណើរការ,ទីតាំង,ទំហំ,លាក់​ស្វ័យប្រវត្តិ,លាក់,ប៊ូតុង,ចលនា,ផ្ទៃ​ខាង​ក្រោយ,ស្បែក,ឃ្លាំង​សម្ងាត់​ម៉ឺនុយ,ឃ្លាំង​សម្ងាត់,លាក់,ម៉ឺនុយ K,កន្លែង​ចំណាំ,ឯកសារ​ថ្មីៗ​នេះ,កម្មវិធី​រុករក​រហ័ស,ម៉ឺនុយ​កម្មវិធី​រុករក,ម៉ឺនុយ,រូបតំណាង,ក្បឿង,អាប់ភ្លេត,ចាប់ផ្ដើម,បន្លិច,ប្រើ,រូបតំណាង​ពង្រីក
+Keywords[lt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,skydelis,kskydelis,užduočių juosta,paleidimo juosta,slėpti,mygtukai,animacija,fonas,temos,meniu atmintinė,atmintinė,paslėptas,žymelės,neseniai naudoti dokumentai,peržiūra,meniu,ženkliukai,perdengti,įskiepiai,paleistis,pažymėti,rankenėlės,išdidinti ženkliukus
+Keywords[lv]=kicker,panelis,kpanel,uzdevumjosla,startbar,launchbar,location,size,izmērs,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,grāmatzīmes,recent documents,quickbrowser,browser menu,izvēlne,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[mk]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,панел,лента со програми,локација,големина,авто криење,криење,копчиња,анимација,подлога,позадина,теми,кеш на менито,кеш,скриен,K-Мени,обележувачи, последни документи,брз прелистувач,мени за прелистувачи,мени,икони,плочки,аплети,рачки,зумирање на икони
+Keywords[mt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,favoriti,pannell,post,daqs,lokazzjoni,ħabi,animazzjoni,buttuni
+Keywords[nb]=kicker,panel,kpanel,oppgavelinje,startlinje,plassering,størrelse, autoskjul,skjul,knapper,animasjon,bakgrunn,temaer,mellomlager for temaer, mellomlager,skjult,K-meny,bokmerker,nylig brukte dokumenter,hurtigviser, katalogmeny,meny,ikoner,fliser,miniprogrammer,panelprogrammer,oppstart, uthev,håndtak,forstørring av ikoner
+Keywords[nds]=Kicker,Paneel,kpanel,Taskbalken,Programmbalken,Startbalken,Adress,Grött,automaatsch versteken,versteken,Knööp,Knoop,Knööp,Animatschoon,Achtergrund,Muster,Menü-Twischenspieker,Twischenspieker,versteken,K-Menü,Leesteken,leste Dokmenten,Fixkieker,Nettkieker-Menü,Menü,Lüttbiller,Titel,Programmen,starten,markeren,handles,Grepen,Lüttbiller grötter maken
+Keywords[ne]=किकर, प्यानल, के प्यानल, कार्यपट्टी, सुरुपट्टी, सुरुआतपट्टी, स्थान, आकार, स्वत: लुकाउने, लुकाउनुहोस्, बटनहरू, एनिमेसन, पृष्ठभूमि, विषयवस्तुहरू, मेनु क्यास, क्यास, लुकेको, के-मेनु, पुस्तकचिनोहरू, हालको कागजातहरू, छिटो ब्राउजर, ब्राउजर मेनु, मेनु, प्रतिमा, टायलहरू, एप्लेटहरू, सुरु, हाइलाइट, ह्यान्डल गर्दछ, जुम प्रतिमा
+Keywords[nl]=kicker,paneel,kpanel,taakbalk,takenbalk,startbalk,startmenu,applicatie starter,locatie,afmeting,terminaltoepassing,auto hide,automatisch verbergen,verbergen,invouwen,knoppen,animatie,achtergrond,thema's,menu cache,cache,verborgen,K-Menu,bookmarks,bladwijzers,recente documenten,quickbrowser,browser menu,menu,icons,icoon,iconen,pictogrammen,tegels,tiles,applets,opstarten,highlight,accentuering,handles,zoomen,knoppen,handvatten,betrouwbare applets,security level,beveiligingsniveau
+Keywords[nn]=Kicker,panel,KPanel,oppgåvelinje,oppstartslinje,plassering,storleik,autogøym,gøym,knappar,animasjon,bakgrunn,tema,menymellomlager,mellomlager,gøymd,K-meny,bokmerke,nyleg bruka dokument,snøgglesar,katalogmeny,meny,ikon,brikker,applet,panelprogram,oppstart,merking,handtak,forstørring av ikon
+Keywords[pa]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons, ਪੈਨਲ, ਟਿਕਾਣਾ, ਬਰਾਊਜ਼ਰ, ਝਲਾਕਰਾ, ਕੈਂਚੇ, ਕੇ-ਮੇਨੂ, ਬੁੱਕਮਾਰਕ, ਤਾਜ਼ਾ, ਉਘੜੇ, ਹੈਂਡਲ, ਬਟਨ, ਸਰੂਪ, ਮੇਨੂ, ਓਹਲੇ, ਅਕਾਰ
+Keywords[pl]=kicker,panel,kpanel,pasek zadań,pasek startu,pasek uruchamiania,położenie,rozmiar,automatyczne ukrywanie,ukryj,przyciski,animacja,tło,motywy,bufor (cache) menu,bufor,cache,ukryty,K-Menu,zakładki,ostatnie dokumenty,szybkie przeglądanie,menu,ikony,kafelkowane,programiki,uruchomienie,podświetlanie,uchwyty,powiększanie ikon
+Keywords[pt]=kicker,painel,kpanel,barra de tarefas,barra de início,barra de lançamento,localização,tamanho,auto-esconder,esconder,botões,animação,fundo,temas,'cache' de menu,'cache',escondido,menu K,favoritos,documentos recentes,navegador rápido,menu de navegação,menu,ícones,mosaicos,'applets',inicio,realce,pegas,ícones aumentados
+Keywords[pt_BR]=kicker,painel,kpanel,barra de tarefas,lançar aplicativos,localização,tamanho,auto-ocultar,esconder,botões, animação,fundo,temas,cache de menu,cache,escondido,Menu K,favoritos,documentos recentes,navegador rápido, menu do navegador,menu,ícones,títulos,mini-aplicativos,iniciar,realçar, manipuladores, ícones de ampliação
+Keywords[ro]=kicker,panou,kpanel,bară de procese,bară de start,pornire,lansare,mărime,locație,ascundere automată,butoane,animație,fundal,tematică,meniu K,semne de carte,documente recente,navigator rapid,meniu navigare,meniu,iconițe,mozaic,miniaplicații,evidențiere,scalare
+Keywords[rw]=igitera,umwanya,k-umwanya,umurongogutangira,umurongogutangiza,indangahantu,ingano,kwihisha,guhisha,buto,iyega,mbuganyuma,insanganyamatsiko,ubwihisho bw'ibikubiyemo,ubwihisho,bihishe,K-Ibikubiyemo,utumenyetso,inyandiko zigezweho,mucukumbuzi yihuta,ibikubiyemo bya mucukumbuzi,ibikubiyemo,udushushondanga,udukaro,apuleti,gutangira,gushimangira,ibifashi,udushushondanga guhindura-ingano
+Keywords[se]=kicker,panela,kpanel,bargoholga,álggahanholga,báiki,sturrodat,autočiega,čiehkadit,boalut,animašuvdna,duogáš,fáddá,fálločiehkárájus,čiehkárájus,K-fállu,girjemearkkat,aiddo geavahuvvon dokumeantta,ohcofállu,fállu,govažat,prográmmažat,álggaheapmi,merken,geavjjat,luohttehahtti prográmmažat,sihkkarvuohtadássi
+Keywords[sk]=kicker,panel,kpanel,taskbar,startbar,launchbar,miesto,umiestnenie,veľkosť,terminálová aplikácia,skrývanie,automatické skrývanie,tlačidlá,animácia,pozadie,témy,cache,cache ponuky,skryté,K-Menu,záložky,posledné dokumenty,rýchly prehliadač,ponuka prehliadača,menu,ikony,applety,štart,zvýraznenie,handles,zväčšovanie ikon,overené applety,úroveň zabezpečenia
+Keywords[sl]=kicker,pult,kpanel,opravilna vrstica,zagonska vrstica,mesto,lokacija,velikost,terminalski program,skrij,samodejno skrivanje,skrivanje,gumbi,animacija,ozadje,teme,menijski predpomnilnik,predpomnilnik,skrit,K-Menu,zaznamki,nedavni dokumenti,hitro brskanje,brskalni meni,meni,tlakovci,ikone,vstavki,zagon,osvetlitev,ročice,ikone za povečavo
+Keywords[sr]=kicker,панел,kpanel,трака задатака,startbar,launchbar,локација,величина,Терминалски програм,аутоматско сакривање,сакривање,дугмићи,анимација,позадина,теме,мени кеш,кеш,скривен,K-Menu,маркери,скори документи,брзи прегледач,мени прегледача,мени,иконе,блокови,апплети,startup,истицање,хватаљке,увеличавање икона,аплети којима се верује,ниво безбедности
+Keywords[sr@Latn]=kicker,panel,kpanel,traka zadataka,startbar,launchbar,lokacija,veličina,Terminalski program,automatsko sakrivanje,sakrivanje,dugmići,animacija,pozadina,teme,meni keš,keš,skriven,K-Menu,markeri,skori dokumenti,brzi pregledač,meni pregledača,meni,ikone,blokovi,appleti,startup,isticanje,hvataljke,uveličavanje ikona,apleti kojima se veruje,nivo bezbednosti
+Keywords[sv]=kicker,panel,k-panel,aktivitetsfält,startfält,körningsfält,plats,storlek,dölj automatiskt,dölj,göm,knappar,animering,bakgrund,teman,menycache,cache,gömd,dold,K-meny,bokmärken,senaste dokument,snabbläddrare,bläddringsmeny,meny,ikoner,miniprogram,start,framhäv,grepp,zoomikoner
+Keywords[ta]=கிக்கர், பானல், கேபானல்,துவக்கப்பட்டி, துவங்கும்பட்டி,இடம்,அளவு, சத்தம் மறை, மறை,பட்டன், உயிர்சித்திரம்,பின்னனி,கருப்பொருள், தற்காலிக மெனு, மறைந்த,கே-மெனு,புத்தககுறிகள், தற்போதைய ஆவணம். வேக உலாவி, உலாவி மெனு, மெனு, சின்னம், சிறுநிரல், துவக்கம், கையாள், பெரிதாக்கும் சின்னங்கள்
+Keywords[th]=kicker,พาเนล,kpanel,taskbar,startbar,แถบเรียกโปรแกรม,ที่ตั้ง,ขนาด,ซ่อนอัตโนมัติ ,ซ่อน,ปุ่ม,อนิเมชั่น,พื้นหลัง,ชุดตกแต่ง,แคชของเมนู,แคช,ถูกซ่อน,K-Menu,ที่คั่นหน้า,เอกสารที่เพิ่งเปิดไป,quickbrowser,เมนูของบราวเซอร์,เมนู,ไอคอน,พื้นผิว,applets,startup,highlight,handles,ซูมไอคอน
+Keywords[tr]=kicker,panel,kpanel,görev çubuğu,başlangıç çubuğu,başlat çubuğu,konum,boyut,Uç birim uygulaması,otomatik gizle,gizle,tuşlar,animasyon,artalan,temalar,menü ön belleği,ön bellek,gizli,K-Menu,yer imleri,en son kullanılan belgeler,hızlı gözatıcı,göz atıcı menüsü,menü,simgeler,karo,programcıklar,Başlangıç,belirt,tutamaçlar,büyüyen simgeler,güvenilen programcıklar,güvenlik düzeyi
+Keywords[tt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser saylaq,saylaq,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[uk]=kicker,панель,смужка задач,kpanel,смужка запуску,розташування,розмір,консольна програма,автоматичне згортання,згортання,кнопки,анімація,тло,теми,кеш меню,кеш,схований,К-Меню,закладки,недавні документи,швидка навігація,меню навігатора,меню,піктограми,заголовки,аплети,запуск,підсвічування,маніпулятор,масштабування піктограм
+Keywords[uz]=panel,vazifalar paneli,bekitish,avto-bekitish,tugmalar,animatsiya,orqa fon,mavzular,K-menyu,kesh,yashirilgan,xatchoʻplar,yaqinda ochilgan hujjatlar,tez koʻruvchi,brauzer menyusi,menyuning keshi,menyu,nishonchalar,appletlar,nishonchalarni kattalashtirish,oʻlcham,kicker,kpanel,startbar,launchbar,joylashishi,tiles,startup,highlight,handles
+Keywords[uz@cyrillic]=панел,вазифалар панели,бекитиш,авто-бекитиш,тугмалар,анимация,орқа фон,мавзулар,К-меню,кэш,яширилган,хатчўплар,яқинда очилган ҳужжатлар,тез кўрувчи,браузер менюси,менюнинг кэши,меню,нишончалар,апплетлар,нишончаларни катталаштириш,ўлчам,kicker,kpanel,startbar,launchbar,жойлашиши,tiles,startup,highlight,handles
+Keywords[vi]=kích hoạt,bảng điều khiển,kpanel,thanh tác vụ,thanh khởi động,thanh phóng,vị trí,kích cỡ,tự ẩn,ẩn,nút,hoạt hình,mảnh nền,sắc thái,thực đơn đệm,đệm,giấu,Thực đơn K,số lưu liên kết,tài liệu gần đây,duyệt nhanh,thực đơn duyệt,thực đơn,biểu tượng,tiêu đề,tiểu ứng dụng,khởi động,nổi bật,cầm nắm,biểu tượng phóng đại,ứng dụng đáng tin,mức độ an ninh
+Keywords[wa]=kicker,panel,sicriftôr,scriftôr,kpanel,taskbar,bår des bouyes,startbar,launchbar,bår d' enondaedje,plaece,grandeu,catche tot seu,catchî,botons,animåvion,fond,tinmes,muchete menu,muchete,K-Menu,rimåkes,documints nén vî,betchteu rade,dresseŷe do betchteu,dressêye,menu,imådjetes,applets,apliketes,enonde tot seu,highlight,handles,zooming icons,zoumer les imådjetes
+Keywords[zh_CN]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons面板,任务栏,启动栏,位置,大小,自动隐藏,隐藏,按钮,动画,背景,主题,菜单缓存,缓存,书签,最近文档,快速浏览器,浏览器菜单,菜单,图标,平铺,启动,突出,句柄,缩放图标
+Keywords[zh_TW]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,面板,工作列,啟動列,快捷列,位置,大小,自動隱藏,隱藏,按鈕,動畫,背景,佈景主題,選單快取,快取,隱藏,K-選單,書籤,最近開啟的文件,快速瀏覽,瀏覽選單,選單,圖示,小圖塊,應用程式,啟動,高亮度,處理,縮放圖示
diff --git a/kcontrol/kicker/kicker_config_hiding.desktop b/kcontrol/kicker/kicker_config_hiding.desktop
new file mode 100644
index 000000000..60c040264
--- /dev/null
+++ b/kcontrol/kicker/kicker_config_hiding.desktop
@@ -0,0 +1,202 @@
+[Desktop Entry]
+Icon=kcmkicker
+Type=Application
+DocPath=kcontrol/panel/index.html#panel-hiding
+Exec=kcmshell kicker_hiding
+
+X-KDE-Library=kicker
+X-KDE-FactoryName=kicker_hiding
+X-KDE-ParentApp=kicker
+
+Name=Hiding
+Name[af]=Wegsteking
+Name[ar]=الإخفاء
+Name[be]=Хаванне
+Name[bg]=Скриване
+Name[bn]=লুকানো
+Name[br]=K&uzhat
+Name[bs]=Skrivanje
+Name[ca]=Ocultació
+Name[cs]=Skrývání
+Name[csb]=Tacenié
+Name[da]=Skjul
+Name[de]=Ausblenden
+Name[el]=Απόκρυψη
+Name[eo]=Kaŝanta
+Name[es]=Ocultar
+Name[et]=Peitmine
+Name[eu]=Ezkutatzea
+Name[fa]=مخفی کردن
+Name[fi]=Piilotus
+Name[fr]=Masquage
+Name[fy]=Ferstopwize
+Name[ga]=Folach
+Name[gl]=Ocultamento
+Name[he]=הסתרה
+Name[hr]=Skrivanje
+Name[hu]=Elrejtés
+Name[is]=Felun
+Name[it]=Scomparsa
+Name[ja]=隠す
+Name[ka]=დამალვა
+Name[kk]=Жасыру
+Name[km]=ការ​លាក់
+Name[lt]=Slėpimas
+Name[mk]=Криење
+Name[ms]=Penyembunyian
+Name[nb]=Skjuling
+Name[nds]=Versteken
+Name[ne]=लुकाइ
+Name[nl]=Verbergwijze
+Name[nn]=Gøyming
+Name[pa]=ਓਹਲੇ
+Name[pl]=Ukrywanie
+Name[pt]=Esconder
+Name[pt_BR]=Ocultação
+Name[ro]=Ascundere
+Name[ru]=Скрытие панели
+Name[rw]=Guhisha
+Name[se]=Čiehkadeapmi
+Name[sk]=Skrytie
+Name[sl]=Skrivanje
+Name[sr]=Скривање
+Name[sr@Latn]=Skrivanje
+Name[sv]=Dölj
+Name[ta]=மறைத்தல்
+Name[te]=దాగిన
+Name[tg]=Пинҳонӣ
+Name[th]=ซ่อน
+Name[tr]=Gizlenme
+Name[tt]=Yäşerü
+Name[uk]=Приховування
+Name[uz]=Bekitish
+Name[uz@cyrillic]=Бекитиш
+Name[vi]=Giấu
+Name[wa]=Catchî
+Name[zh_CN]=隐藏
+Name[zh_TW]=隱藏
+Comment=You can configure the hiding of the panel here
+Comment[af]=Jy kan die wegsteek van die paneel hier opstel
+Comment[ar]=هنا يمكنك إعداد إخفاء اللوح
+Comment[be]=Тут вы можаце змяніць рэжым хавання панэлі
+Comment[bg]=Настройване скриването на системния панел
+Comment[bn]=আপনি এখানে প্যানেল লুকানো এবং দেখানোর নিয়মাবলী নির্দিষ্ট করতে পারেন
+Comment[bs]=Ovdje možete podesiti sakrivanje panela
+Comment[ca]=Aquí podeu configurar l'ocultació del plafó
+Comment[cs]=Zde je možné nastavit skrývání panelu
+Comment[csb]=Tuwò je mòżno nastôwic tacenié panelu
+Comment[da]=Her kan du indstille at skjule panelet
+Comment[de]=Hier können Sie Einstellungen zum Ausblenden der Kontrollleiste vornehmen
+Comment[el]=Εδώ μπορείτε να ρυθμίσετε την απόκρυψη του πίνακα
+Comment[eo]=Ĉi tie vi povas agordi la kaŝon de la panelo
+Comment[es]=Aquí puede configurar el que el panel se oculte.
+Comment[et]=Siin saad seadistada paneeli peitmist
+Comment[eu]=Panela ezkutatzea konfigura dezakezu hemen
+Comment[fa]=می‌توانید مخفی‌کردن تابلو را اینجا پیکربندی کنید
+Comment[fi]=Voit muokata paneelin piilottamista tässä
+Comment[fr]=Configuration du masquage du tableau de bord
+Comment[fy]=Jo kinne hjir de wize fan ferstopjen fan in paniel ynstelle
+Comment[gl]=Pode configurar aqui o ocultamento do painel
+Comment[he]=באפשרותך לשנות את ההסתרה של הלוח כאן
+Comment[hr]=Konfiguriranje skrivanja ploče
+Comment[hu]=Itt lehet beállítani a panel elrejtését
+Comment[is]=Hér getur þú stillt felunarham spjaldsins
+Comment[it]=Configura qui la scomparsa del pannello
+Comment[ja]=ここでパネルを隠す方法を設定します
+Comment[ka]=აქ შეგიძლიათ პანელის დამალვის მითითება
+Comment[kk]=Панельді жасыруын баптау
+Comment[km]=នៅ​ទីនេះ អ្នក​អាច​កំណត់​រចនាសម្ព័ន្ធ​លាក់​បន្ទះ
+Comment[ko]=데스크톱의 행동 설정
+Comment[lt]=Čia galite konfigūruoti pulto slėpimą
+Comment[mk]=Тука може да го конфигурирате криењето на панелот
+Comment[ms]=Anda boleh konfigur penyembunyian panel di sini
+Comment[nb]=Her kan du sette opp hvordan panelet skal skjules
+Comment[nds]=Hier kannst Du dat Utblenn-Bedregen vun't Paneel instellen
+Comment[ne]=तपाईँले यहाँ प्यानलको लुकाइ कन्फिगर गर्न सक्नुहुन्छ
+Comment[nl]=U kunt hier de verbergwijze van het paneel instellen
+Comment[nn]=Her kan du velja korleis panelet skal gøymast.
+Comment[pa]=ਤੁਸੀਂ ਪੈਨਲ ਨੂੰ ਓਹਲੇ ਰੱਖਣ ਦੀ ਸੰਰਚਨਾ ਇੱਥੇ ਕਰ ਸਕਦੇ ਹੋ
+Comment[pl]=Tutaj można skonfigurować ukrywanie panelu
+Comment[pt]=Pode configurar a forma como o painel se esconde aqui
+Comment[pt_BR]=Você pode configurar a ocultação do painel aqui
+Comment[ro]=Aici puteți configura modul de ascundere al panoului KDE
+Comment[ru]=Настройка скрытия панели
+Comment[rw]=Ushobora kuboneza uguhisha k'umwanya hano
+Comment[se]=Dáppe sáhtát heivehit panela čiehkadeami
+Comment[sk]=Tu mnôžte nastaviť skrývanie panelu.
+Comment[sl]=Tu lahko nastavite skrivanje pulta
+Comment[sr]=Овде можете подесити скривање панела
+Comment[sr@Latn]=Ovde možete podesiti skrivanje panela
+Comment[sv]=Du kan anpassa när panelen döljs här
+Comment[ta]=பலகத்தின் மறைப்பை இங்கே வடிவமைக்க முடியும்
+Comment[tg]=Шумо метавонед пинҳоншавии пайраҳа дар ин ҷо танзим кунед
+Comment[th]=คุณสามารถปรับแต่งการซ่อนถาดพาเนลได้ที่นี่
+Comment[tr]=Panelin gizlenmesini buradan yapılandırabilirsiniz
+Comment[tt]=Taqtanıñ yäşerelüen caylaw urını
+Comment[uk]=Тут можна налаштувати приховування панелі
+Comment[uz]=Bu yerda panelni bekitishni moslash mumkin
+Comment[uz@cyrillic]=Бу ерда панелни бекитишни мослаш мумкин
+Comment[vi]=Bạn có thể cấu hình việc giấu các bảng điều khiển ở đây
+Comment[wa]=Vos ploz apontyî chal comint catchî l' sicriftôr
+Comment[zh_CN]=您可以在这里配置面板的隐藏
+Comment[zh_TW]=您可以在此設定面板是否隱藏
+Keywords=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[be]=Панэль,Панэль заданняў,Панэль стартавання,Размяшчэнне,Пазіцыя,Памер,Аўтаматычна хаваць,Хаваць,Кнопкі,Анімацыя,Фон,Тэмы,Кэш меню,Кэш,Схаваная,Схаваць,Меню KDE,Закладкі,Ранейшыя,Нядаўнія,Дакументы,Хуткі прагляд,Меню вандроўніка,Меню вандравання,Меню,Значкі,Аплеты,Запуск,Падсвятленне,Апрацоўка,Апрацоўшчык,Маштабаванне значак,kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[bg]=системен, панел, подредба, подравняване, kicker, panel, kpanel, taskbar, startbar, launchbar, location, size, auto hide, hide, buttons, animation, background, themes, menu cache, cache, hidden, K-Menu, bookmarks, recent documents, quickbrowser, browser menu, menu, icons, tiles, applets, startup, highlight, handles, zooming icons
+Keywords[bs]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,veličina,automatsko sakrivanje,sakrivanje,dugmad,animacija,pozadina,teme,keš menija,meni,keš,skriven,zabilješke,skorašnji dokumenti,meni browsera,meni preglednika,ikone,appleti,pokretanje,uvećavanje
+Keywords[ca]=kicker,plafó,kpanel,barra de tasques,barra d'inici,barra de llançament,localització,mida,auto oculta,oculta,botons,animació,temes,fons,cau del menú,cau,ocult,Menú K,punts,documents recents,navegació ràpida,menú de navegació,menú,icones,mosaics,aplets,arrencada,ressaltat,nanses,ampliar les icones
+Keywords[cs]=kicker,panel,kpanel,pruh úloh,lišta úloh,umístění, velikost,skrývání,automatické skrývání,tlačítka,animace,pozadí, motivy,nabídka,menu,záložky,nedávné dokumenty,rychlé prohlížení, ikony,dlaždice,applety,spuštění,zvýraznění,úchytky,zvětšování ikon
+Keywords[csb]=kicker,panel,kpanel,lëstëw zadaniów,sztartowô lëstëw,lëstëw zrëszaniô,pòłożenié,miara,aùtomatno tacënié,tacë,knąpë,animacëjô,spódk,spòdlé,témë,cache menu,cache,zatacony,K-Menu,załóżczi,slédny dokùmentë,chùtczé przezéranié,menu,ikònë,kafelkòwané,programiczi,zrëszanié,pòdskrzënianié,ùchwëtë,zwikszanié ikònów
+Keywords[cy]=ciciwr,kicker,panel,kpanel,bar tasgau,bar cychwyn,bar lansio,lleoliad,maint,awto-guddio,hunan-guddio,cuddio,botymau,animeiddiad,cefndir,themâu,storfa dewislen, storfa,cache,celc,cudd,K-Menu,nodau tudalen,dogfenni diweddar,porydd cyflym,dewislen porydd,dewislen,eiconau,teiliau,rhaglenigion,ymcychwyn,amlygu,carnau,eiconau chwyddo
+Keywords[da]=kicker,panel,kpanel,opgavelinje,startlinje,sted,størrelse,autogem,gem,knapper,animering,baggrund,temaer,menucache,cache,skjult,K-Menu,bogmærker,nylige dokumenter,hurtigsøger,søgemenu,menu,ikoner,fliser,panelprogrammer,opstart,markér,håndterer,ikoner
+Keywords[de]=Kicker,Panel,Taskbar,Kontrollleiste,Startleiste,Klickstartleiste,Fensterleiste,Autom. ausblenden,Ausblenden, Knöpfe,Animation,Hintergründe,Stile,Design,Themes,Menü-Zwischenspeicher, K-Menü,Zwischenspeicher,Lesezeichen,Zuletzt geöffnete Dateien, Schnellanzeiger,Menüs,Symbole,Icons,Kacheln,Applets,Miniprogramme, Java-Miniprogramme,Hervorhebung,Anfasser,Sicherheitsstufen,Zoom für Symbole
+Keywords[el]=kicker,πίνακας,kpanel,γραμμή εργασιών,γραμμή έναρξης,γραμμή εκκίνησης,τοποθεσία,μέγεθος,αυτόματη απόκρυψη,απόκρυψη,κουμπιά,εφέ κίνησης,φόντο,θέματα,λανθάνουσα μνήμη μενού,λανθάνουσα μνήμη,κρυφό, K-Μενού,σελιδοδείκτες,πρόσφατα έγγραφα,γρήγορος εξερευνητής,μενού εξερευνητή,μενού,εικονίδια,tiles,μικροεφαρμογές,έναρξη,τονισμός,χειριστήρια, μεγέθυνση εικονιδίων
+Keywords[eo]=lanĉilo,panelo,tasklistelo,situo,grandeco,aŭtokaŝo,kaŝo,butono,fono,etoso,menubufro,K-Menuo,legosigno,lasta dokumento,rapidrigardilo,rigardmenuo,piktogramo,kahelo,aplikaĵo,lanĉo,emfazo,teniloj,pligrandigo,fidindaj aplikaĵetoj,sekurecnivelo
+Keywords[es]=kicker,panel,kpanel,barra de tareas,barra de inicio,barra de lanzamiento,dirección,tamaño,auto ocultar,ocultar,botones,animación,fondo,temas,caché de menú,caché,oculto,Menú K,marcadores,documentos recientes,navegador rápido,menú navegador,menú,iconos,mosaicos,miniaplicaciones,arranque,resaltado,asas,iconos ampliados
+Keywords[et]=kicker,paneel,kpanel,tegumiriba,käivitusriba,asukoht,suurus,terminal,automaatne peitmine,peitmine,nupud,animatsioon,taust,teemad,menüü vahemälu,vahemälu,peidetud,K-menüü,järjehoidjad,viimati kasutatud dokumendid, kiirbrauser,lehitsemise menüü,menüü,ikoonid,apletid,käivitamine,esiletõstmine,piirded,ikoonide suurendamine,usaldusväärsed apletid,turvatase
+Keywords[eu]=kicker,panela,kpanela,ataza-barra,hasiera-barra,abiarazte-barra,kokapena, neurria,auto ezkutatu,ezkutatu,botoiak,animazioa,atzeko planoa, gaiak,menu-katxea,katxea,ezkutatu,K-menua,laster-markak,oraintsuko dokumentuak, arakatzaile bizkorra,arakatzaile menua,menua,ikonoak,baldosak,appletak,abiatu,nabarmendu,heldulekuak,zooming icons
+Keywords[fa]=kicker، تابلو، kpanel، میله‌ تکلیف، میله آغاز، میله راه‌انداز، محل، اندازه، مخفی کردن خودکار، مخفی کردن، دکمه‌ها، پویانمایی، زمینه، چهره‌ها، نهانگاه گزینگان، نهانگاه، مخفی، گزینگان K، چوب ‌الفها، سندهای اخیر، مرورگر سریع، گزینگان، مرورگر، شمایلها، کاشیها، برنامکها، راه‌اندازی، مشخص، گرداننده‌ها، بزرگ‌نمایی شمایلها
+Keywords[fi]=kicker,paneeli,kpanel,tehtäväpalkki,käynnistyspalkki,paikka,koko,automaattipiilotus,piilotus,napit,animaatio,tausta,teemat,valikkovälimuisti,välimuisti,K-valikko,kirjanmerkit,viimeaikaiset asiakirjat,pikaselain,selausvalikko,valikko,kuvakkeet,sovelmat,käynnistys,korostus,kahvat,kuvakkeiden suurennus
+Keywords[fr]=kicker,tableau de bord,barre du bas,barre des tâches,barre de démarrage,barre de lancement,emplacement,taille,auto-masquage,cacher,masquer,boutons,animation,fond,arrière-plan,thème,cache de menu,cache,caché,menu K,K,signets,documents récents,document récent,navigateur rapide,navigateur,menu,icône,mosaïque,applet,démarrage,surbrillance,poignée,poignées,zoom,zoom sur les icônes
+Keywords[fy]=kicker,paniel,kpanel,taakbalke,takebalke,Startbalke,startmenu,applikaasje begjinner,lokaasje,ôfmjiting,terminaltapassing,auto hide,automatysk ferstopje,ferstopje,Ynklappe,knoppen,animaasje,eftergrûn,tema's,menu lyts ûnthâld,lyts ûnthâld,ferstoppe,K-Menu,bookmarks,blêdwizers,resinte dokuminten,quickbrowser,browser menu,menu,icons,ikoan,ikoanen,tegels,tiles,applets,begjinne,opljochtsje,handles,zoomen,knoppen,hanfetten,betroubere applets,feiligens nivo
+Keywords[gl]=kicker,painel,kpanel,barra de tarefas,barra de comezo,barra de lanzamento,localización,tamaño,auto agochamento,agochamento,botóns,animación,fondo,temas,cache de menú,caché,oculto,Menú K,marcadores,derradeiros documentos,navegador rápido,menú de navegación,menú,iconas,apliques,início,resaltado,xestión,aumento de iconas
+Keywords[he]=kicker, לוח, kpanel, שורת משימות, שורת הרצה, מיקום, גודל, הסתרה אוטומטית, הסתר, אנימציה, רקע, ערכות, תפריט, מטמון, מוסתר, תפריט K, מועדפים, מסמכים אחרונים, דפדוף מהיר, תפריט, סימנים, סמלים, כותרות, יישומונים, אתחול, הדגשה, ידיות, הגדלת סמלים, taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons, panel
+Keywords[hi]=किकर,फलक,के-पेनल,कार्यपट्टी,प्रारंभपट्टी,चालकपट्टी,स्थान,आकार,स्वतः छुपें,छुपें,बटन्स,एनिमेशन,पृष्ठभूमि,प्रसंग,मेनू कैश,कैश,छुपा,के-मेन्यू,पसंद,हाल ही के दस्तावेज़,क्विक-ब्राउज़र,ब्राउज़र मेन्यू,मेन्यू,प्रतीक,टाइल्स,ऐप्लेट्स,स्टार्टअप,उभारना,हैंडल्स,जूमिंग प्रतीक
+Keywords[hr]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,ploča,traka zadataka,traka pokretanja,lokacija,veličina,automatsko skrivanje,skrivanje,gumbi,animacija,pozadina,teme,pohrana izbornika,pohrana,skriven,oznake,nedavni dokumenti,brzi preglednik,izbornik preglednika,izbornik,ikone,popločeno,apleti,naglašavanje,rukovanje,uvećane ikone
+Keywords[hu]=Kicker,panel,kpanel,feladatlista,start menü,indítómenü,indítósáv,hely,méret,automatikus elrejtés,elrejtés,gombok,animáció,háttér,témák,menügyorstár,gyorstár,rejtett,K menü,könyvjelzők,legutóbbi dokumentumok,gyorsböngésző,böngészőmenü,menü,ikonok,mozaikszerű,kisalkalmazások,indulás,kiemelés,fogantyúk,nagyítóikonok
+Keywords[is]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,trusted applets,security level
+Keywords[it]=kicker,pannello,kpanel,barra delle applicazioni,taskbar,startbar,launchbar,barra di avvio,posizione,dimensione,scomparsa automatica,pulsanti,animazione,sfondo,temi,cache dei menu,nascosto,Menu K,segnalibri,documenti recenti,browser veloce,menu,icone,piastrelle,applet,avvio,evidenziazione,maniglie,ingrandimento icone
+Keywords[ja]=kicker,パネル,kpanel,タスクバー,スタートバー,ラウンチバー,場所,サイズ,自動的に隠す,隠す,ボタン,アニメーション,背景,テーマ,メニューキャッシュ,キャッシュ,隠れた,Kメニュー,ブックマーク,最近のドキュメント,クイックブラウザ,ブラウザメニュー,メニュー,アイコン,タイル,アプレット,スタートアップ,ハイライト,ハンドル,アイコンのズーム
+Keywords[km]=kicker,បន្ទះ,kpanel,របារ​ភារកិច្ច,របារ​បើក​ដំណើរការ,ទីតាំង,ទំហំ,លាក់​ស្វ័យប្រវត្តិ,លាក់,ប៊ូតុង,ចលនា,ផ្ទៃ​ខាង​ក្រោយ,ស្បែក,ឃ្លាំង​សម្ងាត់​ម៉ឺនុយ,ឃ្លាំង​សម្ងាត់,លាក់,ម៉ឺនុយ K,កន្លែង​ចំណាំ,ឯកសារ​ថ្មីៗ​នេះ,កម្មវិធី​រុករក​រហ័ស,ម៉ឺនុយ​កម្មវិធី​រុករក,ម៉ឺនុយ,រូបតំណាង,ក្បឿង,អាប់ភ្លេត,ចាប់ផ្ដើម,បន្លិច,ប្រើ,រូបតំណាង​ពង្រីក
+Keywords[lt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,skydelis,kskydelis,užduočių juosta,paleidimo juosta,slėpti,mygtukai,animacija,fonas,temos,meniu atmintinė,atmintinė,paslėptas,žymelės,neseniai naudoti dokumentai,peržiūra,meniu,ženkliukai,perdengti,įskiepiai,paleistis,pažymėti,rankenėlės,išdidinti ženkliukus
+Keywords[lv]=kicker,panelis,kpanel,uzdevumjosla,startbar,launchbar,location,size,izmērs,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,grāmatzīmes,recent documents,quickbrowser,browser menu,izvēlne,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[mk]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,панел,лента со програми,локација,големина,авто криење,криење,копчиња,анимација,подлога,позадина,теми,кеш на менито,кеш,скриен,K-Мени,обележувачи, последни документи,брз прелистувач,мени за прелистувачи,мени,икони,плочки,аплети,рачки,зумирање на икони
+Keywords[mt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,favoriti,pannell,post,daqs,lokazzjoni,ħabi,animazzjoni,buttuni
+Keywords[nb]=kicker,panel,kpanel,oppgavelinje,startlinje,plassering,størrelse, autoskjul,skjul,knapper,animasjon,bakgrunn,temaer,mellomlager for temaer, mellomlager,skjult,K-meny,bokmerker,nylig brukte dokumenter,hurtigviser, katalogmeny,meny,ikoner,fliser,miniprogrammer,panelprogrammer,oppstart, uthev,håndtak,forstørring av ikoner
+Keywords[nds]=Kicker,Paneel,kpanel,Taskbalken,Programmbalken,Startbalken,Adress,Grött,automaatsch versteken,versteken,Knööp,Knoop,Knööp,Animatschoon,Achtergrund,Muster,Menü-Twischenspieker,Twischenspieker,versteken,K-Menü,Leesteken,leste Dokmenten,Fixkieker,Nettkieker-Menü,Menü,Lüttbiller,Titel,Programmen,starten,markeren,handles,Grepen,Lüttbiller grötter maken
+Keywords[ne]=किकर, प्यानल, के प्यानल, कार्यपट्टी, सुरुपट्टी, सुरुआतपट्टी, स्थान, आकार, स्वत: लुकाउने, लुकाउनुहोस्, बटनहरू, एनिमेसन, पृष्ठभूमि, विषयवस्तुहरू, मेनु क्यास, क्यास, लुकेको, के-मेनु, पुस्तकचिनोहरू, हालको कागजातहरू, छिटो ब्राउजर, ब्राउजर मेनु, मेनु, प्रतिमा, टायलहरू, एप्लेटहरू, सुरु, हाइलाइट, ह्यान्डल गर्दछ, जुम प्रतिमा
+Keywords[nl]=kicker,paneel,kpanel,taakbalk,takenbalk,startbalk,startmenu,applicatie starter,locatie,afmeting,terminaltoepassing,auto hide,automatisch verbergen,verbergen,invouwen,knoppen,animatie,achtergrond,thema's,menu cache,cache,verborgen,K-Menu,bookmarks,bladwijzers,recente documenten,quickbrowser,browser menu,menu,icons,icoon,iconen,pictogrammen,tegels,tiles,applets,opstarten,highlight,accentuering,handles,zoomen,knoppen,handvatten,betrouwbare applets,security level,beveiligingsniveau
+Keywords[nn]=Kicker,panel,KPanel,oppgåvelinje,oppstartslinje,plassering,storleik,autogøym,gøym,knappar,animasjon,bakgrunn,tema,menymellomlager,mellomlager,gøymd,K-meny,bokmerke,nyleg bruka dokument,snøgglesar,katalogmeny,meny,ikon,brikker,applet,panelprogram,oppstart,merking,handtak,forstørring av ikon
+Keywords[pa]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons, ਪੈਨਲ, ਟਿਕਾਣਾ, ਬਰਾਊਜ਼ਰ, ਝਲਾਕਰਾ, ਕੈਂਚੇ, ਕੇ-ਮੇਨੂ, ਬੁੱਕਮਾਰਕ, ਤਾਜ਼ਾ, ਉਘੜੇ, ਹੈਂਡਲ, ਬਟਨ, ਸਰੂਪ, ਮੇਨੂ, ਓਹਲੇ, ਅਕਾਰ
+Keywords[pl]=kicker,panel,kpanel,pasek zadań,pasek startu,pasek uruchamiania,położenie,rozmiar,automatyczne ukrywanie,ukryj,przyciski,animacja,tło,motywy,bufor (cache) menu,bufor,cache,ukryty,K-Menu,zakładki,ostatnie dokumenty,szybkie przeglądanie,menu,ikony,kafelkowane,programiki,uruchomienie,podświetlanie,uchwyty,powiększanie ikon
+Keywords[pt]=kicker,painel,kpanel,barra de tarefas,barra de início,barra de lançamento,localização,tamanho,auto-esconder,esconder,botões,animação,fundo,temas,'cache' de menu,'cache',escondido,menu K,favoritos,documentos recentes,navegador rápido,menu de navegação,menu,ícones,mosaicos,'applets',inicio,realce,pegas,ícones aumentados
+Keywords[pt_BR]=kicker,painel,kpanel,barra de tarefas,lançar aplicativos,localização,tamanho,auto-ocultar,esconder,botões, animação,fundo,temas,cache de menu,cache,escondido,Menu K,favoritos,documentos recentes,navegador rápido, menu do navegador,menu,ícones,títulos,mini-aplicativos,iniciar,realçar, manipuladores, ícones de ampliação
+Keywords[ro]=kicker,panou,kpanel,bară de procese,bară de start,pornire,lansare,mărime,locație,ascundere automată,butoane,animație,fundal,tematică,meniu K,semne de carte,documente recente,navigator rapid,meniu navigare,meniu,iconițe,mozaic,miniaplicații,evidențiere,scalare
+Keywords[rw]=igitera,umwanya,k-umwanya,umurongogutangira,umurongogutangiza,indangahantu,ingano,kwihisha,guhisha,buto,iyega,mbuganyuma,insanganyamatsiko,ubwihisho bw'ibikubiyemo,ubwihisho,bihishe,K-Ibikubiyemo,utumenyetso,inyandiko zigezweho,mucukumbuzi yihuta,ibikubiyemo bya mucukumbuzi,ibikubiyemo,udushushondanga,udukaro,apuleti,gutangira,gushimangira,ibifashi,udushushondanga guhindura-ingano
+Keywords[se]=kicker,panela,kpanel,bargoholga,álggahanholga,báiki,sturrodat,autočiega,čiehkadit,boalut,animašuvdna,duogáš,fáddá,fálločiehkárájus,čiehkárájus,K-fállu,girjemearkkat,aiddo geavahuvvon dokumeantta,ohcofállu,fállu,govažat,prográmmažat,álggaheapmi,merken,geavjjat,luohttehahtti prográmmažat,sihkkarvuohtadássi
+Keywords[sk]=kicker,panel,kpanel,taskbar,startbar,launchbar,miesto,umiestnenie,veľkosť,terminálová aplikácia,skrývanie,automatické skrývanie,tlačidlá,animácia,pozadie,témy,cache,cache ponuky,skryté,K-Menu,záložky,posledné dokumenty,rýchly prehliadač,ponuka prehliadača,menu,ikony,applety,štart,zvýraznenie,handles,zväčšovanie ikon,overené applety,úroveň zabezpečenia
+Keywords[sl]=kicker,pult,kpanel,opravilna vrstica,zagonska vrstica,mesto,lokacija,velikost,terminalski program,skrij,samodejno skrivanje,skrivanje,gumbi,animacija,ozadje,teme,menijski predpomnilnik,predpomnilnik,skrit,K-Menu,zaznamki,nedavni dokumenti,hitro brskanje,brskalni meni,meni,tlakovci,ikone,vstavki,zagon,osvetlitev,ročice,ikone za povečavo
+Keywords[sr]=kicker,панел,kpanel,трака задатака,startbar,launchbar,локација,величина,Терминалски програм,аутоматско сакривање,сакривање,дугмићи,анимација,позадина,теме,мени кеш,кеш,скривен,K-Menu,маркери,скори документи,брзи прегледач,мени прегледача,мени,иконе,блокови,апплети,startup,истицање,хватаљке,увеличавање икона,аплети којима се верује,ниво безбедности
+Keywords[sr@Latn]=kicker,panel,kpanel,traka zadataka,startbar,launchbar,lokacija,veličina,Terminalski program,automatsko sakrivanje,sakrivanje,dugmići,animacija,pozadina,teme,meni keš,keš,skriven,K-Menu,markeri,skori dokumenti,brzi pregledač,meni pregledača,meni,ikone,blokovi,appleti,startup,isticanje,hvataljke,uveličavanje ikona,apleti kojima se veruje,nivo bezbednosti
+Keywords[sv]=kicker,panel,k-panel,aktivitetsfält,startfält,körningsfält,plats,storlek,dölj automatiskt,dölj,göm,knappar,animering,bakgrund,teman,menycache,cache,gömd,dold,K-meny,bokmärken,senaste dokument,snabbläddrare,bläddringsmeny,meny,ikoner,miniprogram,start,framhäv,grepp,zoomikoner
+Keywords[ta]=கிக்கர், பானல், கேபானல்,துவக்கப்பட்டி, துவங்கும்பட்டி,இடம்,அளவு, சத்தம் மறை, மறை,பட்டன், உயிர்சித்திரம்,பின்னனி,கருப்பொருள், தற்காலிக மெனு, மறைந்த,கே-மெனு,புத்தககுறிகள், தற்போதைய ஆவணம். வேக உலாவி, உலாவி மெனு, மெனு, சின்னம், சிறுநிரல், துவக்கம், கையாள், பெரிதாக்கும் சின்னங்கள்
+Keywords[th]=kicker,พาเนล,kpanel,taskbar,startbar,แถบเรียกโปรแกรม,ที่ตั้ง,ขนาด,ซ่อนอัตโนมัติ ,ซ่อน,ปุ่ม,อนิเมชั่น,พื้นหลัง,ชุดตกแต่ง,แคชของเมนู,แคช,ถูกซ่อน,K-Menu,ที่คั่นหน้า,เอกสารที่เพิ่งเปิดไป,quickbrowser,เมนูของบราวเซอร์,เมนู,ไอคอน,พื้นผิว,applets,startup,highlight,handles,ซูมไอคอน
+Keywords[tr]=kicker,panel,kpanel,görev çubuğu,başlangıç çubuğu,başlat çubuğu,konum,boyut,Uç birim uygulaması,otomatik gizle,gizle,tuşlar,animasyon,artalan,temalar,menü ön belleği,ön bellek,gizli,K-Menu,yer imleri,en son kullanılan belgeler,hızlı gözatıcı,göz atıcı menüsü,menü,simgeler,karo,programcıklar,Başlangıç,belirt,tutamaçlar,büyüyen simgeler,güvenilen programcıklar,güvenlik düzeyi
+Keywords[tt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser saylaq,saylaq,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[uk]=kicker,панель,смужка задач,kpanel,смужка запуску,розташування,розмір,консольна програма,автоматичне згортання,згортання,кнопки,анімація,тло,теми,кеш меню,кеш,схований,К-Меню,закладки,недавні документи,швидка навігація,меню навігатора,меню,піктограми,заголовки,аплети,запуск,підсвічування,маніпулятор,масштабування піктограм
+Keywords[uz]=panel,vazifalar paneli,bekitish,avto-bekitish,tugmalar,animatsiya,orqa fon,mavzular,K-menyu,kesh,yashirilgan,xatchoʻplar,yaqinda ochilgan hujjatlar,tez koʻruvchi,brauzer menyusi,menyuning keshi,menyu,nishonchalar,appletlar,nishonchalarni kattalashtirish,oʻlcham,kicker,kpanel,startbar,launchbar,joylashishi,tiles,startup,highlight,handles
+Keywords[uz@cyrillic]=панел,вазифалар панели,бекитиш,авто-бекитиш,тугмалар,анимация,орқа фон,мавзулар,К-меню,кэш,яширилган,хатчўплар,яқинда очилган ҳужжатлар,тез кўрувчи,браузер менюси,менюнинг кэши,меню,нишончалар,апплетлар,нишончаларни катталаштириш,ўлчам,kicker,kpanel,startbar,launchbar,жойлашиши,tiles,startup,highlight,handles
+Keywords[vi]=kích hoạt,bảng điều khiển,kpanel,thanh tác vụ,thanh khởi động,thanh phóng,vị trí,kích cỡ,tự ẩn,ẩn,nút,hoạt hình,mảnh nền,sắc thái,thực đơn đệm,đệm,giấu,Thực đơn K,số lưu liên kết,tài liệu gần đây,duyệt nhanh,thực đơn duyệt,thực đơn,biểu tượng,tiêu đề,tiểu ứng dụng,khởi động,nổi bật,cầm nắm,biểu tượng phóng đại,ứng dụng đáng tin,mức độ an ninh
+Keywords[wa]=kicker,panel,sicriftôr,scriftôr,kpanel,taskbar,bår des bouyes,startbar,launchbar,bår d' enondaedje,plaece,grandeu,catche tot seu,catchî,botons,animåvion,fond,tinmes,muchete menu,muchete,K-Menu,rimåkes,documints nén vî,betchteu rade,dresseŷe do betchteu,dressêye,menu,imådjetes,applets,apliketes,enonde tot seu,highlight,handles,zooming icons,zoumer les imådjetes
+Keywords[zh_CN]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons面板,任务栏,启动栏,位置,大小,自动隐藏,隐藏,按钮,动画,背景,主题,菜单缓存,缓存,书签,最近文档,快速浏览器,浏览器菜单,菜单,图标,平铺,启动,突出,句柄,缩放图标
+Keywords[zh_TW]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,面板,工作列,啟動列,快捷列,位置,大小,自動隱藏,隱藏,按鈕,動畫,背景,佈景主題,選單快取,快取,隱藏,K-選單,書籤,最近開啟的文件,快速瀏覽,瀏覽選單,選單,圖示,小圖塊,應用程式,啟動,高亮度,處理,縮放圖示
diff --git a/kcontrol/kicker/kicker_config_menus.desktop b/kcontrol/kicker/kicker_config_menus.desktop
new file mode 100644
index 000000000..3dbb52d48
--- /dev/null
+++ b/kcontrol/kicker/kicker_config_menus.desktop
@@ -0,0 +1,199 @@
+[Desktop Entry]
+Icon=kcmkicker
+Type=Application
+DocPath=kcontrol/panel/index.html#panel-menus
+Exec=kcmshell kicker_menus
+
+X-KDE-Library=kicker
+X-KDE-FactoryName=kicker_menus
+X-KDE-ParentApp=kicker
+
+Name=Menus
+Name[af]=Kieslyste
+Name[ar]=القوائم
+Name[be]=Меню
+Name[bg]=Менюта
+Name[bn]=মেনু
+Name[br]=Meuziadoù
+Name[bs]=Meniji
+Name[ca]=Menús
+Name[cs]=Nabídky
+Name[csb]=Menu
+Name[da]=Menuer
+Name[de]=Menüs
+Name[el]=Μενού
+Name[eo]=Menuoj
+Name[es]=Menús
+Name[et]=Menüüd
+Name[eu]=Menuak
+Name[fa]=گزینگان
+Name[fi]=Valikot
+Name[fy]=Menu's
+Name[ga]=Roghchláir
+Name[he]=תפריטים
+Name[hr]=Izbornici
+Name[hu]=Menük
+Name[id]=Menu
+Name[is]=Valmyndir
+Name[it]=Menu
+Name[ja]=メニュー
+Name[ka]=მენიუები
+Name[kk]=Мәзірлер
+Name[km]=ម៉ឺនុយ
+Name[lt]=Meniu
+Name[mk]=Менија
+Name[ms]=Menu
+Name[nb]=Menyer
+Name[nds]=Menüs
+Name[ne]=मेनु
+Name[nl]=Menu's
+Name[nn]=Menyar
+Name[pa]=ਮੇਨੂ
+Name[pl]=Menu
+Name[ro]=Meniuri
+Name[ru]=Меню
+Name[rw]=Ibikubiyemo
+Name[se]=Fálut
+Name[sk]=Menu
+Name[sl]=Meniji
+Name[sr]=Менији
+Name[sr@Latn]=Meniji
+Name[sv]=Menyer
+Name[ta]=பட்டியல்கள்
+Name[te]=పట్టిలు
+Name[tg]=Меню
+Name[th]=เมนู
+Name[tr]=Menüler
+Name[tt]=Saylaq
+Name[uk]=Меню
+Name[uz]=Menyular
+Name[uz@cyrillic]=Менюлар
+Name[vi]=Thực đơn
+Name[wa]=Dressêyes
+Name[zh_CN]=菜单
+Name[zh_TW]=選單
+Comment=You can configure the menus of the panel here
+Comment[af]=Jy kan die kieslyste van die paneel hier opstel
+Comment[ar]=هنا يمكنك إعداد قوائم اللوح
+Comment[be]=Тут вы можаце змяніць настаўленні меню панэлі
+Comment[bg]=Настройване менютата на системния панел
+Comment[bn]=আপনি এখানে প্যানেল-এর মেনুসমূহ কনফিগার করতে পারেন
+Comment[bs]=Ovdje možete podesiti menije na panelu
+Comment[ca]=Aquí podeu configurar els menús del plafó
+Comment[cs]=Zde je možné nastavit nabídky panelu
+Comment[csb]=Tuwò je mòżno nastôwic menu panelu
+Comment[da]=Her kan du indstille panelets menuer
+Comment[de]=Hier können Sie Einstellungen für die Kontrollleiste vornehmen
+Comment[el]=Εδώ μπορείτε να ρυθμίσετε τα μενού του πίνακα
+Comment[eo]=Ĉi tie vi povas agordi la menuon de la panelo
+Comment[es]=Configuración de la apariencia del panel
+Comment[et]=Siin saad seadistada paneeli menüüsid
+Comment[eu]=Panelaren menuak konfigura ditzakezu hemen
+Comment[fa]=می‌توانید گزینگان تابلو را اینجا پیکربندی کنید
+Comment[fi]=Voit muokata paneelin valikkoja tässä
+Comment[fr]=Configuration des menus du tableau de bord
+Comment[fy]=Jo kinne hjir de menu's fan it paniel ynstelle
+Comment[gl]=Pode configurar aqui os menus do painel
+Comment[he]=באפשרותך להגדיר את התפריטים של הלוח כאן
+Comment[hr]=Konfiguriranje izbornika ploče
+Comment[hu]=Itt lehet beállítani a panel menüit
+Comment[is]=Hér getur þú stillt valmyndir spjaldsins
+Comment[it]=Configura i menu del pannello
+Comment[ja]=ここでパネルのメニューを設定します
+Comment[ka]=აქ შეგიძლიათ პანელის მენიუების გამართვა
+Comment[kk]=Панельдің мәзірін баптау
+Comment[km]=នៅ​ទីនេះ អ្នក​អាច​កំណត់​រចនាសម្ព័ន្ធម៉ឺនុយ​របស់​បន្ទះ
+Comment[ko]=데스크톱의 행동 설정
+Comment[lt]=Čia galite konfigūruoti visus pulto meniu
+Comment[mk]=Тука може да ги конфигурирате менијата на панелот
+Comment[ms]=Anda boleh konfigur menu panel di sini
+Comment[nb]=Her kan du sette opp hvordan panelmenyene skal se ut
+Comment[nds]=Hier kannst Du de Menüs vun't Paneel instellen
+Comment[ne]=तपाईँले यहाँ प्यानलको मेनु कन्फिगर गर्न सक्नुहुन्छ
+Comment[nl]=U kunt hier de menu's van het paneel instellen
+Comment[nn]=Her kan du setja opp menyane i panelet.
+Comment[pa]=ਤੁਸੀਂ ਪੈਨਲ ਮੇਨੂ ਦੀ ਸੰਰਚਨਾ ਇੱਥੇ ਕਰ ਸਕਦੇ ਹੋ
+Comment[pl]=Tutaj można skonfigurować menu panelu
+Comment[pt]=Pode configurar os menus do painel aqui
+Comment[pt_BR]=Você pode configurar os menus do painel aqui
+Comment[ro]=Aici puteți configura meniurile panoului KDE
+Comment[ru]=Настройка меню
+Comment[rw]=Ushobora kugena ibikubiyemo by'umwanya hano
+Comment[se]=Dáppe sáhtát heivehit panela fáluid
+Comment[sk]=Tu môžte nastaviť menu panelu.
+Comment[sl]=Tu lahko nastavite menije pulta
+Comment[sr]=Овде можете подесити меније панела
+Comment[sr@Latn]=Ovde možete podesiti menije panela
+Comment[sv]=Du kan anpassa panelens menyer här
+Comment[ta]=பலகத்தின் பட்டியல்களை இங்கே வடிவமைக்க முடியும்
+Comment[tg]=Шумо метавонед менюҳои панел дар ин ҷо танзим кунед
+Comment[th]=คุณสามารถปรับแต่งเมนูของถาดพาเนลได้ที่นี่
+Comment[tr]=Panelin menülerini buradan yapılandırabilirsiniz
+Comment[tt]=Taqtanıñ saylaqların caylaw urını
+Comment[uk]=Тут можна налаштувати різні меню панелі
+Comment[uz]=Bu yerda panelning menyularini moslash mumkin
+Comment[uz@cyrillic]=Бу ерда панелнинг менюларини мослаш мумкин
+Comment[vi]=Bạn có thể cấu hình thực đơn của các bảng điều khiển ở đây
+Comment[wa]=Vos ploz apontyî chal les dressêyes do scriftôr
+Comment[zh_CN]=您可以在这里配置面板的菜单
+Comment[zh_TW]=您可以在此設定面板的選單
+Keywords=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[be]=Панэль,Панэль заданняў,Панэль стартавання,Размяшчэнне,Пазіцыя,Памер,Аўтаматычна хаваць,Хаваць,Кнопкі,Анімацыя,Фон,Тэмы,Кэш меню,Кэш,Схаваная,Схаваць,Меню KDE,Закладкі,Ранейшыя,Нядаўнія,Дакументы,Хуткі прагляд,Меню вандроўніка,Меню вандравання,Меню,Значкі,Аплеты,Запуск,Падсвятленне,Апрацоўка,Апрацоўшчык,Маштабаванне значак,kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[bg]=системен, панел, подредба, подравняване, kicker, panel, kpanel, taskbar, startbar, launchbar, location, size, auto hide, hide, buttons, animation, background, themes, menu cache, cache, hidden, K-Menu, bookmarks, recent documents, quickbrowser, browser menu, menu, icons, tiles, applets, startup, highlight, handles, zooming icons
+Keywords[bs]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,veličina,automatsko sakrivanje,sakrivanje,dugmad,animacija,pozadina,teme,keš menija,meni,keš,skriven,zabilješke,skorašnji dokumenti,meni browsera,meni preglednika,ikone,appleti,pokretanje,uvećavanje
+Keywords[ca]=kicker,plafó,kpanel,barra de tasques,barra d'inici,barra de llançament,localització,mida,auto oculta,oculta,botons,animació,temes,fons,cau del menú,cau,ocult,Menú K,punts,documents recents,navegació ràpida,menú de navegació,menú,icones,mosaics,aplets,arrencada,ressaltat,nanses,ampliar les icones
+Keywords[cs]=kicker,panel,kpanel,pruh úloh,lišta úloh,umístění, velikost,skrývání,automatické skrývání,tlačítka,animace,pozadí, motivy,nabídka,menu,záložky,nedávné dokumenty,rychlé prohlížení, ikony,dlaždice,applety,spuštění,zvýraznění,úchytky,zvětšování ikon
+Keywords[csb]=kicker,panel,kpanel,lëstëw zadaniów,sztartowô lëstëw,lëstëw zrëszaniô,pòłożenié,miara,aùtomatno tacënié,tacë,knąpë,animacëjô,spódk,spòdlé,témë,cache menu,cache,zatacony,K-Menu,załóżczi,slédny dokùmentë,chùtczé przezéranié,menu,ikònë,kafelkòwané,programiczi,zrëszanié,pòdskrzënianié,ùchwëtë,zwikszanié ikònów
+Keywords[cy]=ciciwr,kicker,panel,kpanel,bar tasgau,bar cychwyn,bar lansio,lleoliad,maint,awto-guddio,hunan-guddio,cuddio,botymau,animeiddiad,cefndir,themâu,storfa dewislen, storfa,cache,celc,cudd,K-Menu,nodau tudalen,dogfenni diweddar,porydd cyflym,dewislen porydd,dewislen,eiconau,teiliau,rhaglenigion,ymcychwyn,amlygu,carnau,eiconau chwyddo
+Keywords[da]=kicker,panel,kpanel,opgavelinje,startlinje,sted,størrelse,autogem,gem,knapper,animering,baggrund,temaer,menucache,cache,skjult,K-Menu,bogmærker,nylige dokumenter,hurtigsøger,søgemenu,menu,ikoner,fliser,panelprogrammer,opstart,markér,håndterer,ikoner
+Keywords[de]=Kicker,Panel,Taskbar,Kontrollleiste,Startleiste,Klickstartleiste,Fensterleiste,Autom. ausblenden,Ausblenden, Knöpfe,Animation,Hintergründe,Stile,Design,Themes,Menü-Zwischenspeicher, K-Menü,Zwischenspeicher,Lesezeichen,Zuletzt geöffnete Dateien, Schnellanzeiger,Menüs,Symbole,Icons,Kacheln,Applets,Miniprogramme, Java-Miniprogramme,Hervorhebung,Anfasser,Sicherheitsstufen,Zoom für Symbole
+Keywords[el]=kicker,πίνακας,kpanel,γραμμή εργασιών,γραμμή έναρξης,γραμμή εκκίνησης,τοποθεσία,μέγεθος,αυτόματη απόκρυψη,απόκρυψη,κουμπιά,εφέ κίνησης,φόντο,θέματα,λανθάνουσα μνήμη μενού,λανθάνουσα μνήμη,κρυφό, K-Μενού,σελιδοδείκτες,πρόσφατα έγγραφα,γρήγορος εξερευνητής,μενού εξερευνητή,μενού,εικονίδια,tiles,μικροεφαρμογές,έναρξη,τονισμός,χειριστήρια, μεγέθυνση εικονιδίων
+Keywords[eo]=lanĉilo,panelo,tasklistelo,situo,grandeco,aŭtokaŝo,kaŝo,butono,fono,etoso,menubufro,K-Menuo,legosigno,lasta dokumento,rapidrigardilo,rigardmenuo,piktogramo,kahelo,aplikaĵo,lanĉo,emfazo,teniloj,pligrandigo,fidindaj aplikaĵetoj,sekurecnivelo
+Keywords[es]=kicker,panel,kpanel,barra de tareas,barra de inicio,barra de lanzamiento,dirección,tamaño,auto ocultar,ocultar,botones,animación,fondo,temas,caché de menú,caché,oculto,Menú K,marcadores,documentos recientes,navegador rápido,menú navegador,menú,iconos,mosaicos,miniaplicaciones,arranque,resaltado,asas,iconos ampliados
+Keywords[et]=kicker,paneel,kpanel,tegumiriba,käivitusriba,asukoht,suurus,terminal,automaatne peitmine,peitmine,nupud,animatsioon,taust,teemad,menüü vahemälu,vahemälu,peidetud,K-menüü,järjehoidjad,viimati kasutatud dokumendid, kiirbrauser,lehitsemise menüü,menüü,ikoonid,apletid,käivitamine,esiletõstmine,piirded,ikoonide suurendamine,usaldusväärsed apletid,turvatase
+Keywords[eu]=kicker,panela,kpanela,ataza-barra,hasiera-barra,abiarazte-barra,kokapena, neurria,auto ezkutatu,ezkutatu,botoiak,animazioa,atzeko planoa, gaiak,menu-katxea,katxea,ezkutatu,K-menua,laster-markak,oraintsuko dokumentuak, arakatzaile bizkorra,arakatzaile menua,menua,ikonoak,baldosak,appletak,abiatu,nabarmendu,heldulekuak,zooming icons
+Keywords[fa]=kicker، تابلو، kpanel، میله‌ تکلیف، میله آغاز، میله راه‌انداز، محل، اندازه، مخفی کردن خودکار، مخفی کردن، دکمه‌ها، پویانمایی، زمینه، چهره‌ها، نهانگاه گزینگان، نهانگاه، مخفی، گزینگان K، چوب ‌الفها، سندهای اخیر، مرورگر سریع، گزینگان، مرورگر، شمایلها، کاشیها، برنامکها، راه‌اندازی، مشخص، گرداننده‌ها، بزرگ‌نمایی شمایلها
+Keywords[fi]=kicker,paneeli,kpanel,tehtäväpalkki,käynnistyspalkki,paikka,koko,automaattipiilotus,piilotus,napit,animaatio,tausta,teemat,valikkovälimuisti,välimuisti,K-valikko,kirjanmerkit,viimeaikaiset asiakirjat,pikaselain,selausvalikko,valikko,kuvakkeet,sovelmat,käynnistys,korostus,kahvat,kuvakkeiden suurennus
+Keywords[fr]=kicker,tableau de bord,barre du bas,barre des tâches,barre de démarrage,barre de lancement,emplacement,taille,auto-masquage,cacher,masquer,boutons,animation,fond,arrière-plan,thème,cache de menu,cache,caché,menu K,K,signets,documents récents,document récent,navigateur rapide,navigateur,menu,icône,mosaïque,applet,démarrage,surbrillance,poignée,poignées,zoom,zoom sur les icônes
+Keywords[fy]=kicker,paniel,kpanel,taakbalke,takebalke,Startbalke,startmenu,applikaasje begjinner,lokaasje,ôfmjiting,terminaltapassing,auto hide,automatysk ferstopje,ferstopje,Ynklappe,knoppen,animaasje,eftergrûn,tema's,menu lyts ûnthâld,lyts ûnthâld,ferstoppe,K-Menu,bookmarks,blêdwizers,resinte dokuminten,quickbrowser,browser menu,menu,icons,ikoan,ikoanen,tegels,tiles,applets,begjinne,opljochtsje,handles,zoomen,knoppen,hanfetten,betroubere applets,feiligens nivo
+Keywords[gl]=kicker,painel,kpanel,barra de tarefas,barra de comezo,barra de lanzamento,localización,tamaño,auto agochamento,agochamento,botóns,animación,fondo,temas,cache de menú,caché,oculto,Menú K,marcadores,derradeiros documentos,navegador rápido,menú de navegación,menú,iconas,apliques,início,resaltado,xestión,aumento de iconas
+Keywords[he]=kicker, לוח, kpanel, שורת משימות, שורת הרצה, מיקום, גודל, הסתרה אוטומטית, הסתר, אנימציה, רקע, ערכות, תפריט, מטמון, מוסתר, תפריט K, מועדפים, מסמכים אחרונים, דפדוף מהיר, תפריט, סימנים, סמלים, כותרות, יישומונים, אתחול, הדגשה, ידיות, הגדלת סמלים, taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons, panel
+Keywords[hi]=किकर,फलक,के-पेनल,कार्यपट्टी,प्रारंभपट्टी,चालकपट्टी,स्थान,आकार,स्वतः छुपें,छुपें,बटन्स,एनिमेशन,पृष्ठभूमि,प्रसंग,मेनू कैश,कैश,छुपा,के-मेन्यू,पसंद,हाल ही के दस्तावेज़,क्विक-ब्राउज़र,ब्राउज़र मेन्यू,मेन्यू,प्रतीक,टाइल्स,ऐप्लेट्स,स्टार्टअप,उभारना,हैंडल्स,जूमिंग प्रतीक
+Keywords[hr]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,ploča,traka zadataka,traka pokretanja,lokacija,veličina,automatsko skrivanje,skrivanje,gumbi,animacija,pozadina,teme,pohrana izbornika,pohrana,skriven,oznake,nedavni dokumenti,brzi preglednik,izbornik preglednika,izbornik,ikone,popločeno,apleti,naglašavanje,rukovanje,uvećane ikone
+Keywords[hu]=Kicker,panel,kpanel,feladatlista,start menü,indítómenü,indítósáv,hely,méret,automatikus elrejtés,elrejtés,gombok,animáció,háttér,témák,menügyorstár,gyorstár,rejtett,K menü,könyvjelzők,legutóbbi dokumentumok,gyorsböngésző,böngészőmenü,menü,ikonok,mozaikszerű,kisalkalmazások,indulás,kiemelés,fogantyúk,nagyítóikonok
+Keywords[is]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,trusted applets,security level
+Keywords[it]=kicker,pannello,kpanel,barra delle applicazioni,taskbar,startbar,launchbar,barra di avvio,posizione,dimensione,scomparsa automatica,pulsanti,animazione,sfondo,temi,cache dei menu,nascosto,Menu K,segnalibri,documenti recenti,browser veloce,menu,icone,piastrelle,applet,avvio,evidenziazione,maniglie,ingrandimento icone
+Keywords[ja]=kicker,パネル,kpanel,タスクバー,スタートバー,ラウンチバー,場所,サイズ,自動的に隠す,隠す,ボタン,アニメーション,背景,テーマ,メニューキャッシュ,キャッシュ,隠れた,Kメニュー,ブックマーク,最近のドキュメント,クイックブラウザ,ブラウザメニュー,メニュー,アイコン,タイル,アプレット,スタートアップ,ハイライト,ハンドル,アイコンのズーム
+Keywords[km]=kicker,បន្ទះ,kpanel,របារ​ភារកិច្ច,របារ​បើក​ដំណើរការ,ទីតាំង,ទំហំ,លាក់​ស្វ័យប្រវត្តិ,លាក់,ប៊ូតុង,ចលនា,ផ្ទៃ​ខាង​ក្រោយ,ស្បែក,ឃ្លាំង​សម្ងាត់​ម៉ឺនុយ,ឃ្លាំង​សម្ងាត់,លាក់,ម៉ឺនុយ K,កន្លែង​ចំណាំ,ឯកសារ​ថ្មីៗ​នេះ,កម្មវិធី​រុករក​រហ័ស,ម៉ឺនុយ​កម្មវិធី​រុករក,ម៉ឺនុយ,រូបតំណាង,ក្បឿង,អាប់ភ្លេត,ចាប់ផ្ដើម,បន្លិច,ប្រើ,រូបតំណាង​ពង្រីក
+Keywords[lt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,skydelis,kskydelis,užduočių juosta,paleidimo juosta,slėpti,mygtukai,animacija,fonas,temos,meniu atmintinė,atmintinė,paslėptas,žymelės,neseniai naudoti dokumentai,peržiūra,meniu,ženkliukai,perdengti,įskiepiai,paleistis,pažymėti,rankenėlės,išdidinti ženkliukus
+Keywords[lv]=kicker,panelis,kpanel,uzdevumjosla,startbar,launchbar,location,size,izmērs,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,grāmatzīmes,recent documents,quickbrowser,browser menu,izvēlne,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[mk]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,панел,лента со програми,локација,големина,авто криење,криење,копчиња,анимација,подлога,позадина,теми,кеш на менито,кеш,скриен,K-Мени,обележувачи, последни документи,брз прелистувач,мени за прелистувачи,мени,икони,плочки,аплети,рачки,зумирање на икони
+Keywords[mt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,favoriti,pannell,post,daqs,lokazzjoni,ħabi,animazzjoni,buttuni
+Keywords[nb]=kicker,panel,kpanel,oppgavelinje,startlinje,plassering,størrelse, autoskjul,skjul,knapper,animasjon,bakgrunn,temaer,mellomlager for temaer, mellomlager,skjult,K-meny,bokmerker,nylig brukte dokumenter,hurtigviser, katalogmeny,meny,ikoner,fliser,miniprogrammer,panelprogrammer,oppstart, uthev,håndtak,forstørring av ikoner
+Keywords[nds]=Kicker,Paneel,kpanel,Taskbalken,Programmbalken,Startbalken,Adress,Grött,automaatsch versteken,versteken,Knööp,Knoop,Knööp,Animatschoon,Achtergrund,Muster,Menü-Twischenspieker,Twischenspieker,versteken,K-Menü,Leesteken,leste Dokmenten,Fixkieker,Nettkieker-Menü,Menü,Lüttbiller,Titel,Programmen,starten,markeren,handles,Grepen,Lüttbiller grötter maken
+Keywords[ne]=किकर, प्यानल, के प्यानल, कार्यपट्टी, सुरुपट्टी, सुरुआतपट्टी, स्थान, आकार, स्वत: लुकाउने, लुकाउनुहोस्, बटनहरू, एनिमेसन, पृष्ठभूमि, विषयवस्तुहरू, मेनु क्यास, क्यास, लुकेको, के-मेनु, पुस्तकचिनोहरू, हालको कागजातहरू, छिटो ब्राउजर, ब्राउजर मेनु, मेनु, प्रतिमा, टायलहरू, एप्लेटहरू, सुरु, हाइलाइट, ह्यान्डल गर्दछ, जुम प्रतिमा
+Keywords[nl]=kicker,paneel,kpanel,taakbalk,takenbalk,startbalk,startmenu,applicatie starter,locatie,afmeting,terminaltoepassing,auto hide,automatisch verbergen,verbergen,invouwen,knoppen,animatie,achtergrond,thema's,menu cache,cache,verborgen,K-Menu,bookmarks,bladwijzers,recente documenten,quickbrowser,browser menu,menu,icons,icoon,iconen,pictogrammen,tegels,tiles,applets,opstarten,highlight,accentuering,handles,zoomen,knoppen,handvatten,betrouwbare applets,security level,beveiligingsniveau
+Keywords[nn]=Kicker,panel,KPanel,oppgåvelinje,oppstartslinje,plassering,storleik,autogøym,gøym,knappar,animasjon,bakgrunn,tema,menymellomlager,mellomlager,gøymd,K-meny,bokmerke,nyleg bruka dokument,snøgglesar,katalogmeny,meny,ikon,brikker,applet,panelprogram,oppstart,merking,handtak,forstørring av ikon
+Keywords[pa]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons, ਪੈਨਲ, ਟਿਕਾਣਾ, ਬਰਾਊਜ਼ਰ, ਝਲਾਕਰਾ, ਕੈਂਚੇ, ਕੇ-ਮੇਨੂ, ਬੁੱਕਮਾਰਕ, ਤਾਜ਼ਾ, ਉਘੜੇ, ਹੈਂਡਲ, ਬਟਨ, ਸਰੂਪ, ਮੇਨੂ, ਓਹਲੇ, ਅਕਾਰ
+Keywords[pl]=kicker,panel,kpanel,pasek zadań,pasek startu,pasek uruchamiania,położenie,rozmiar,automatyczne ukrywanie,ukryj,przyciski,animacja,tło,motywy,bufor (cache) menu,bufor,cache,ukryty,K-Menu,zakładki,ostatnie dokumenty,szybkie przeglądanie,menu,ikony,kafelkowane,programiki,uruchomienie,podświetlanie,uchwyty,powiększanie ikon
+Keywords[pt]=kicker,painel,kpanel,barra de tarefas,barra de início,barra de lançamento,localização,tamanho,auto-esconder,esconder,botões,animação,fundo,temas,'cache' de menu,'cache',escondido,menu K,favoritos,documentos recentes,navegador rápido,menu de navegação,menu,ícones,mosaicos,'applets',inicio,realce,pegas,ícones aumentados
+Keywords[pt_BR]=kicker,painel,kpanel,barra de tarefas,lançar aplicativos,localização,tamanho,auto-ocultar,esconder,botões, animação,fundo,temas,cache de menu,cache,escondido,Menu K,favoritos,documentos recentes,navegador rápido, menu do navegador,menu,ícones,títulos,mini-aplicativos,iniciar,realçar, manipuladores, ícones de ampliação
+Keywords[ro]=kicker,panou,kpanel,bară de procese,bară de start,pornire,lansare,mărime,locație,ascundere automată,butoane,animație,fundal,tematică,meniu K,semne de carte,documente recente,navigator rapid,meniu navigare,meniu,iconițe,mozaic,miniaplicații,evidențiere,scalare
+Keywords[rw]=igitera,umwanya,k-umwanya,umurongogutangira,umurongogutangiza,indangahantu,ingano,kwihisha,guhisha,buto,iyega,mbuganyuma,insanganyamatsiko,ubwihisho bw'ibikubiyemo,ubwihisho,bihishe,K-Ibikubiyemo,utumenyetso,inyandiko zigezweho,mucukumbuzi yihuta,ibikubiyemo bya mucukumbuzi,ibikubiyemo,udushushondanga,udukaro,apuleti,gutangira,gushimangira,ibifashi,udushushondanga guhindura-ingano
+Keywords[se]=kicker,panela,kpanel,bargoholga,álggahanholga,báiki,sturrodat,autočiega,čiehkadit,boalut,animašuvdna,duogáš,fáddá,fálločiehkárájus,čiehkárájus,K-fállu,girjemearkkat,aiddo geavahuvvon dokumeantta,ohcofállu,fállu,govažat,prográmmažat,álggaheapmi,merken,geavjjat,luohttehahtti prográmmažat,sihkkarvuohtadássi
+Keywords[sk]=kicker,panel,kpanel,taskbar,startbar,launchbar,miesto,umiestnenie,veľkosť,terminálová aplikácia,skrývanie,automatické skrývanie,tlačidlá,animácia,pozadie,témy,cache,cache ponuky,skryté,K-Menu,záložky,posledné dokumenty,rýchly prehliadač,ponuka prehliadača,menu,ikony,applety,štart,zvýraznenie,handles,zväčšovanie ikon,overené applety,úroveň zabezpečenia
+Keywords[sl]=kicker,pult,kpanel,opravilna vrstica,zagonska vrstica,mesto,lokacija,velikost,terminalski program,skrij,samodejno skrivanje,skrivanje,gumbi,animacija,ozadje,teme,menijski predpomnilnik,predpomnilnik,skrit,K-Menu,zaznamki,nedavni dokumenti,hitro brskanje,brskalni meni,meni,tlakovci,ikone,vstavki,zagon,osvetlitev,ročice,ikone za povečavo
+Keywords[sr]=kicker,панел,kpanel,трака задатака,startbar,launchbar,локација,величина,Терминалски програм,аутоматско сакривање,сакривање,дугмићи,анимација,позадина,теме,мени кеш,кеш,скривен,K-Menu,маркери,скори документи,брзи прегледач,мени прегледача,мени,иконе,блокови,апплети,startup,истицање,хватаљке,увеличавање икона,аплети којима се верује,ниво безбедности
+Keywords[sr@Latn]=kicker,panel,kpanel,traka zadataka,startbar,launchbar,lokacija,veličina,Terminalski program,automatsko sakrivanje,sakrivanje,dugmići,animacija,pozadina,teme,meni keš,keš,skriven,K-Menu,markeri,skori dokumenti,brzi pregledač,meni pregledača,meni,ikone,blokovi,appleti,startup,isticanje,hvataljke,uveličavanje ikona,apleti kojima se veruje,nivo bezbednosti
+Keywords[sv]=kicker,panel,k-panel,aktivitetsfält,startfält,körningsfält,plats,storlek,dölj automatiskt,dölj,göm,knappar,animering,bakgrund,teman,menycache,cache,gömd,dold,K-meny,bokmärken,senaste dokument,snabbläddrare,bläddringsmeny,meny,ikoner,miniprogram,start,framhäv,grepp,zoomikoner
+Keywords[ta]=கிக்கர், பானல், கேபானல்,துவக்கப்பட்டி, துவங்கும்பட்டி,இடம்,அளவு, சத்தம் மறை, மறை,பட்டன், உயிர்சித்திரம்,பின்னனி,கருப்பொருள், தற்காலிக மெனு, மறைந்த,கே-மெனு,புத்தககுறிகள், தற்போதைய ஆவணம். வேக உலாவி, உலாவி மெனு, மெனு, சின்னம், சிறுநிரல், துவக்கம், கையாள், பெரிதாக்கும் சின்னங்கள்
+Keywords[th]=kicker,พาเนล,kpanel,taskbar,startbar,แถบเรียกโปรแกรม,ที่ตั้ง,ขนาด,ซ่อนอัตโนมัติ ,ซ่อน,ปุ่ม,อนิเมชั่น,พื้นหลัง,ชุดตกแต่ง,แคชของเมนู,แคช,ถูกซ่อน,K-Menu,ที่คั่นหน้า,เอกสารที่เพิ่งเปิดไป,quickbrowser,เมนูของบราวเซอร์,เมนู,ไอคอน,พื้นผิว,applets,startup,highlight,handles,ซูมไอคอน
+Keywords[tr]=kicker,panel,kpanel,görev çubuğu,başlangıç çubuğu,başlat çubuğu,konum,boyut,Uç birim uygulaması,otomatik gizle,gizle,tuşlar,animasyon,artalan,temalar,menü ön belleği,ön bellek,gizli,K-Menu,yer imleri,en son kullanılan belgeler,hızlı gözatıcı,göz atıcı menüsü,menü,simgeler,karo,programcıklar,Başlangıç,belirt,tutamaçlar,büyüyen simgeler,güvenilen programcıklar,güvenlik düzeyi
+Keywords[tt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser saylaq,saylaq,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[uk]=kicker,панель,смужка задач,kpanel,смужка запуску,розташування,розмір,консольна програма,автоматичне згортання,згортання,кнопки,анімація,тло,теми,кеш меню,кеш,схований,К-Меню,закладки,недавні документи,швидка навігація,меню навігатора,меню,піктограми,заголовки,аплети,запуск,підсвічування,маніпулятор,масштабування піктограм
+Keywords[uz]=panel,vazifalar paneli,bekitish,avto-bekitish,tugmalar,animatsiya,orqa fon,mavzular,K-menyu,kesh,yashirilgan,xatchoʻplar,yaqinda ochilgan hujjatlar,tez koʻruvchi,brauzer menyusi,menyuning keshi,menyu,nishonchalar,appletlar,nishonchalarni kattalashtirish,oʻlcham,kicker,kpanel,startbar,launchbar,joylashishi,tiles,startup,highlight,handles
+Keywords[uz@cyrillic]=панел,вазифалар панели,бекитиш,авто-бекитиш,тугмалар,анимация,орқа фон,мавзулар,К-меню,кэш,яширилган,хатчўплар,яқинда очилган ҳужжатлар,тез кўрувчи,браузер менюси,менюнинг кэши,меню,нишончалар,апплетлар,нишончаларни катталаштириш,ўлчам,kicker,kpanel,startbar,launchbar,жойлашиши,tiles,startup,highlight,handles
+Keywords[vi]=kích hoạt,bảng điều khiển,kpanel,thanh tác vụ,thanh khởi động,thanh phóng,vị trí,kích cỡ,tự ẩn,ẩn,nút,hoạt hình,mảnh nền,sắc thái,thực đơn đệm,đệm,giấu,Thực đơn K,số lưu liên kết,tài liệu gần đây,duyệt nhanh,thực đơn duyệt,thực đơn,biểu tượng,tiêu đề,tiểu ứng dụng,khởi động,nổi bật,cầm nắm,biểu tượng phóng đại,ứng dụng đáng tin,mức độ an ninh
+Keywords[wa]=kicker,panel,sicriftôr,scriftôr,kpanel,taskbar,bår des bouyes,startbar,launchbar,bår d' enondaedje,plaece,grandeu,catche tot seu,catchî,botons,animåvion,fond,tinmes,muchete menu,muchete,K-Menu,rimåkes,documints nén vî,betchteu rade,dresseŷe do betchteu,dressêye,menu,imådjetes,applets,apliketes,enonde tot seu,highlight,handles,zooming icons,zoumer les imådjetes
+Keywords[zh_CN]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons面板,任务栏,启动栏,位置,大小,自动隐藏,隐藏,按钮,动画,背景,主题,菜单缓存,缓存,书签,最近文档,快速浏览器,浏览器菜单,菜单,图标,平铺,启动,突出,句柄,缩放图标
+Keywords[zh_TW]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,面板,工作列,啟動列,快捷列,位置,大小,自動隱藏,隱藏,按鈕,動畫,背景,佈景主題,選單快取,快取,隱藏,K-選單,書籤,最近開啟的文件,快速瀏覽,瀏覽選單,選單,圖示,小圖塊,應用程式,啟動,高亮度,處理,縮放圖示
diff --git a/kcontrol/kicker/lookandfeelconfig.cpp b/kcontrol/kicker/lookandfeelconfig.cpp
new file mode 100644
index 000000000..7f43f2c05
--- /dev/null
+++ b/kcontrol/kicker/lookandfeelconfig.cpp
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2005 Stefan Nikolaus <stefan.nikolaus@kdemail.net>
+ *
+ * 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 <qlayout.h>
+#include <qtimer.h>
+
+#include <klocale.h>
+#include <kdebug.h>
+
+#include "lookandfeeltab_impl.h"
+#include "kickerSettings.h"
+#include "main.h"
+
+#include "lookandfeelconfig.h"
+#include "lookandfeelconfig.moc"
+
+LookAndFeelConfig::LookAndFeelConfig(QWidget *parent, const char *name)
+ : KCModule(parent, name)
+{
+ QVBoxLayout *layout = new QVBoxLayout(this);
+ m_widget = new LookAndFeelTab(this);
+ layout->addWidget(m_widget);
+ layout->addStretch();
+
+ setQuickHelp(KickerConfig::the()->quickHelp());
+ setAboutData(KickerConfig::the()->aboutData());
+
+ addConfig(KickerSettings::self(), m_widget);
+
+ connect(m_widget, SIGNAL(changed()),
+ this, SLOT(changed()));
+ connect(KickerConfig::the(), SIGNAL(aboutToNotifyKicker()),
+ this, SLOT(aboutToNotifyKicker()));
+
+ load();
+ QTimer::singleShot(0, this, SLOT(notChanged()));
+}
+
+void LookAndFeelConfig::notChanged()
+{
+ emit changed(false);
+}
+
+void LookAndFeelConfig::load()
+{
+ KCModule::load();
+ m_widget->load();
+}
+
+void LookAndFeelConfig::aboutToNotifyKicker()
+{
+ kdDebug() << "LookAndFeelConfig::aboutToNotifyKicker()" << endl;
+
+ // This slot is triggered by the signal,
+ // which is send before Kicker is notified.
+ // See comment in save().
+ KCModule::save();
+ m_widget->save();
+}
+
+void LookAndFeelConfig::save()
+{
+ // As we don't want to notify Kicker multiple times
+ // we do not save the settings here. Instead the
+ // KickerConfig object sends a signal before the
+ // notification. On this signal all existing modules,
+ // including this object, save their settings.
+ KickerConfig::the()->notifyKicker();
+}
+
+void LookAndFeelConfig::defaults()
+{
+ KCModule::defaults();
+ m_widget->defaults();
+
+ // KConfigDialogManager may queue an changed(false) signal,
+ // so we make sure, that the module is labeled as changed,
+ // while we manage some of the widgets ourselves
+ QTimer::singleShot(0, this, SLOT(changed()));
+}
diff --git a/kcontrol/kicker/lookandfeelconfig.h b/kcontrol/kicker/lookandfeelconfig.h
new file mode 100644
index 000000000..93b331432
--- /dev/null
+++ b/kcontrol/kicker/lookandfeelconfig.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2005 Stefan Nikolaus <stefan.nikolaus@kdemail.net>
+ *
+ * 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 __lookandfeelconfig_h__
+#define __lookandfeelconfig_h__
+
+#include <kcmodule.h>
+
+class LookAndFeelTab;
+
+class LookAndFeelConfig : public KCModule
+{
+ Q_OBJECT
+
+public:
+ LookAndFeelConfig(QWidget *parent = 0, const char *name = 0);
+
+ void load();
+ void save();
+ void defaults();
+
+public slots:
+ void notChanged();
+ void aboutToNotifyKicker();
+
+private:
+ LookAndFeelTab *m_widget;
+};
+
+#endif // __lookandfeelconfig_h__
diff --git a/kcontrol/kicker/lookandfeeltab.ui b/kcontrol/kicker/lookandfeeltab.ui
new file mode 100644
index 000000000..675f5adb0
--- /dev/null
+++ b/kcontrol/kicker/lookandfeeltab.ui
@@ -0,0 +1,635 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>LookAndFeelTabBase</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>LookAndFeelTabBase</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>416</width>
+ <height>443</height>
+ </rect>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>If this option is selected, informational tooltips will appear when the mouse cursor moves over the icons, buttons and applets in the panel.</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>general_group</cstring>
+ </property>
+ <property name="title">
+ <string>General</string>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>kcfg_ShowMouseOverEffects</cstring>
+ </property>
+ <property name="text">
+ <string>Enable icon &amp;mouseover effects</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When this option is selected a mouseover effect appears when the mouse cursor is moved over panel buttons</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>kcfg_ShowToolTips</cstring>
+ </property>
+ <property name="text">
+ <string>Show too&amp;ltips</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When this option is selected informational tooltips will appear when the mouse cursor moves over the icons, buttons and applets in the panel.</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>GroupBox9</cstring>
+ </property>
+ <property name="title">
+ <string>Button Backgrounds</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>TextLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;K menu:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>m_kmenuTile</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Choose a tile image for the K menu.</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="0">
+ <property name="name">
+ <cstring>TextLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;QuickBrowser menus:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>m_browserTile</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Choose a tile image for Quick Browser buttons.</string>
+ </property>
+ </widget>
+ <widget class="KComboBox" row="3" column="1">
+ <item>
+ <property name="text">
+ <string>Default</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Custom Color</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>m_browserTile</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="insertionPolicy">
+ <enum>NoInsertion</enum>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Choose a tile image for Quick Browser buttons.</string>
+ </property>
+ </widget>
+ <widget class="KComboBox" row="0" column="1">
+ <item>
+ <property name="text">
+ <string>Default</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Custom Color</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>m_kmenuTile</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="insertionPolicy">
+ <enum>NoInsertion</enum>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Choose a tile image for the K menu.</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="3" column="2">
+ <property name="name">
+ <cstring>kcfg_BrowserTileColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When the Custom Color option is selected, use this button to pick a color for quick browser tile backgrounds</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="0" column="2">
+ <property name="name">
+ <cstring>kcfg_KMenuTileColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When the Custom Color option is selected, use this button to pick a color for the K menu tile background</string>
+ </property>
+ </widget>
+ <widget class="KComboBox" row="4" column="1">
+ <item>
+ <property name="text">
+ <string>Default</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Custom Color</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>m_windowListTile</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="insertionPolicy">
+ <enum>NoInsertion</enum>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Choose a tile image for window list buttons.</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="4" column="2">
+ <property name="name">
+ <cstring>kcfg_WindowListTileColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When the Custom Color option is selected, use this button to pick a color for window list tile backgrounds</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="0">
+ <property name="name">
+ <cstring>TextLabel5</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Window list:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>m_windowListTile</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Choose a tile image for window list buttons.</string>
+ </property>
+ </widget>
+ <widget class="KComboBox" row="2" column="1">
+ <item>
+ <property name="text">
+ <string>Default</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Custom Color</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>m_desktopTile</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="insertionPolicy">
+ <enum>NoInsertion</enum>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Choose a tile image for desktop access buttons.</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="2" column="2">
+ <property name="name">
+ <cstring>kcfg_DesktopButtonTileColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When the Custom Color option is selected, use this button to pick a color for the desktop tile background</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>TextLabel6</cstring>
+ </property>
+ <property name="text">
+ <string>De&amp;sktop access:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>m_desktopTile</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Choose a tile image for desktop access buttons.</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="1" column="2">
+ <property name="name">
+ <cstring>kcfg_URLTileColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When the Custom Color option is selected, use this button to pick a color for application tile backgrounds</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>TextLabel3</cstring>
+ </property>
+ <property name="text">
+ <string>Applicatio&amp;ns:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>m_urlTile</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Choose a tile image for buttons that launch applications.</string>
+ </property>
+ </widget>
+ <widget class="KComboBox" row="1" column="1">
+ <item>
+ <property name="text">
+ <string>Default</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Custom Color</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>m_urlTile</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="insertionPolicy">
+ <enum>NoInsertion</enum>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Choose a tile image for buttons that launch applications.</string>
+ </property>
+ </widget>
+ <spacer row="0" column="3" rowspan="5" colspan="1">
+ <property name="name">
+ <cstring>Spacer48</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>66</width>
+ <height>130</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QButtonGroup">
+ <property name="name">
+ <cstring>buttonGroup1</cstring>
+ </property>
+ <property name="title">
+ <string>Panel Background</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer row="2" column="0" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>spacer5</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="3" column="1">
+ <property name="name">
+ <cstring>kcfg_ColorizeBackground</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Colorize to &amp;match the desktop color scheme</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>If this option is selected, the panel background image will be colored to match the default colors. To change the default colors, go to the 'Colors' control module.</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="2" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>m_backgroundLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>50</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>50</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>Panel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ <property name="hAlign" stdset="0">
+ </property>
+ <property name="vAlign" stdset="0">
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This is a preview for the selected background image.</string>
+ </property>
+ </widget>
+ <widget class="KURLRequester" row="2" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_BackgroundTheme</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>1</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Here you can choose a theme to be displayed by the panel. Press the 'Browse' button to choose a theme using the file dialog.
+This option is only active if 'Enable background image' is selected.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_UseBackgroundTheme</cstring>
+ </property>
+ <property name="text">
+ <string>Enable &amp;background image</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_Transparent</cstring>
+ </property>
+ <property name="text">
+ <string>Enable &amp;transparency</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout3</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>advancedOptionsButton</cstring>
+ </property>
+ <property name="text">
+ <string>Advanc&amp;ed Options</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Click here to open the Advanced Options dialog. You can configure the applet handles look and feel, the tint transparency color and more.</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>289</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+</widget>
+<connections>
+ <connection>
+ <sender>kcfg_BackgroundTheme</sender>
+ <signal>urlSelected(const QString&amp;)</signal>
+ <receiver>LookAndFeelTabBase</receiver>
+ <slot>browseTheme(const QString&amp;)</slot>
+ </connection>
+ <connection>
+ <sender>advancedOptionsButton</sender>
+ <signal>clicked()</signal>
+ <receiver>LookAndFeelTabBase</receiver>
+ <slot>launchAdvancedDialog()</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_BackgroundTheme</sender>
+ <signal>returnPressed(const QString&amp;)</signal>
+ <receiver>LookAndFeelTabBase</receiver>
+ <slot>browseTheme(const QString&amp;)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_Transparent</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>LookAndFeelTabBase</receiver>
+ <slot>enableTransparency(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseBackgroundTheme</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>m_backgroundLabel</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseBackgroundTheme</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_ColorizeBackground</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseBackgroundTheme</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_BackgroundTheme</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>kcfg_ShowMouseOverEffects</tabstop>
+ <tabstop>kcfg_ShowToolTips</tabstop>
+ <tabstop>m_kmenuTile</tabstop>
+ <tabstop>kcfg_KMenuTileColor</tabstop>
+ <tabstop>m_urlTile</tabstop>
+ <tabstop>kcfg_URLTileColor</tabstop>
+ <tabstop>m_desktopTile</tabstop>
+ <tabstop>kcfg_DesktopButtonTileColor</tabstop>
+ <tabstop>m_browserTile</tabstop>
+ <tabstop>kcfg_BrowserTileColor</tabstop>
+ <tabstop>m_windowListTile</tabstop>
+ <tabstop>kcfg_WindowListTileColor</tabstop>
+ <tabstop>kcfg_BackgroundTheme</tabstop>
+ <tabstop>kcfg_ColorizeBackground</tabstop>
+ <tabstop>advancedOptionsButton</tabstop>
+</tabstops>
+<includes>
+ <include location="global" impldecl="in declaration">kcombobox.h</include>
+ <include location="global" impldecl="in declaration">kurlrequester.h</include>
+ <include location="global" impldecl="in implementation">kdialog.h</include>
+</includes>
+<slots>
+ <slot access="protected" specifier="pure virtual">launchAdvancedDialog()</slot>
+ <slot access="protected" specifier="pure virtual">browseTheme(const QString&amp;)</slot>
+ <slot access="protected" specifier="pure virtual">enableTransparency(bool)</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>kcombobox.h</includehint>
+ <includehint>kcombobox.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcombobox.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcombobox.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcombobox.h</includehint>
+ <includehint>kurlrequester.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+</includehints>
+</UI>
diff --git a/kcontrol/kicker/lookandfeeltab_impl.cpp b/kcontrol/kicker/lookandfeeltab_impl.cpp
new file mode 100644
index 000000000..ad1c6a8d8
--- /dev/null
+++ b/kcontrol/kicker/lookandfeeltab_impl.cpp
@@ -0,0 +1,384 @@
+/*
+ * lookandfeeltab.cpp
+ *
+ * Copyright (c) 2000 Matthias Elter <elter@kde.org>
+ * Copyright (c) 2000 Aaron J. Seigo <aseigo@olympusproject.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 <qlabel.h>
+#include <qradiobutton.h>
+#include <qregexp.h>
+
+#include <kcolorbutton.h>
+#include <kdebug.h>
+#include <kfiledialog.h>
+#include <kiconeffect.h>
+#include <kimageio.h>
+#include <klineedit.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <kstandarddirs.h>
+
+#include <kickerSettings.h>
+#include "advancedDialog.h"
+#include "global.h"
+#include "main.h"
+
+#include "lookandfeeltab_impl.h"
+#include "lookandfeeltab_impl.moc"
+
+#include <iostream>
+using namespace std;
+
+LookAndFeelTab::LookAndFeelTab( QWidget *parent, const char* name )
+ : LookAndFeelTabBase(parent, name),
+ m_advDialog(0)
+{
+ connect(m_kmenuTile, SIGNAL(activated(int)), SIGNAL(changed()));
+ connect(m_desktopTile, SIGNAL(activated(int)), SIGNAL(changed()));
+ connect(m_browserTile, SIGNAL(activated(int)), SIGNAL(changed()));
+ connect(m_urlTile, SIGNAL(activated(int)), SIGNAL(changed()));
+ connect(m_windowListTile, SIGNAL(activated(int)), SIGNAL(changed()));
+
+ connect(m_kmenuTile, SIGNAL(activated(int)), SLOT(kmenuTileChanged(int)));
+ connect(m_desktopTile, SIGNAL(activated(int)), SLOT(desktopTileChanged(int)));
+ connect(m_browserTile, SIGNAL(activated(int)), SLOT(browserTileChanged(int)));
+ connect(m_urlTile, SIGNAL(activated(int)), SLOT(urlTileChanged(int)));
+ connect(m_windowListTile, SIGNAL(activated(int)), SLOT(wlTileChanged(int)));
+
+ connect(kcfg_ColorizeBackground, SIGNAL(toggled(bool)), SLOT(browseTheme()));
+
+ connect(kcfg_BackgroundTheme->lineEdit(), SIGNAL(lostFocus()), SLOT(browseTheme()));
+ kcfg_BackgroundTheme->setFilter(KImageIO::pattern(KImageIO::Reading));
+ kcfg_BackgroundTheme->setCaption(i18n("Select Image File"));
+
+ fillTileCombos();
+}
+
+void LookAndFeelTab::browseTheme()
+{
+ browseTheme(kcfg_BackgroundTheme->url());
+}
+
+void LookAndFeelTab::browseTheme(const QString& newtheme)
+{
+ if (newtheme.isEmpty())
+ {
+ kcfg_BackgroundTheme->clear();
+ m_backgroundLabel->setPixmap(QPixmap());
+ emit changed();
+ return;
+ }
+
+ previewBackground(newtheme, true);
+}
+
+void LookAndFeelTab::launchAdvancedDialog()
+{
+ if (!m_advDialog)
+ {
+ m_advDialog = new advancedDialog(this, "advancedDialog");
+ connect(m_advDialog, SIGNAL(finished()), this, SLOT(finishAdvancedDialog()));
+ m_advDialog->show();
+ }
+ m_advDialog->setActiveWindow();
+}
+
+void LookAndFeelTab::finishAdvancedDialog()
+{
+ m_advDialog->delayedDestruct();
+ m_advDialog = 0;
+}
+
+void LookAndFeelTab::enableTransparency(bool useTransparency)
+{
+ bool useBgTheme = kcfg_UseBackgroundTheme->isChecked();
+
+ kcfg_UseBackgroundTheme->setDisabled(useTransparency);
+ kcfg_BackgroundTheme->setDisabled(useTransparency || !useBgTheme);
+ m_backgroundLabel->setDisabled(useTransparency || !useBgTheme);
+ kcfg_ColorizeBackground->setDisabled(useTransparency || !useBgTheme);
+}
+
+void LookAndFeelTab::previewBackground(const QString& themepath, bool isNew)
+{
+ QString theme = themepath;
+ if (theme[0] != '/')
+ theme = locate("data", "kicker/" + theme);
+
+ QImage tmpImg(theme);
+ if(!tmpImg.isNull())
+ {
+ tmpImg = tmpImg.smoothScale(m_backgroundLabel->contentsRect().width(),
+ m_backgroundLabel->contentsRect().height());
+ if (kcfg_ColorizeBackground->isChecked())
+ KickerLib::colorize(tmpImg);
+ theme_preview.convertFromImage(tmpImg);
+ if(!theme_preview.isNull()) {
+ // avoid getting changed(true) from KConfigDialogManager for the default value
+ if( KickerSettings::backgroundTheme() == themepath )
+ KickerSettings::setBackgroundTheme( theme );
+ kcfg_BackgroundTheme->lineEdit()->setText(theme);
+ m_backgroundLabel->setPixmap(theme_preview);
+ if (isNew)
+ emit changed();
+ return;
+ }
+ }
+
+ KMessageBox::error(this,
+ i18n("Error loading theme image file.\n\n%1\n%2")
+ .arg(theme, themepath));
+ kcfg_BackgroundTheme->clear();
+ m_backgroundLabel->setPixmap(QPixmap());
+}
+
+void LookAndFeelTab::load()
+{
+ load( false );
+}
+
+void LookAndFeelTab::load(bool useDefaults)
+{
+ KConfig config(KickerConfig::the()->configName(), false, false);
+
+ config.setReadDefaults( useDefaults );
+
+ config.setGroup("General");
+
+ bool use_theme = kcfg_UseBackgroundTheme->isChecked();
+ QString theme = kcfg_BackgroundTheme->lineEdit()->text().stripWhiteSpace();
+
+ bool transparent = kcfg_Transparent->isChecked();
+
+ kcfg_BackgroundTheme->setEnabled(use_theme);
+ m_backgroundLabel->setEnabled(use_theme);
+ kcfg_ColorizeBackground->setEnabled(use_theme);
+ m_backgroundLabel->clear();
+ if (theme.length() > 0)
+ {
+ previewBackground(theme, false);
+ }
+
+ QString tile;
+ config.setGroup("buttons");
+
+ kmenuTileChanged(m_kmenuTile->currentItem());
+ desktopTileChanged(m_desktopTile->currentItem());
+ urlTileChanged(m_urlTile->currentItem());
+ browserTileChanged(m_browserTile->currentItem());
+ wlTileChanged(m_windowListTile->currentItem());
+
+ if (config.readBoolEntry("EnableTileBackground", false))
+ {
+ config.setGroup("button_tiles");
+
+ if (config.readBoolEntry("EnableKMenuTiles", false))
+ {
+ tile = config.readEntry("KMenuTile", "solid_blue");
+ m_kmenuTile->setCurrentItem(m_tilename.findIndex(tile));
+ kcfg_KMenuTileColor->setEnabled(tile == "Colorize");
+ }
+
+ if (config.readBoolEntry("EnableDesktopButtonTiles", false))
+ {
+ tile = config.readEntry("DesktopButtonTile", "solid_orange");
+ m_desktopTile->setCurrentItem(m_tilename.findIndex(tile));
+ kcfg_DesktopButtonTileColor->setEnabled(tile == "Colorize");
+ }
+
+ if (config.readBoolEntry("EnableURLTiles", false))
+ {
+ tile = config.readEntry("URLTile", "solid_gray");
+ m_urlTile->setCurrentItem(m_tilename.findIndex(tile));
+ kcfg_URLTileColor->setEnabled(tile == "Colorize");
+ }
+
+ if (config.readBoolEntry("EnableBrowserTiles", false))
+ {
+ tile = config.readEntry("BrowserTile", "solid_green");
+ m_browserTile->setCurrentItem(m_tilename.findIndex(tile));
+ kcfg_BrowserTileColor->setEnabled(tile == "Colorize");
+ }
+
+ if (config.readBoolEntry("EnableWindowListTiles", false))
+ {
+ tile = config.readEntry("WindowListTile", "solid_green");
+ m_windowListTile->setCurrentItem(m_tilename.findIndex(tile));
+ kcfg_WindowListTileColor->setEnabled(tile == "Colorize");
+ }
+ }
+ enableTransparency( transparent );
+}
+
+void LookAndFeelTab::save()
+{
+ KConfig config(KickerConfig::the()->configName(), false, false);
+
+ config.setGroup("General");
+
+ config.setGroup("button_tiles");
+ bool enableTiles = false;
+ int tile = m_kmenuTile->currentItem();
+ if (tile > 0)
+ {
+ enableTiles = true;
+ config.writeEntry("EnableKMenuTiles", true);
+ config.writeEntry("KMenuTile", m_tilename[m_kmenuTile->currentItem()]);
+ }
+ else
+ {
+ config.writeEntry("EnableKMenuTiles", false);
+ }
+
+ tile = m_desktopTile->currentItem();
+ if (tile > 0)
+ {
+ enableTiles = true;
+ config.writeEntry("EnableDesktopButtonTiles", true);
+ config.writeEntry("DesktopButtonTile", m_tilename[m_desktopTile->currentItem()]);
+ }
+ else
+ {
+ config.writeEntry("EnableDesktopButtonTiles", false);
+ }
+
+ tile = m_urlTile->currentItem();
+ if (tile > 0)
+ {
+ enableTiles = true;
+ config.writeEntry("EnableURLTiles", tile > 0);
+ config.writeEntry("URLTile", m_tilename[m_urlTile->currentItem()]);
+ }
+ else
+ {
+ config.writeEntry("EnableURLTiles", false);
+ }
+
+ tile = m_browserTile->currentItem();
+ if (tile > 0)
+ {
+ enableTiles = true;
+ config.writeEntry("EnableBrowserTiles", tile > 0);
+ config.writeEntry("BrowserTile", m_tilename[m_browserTile->currentItem()]);
+ }
+ else
+ {
+ config.writeEntry("EnableBrowserTiles", false);
+ }
+
+ tile = m_windowListTile->currentItem();
+ if (tile > 0)
+ {
+ enableTiles = true;
+ config.writeEntry("EnableWindowListTiles", tile > 0);
+ config.writeEntry("WindowListTile", m_tilename[m_windowListTile->currentItem()]);
+ }
+ else
+ {
+ config.writeEntry("EnableWindowListTiles", false);
+ }
+
+ config.setGroup("buttons");
+ config.writeEntry("EnableTileBackground", enableTiles);
+
+ config.sync();
+}
+
+void LookAndFeelTab::defaults()
+{
+ load( true );
+}
+
+void LookAndFeelTab::fillTileCombos()
+{
+/* m_kmenuTile->clear();
+ m_kmenuTile->insertItem(i18n("Default"));
+ m_desktopTile->clear();
+ m_desktopTile->insertItem(i18n("Default"));
+ m_urlTile->clear();
+ m_urlTile->insertItem(i18n("Default"));
+ m_browserTile->clear();
+ m_browserTile->insertItem(i18n("Default"));
+ m_windowListTile->clear();
+ m_windowListTile->insertItem(i18n("Default"));*/
+ m_tilename.clear();
+ m_tilename << "" << "Colorize";
+
+ QStringList list = KGlobal::dirs()->findAllResources("tiles","*_tiny_up.png");
+ int minHeight = 0;
+
+ for (QStringList::Iterator it = list.begin(); it != list.end(); ++it)
+ {
+ QString tile = (*it);
+ QPixmap pix(tile);
+ QFileInfo fi(tile);
+ tile = fi.fileName();
+ tile.truncate(tile.find("_tiny_up.png"));
+ m_tilename << tile;
+
+ // Transform tile to words with title case
+ // The same is done when generating messages for translation
+ QStringList words = QStringList::split(QRegExp("[_ ]"), tile);
+ for (QStringList::iterator w = words.begin(); w != words.end(); ++w)
+ (*w)[0] = (*w)[0].upper();
+ tile = i18n(words.join(" ").utf8());
+
+ m_kmenuTile->insertItem(pix, tile);
+ m_desktopTile->insertItem(pix, tile);
+ m_urlTile->insertItem(pix, tile);
+ m_browserTile->insertItem(pix, tile);
+ m_windowListTile->insertItem(pix, tile);
+
+ if (pix.height() > minHeight)
+ {
+ minHeight = pix.height();
+ }
+ }
+
+ minHeight += 6;
+ m_kmenuTile->setMinimumHeight(minHeight);
+ m_desktopTile->setMinimumHeight(minHeight);
+ m_urlTile->setMinimumHeight(minHeight);
+ m_browserTile->setMinimumHeight(minHeight);
+ m_windowListTile->setMinimumHeight(minHeight);
+}
+
+void LookAndFeelTab::kmenuTileChanged(int i)
+{
+ kcfg_KMenuTileColor->setEnabled(i == 1);
+}
+
+void LookAndFeelTab::desktopTileChanged(int i)
+{
+ kcfg_DesktopButtonTileColor->setEnabled(i == 1);
+}
+
+void LookAndFeelTab::browserTileChanged(int i)
+{
+ kcfg_BrowserTileColor->setEnabled(i == 1);
+}
+
+void LookAndFeelTab::urlTileChanged(int i)
+{
+ kcfg_URLTileColor->setEnabled(i == 1);
+}
+
+void LookAndFeelTab::wlTileChanged(int i)
+{
+ kcfg_WindowListTileColor->setEnabled(i == 1);
+}
diff --git a/kcontrol/kicker/lookandfeeltab_impl.h b/kcontrol/kicker/lookandfeeltab_impl.h
new file mode 100644
index 000000000..54ef5b00d
--- /dev/null
+++ b/kcontrol/kicker/lookandfeeltab_impl.h
@@ -0,0 +1,70 @@
+/*
+ * lookandfeeltab.h
+ *
+ * Copyright (c) 2000 Matthias Elter <elter@kde.org>
+ * Copyright (c) 2000 Aaron J. Seigo <aseigo@olympusproject.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 __lookandfeeltab_h__
+#define __lookandfeeltab_h__
+
+#include "lookandfeeltab.h"
+
+class advancedDialog;
+
+class LookAndFeelTab : public LookAndFeelTabBase
+{
+ Q_OBJECT
+
+public:
+ LookAndFeelTab(QWidget *parent = 0, const char* name = 0);
+
+ void load();
+ void load(bool useDefaults);
+ void save();
+ void defaults();
+
+ QString quickHelp() const;
+
+signals:
+ void changed();
+
+protected:
+ void fillTileCombos();
+ void previewBackground(const QString& themepath, bool isNew);
+
+protected slots:
+ void browseTheme();
+ void browseTheme(const QString&);
+ void enableTransparency( bool );
+
+ void launchAdvancedDialog();
+ void finishAdvancedDialog();
+
+ void kmenuTileChanged(int i);
+ void desktopTileChanged(int i);
+ void browserTileChanged(int i);
+ void urlTileChanged(int i);
+ void wlTileChanged(int i);
+
+private:
+ QPixmap theme_preview;
+ QStringList m_tilename;
+ advancedDialog *m_advDialog;
+};
+
+#endif
diff --git a/kcontrol/kicker/lookandfeeltab_kcm.cpp b/kcontrol/kicker/lookandfeeltab_kcm.cpp
new file mode 100644
index 000000000..50be83e89
--- /dev/null
+++ b/kcontrol/kicker/lookandfeeltab_kcm.cpp
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2002 Stephan Binner <binner@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 <qlayout.h>
+
+
+#include <dcopclient.h>
+
+#include "main.h"
+#include "lookandfeeltab_kcm.moc"
+#include "lookandfeeltab_impl.h"
+
+#include <X11/Xlib.h>
+#include <kaboutdata.h>
+#include <kdialog.h>
+
+LookAndFeelConfig::LookAndFeelConfig(QWidget *parent, const char *name)
+ : KCModule(parent, name)
+{
+
+ KAboutData *about =
+ new KAboutData(I18N_NOOP("kcmkicker"), I18N_NOOP("KDE Panel Control Module"),
+ 0, 0, KAboutData::License_GPL,
+ I18N_NOOP("(c) 1999 - 2001 Matthias Elter\n(c) 2002 Aaron J. Seigo"));
+
+ about->addAuthor("Matthias Elter", 0, "elter@kde.org");
+ about->addAuthor("Aaron J. Seigo", 0, "aseigo@olympusproject.org");
+ setAboutData( about );
+
+ KickerConfig::initScreenNumber();
+ QVBoxLayout *layout = new QVBoxLayout(this, 0, KDialog::spacingHint());
+
+ lookandfeeltab = new LookAndFeelTab(this);
+ layout->addWidget(lookandfeeltab);
+ layout->addStretch();
+
+ connect(lookandfeeltab, SIGNAL(changed()), SLOT(configChanged()));
+
+ load();
+}
+
+void LookAndFeelConfig::configChanged()
+{
+ emit changed(true);
+}
+
+void LookAndFeelConfig::load()
+{
+ lookandfeeltab->load();
+ emit changed(false);
+}
+
+void LookAndFeelConfig::save()
+{
+ lookandfeeltab->save();
+
+ emit changed(false);
+
+ // Tell kicker about the new config file.
+ KickerConfig::notifyKicker();
+}
+
+void LookAndFeelConfig::defaults()
+{
+ lookandfeeltab->defaults();
+
+ emit changed(true);
+}
+
+QString LookAndFeelConfig::quickHelp() const
+{
+ return i18n("<h1>Panel</h1> Here you can configure the KDE panel (also"
+ " referred to as 'kicker'). This includes options like the position and"
+ " size of the panel, as well as its hiding behavior and its looks.<p>"
+ " Note that you can also access some of these options directly by clicking"
+ " on the panel, e.g. dragging it with the left mouse button or using the"
+ " context menu on right mouse button click. This context menu also offers you"
+ " manipulation of the panel's buttons and applets.");
+}
+
diff --git a/kcontrol/kicker/lookandfeeltab_kcm.h b/kcontrol/kicker/lookandfeeltab_kcm.h
new file mode 100644
index 000000000..356becf5e
--- /dev/null
+++ b/kcontrol/kicker/lookandfeeltab_kcm.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2002 Stephan Binner <binner@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 __lookandfeelconfig_h__
+#define __lookandfeelconfig_h__
+
+#include <kcmodule.h>
+
+class LookAndFeelTab;
+
+class LookAndFeelConfig : public KCModule
+{
+ Q_OBJECT
+
+public:
+ LookAndFeelConfig(QWidget *parent = 0L, const char *name = 0L);
+
+ void load();
+ void save();
+ void defaults();
+ QString quickHelp() const;
+
+public slots:
+ void configChanged();
+
+private:
+ LookAndFeelTab *lookandfeeltab;
+};
+
+#endif // __lookandfeelconfig_h__
diff --git a/kcontrol/kicker/main.cpp b/kcontrol/kicker/main.cpp
new file mode 100644
index 000000000..4ef0f842f
--- /dev/null
+++ b/kcontrol/kicker/main.cpp
@@ -0,0 +1,398 @@
+/*
+ * 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 <qcombobox.h>
+
+#include <dcopclient.h>
+#include <kaboutdata.h>
+#include <kapplication.h>
+#include <kcmodulecontainer.h>
+#include <kdirwatch.h>
+#include <kimageio.h>
+#include <klistview.h>
+#include <kstaticdeleter.h>
+#include <kstandarddirs.h>
+#include <kdebug.h>
+
+#include "hidingconfig.h"
+#include "kickerSettings.h"
+#include "lookandfeelconfig.h"
+#include "menuconfig.h"
+#include "positionconfig.h"
+
+#include "main.h"
+#include "main.moc"
+
+#include <X11/Xlib.h>
+
+KickerConfig *KickerConfig::m_self = 0;
+static KStaticDeleter<KickerConfig> staticKickerConfigDeleter;
+
+KickerConfig *KickerConfig::the()
+{
+ if (!m_self)
+ {
+ staticKickerConfigDeleter.setObject(m_self, new KickerConfig());
+ }
+ return m_self;
+}
+
+KickerConfig::KickerConfig(QWidget *parent, const char *name)
+ : QObject(parent, name),
+ DCOPObject("KickerConfig"),
+ configFileWatch(new KDirWatch(this)),
+ m_currentPanelIndex(0)
+{
+ m_screenNumber = qt_xdisplay() ? DefaultScreen(qt_xdisplay()) : 0;
+
+ KickerSettings::instance(configName().latin1());
+
+ init();
+
+ kapp->dcopClient()->setNotifications(true);
+ connectDCOPSignal("kicker", "kicker", "configSwitchToPanel(QString)",
+ "jumpToPanel(QString)", false);
+ kapp->dcopClient()->send("kicker", "kicker", "configLaunched()", QByteArray());
+
+ connect(this, SIGNAL(hidingPanelChanged(int)),
+ this, SLOT(setCurrentPanelIndex(int)));
+ connect(this, SIGNAL(positionPanelChanged(int)),
+ this, SLOT(setCurrentPanelIndex(int)));
+}
+
+KickerConfig::~KickerConfig()
+{
+ // QValueList::setAutoDelete where for art thou?
+ ExtensionInfoList::iterator it = m_extensionInfo.begin();
+ while (it != m_extensionInfo.end())
+ {
+ ExtensionInfo* info = *it;
+ it = m_extensionInfo.erase(it);
+ delete info;
+ }
+}
+
+// TODO: This is not true anymore:
+// this method may get called multiple times during the life of the control panel!
+void KickerConfig::init()
+{
+ disconnect(configFileWatch, SIGNAL(dirty(const QString&)), this, SLOT(configChanged(const QString&)));
+ configFileWatch->stopScan();
+ for (ExtensionInfoList::iterator it = m_extensionInfo.begin();
+ it != m_extensionInfo.end();
+ ++it)
+ {
+ configFileWatch->removeFile((*it)->_configPath);
+ }
+
+ QString configname = configName();
+ QString configpath = KGlobal::dirs()->findResource("config", configname);
+ if (configpath.isEmpty())
+ configpath = locateLocal("config", configname);
+ KSharedConfig::Ptr config = KSharedConfig::openConfig(configname);
+
+ if (m_extensionInfo.isEmpty())
+ {
+ // our list is empty, so add the main kicker config
+ m_extensionInfo.append(new ExtensionInfo(QString::null, configname, configpath));
+ configFileWatch->addFile(configpath);
+ }
+ else
+ {
+ // this isn't our first trip through here, which means we are reloading
+ // so reload the kicker config (first we have to find it ;)
+ ExtensionInfoList::iterator it = m_extensionInfo.begin();
+ for (; it != m_extensionInfo.end(); ++it)
+ {
+ if (configpath == (*it)->_configPath)
+ {
+ (*it)->load();
+ break;
+ }
+ }
+ }
+
+ setupExtensionInfo(*config, true, true);
+
+ connect(configFileWatch, SIGNAL(dirty(const QString&)), this, SLOT(configChanged(const QString&)));
+ configFileWatch->startScan();
+}
+
+void KickerConfig::notifyKicker()
+{
+ kdDebug() << "KickerConfig::notifyKicker()" << endl;
+
+ emit aboutToNotifyKicker();
+
+ // Tell kicker about the new config file.
+ if (!kapp->dcopClient()->isAttached())
+ {
+ kapp->dcopClient()->attach();
+ }
+
+ QByteArray data;
+ QCString appname;
+
+ if (m_screenNumber == 0)
+ {
+ appname = "kicker";
+ }
+ else
+ {
+ appname.sprintf("kicker-screen-%d", m_screenNumber);
+ }
+
+ kapp->dcopClient()->send(appname, appname, "configure()", data);
+}
+
+void KickerConfig::setupExtensionInfo(KConfig& config, bool checkExists, bool reloadIfExists)
+{
+ config.setGroup("General");
+ QStringList elist = config.readListEntry("Extensions2");
+
+ // all of our existing extensions
+ // we'll remove ones we find which are still there the oldExtensions, and delete
+ // all the extensions that remain (e.g. are no longer active)
+ ExtensionInfoList oldExtensions(m_extensionInfo);
+
+ for (QStringList::Iterator it = elist.begin(); it != elist.end(); ++it)
+ {
+ // extension id
+ QString group(*it);
+
+ // is there a config group for this extension?
+ if (!config.hasGroup(group) || group.contains("Extension") < 1)
+ {
+ continue;
+ }
+
+ // set config group
+ config.setGroup(group);
+
+ QString df = KGlobal::dirs()->findResource("extensions", config.readEntry("DesktopFile"));
+ QString configname = config.readEntry("ConfigFile");
+ QString configpath = KGlobal::dirs()->findResource("config", configname);
+
+ if (checkExists)
+ {
+ ExtensionInfoList::iterator extIt = m_extensionInfo.begin();
+ for (; extIt != m_extensionInfo.end(); ++extIt)
+ {
+ if (configpath == (*extIt)->_configPath)
+ {
+ // we have found it in the config file and it exists
+ // so remove it from our list of existing extensions
+ oldExtensions.remove(*extIt);
+ if (reloadIfExists)
+ {
+ (*extIt)->load();
+ }
+ break;
+ }
+ }
+
+ if (extIt != m_extensionInfo.end())
+ {
+ continue;
+ }
+ }
+
+ configFileWatch->addFile(configpath);
+ ExtensionInfo* info = new ExtensionInfo(df, configname, configpath);
+ m_extensionInfo.append(info);
+ emit extensionAdded(info);
+ }
+
+ if (checkExists)
+ {
+ // now remove all the left overs that weren't in the file
+ ExtensionInfoList::iterator extIt = oldExtensions.begin();
+ for (; extIt != oldExtensions.end(); ++extIt)
+ {
+ // don't remove the kickerrc!
+ if (!(*extIt)->_configPath.endsWith(configName()))
+ {
+ emit extensionRemoved(*extIt);
+ m_extensionInfo.remove(*extIt);
+ }
+ }
+ }
+}
+
+void KickerConfig::configChanged(const QString& configPath)
+{
+ if (configPath.endsWith(configName()))
+ {
+ KSharedConfig::Ptr config = KSharedConfig::openConfig(configName());
+ config->reparseConfiguration();
+ setupExtensionInfo(*config, true);
+ }
+
+ // find the extension and change it
+ for (ExtensionInfoList::iterator it = m_extensionInfo.begin(); it != m_extensionInfo.end(); ++it)
+ {
+ if (configPath == (*it)->_configPath)
+ {
+ emit extensionAboutToChange(configPath);
+ (*it)->configChanged();
+ break;
+ }
+ }
+
+ emit extensionChanged(configPath);
+}
+
+void KickerConfig::populateExtensionInfoList(QComboBox* list)
+{
+ list->clear();
+ for (ExtensionInfoList::iterator it = m_extensionInfo.begin(); it != m_extensionInfo.end(); ++it)
+ {
+ list->insertItem((*it)->_name);
+ }
+}
+
+const ExtensionInfoList& KickerConfig::extensionsInfo()
+{
+ return m_extensionInfo;
+}
+
+void KickerConfig::reloadExtensionInfo()
+{
+ for (ExtensionInfoList::iterator it = m_extensionInfo.begin(); it != m_extensionInfo.end(); ++it)
+ {
+ (*it)->load();
+ }
+
+ emit extensionInfoChanged();
+}
+
+void KickerConfig::saveExtentionInfo()
+{
+ for (ExtensionInfoList::iterator it = m_extensionInfo.begin(); it != m_extensionInfo.end(); ++it)
+ {
+ (*it)->save();
+ }
+}
+
+void KickerConfig::jumpToPanel(const QString& panelConfig)
+{
+ ExtensionInfoList::iterator it = m_extensionInfo.begin();
+ int index = 0;
+ for (; it != m_extensionInfo.end(); ++it, ++index)
+ {
+ if ((*it)->_configFile == panelConfig)
+ {
+ break;
+ }
+ }
+
+ if (it == m_extensionInfo.end())
+ {
+ return;
+ }
+
+ kdDebug() << "KickerConfig::jumpToPanel: index=" << index << endl;
+
+ emit hidingPanelChanged(index);
+ emit positionPanelChanged(index);
+}
+
+QString KickerConfig::configName()
+{
+ if (m_screenNumber == 0)
+ {
+ return "kickerrc";
+ }
+ else
+ {
+ return QString("kicker-screen-%1rc").arg(m_screenNumber);
+ }
+}
+
+void KickerConfig::setCurrentPanelIndex(int index)
+{
+ m_currentPanelIndex = index;
+}
+
+QString KickerConfig::quickHelp() const
+{
+ return i18n("<h1>Panel</h1> Here you can configure the KDE panel (also"
+ " referred to as 'kicker'). This includes options like the position and"
+ " size of the panel, as well as its hiding behavior and its looks.<p>"
+ " Note that you can also access some of these options directly by clicking"
+ " on the panel, e.g. dragging it with the left mouse button or using the"
+ " context menu on right mouse button click. This context menu also offers you"
+ " manipulation of the panel's buttons and applets.");
+}
+
+KAboutData *KickerConfig::aboutData()
+{
+ // the KAboutDatas are deleted by the KCModules
+ KAboutData *about
+ = new KAboutData(I18N_NOOP("kcmkicker"),
+ I18N_NOOP("KDE Panel Control Module"),
+ 0, 0, KAboutData::License_GPL,
+ I18N_NOOP("(c) 1999 - 2001 Matthias Elter\n"
+ "(c) 2002 - 2003 Aaron J. Seigo"));
+
+ about->addAuthor("Aaron J. Seigo", 0, "aseigo@kde.org");
+ about->addAuthor("Matthias Elter", 0, "elter@kde.org");
+
+ return about;
+}
+
+extern "C"
+{
+ KDE_EXPORT KCModule *create_kicker(QWidget *parent, const char *name)
+ {
+ KCModuleContainer *container = new KCModuleContainer(parent, "kcmkicker");
+ container->addModule("kicker_config_arrangement");
+ container->addModule("kicker_config_hiding");
+ container->addModule("kicker_config_menus");
+ container->addModule("kicker_config_appearance");
+ return container;
+ }
+
+ KDE_EXPORT KCModule *create_kicker_arrangement(QWidget *parent, const char * /*name*/)
+ {
+ KGlobal::dirs()->addResourceType("extensions", KStandardDirs::kde_default("data") +
+ "kicker/extensions");
+ return new PositionConfig(parent, "kcmkicker");
+ }
+
+ KDE_EXPORT KCModule *create_kicker_hiding(QWidget *parent, const char * /*name*/)
+ {
+ KGlobal::dirs()->addResourceType("extensions", KStandardDirs::kde_default("data") +
+ "kicker/extensions");
+ return new HidingConfig(parent, "kcmkicker");
+ }
+
+ KDE_EXPORT KCModule *create_kicker_menus(QWidget *parent, const char * /*name*/)
+ {
+ return new MenuConfig(parent, "kcmkicker");
+ }
+
+ KDE_EXPORT KCModule *create_kicker_appearance(QWidget *parent, const char * /*name*/)
+ {
+ KImageIO::registerFormats();
+ KGlobal::dirs()->addResourceType("tiles", KStandardDirs::kde_default("data") +
+ "kicker/tiles");
+ KGlobal::dirs()->addResourceType("hb_pics", KStandardDirs::kde_default("data") +
+ "kcmkicker/pics");
+ return new LookAndFeelConfig(parent, "kcmkicker");
+ }
+}
diff --git a/kcontrol/kicker/main.h b/kcontrol/kicker/main.h
new file mode 100644
index 000000000..cb585b077
--- /dev/null
+++ b/kcontrol/kicker/main.h
@@ -0,0 +1,84 @@
+/*
+ * 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 __main_h__
+#define __main_h__
+
+#include <dcopobject.h>
+#include <kconfig.h>
+
+#include "extensionInfo.h"
+
+class QComboBox;
+class KAboutData;
+class KDirWatch;
+
+class KickerConfig : public QObject, public DCOPObject
+{
+ Q_OBJECT
+ K_DCOP
+
+public:
+ static KickerConfig *the();
+ ~KickerConfig();
+
+ void populateExtensionInfoList(QComboBox* list);
+ void reloadExtensionInfo();
+ void saveExtentionInfo();
+ const ExtensionInfoList& extensionsInfo();
+
+ QString configName();
+ void notifyKicker();
+
+ QString quickHelp() const;
+ KAboutData *aboutData();
+
+ int currentPanelIndex() const { return m_currentPanelIndex; }
+
+k_dcop:
+ void jumpToPanel(const QString& panelConfig);
+
+signals:
+ void positionPanelChanged(int);
+ void hidingPanelChanged(int);
+ void extensionInfoChanged();
+ void extensionAdded(ExtensionInfo*);
+ void extensionRemoved(ExtensionInfo*);
+ void extensionChanged(const QString&);
+ void extensionAboutToChange(const QString&);
+ void aboutToNotifyKicker();
+
+protected:
+ void init();
+ void setupExtensionInfo(KConfig& c, bool checkExists, bool reloadIfExists = false);
+
+protected slots:
+ void configChanged(const QString&);
+ void setCurrentPanelIndex(int);
+
+private:
+ KickerConfig(QWidget *parent = 0, const char *name = 0);
+
+ static KickerConfig *m_self;
+
+ KDirWatch *configFileWatch;
+ ExtensionInfoList m_extensionInfo;
+ int m_screenNumber;
+ uint m_currentPanelIndex;
+};
+
+#endif // __main_h__
diff --git a/kcontrol/kicker/menuconfig.cpp b/kcontrol/kicker/menuconfig.cpp
new file mode 100644
index 000000000..5bc1964b1
--- /dev/null
+++ b/kcontrol/kicker/menuconfig.cpp
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2005 Stefan Nikolaus <stefan.nikolaus@kdemail.net>
+ *
+ * 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 <qlayout.h>
+#include <qtimer.h>
+
+#include <klocale.h>
+#include <kdebug.h>
+
+#include "kickerSettings.h"
+#include "main.h"
+#include "menutab_impl.h"
+
+#include "menuconfig.h"
+#include "menuconfig.moc"
+
+MenuConfig::MenuConfig(QWidget *parent, const char *name)
+ : KCModule(parent, name)
+{
+ QVBoxLayout *layout = new QVBoxLayout(this);
+ m_widget = new MenuTab(this);
+ layout->addWidget(m_widget);
+ layout->addStretch();
+
+ setQuickHelp(KickerConfig::the()->quickHelp());
+ setAboutData(KickerConfig::the()->aboutData());
+
+ addConfig(KickerSettings::self(), m_widget);
+
+ connect(m_widget, SIGNAL(changed()),
+ this, SLOT(changed()));
+ connect(KickerConfig::the(), SIGNAL(aboutToNotifyKicker()),
+ this, SLOT(aboutToNotifyKicker()));
+
+ load();
+ QTimer::singleShot(0, this, SLOT(notChanged()));
+}
+
+void MenuConfig::notChanged()
+{
+ emit changed(false);
+}
+
+void MenuConfig::load()
+{
+ m_widget->load();
+ KCModule::load();
+}
+
+void MenuConfig::aboutToNotifyKicker()
+{
+ kdDebug() << "MenuConfig::aboutToNotifyKicker()" << endl;
+
+ // This slot is triggered by the signal,
+ // which is send before Kicker is notified.
+ // See comment in save().
+ m_widget->save();
+ KCModule::save();
+}
+
+void MenuConfig::save()
+{
+ // As we don't want to notify Kicker multiple times
+ // we do not save the settings here. Instead the
+ // KickerConfig object sends a signal before the
+ // notification. On this signal all existing modules,
+ // including this object, save their settings.
+ KickerConfig::the()->notifyKicker();
+}
+
+void MenuConfig::defaults()
+{
+ m_widget->defaults();
+ KCModule::defaults();
+
+ // KConfigDialogManager may queue an changed(false) signal,
+ // so we make sure, that the module is labeled as changedm,
+ // while we manage some of the widgets ourselves
+ QTimer::singleShot(0, this, SLOT(changed()));
+}
diff --git a/kcontrol/kicker/menuconfig.h b/kcontrol/kicker/menuconfig.h
new file mode 100644
index 000000000..3d73f1922
--- /dev/null
+++ b/kcontrol/kicker/menuconfig.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2005 Stefan Nikolaus <stefan.nikolaus@kdemail.net>
+ *
+ * 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 __menuconfig_h__
+#define __menuconfig_h__
+
+#include <kcmodule.h>
+
+class MenuTab;
+
+class MenuConfig : public KCModule
+{
+ Q_OBJECT
+
+public:
+ MenuConfig(QWidget *parent = 0, const char *name = 0);
+
+ void load();
+ void save();
+ void defaults();
+
+public slots:
+ void notChanged();
+ void aboutToNotifyKicker();
+
+private:
+ MenuTab *m_widget;
+};
+
+#endif // __menuconfig_h__
diff --git a/kcontrol/kicker/menutab.ui b/kcontrol/kicker/menutab.ui
new file mode 100644
index 000000000..8d49a7965
--- /dev/null
+++ b/kcontrol/kicker/menutab.ui
@@ -0,0 +1,407 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>MenuTabBase</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>MenuTabBase</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>410</width>
+ <height>437</height>
+ </rect>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>m_kmenuGroup</cstring>
+ </property>
+ <property name="title">
+ <string>K Menu</string>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout7</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QButtonGroup">
+ <property name="name">
+ <cstring>kcfg_MenuEntryFormat</cstring>
+ </property>
+ <property name="lineWidth">
+ <number>0</number>
+ </property>
+ <property name="title">
+ <string>Menu item format:</string>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Here you can choose how menu entries are shown.</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QRadioButton" row="1" column="1">
+ <property name="name">
+ <cstring>m_formatSimple</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Name only</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When this option is selected, items in the K Menu will appear with the application's name next to the icon.</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton" row="2" column="1">
+ <property name="name">
+ <cstring>m_formatNameDesc</cstring>
+ </property>
+ <property name="text">
+ <string>Name - &amp;Description</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When this option is selected, items in the K Menu will appear with the application's name and a brief description next to the icon.</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton" row="3" column="1">
+ <property name="name">
+ <cstring>m_formatDescOnly</cstring>
+ </property>
+ <property name="text">
+ <string>D&amp;escription only</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When this option is selected, items in the K Menu will appear with the application's brief description next to the icon.</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton" row="4" column="1">
+ <property name="name">
+ <cstring>m_formDescName</cstring>
+ </property>
+ <property name="focusPolicy">
+ <enum>NoFocus</enum>
+ </property>
+ <property name="text">
+ <string>Des&amp;cription (Name)</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When this option is selected, items in the K Menu will appear with a brief description and the application's name in brackets next to the icon.</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>kcfg_UseSidePixmap</cstring>
+ </property>
+ <property name="text">
+ <string>Show side ima&amp;ge</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;When this option is selected an image will appear down the left-hand side of the K Menu. The image will be tinted according to your color settings.
+
+ &lt;p&gt;&lt;b&gt;Tip&lt;/b&gt;: You can customize the image that appears in the K Menu by putting an image file called kside.png and a tileable image file called kside_tile.png in $KDEHOME/share/apps/kicker/pics.&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer8</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>MinimumExpanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>m_editKMenuButton</cstring>
+ </property>
+ <property name="text">
+ <string>Edit &amp;K Menu</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Start the editor for the K menu. Here you can add, edit, remove and hide applications.</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="KListView">
+ <column>
+ <property name="text">
+ <string>Optional Menus</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>m_subMenus</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>7</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>1</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="fullWidth">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This is a list of the dynamic menus that can be displayed in the KDE menu in addition to the normal applications. Use the checkboxes to add or remove menus.</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>m_browserGroup</cstring>
+ </property>
+ <property name="title">
+ <string>QuickBrowser Menus</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget" row="1" column="0">
+ <property name="name">
+ <cstring>Layout3</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>m_maxQuickBrowserItemsLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Ma&amp;ximum number of entries:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_MaxEntries2</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When browsing directories that contain a lot of files, the QuickBrowser can sometimes hide your whole desktop. Here you can limit the number of entries shown at a time in the QuickBrowser. This is particularly useful for low screen resolutions.</string>
+ </property>
+ </widget>
+ <widget class="KIntNumInput">
+ <property name="name">
+ <cstring>kcfg_MaxEntries2</cstring>
+ </property>
+ <property name="value">
+ <number>30</number>
+ </property>
+ <property name="minValue">
+ <number>10</number>
+ </property>
+ <property name="maxValue">
+ <number>100</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When browsing directories that contain a lot of files, the QuickBrowser can sometimes hide your whole desktop. Here you can limit the number of entries shown at a time in the QuickBrowser. This is particularly useful for low screen resolutions.</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>kcfg_ShowHiddenFiles</cstring>
+ </property>
+ <property name="text">
+ <string>Show hidden fi&amp;les</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>If this option is enabled, hidden files (i.e. files beginning with a dot) will be shown in the QuickBrowser menus.</string>
+ </property>
+ </widget>
+ <spacer row="0" column="1" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>Spacer7</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QButtonGroup">
+ <property name="name">
+ <cstring>m_pRecentOrderGroup</cstring>
+ </property>
+ <property name="title">
+ <string>QuickStart Menu Items</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget" row="2" column="0">
+ <property name="name">
+ <cstring>Layout4</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>TextLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>Maxim&amp;um number of entries:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_NumVisibleEntries</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This option allows you to define the maximum number of applications that should be displayed in the QuickStart menu area.</string>
+ </property>
+ </widget>
+ <widget class="KIntNumInput">
+ <property name="name">
+ <cstring>kcfg_NumVisibleEntries</cstring>
+ </property>
+ <property name="value">
+ <number>5</number>
+ </property>
+ <property name="minValue">
+ <number>0</number>
+ </property>
+ <property name="maxValue">
+ <number>20</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This option allows you to define how many applications should be displayed at most in the QuickStart menu area.</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QRadioButton" row="0" column="0">
+ <property name="name">
+ <cstring>kcfg_RecentVsOften</cstring>
+ </property>
+ <property name="text">
+ <string>Show the &amp;applications most recently used</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When this option is selected the QuickStart menu area will be filled with the applications you have used most recently.</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton" row="1" column="0">
+ <property name="name">
+ <cstring>m_showFrequent</cstring>
+ </property>
+ <property name="text">
+ <string>Show the applications most fre&amp;quently used</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When this option is selected the QuickStart menu area will be filled with the applications you use most frequently.</string>
+ </property>
+ </widget>
+ <spacer row="0" column="1" rowspan="3" colspan="1">
+ <property name="name">
+ <cstring>Spacer8</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ </vbox>
+</widget>
+<tabstops>
+ <tabstop>m_formatSimple</tabstop>
+ <tabstop>m_formatNameDesc</tabstop>
+ <tabstop>m_formDescName</tabstop>
+ <tabstop>kcfg_UseSidePixmap</tabstop>
+ <tabstop>m_editKMenuButton</tabstop>
+ <tabstop>m_subMenus</tabstop>
+ <tabstop>kcfg_ShowHiddenFiles</tabstop>
+ <tabstop>kcfg_MaxEntries2</tabstop>
+ <tabstop>kcfg_RecentVsOften</tabstop>
+ <tabstop>m_showFrequent</tabstop>
+ <tabstop>kcfg_NumVisibleEntries</tabstop>
+</tabstops>
+<includes>
+ <include location="global" impldecl="in implementation">klistview.h</include>
+ <include location="global" impldecl="in implementation">knuminput.h</include>
+ <include location="local" impldecl="in implementation">kdialog.h</include>
+</includes>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>klistview.h</includehint>
+ <includehint>knuminput.h</includehint>
+ <includehint>knuminput.h</includehint>
+ <includehint>knuminput.h</includehint>
+ <includehint>knuminput.h</includehint>
+</includehints>
+</UI>
diff --git a/kcontrol/kicker/menutab_impl.cpp b/kcontrol/kicker/menutab_impl.cpp
new file mode 100644
index 000000000..55cabaa88
--- /dev/null
+++ b/kcontrol/kicker/menutab_impl.cpp
@@ -0,0 +1,181 @@
+/*
+ * 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 <qdir.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qpushbutton.h>
+#include <qradiobutton.h>
+
+#include <kapplication.h>
+#include <kdebug.h>
+#include <kdesktopfile.h>
+#include <kiconloader.h>
+#include <klistview.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <knuminput.h>
+#include <kstandarddirs.h>
+
+#include "main.h"
+
+#include "menutab_impl.h"
+#include "menutab_impl.moc"
+
+kSubMenuItem::kSubMenuItem(QListView* parent,
+ const QString& visibleName,
+ const QString& desktopFile,
+ const QPixmap& icon,
+ bool checked)
+ : QCheckListItem(parent, visibleName, QCheckListItem::CheckBox),
+ m_desktopFile(desktopFile)
+{
+ setPixmap(0, icon);
+ setOn(checked);
+}
+
+QString kSubMenuItem::desktopFile()
+{
+ return m_desktopFile;
+}
+
+void kSubMenuItem::stateChange(bool state)
+{
+ emit toggled(state);
+}
+
+MenuTab::MenuTab( QWidget *parent, const char* name )
+ : MenuTabBase (parent, name),
+ m_bookmarkMenu(0),
+ m_quickBrowserMenu(0)
+{
+ // connections
+ connect(m_editKMenuButton, SIGNAL(clicked()), SLOT(launchMenuEditor()));
+
+ m_browserGroupLayout->setColStretch( 1, 1 );
+ m_pRecentOrderGroupLayout->setColStretch( 1, 1 );
+}
+
+void MenuTab::load()
+{
+ load( false );
+}
+
+void MenuTab::load( bool useDefaults )
+{
+ KSharedConfig::Ptr c = KSharedConfig::openConfig(KickerConfig::the()->configName());
+
+ c->setReadDefaults( useDefaults );
+
+ c->setGroup("menus");
+
+ m_subMenus->clear();
+
+ // show the bookmark menu?
+ m_bookmarkMenu = new kSubMenuItem(m_subMenus,
+ i18n("Bookmarks"),
+ QString::null,
+ SmallIcon("bookmark"),
+ c->readBoolEntry("UseBookmarks", false));
+ connect(m_bookmarkMenu, SIGNAL(toggled(bool)), SIGNAL(changed()));
+
+ // show the quick menus menu?
+ m_quickBrowserMenu = new kSubMenuItem(m_subMenus,
+ i18n("Quick Browser"),
+ QString::null,
+ SmallIcon("kdisknav"),
+ c->readBoolEntry("UseBrowser", false));
+ connect(m_quickBrowserMenu, SIGNAL(toggled(bool)), SIGNAL(changed()));
+
+ QStringList ext_default;
+ ext_default << "prefmenu.desktop" << "systemmenu.desktop";
+ QStringList ext = c->readListEntry("Extensions", ext_default);
+ QStringList dirs = KGlobal::dirs()->findDirs("data", "kicker/menuext");
+ kSubMenuItem* menuItem(0);
+ for (QStringList::ConstIterator dit=dirs.begin(); dit!=dirs.end(); ++dit)
+ {
+ QDir d(*dit, "*.desktop");
+ QStringList av = d.entryList();
+ for (QStringList::ConstIterator it=av.begin(); it!=av.end(); ++it)
+ {
+ KDesktopFile df(d.absFilePath(*it), true);
+ menuItem = new kSubMenuItem(m_subMenus,
+ df.readName(),
+ *it,
+ SmallIcon(df.readIcon()),
+ qFind(ext.begin(), ext.end(), *it) != ext.end());
+ connect(menuItem, SIGNAL(toggled(bool)), SIGNAL(changed()));
+ }
+ }
+
+ m_showFrequent->setChecked(true);
+
+ if ( useDefaults )
+ emit changed();
+}
+
+void MenuTab::save()
+{
+ KSharedConfig::Ptr c = KSharedConfig::openConfig(KickerConfig::the()->configName());
+
+ c->setGroup("menus");
+
+ QStringList ext;
+ QListViewItem *item(0);
+ for (item = m_subMenus->firstChild(); item; item = item->nextSibling())
+ {
+ bool isOn = static_cast<kSubMenuItem*>(item)->isOn();
+ if (item == m_bookmarkMenu)
+ {
+ c->writeEntry("UseBookmarks", isOn);
+ }
+ else if (item == m_quickBrowserMenu)
+ {
+ c->writeEntry("UseBrowser", isOn);
+ }
+ else if (isOn)
+ {
+ ext << static_cast<kSubMenuItem*>(item)->desktopFile();
+ }
+ }
+ c->writeEntry("Extensions", ext);
+
+ c->sync();
+}
+
+void MenuTab::defaults()
+{
+ load( true );
+}
+
+void MenuTab::launchMenuEditor()
+{
+ if ( KApplication::startServiceByDesktopName( "kmenuedit",
+ QString::null /*url*/,
+ 0 /*error*/,
+ 0 /*dcopservice*/,
+ 0 /*pid*/,
+ "" /*startup_id*/,
+ true /*nowait*/ ) != 0 )
+ {
+ KMessageBox::error(this,
+ i18n("The KDE menu editor (kmenuedit) could not be launched.\n"
+ "Perhaps it is not installed or not in your path."),
+ i18n("Application Missing"));
+ }
+}
diff --git a/kcontrol/kicker/menutab_impl.h b/kcontrol/kicker/menutab_impl.h
new file mode 100644
index 000000000..20ed393e1
--- /dev/null
+++ b/kcontrol/kicker/menutab_impl.h
@@ -0,0 +1,72 @@
+/*
+ * 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 __menutab_impl_h__
+#define __menutab_impl_h__
+
+#include <qlistview.h>
+
+#include "menutab.h"
+
+class kSubMenuItem : public QObject, public QCheckListItem
+{
+ Q_OBJECT
+
+ public:
+ kSubMenuItem(QListView* parent,
+ const QString& visibleName,
+ const QString& desktopFile,
+ const QPixmap& icon,
+ bool checked);
+ ~kSubMenuItem() {}
+
+ QString desktopFile();
+
+ signals:
+ void toggled(bool);
+
+ protected:
+ void stateChange(bool state);
+
+ QString m_desktopFile;
+};
+
+class MenuTab : public MenuTabBase
+{
+ Q_OBJECT
+
+public:
+ MenuTab( QWidget *parent=0, const char* name=0 );
+
+ void load();
+ void load( bool useDefaults );
+ void save();
+ void defaults();
+
+signals:
+ void changed();
+
+public slots:
+ void launchMenuEditor();
+
+protected:
+ kSubMenuItem *m_bookmarkMenu;
+ kSubMenuItem *m_quickBrowserMenu;
+};
+
+#endif
+
diff --git a/kcontrol/kicker/panel.desktop b/kcontrol/kicker/panel.desktop
new file mode 100644
index 000000000..0c05d67f5
--- /dev/null
+++ b/kcontrol/kicker/panel.desktop
@@ -0,0 +1,224 @@
+[Desktop Entry]
+Icon=kcmkicker
+Type=Application
+DocPath=kcontrol/panel/index.html
+Exec=kcmshell panel
+
+
+X-KDE-Library=kicker
+X-KDE-ParentApp=kcontrol
+
+Name=Panels
+Name[af]=Panele
+Name[ar]=اللوحات
+Name[az]=Panellər
+Name[be]=Панэлі
+Name[bg]=Панели
+Name[bn]=প্যানেল
+Name[br]=Panelloù
+Name[bs]=Paneli
+Name[ca]=Plafons
+Name[cs]=Panely
+Name[csb]=Panele
+Name[cy]=Paneli
+Name[da]=Paneler
+Name[de]=Kontrollleisten
+Name[el]=Πίνακες
+Name[eo]=Paneloj
+Name[es]=Paneles
+Name[et]=Paneelid
+Name[eu]=Panelak
+Name[fa]=تابلوها
+Name[fi]=Paneelit
+Name[fr]=Tableau de bord
+Name[fy]=Panielen
+Name[ga]=Painéil
+Name[gl]=Paneis
+Name[he]=לוחות
+Name[hi]=पेनल्स
+Name[hr]=Ploče
+Name[hu]=Panelek
+Name[is]=Spjald
+Name[it]=Pannelli
+Name[ja]=パネル
+Name[ka]=პანელები
+Name[kk]=Панельдер
+Name[km]=បន្ទះ
+Name[ko]=패널
+Name[lo]=ຖາດພາແນວ
+Name[lt]=Pultai
+Name[lv]=Panelis
+Name[mk]=Панели
+Name[mn]=Удирдах самбарууд
+Name[ms]=Panel
+Name[mt]=Pannelli
+Name[nb]=Paneler
+Name[nds]=Paneels
+Name[ne]=प्यानल
+Name[nl]=Panelen
+Name[nn]=Panel
+Name[nso]=Di-Panel
+Name[pa]=ਪੈਨਲ
+Name[pl]=Panele
+Name[pt]=Painéis
+Name[pt_BR]=Painéis
+Name[ro]=Panouri
+Name[ru]=Панели
+Name[rw]=Imyanya
+Name[se]=Panelat
+Name[sk]=Panely
+Name[sl]=Pulti
+Name[sr]=Панели
+Name[sr@Latn]=Paneli
+Name[sv]=Paneler
+Name[ta]=பலகம்
+Name[te]=పెనల్సు
+Name[tg]=Панелҳо
+Name[th]=ถาดพาเนล
+Name[tr]=Paneller
+Name[tt]=Taqta
+Name[uk]=Панель
+Name[uz]=Panellar
+Name[uz@cyrillic]=Панеллар
+Name[ven]=Dziphanele
+Name[vi]=Bảng điều khiển
+Name[wa]=Scriftôrs
+Name[xh]=Amaqela eenjongo ezithile
+Name[zh_CN]=面板
+Name[zh_TW]=面板
+Name[zu]=amawindi emininingwane
+
+Comment=Configure the arrangement of the panel
+Comment[af]=Stel die rangskikking van die paneel hier op
+Comment[ar]=هنا تستطيع إعداد ترتيب اللوح
+Comment[az]=Panelin düzülüşünü quraşdır
+Comment[be]=Настаўленні раўнавання панэлі
+Comment[bg]=Настройване разпределението на системния панел
+Comment[bn]=প্যানেল-এর বিন্যাস কনফিগার করুন
+Comment[br]=Kefluniañ doare ar banell
+Comment[bs]=Ovdje možete podesiti izgled panela
+Comment[ca]=Configura l'arranjament del plafó
+Comment[cs]=Zde je možné nastavit uspořádání panelu
+Comment[csb]=Kònfigùracëjô pòłożeniô panelu
+Comment[cy]=Ffurfweddu trefn y panel
+Comment[da]=Indstil panelets arrangement
+Comment[de]=Anordnung der Kontrollleiste vornehmen
+Comment[el]=Ρυθμίστε τη διάταξη του πίνακα
+Comment[eo]=Agordu la aranĝon de la panelo
+Comment[es]=Configuración de la apariencia del panel
+Comment[et]=Siin saad seadistada paneeli paigutust
+Comment[eu]=Konfiguratu panelaren eraketa
+Comment[fa]=پیکربندی ترتیب تابلو
+Comment[fi]=Vaihda paneelin asettelua
+Comment[fr]=Configuration de la disposition du tableau de bord
+Comment[fy]=Hjir kinne jo it ûntwerp fan it paniel ynstelle
+Comment[gl]=Configurar a disposición do painel
+Comment[he]=הגדר את סידור הלוח
+Comment[hi]=फलक की व्यवस्था कॉन्फ़िगर करें
+Comment[hr]=Konfiguriranje rasporeda ploče
+Comment[hu]=A panel elrendezésének beállításai
+Comment[is]=Stilla viðmót spjaldsins
+Comment[it]=Configura la posizione del pannello
+Comment[ja]=パネルの配置を設定
+Comment[ka]=პანელის თანმიმდევრულობის კონფიგურაცია
+Comment[kk]=Панельді орналастыруын баптау
+Comment[km]=កំណត់​រចនាសម្ព័ន្ធ​ការ​រៀបចំ​បន្ទះ
+Comment[lt]=Čia galite konfigūruoti pulto išdėstymą
+Comment[lv]=Šeit jūs varat konfigurēt paneļa izkārotjumu
+Comment[mk]=Конфигурирајте го распоредот на панелот
+Comment[mn]=Цонхны дарааллыг тохируулах
+Comment[ms]=Konfigur susunan panel
+Comment[mt]=Tista' tbiddel t-tqassim tal-pannell hawnhekk
+Comment[nb]=Oppstilling av panelet
+Comment[nds]=Anornen vun't Paneel instellen
+Comment[ne]=प्यानलको मिलान कन्फिगर गर्नुहोस्
+Comment[nl]=U kunt hier de opmaak van het paneel instellen
+Comment[nn]=Oppstilling av panelet
+Comment[pa]=ਪੈਨਲ ਦੇ ਢਾਂਚੇ ਦੀ ਸੰਰਚਨਾ
+Comment[pl]=Konfiguracja położenia panelu
+Comment[pt]=Configurar o posicionamento do painel aqui
+Comment[pt_BR]=Configura a disposição do Painel
+Comment[ro]=Configurează modul de aranjare al panoului
+Comment[ru]=Настройка выравнивания панели
+Comment[rw]=Kuboneza itunganya ry'umwanya
+Comment[se]=Heivet panela ráhkadusa
+Comment[sk]=Nastavenie rozloženia panelu
+Comment[sl]=Nastavi razpored pulta
+Comment[sr]=Подешавање распореда на панелу
+Comment[sr@Latn]=Podešavanje rasporeda na panelu
+Comment[sv]=Anpassa panelens placering
+Comment[ta]=பலகத்தின் வரிசையை வடிவமை
+Comment[tg]=Танзимоти созишномаи панел
+Comment[th]=ปรับแต่งการจัดเรียงถาดพาเนล
+Comment[tr]=Panelin konumunu buradan yapılandırabilirsiniz
+Comment[tt]=Taqta urınlaşuın caylaw
+Comment[uk]=Налаштування компонування панелі
+Comment[uz]=Panelning tartibini moslash
+Comment[uz@cyrillic]=Панелнинг тартибини мослаш
+Comment[vi]=Cấu hình sự sắp đặt các bảng điều khiển
+Comment[wa]=Vos ploz apontyî chal l' arindjmint do scriftôr
+Comment[zh_CN]=配置面板的排列
+Comment[zh_TW]=您可以在此設定面板的排列方式
+
+Keywords=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[be]=Панэль,Панэль заданняў,Панэль стартавання,Размяшчэнне,Пазіцыя,Памер,Аўтаматычна хаваць,Хаваць,Кнопкі,Анімацыя,Фон,Тэмы,Кэш меню,Кэш,Схаваная,Схаваць,Меню KDE,Закладкі,Ранейшыя,Нядаўнія,Дакументы,Хуткі прагляд,Меню вандроўніка,Меню вандравання,Меню,Значкі,Аплеты,Запуск,Падсвятленне,Апрацоўка,Апрацоўшчык,Маштабаванне значак,kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[bg]=системен, панел, подредба, подравняване, kicker, panel, kpanel, taskbar, startbar, launchbar, location, size, auto hide, hide, buttons, animation, background, themes, menu cache, cache, hidden, K-Menu, bookmarks, recent documents, quickbrowser, browser menu, menu, icons, tiles, applets, startup, highlight, handles, zooming icons
+Keywords[bs]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,veličina,automatsko sakrivanje,sakrivanje,dugmad,animacija,pozadina,teme,keš menija,meni,keš,skriven,zabilješke,skorašnji dokumenti,meni browsera,meni preglednika,ikone,appleti,pokretanje,uvećavanje
+Keywords[ca]=kicker,plafó,kpanel,barra de tasques,barra d'inici,barra de llançament,localització,mida,auto oculta,oculta,botons,animació,temes,fons,cau del menú,cau,ocult,Menú K,punts,documents recents,navegació ràpida,menú de navegació,menú,icones,mosaics,aplets,arrencada,ressaltat,nanses,ampliar les icones
+Keywords[cs]=kicker,panel,kpanel,pruh úloh,lišta úloh,umístění, velikost,skrývání,automatické skrývání,tlačítka,animace,pozadí, motivy,nabídka,menu,záložky,nedávné dokumenty,rychlé prohlížení, ikony,dlaždice,applety,spuštění,zvýraznění,úchytky,zvětšování ikon
+Keywords[csb]=kicker,panel,kpanel,lëstëw zadaniów,sztartowô lëstëw,lëstëw zrëszaniô,pòłożenié,miara,aùtomatno tacënié,tacë,knąpë,animacëjô,spódk,spòdlé,témë,cache menu,cache,zatacony,K-Menu,załóżczi,slédny dokùmentë,chùtczé przezéranié,menu,ikònë,kafelkòwané,programiczi,zrëszanié,pòdskrzënianié,ùchwëtë,zwikszanié ikònów
+Keywords[cy]=ciciwr,kicker,panel,kpanel,bar tasgau,bar cychwyn,bar lansio,lleoliad,maint,awto-guddio,hunan-guddio,cuddio,botymau,animeiddiad,cefndir,themâu,storfa dewislen, storfa,cache,celc,cudd,K-Menu,nodau tudalen,dogfenni diweddar,porydd cyflym,dewislen porydd,dewislen,eiconau,teiliau,rhaglenigion,ymcychwyn,amlygu,carnau,eiconau chwyddo
+Keywords[da]=kicker,panel,kpanel,opgavelinje,startlinje,sted,størrelse,autogem,gem,knapper,animering,baggrund,temaer,menucache,cache,skjult,K-Menu,bogmærker,nylige dokumenter,hurtigsøger,søgemenu,menu,ikoner,fliser,panelprogrammer,opstart,markér,håndterer,ikoner
+Keywords[de]=Kicker,Panel,Taskbar,Kontrollleiste,Startleiste,Klickstartleiste,Fensterleiste,Autom. ausblenden,Ausblenden, Knöpfe,Animation,Hintergründe,Stile,Design,Themes,Menü-Zwischenspeicher, K-Menü,Zwischenspeicher,Lesezeichen,Zuletzt geöffnete Dateien, Schnellanzeiger,Menüs,Symbole,Icons,Kacheln,Applets,Miniprogramme, Java-Miniprogramme,Hervorhebung,Anfasser,Sicherheitsstufen,Zoom für Symbole
+Keywords[el]=kicker,πίνακας,kpanel,γραμμή εργασιών,γραμμή έναρξης,γραμμή εκκίνησης,τοποθεσία,μέγεθος,αυτόματη απόκρυψη,απόκρυψη,κουμπιά,εφέ κίνησης,φόντο,θέματα,λανθάνουσα μνήμη μενού,λανθάνουσα μνήμη,κρυφό, K-Μενού,σελιδοδείκτες,πρόσφατα έγγραφα,γρήγορος εξερευνητής,μενού εξερευνητή,μενού,εικονίδια,tiles,μικροεφαρμογές,έναρξη,τονισμός,χειριστήρια, μεγέθυνση εικονιδίων
+Keywords[eo]=lanĉilo,panelo,tasklistelo,situo,grandeco,aŭtokaŝo,kaŝo,butono,fono,etoso,menubufro,K-Menuo,legosigno,lasta dokumento,rapidrigardilo,rigardmenuo,piktogramo,kahelo,aplikaĵo,lanĉo,emfazo,teniloj,pligrandigo,fidindaj aplikaĵetoj,sekurecnivelo
+Keywords[es]=kicker,panel,kpanel,barra de tareas,barra de inicio,barra de lanzamiento,dirección,tamaño,auto ocultar,ocultar,botones,animación,fondo,temas,caché de menú,caché,oculto,Menú K,marcadores,documentos recientes,navegador rápido,menú navegador,menú,iconos,mosaicos,miniaplicaciones,arranque,resaltado,asas,iconos ampliados
+Keywords[et]=kicker,paneel,kpanel,tegumiriba,käivitusriba,asukoht,suurus,terminal,automaatne peitmine,peitmine,nupud,animatsioon,taust,teemad,menüü vahemälu,vahemälu,peidetud,K-menüü,järjehoidjad,viimati kasutatud dokumendid, kiirbrauser,lehitsemise menüü,menüü,ikoonid,apletid,käivitamine,esiletõstmine,piirded,ikoonide suurendamine,usaldusväärsed apletid,turvatase
+Keywords[eu]=kicker,panela,kpanela,ataza-barra,hasiera-barra,abiarazte-barra,kokapena, neurria,auto ezkutatu,ezkutatu,botoiak,animazioa,atzeko planoa, gaiak,menu-katxea,katxea,ezkutatu,K-menua,laster-markak,oraintsuko dokumentuak, arakatzaile bizkorra,arakatzaile menua,menua,ikonoak,baldosak,appletak,abiatu,nabarmendu,heldulekuak,zooming icons
+Keywords[fa]=kicker، تابلو، kpanel، میله‌ تکلیف، میله آغاز، میله راه‌انداز، محل، اندازه، مخفی کردن خودکار، مخفی کردن، دکمه‌ها، پویانمایی، زمینه، چهره‌ها، نهانگاه گزینگان، نهانگاه، مخفی، گزینگان K، چوب ‌الفها، سندهای اخیر، مرورگر سریع، گزینگان، مرورگر، شمایلها، کاشیها، برنامکها، راه‌اندازی، مشخص، گرداننده‌ها، بزرگ‌نمایی شمایلها
+Keywords[fi]=kicker,paneeli,kpanel,tehtäväpalkki,käynnistyspalkki,paikka,koko,automaattipiilotus,piilotus,napit,animaatio,tausta,teemat,valikkovälimuisti,välimuisti,K-valikko,kirjanmerkit,viimeaikaiset asiakirjat,pikaselain,selausvalikko,valikko,kuvakkeet,sovelmat,käynnistys,korostus,kahvat,kuvakkeiden suurennus
+Keywords[fr]=kicker,tableau de bord,barre du bas,barre des tâches,barre de démarrage,barre de lancement,emplacement,taille,auto-masquage,cacher,masquer,boutons,animation,fond,arrière-plan,thème,cache de menu,cache,caché,menu K,K,signets,documents récents,document récent,navigateur rapide,navigateur,menu,icône,mosaïque,applet,démarrage,surbrillance,poignée,poignées,zoom,zoom sur les icônes
+Keywords[fy]=kicker,paniel,kpanel,taakbalke,takebalke,Startbalke,startmenu,applikaasje begjinner,lokaasje,ôfmjiting,terminaltapassing,auto hide,automatysk ferstopje,ferstopje,Ynklappe,knoppen,animaasje,eftergrûn,tema's,menu lyts ûnthâld,lyts ûnthâld,ferstoppe,K-Menu,bookmarks,blêdwizers,resinte dokuminten,quickbrowser,browser menu,menu,icons,ikoan,ikoanen,tegels,tiles,applets,begjinne,opljochtsje,handles,zoomen,knoppen,hanfetten,betroubere applets,feiligens nivo
+Keywords[gl]=kicker,painel,kpanel,barra de tarefas,barra de comezo,barra de lanzamento,localización,tamaño,auto agochamento,agochamento,botóns,animación,fondo,temas,cache de menú,caché,oculto,Menú K,marcadores,derradeiros documentos,navegador rápido,menú de navegación,menú,iconas,apliques,início,resaltado,xestión,aumento de iconas
+Keywords[he]=kicker, לוח, kpanel, שורת משימות, שורת הרצה, מיקום, גודל, הסתרה אוטומטית, הסתר, אנימציה, רקע, ערכות, תפריט, מטמון, מוסתר, תפריט K, מועדפים, מסמכים אחרונים, דפדוף מהיר, תפריט, סימנים, סמלים, כותרות, יישומונים, אתחול, הדגשה, ידיות, הגדלת סמלים, taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons, panel
+Keywords[hi]=किकर,फलक,के-पेनल,कार्यपट्टी,प्रारंभपट्टी,चालकपट्टी,स्थान,आकार,स्वतः छुपें,छुपें,बटन्स,एनिमेशन,पृष्ठभूमि,प्रसंग,मेनू कैश,कैश,छुपा,के-मेन्यू,पसंद,हाल ही के दस्तावेज़,क्विक-ब्राउज़र,ब्राउज़र मेन्यू,मेन्यू,प्रतीक,टाइल्स,ऐप्लेट्स,स्टार्टअप,उभारना,हैंडल्स,जूमिंग प्रतीक
+Keywords[hr]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,ploča,traka zadataka,traka pokretanja,lokacija,veličina,automatsko skrivanje,skrivanje,gumbi,animacija,pozadina,teme,pohrana izbornika,pohrana,skriven,oznake,nedavni dokumenti,brzi preglednik,izbornik preglednika,izbornik,ikone,popločeno,apleti,naglašavanje,rukovanje,uvećane ikone
+Keywords[hu]=Kicker,panel,kpanel,feladatlista,start menü,indítómenü,indítósáv,hely,méret,automatikus elrejtés,elrejtés,gombok,animáció,háttér,témák,menügyorstár,gyorstár,rejtett,K menü,könyvjelzők,legutóbbi dokumentumok,gyorsböngésző,böngészőmenü,menü,ikonok,mozaikszerű,kisalkalmazások,indulás,kiemelés,fogantyúk,nagyítóikonok
+Keywords[is]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,trusted applets,security level
+Keywords[it]=kicker,pannello,kpanel,barra delle applicazioni,taskbar,startbar,launchbar,barra di avvio,posizione,dimensione,scomparsa automatica,pulsanti,animazione,sfondo,temi,cache dei menu,nascosto,Menu K,segnalibri,documenti recenti,browser veloce,menu,icone,piastrelle,applet,avvio,evidenziazione,maniglie,ingrandimento icone
+Keywords[ja]=kicker,パネル,kpanel,タスクバー,スタートバー,ラウンチバー,場所,サイズ,自動的に隠す,隠す,ボタン,アニメーション,背景,テーマ,メニューキャッシュ,キャッシュ,隠れた,Kメニュー,ブックマーク,最近のドキュメント,クイックブラウザ,ブラウザメニュー,メニュー,アイコン,タイル,アプレット,スタートアップ,ハイライト,ハンドル,アイコンのズーム
+Keywords[km]=kicker,បន្ទះ,kpanel,របារ​ភារកិច្ច,របារ​បើក​ដំណើរការ,ទីតាំង,ទំហំ,លាក់​ស្វ័យប្រវត្តិ,លាក់,ប៊ូតុង,ចលនា,ផ្ទៃ​ខាង​ក្រោយ,ស្បែក,ឃ្លាំង​សម្ងាត់​ម៉ឺនុយ,ឃ្លាំង​សម្ងាត់,លាក់,ម៉ឺនុយ K,កន្លែង​ចំណាំ,ឯកសារ​ថ្មីៗ​នេះ,កម្មវិធី​រុករក​រហ័ស,ម៉ឺនុយ​កម្មវិធី​រុករក,ម៉ឺនុយ,រូបតំណាង,ក្បឿង,អាប់ភ្លេត,ចាប់ផ្ដើម,បន្លិច,ប្រើ,រូបតំណាង​ពង្រីក
+Keywords[lt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,skydelis,kskydelis,užduočių juosta,paleidimo juosta,slėpti,mygtukai,animacija,fonas,temos,meniu atmintinė,atmintinė,paslėptas,žymelės,neseniai naudoti dokumentai,peržiūra,meniu,ženkliukai,perdengti,įskiepiai,paleistis,pažymėti,rankenėlės,išdidinti ženkliukus
+Keywords[lv]=kicker,panelis,kpanel,uzdevumjosla,startbar,launchbar,location,size,izmērs,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,grāmatzīmes,recent documents,quickbrowser,browser menu,izvēlne,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[mk]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,панел,лента со програми,локација,големина,авто криење,криење,копчиња,анимација,подлога,позадина,теми,кеш на менито,кеш,скриен,K-Мени,обележувачи, последни документи,брз прелистувач,мени за прелистувачи,мени,икони,плочки,аплети,рачки,зумирање на икони
+Keywords[mt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,favoriti,pannell,post,daqs,lokazzjoni,ħabi,animazzjoni,buttuni
+Keywords[nb]=kicker,panel,kpanel,oppgavelinje,startlinje,plassering,størrelse, autoskjul,skjul,knapper,animasjon,bakgrunn,temaer,mellomlager for temaer, mellomlager,skjult,K-meny,bokmerker,nylig brukte dokumenter,hurtigviser, katalogmeny,meny,ikoner,fliser,miniprogrammer,panelprogrammer,oppstart, uthev,håndtak,forstørring av ikoner
+Keywords[nds]=Kicker,Paneel,kpanel,Taskbalken,Programmbalken,Startbalken,Adress,Grött,automaatsch versteken,versteken,Knööp,Knoop,Knööp,Animatschoon,Achtergrund,Muster,Menü-Twischenspieker,Twischenspieker,versteken,K-Menü,Leesteken,leste Dokmenten,Fixkieker,Nettkieker-Menü,Menü,Lüttbiller,Titel,Programmen,starten,markeren,handles,Grepen,Lüttbiller grötter maken
+Keywords[ne]=किकर, प्यानल, के प्यानल, कार्यपट्टी, सुरुपट्टी, सुरुआतपट्टी, स्थान, आकार, स्वत: लुकाउने, लुकाउनुहोस्, बटनहरू, एनिमेसन, पृष्ठभूमि, विषयवस्तुहरू, मेनु क्यास, क्यास, लुकेको, के-मेनु, पुस्तकचिनोहरू, हालको कागजातहरू, छिटो ब्राउजर, ब्राउजर मेनु, मेनु, प्रतिमा, टायलहरू, एप्लेटहरू, सुरु, हाइलाइट, ह्यान्डल गर्दछ, जुम प्रतिमा
+Keywords[nl]=kicker,paneel,kpanel,taakbalk,takenbalk,startbalk,startmenu,applicatie starter,locatie,afmeting,terminaltoepassing,auto hide,automatisch verbergen,verbergen,invouwen,knoppen,animatie,achtergrond,thema's,menu cache,cache,verborgen,K-Menu,bookmarks,bladwijzers,recente documenten,quickbrowser,browser menu,menu,icons,icoon,iconen,pictogrammen,tegels,tiles,applets,opstarten,highlight,accentuering,handles,zoomen,knoppen,handvatten,betrouwbare applets,security level,beveiligingsniveau
+Keywords[nn]=Kicker,panel,KPanel,oppgåvelinje,oppstartslinje,plassering,storleik,autogøym,gøym,knappar,animasjon,bakgrunn,tema,menymellomlager,mellomlager,gøymd,K-meny,bokmerke,nyleg bruka dokument,snøgglesar,katalogmeny,meny,ikon,brikker,applet,panelprogram,oppstart,merking,handtak,forstørring av ikon
+Keywords[pa]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons, ਪੈਨਲ, ਟਿਕਾਣਾ, ਬਰਾਊਜ਼ਰ, ਝਲਾਕਰਾ, ਕੈਂਚੇ, ਕੇ-ਮੇਨੂ, ਬੁੱਕਮਾਰਕ, ਤਾਜ਼ਾ, ਉਘੜੇ, ਹੈਂਡਲ, ਬਟਨ, ਸਰੂਪ, ਮੇਨੂ, ਓਹਲੇ, ਅਕਾਰ
+Keywords[pl]=kicker,panel,kpanel,pasek zadań,pasek startu,pasek uruchamiania,położenie,rozmiar,automatyczne ukrywanie,ukryj,przyciski,animacja,tło,motywy,bufor (cache) menu,bufor,cache,ukryty,K-Menu,zakładki,ostatnie dokumenty,szybkie przeglądanie,menu,ikony,kafelkowane,programiki,uruchomienie,podświetlanie,uchwyty,powiększanie ikon
+Keywords[pt]=kicker,painel,kpanel,barra de tarefas,barra de início,barra de lançamento,localização,tamanho,auto-esconder,esconder,botões,animação,fundo,temas,'cache' de menu,'cache',escondido,menu K,favoritos,documentos recentes,navegador rápido,menu de navegação,menu,ícones,mosaicos,'applets',inicio,realce,pegas,ícones aumentados
+Keywords[pt_BR]=kicker,painel,kpanel,barra de tarefas,lançar aplicativos,localização,tamanho,auto-ocultar,esconder,botões, animação,fundo,temas,cache de menu,cache,escondido,Menu K,favoritos,documentos recentes,navegador rápido, menu do navegador,menu,ícones,títulos,mini-aplicativos,iniciar,realçar, manipuladores, ícones de ampliação
+Keywords[ro]=kicker,panou,kpanel,bară de procese,bară de start,pornire,lansare,mărime,locație,ascundere automată,butoane,animație,fundal,tematică,meniu K,semne de carte,documente recente,navigator rapid,meniu navigare,meniu,iconițe,mozaic,miniaplicații,evidențiere,scalare
+Keywords[rw]=igitera,umwanya,k-umwanya,umurongogutangira,umurongogutangiza,indangahantu,ingano,kwihisha,guhisha,buto,iyega,mbuganyuma,insanganyamatsiko,ubwihisho bw'ibikubiyemo,ubwihisho,bihishe,K-Ibikubiyemo,utumenyetso,inyandiko zigezweho,mucukumbuzi yihuta,ibikubiyemo bya mucukumbuzi,ibikubiyemo,udushushondanga,udukaro,apuleti,gutangira,gushimangira,ibifashi,udushushondanga guhindura-ingano
+Keywords[se]=kicker,panela,kpanel,bargoholga,álggahanholga,báiki,sturrodat,autočiega,čiehkadit,boalut,animašuvdna,duogáš,fáddá,fálločiehkárájus,čiehkárájus,K-fállu,girjemearkkat,aiddo geavahuvvon dokumeantta,ohcofállu,fállu,govažat,prográmmažat,álggaheapmi,merken,geavjjat,luohttehahtti prográmmažat,sihkkarvuohtadássi
+Keywords[sk]=kicker,panel,kpanel,taskbar,startbar,launchbar,miesto,umiestnenie,veľkosť,terminálová aplikácia,skrývanie,automatické skrývanie,tlačidlá,animácia,pozadie,témy,cache,cache ponuky,skryté,K-Menu,záložky,posledné dokumenty,rýchly prehliadač,ponuka prehliadača,menu,ikony,applety,štart,zvýraznenie,handles,zväčšovanie ikon,overené applety,úroveň zabezpečenia
+Keywords[sl]=kicker,pult,kpanel,opravilna vrstica,zagonska vrstica,mesto,lokacija,velikost,terminalski program,skrij,samodejno skrivanje,skrivanje,gumbi,animacija,ozadje,teme,menijski predpomnilnik,predpomnilnik,skrit,K-Menu,zaznamki,nedavni dokumenti,hitro brskanje,brskalni meni,meni,tlakovci,ikone,vstavki,zagon,osvetlitev,ročice,ikone za povečavo
+Keywords[sr]=kicker,панел,kpanel,трака задатака,startbar,launchbar,локација,величина,Терминалски програм,аутоматско сакривање,сакривање,дугмићи,анимација,позадина,теме,мени кеш,кеш,скривен,K-Menu,маркери,скори документи,брзи прегледач,мени прегледача,мени,иконе,блокови,апплети,startup,истицање,хватаљке,увеличавање икона,аплети којима се верује,ниво безбедности
+Keywords[sr@Latn]=kicker,panel,kpanel,traka zadataka,startbar,launchbar,lokacija,veličina,Terminalski program,automatsko sakrivanje,sakrivanje,dugmići,animacija,pozadina,teme,meni keš,keš,skriven,K-Menu,markeri,skori dokumenti,brzi pregledač,meni pregledača,meni,ikone,blokovi,appleti,startup,isticanje,hvataljke,uveličavanje ikona,apleti kojima se veruje,nivo bezbednosti
+Keywords[sv]=kicker,panel,k-panel,aktivitetsfält,startfält,körningsfält,plats,storlek,dölj automatiskt,dölj,göm,knappar,animering,bakgrund,teman,menycache,cache,gömd,dold,K-meny,bokmärken,senaste dokument,snabbläddrare,bläddringsmeny,meny,ikoner,miniprogram,start,framhäv,grepp,zoomikoner
+Keywords[ta]=கிக்கர், பானல், கேபானல்,துவக்கப்பட்டி, துவங்கும்பட்டி,இடம்,அளவு, சத்தம் மறை, மறை,பட்டன், உயிர்சித்திரம்,பின்னனி,கருப்பொருள், தற்காலிக மெனு, மறைந்த,கே-மெனு,புத்தககுறிகள், தற்போதைய ஆவணம். வேக உலாவி, உலாவி மெனு, மெனு, சின்னம், சிறுநிரல், துவக்கம், கையாள், பெரிதாக்கும் சின்னங்கள்
+Keywords[th]=kicker,พาเนล,kpanel,taskbar,startbar,แถบเรียกโปรแกรม,ที่ตั้ง,ขนาด,ซ่อนอัตโนมัติ ,ซ่อน,ปุ่ม,อนิเมชั่น,พื้นหลัง,ชุดตกแต่ง,แคชของเมนู,แคช,ถูกซ่อน,K-Menu,ที่คั่นหน้า,เอกสารที่เพิ่งเปิดไป,quickbrowser,เมนูของบราวเซอร์,เมนู,ไอคอน,พื้นผิว,applets,startup,highlight,handles,ซูมไอคอน
+Keywords[tr]=kicker,panel,kpanel,görev çubuğu,başlangıç çubuğu,başlat çubuğu,konum,boyut,Uç birim uygulaması,otomatik gizle,gizle,tuşlar,animasyon,artalan,temalar,menü ön belleği,ön bellek,gizli,K-Menu,yer imleri,en son kullanılan belgeler,hızlı gözatıcı,göz atıcı menüsü,menü,simgeler,karo,programcıklar,Başlangıç,belirt,tutamaçlar,büyüyen simgeler,güvenilen programcıklar,güvenlik düzeyi
+Keywords[tt]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser saylaq,saylaq,icons,tiles,applets,startup,highlight,handles,zooming icons
+Keywords[uk]=kicker,панель,смужка задач,kpanel,смужка запуску,розташування,розмір,консольна програма,автоматичне згортання,згортання,кнопки,анімація,тло,теми,кеш меню,кеш,схований,К-Меню,закладки,недавні документи,швидка навігація,меню навігатора,меню,піктограми,заголовки,аплети,запуск,підсвічування,маніпулятор,масштабування піктограм
+Keywords[uz]=panel,vazifalar paneli,bekitish,avto-bekitish,tugmalar,animatsiya,orqa fon,mavzular,K-menyu,kesh,yashirilgan,xatchoʻplar,yaqinda ochilgan hujjatlar,tez koʻruvchi,brauzer menyusi,menyuning keshi,menyu,nishonchalar,appletlar,nishonchalarni kattalashtirish,oʻlcham,kicker,kpanel,startbar,launchbar,joylashishi,tiles,startup,highlight,handles
+Keywords[uz@cyrillic]=панел,вазифалар панели,бекитиш,авто-бекитиш,тугмалар,анимация,орқа фон,мавзулар,К-меню,кэш,яширилган,хатчўплар,яқинда очилган ҳужжатлар,тез кўрувчи,браузер менюси,менюнинг кэши,меню,нишончалар,апплетлар,нишончаларни катталаштириш,ўлчам,kicker,kpanel,startbar,launchbar,жойлашиши,tiles,startup,highlight,handles
+Keywords[vi]=kích hoạt,bảng điều khiển,kpanel,thanh tác vụ,thanh khởi động,thanh phóng,vị trí,kích cỡ,tự ẩn,ẩn,nút,hoạt hình,mảnh nền,sắc thái,thực đơn đệm,đệm,giấu,Thực đơn K,số lưu liên kết,tài liệu gần đây,duyệt nhanh,thực đơn duyệt,thực đơn,biểu tượng,tiêu đề,tiểu ứng dụng,khởi động,nổi bật,cầm nắm,biểu tượng phóng đại,ứng dụng đáng tin,mức độ an ninh
+Keywords[wa]=kicker,panel,sicriftôr,scriftôr,kpanel,taskbar,bår des bouyes,startbar,launchbar,bår d' enondaedje,plaece,grandeu,catche tot seu,catchî,botons,animåvion,fond,tinmes,muchete menu,muchete,K-Menu,rimåkes,documints nén vî,betchteu rade,dresseŷe do betchteu,dressêye,menu,imådjetes,applets,apliketes,enonde tot seu,highlight,handles,zooming icons,zoumer les imådjetes
+Keywords[zh_CN]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons面板,任务栏,启动栏,位置,大小,自动隐藏,隐藏,按钮,动画,背景,主题,菜单缓存,缓存,书签,最近文档,快速浏览器,浏览器菜单,菜单,图标,平铺,启动,突出,句柄,缩放图标
+Keywords[zh_TW]=kicker,panel,kpanel,taskbar,startbar,launchbar,location,size,auto hide,hide,buttons,animation,background,themes,menu cache,cache,hidden,K-Menu,bookmarks,recent documents,quickbrowser,browser menu,menu,icons,tiles,applets,startup,highlight,handles,zooming icons,面板,工作列,啟動列,快捷列,位置,大小,自動隱藏,隱藏,按鈕,動畫,背景,佈景主題,選單快取,快取,隱藏,K-選單,書籤,最近開啟的文件,快速瀏覽,瀏覽選單,選單,圖示,小圖塊,應用程式,啟動,高亮度,處理,縮放圖示
+
+Categories=Qt;KDE;X-KDE-settings-desktop;
diff --git a/kcontrol/kicker/positionconfig.cpp b/kcontrol/kicker/positionconfig.cpp
new file mode 100644
index 000000000..86a94ed21
--- /dev/null
+++ b/kcontrol/kicker/positionconfig.cpp
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2005 Stefan Nikolaus <stefan.nikolaus@kdemail.net>
+ *
+ * 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 <qlayout.h>
+#include <qtimer.h>
+
+#include <klocale.h>
+#include <kdebug.h>
+
+#include "positiontab_impl.h"
+#include "kickerSettings.h"
+#include "main.h"
+
+#include "positionconfig.h"
+#include "positionconfig.moc"
+
+PositionConfig::PositionConfig(QWidget *parent, const char *name)
+ : KCModule(parent, name)
+{
+ QVBoxLayout *layout = new QVBoxLayout(this);
+ m_widget = new PositionTab(this);
+ layout->addWidget(m_widget);
+ layout->addStretch();
+
+ setQuickHelp(KickerConfig::the()->quickHelp());
+ setAboutData(KickerConfig::the()->aboutData());
+
+ //addConfig(KickerSettings::self(), m_widget);
+
+ connect(m_widget, SIGNAL(changed()),
+ this, SLOT(changed()));
+ connect(KickerConfig::the(), SIGNAL(aboutToNotifyKicker()),
+ this, SLOT(aboutToNotifyKicker()));
+
+ load();
+ QTimer::singleShot(0, this, SLOT(notChanged()));
+}
+
+void PositionConfig::notChanged()
+{
+ emit changed(false);
+}
+
+void PositionConfig::load()
+{
+ m_widget->load();
+ KCModule::load();
+}
+
+void PositionConfig::aboutToNotifyKicker()
+{
+ kdDebug() << "PositionConfig::aboutToNotifyKicker()" << endl;
+
+ // This slot is triggered by the signal,
+ // which is send before Kicker is notified.
+ // See comment in save().
+ m_widget->save();
+ KCModule::save();
+}
+
+void PositionConfig::save()
+{
+ // As we don't want to notify Kicker multiple times
+ // we do not save the settings here. Instead the
+ // KickerConfig object sends a signal before the
+ // notification. On this signal all existing modules,
+ // including this object, save their settings.
+ KickerConfig::the()->notifyKicker();
+}
+
+void PositionConfig::defaults()
+{
+ m_widget->defaults();
+ KCModule::defaults();
+
+ // KConfigDialogManager may queue an changed(false) signal,
+ // so we make sure, that the module is labeled as changed,
+ // while we manage some of the widgets ourselves
+ QTimer::singleShot(0, this, SLOT(changed()));
+}
diff --git a/kcontrol/kicker/positionconfig.h b/kcontrol/kicker/positionconfig.h
new file mode 100644
index 000000000..8fc1c885f
--- /dev/null
+++ b/kcontrol/kicker/positionconfig.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2005 Stefan Nikolaus <stefan.nikolaus@kdemail.net>
+ *
+ * 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 __positionconfig_h__
+#define __positionconfig_h__
+
+#include <kcmodule.h>
+
+class PositionTab;
+
+class PositionConfig : public KCModule
+{
+ Q_OBJECT
+
+public:
+ PositionConfig(QWidget *parent = 0, const char *name = 0);
+
+ void load();
+ void save();
+ void defaults();
+
+public slots:
+ void notChanged();
+ void aboutToNotifyKicker();
+
+private:
+ PositionTab *m_widget;
+};
+
+#endif // __positionconfig_h__
diff --git a/kcontrol/kicker/positiontab.ui b/kcontrol/kicker/positiontab.ui
new file mode 100644
index 000000000..b0566f5dc
--- /dev/null
+++ b/kcontrol/kicker/positiontab.ui
@@ -0,0 +1,1129 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>PositionTabBase</class>
+<author>Aaron J. Seigo</author>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>PositionTabBase</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>517</width>
+ <height>400</height>
+ </rect>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This is a list of all the panels currently active on your desktop. Select one to configure.</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QGroupBox" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>m_panelsGroupBox</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="title">
+ <string></string>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>m_panelListLabel</cstring>
+ </property>
+ <property name="text">
+ <string>S&amp;ettings for:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>m_panelList</cstring>
+ </property>
+ </widget>
+ <widget class="QComboBox">
+ <property name="name">
+ <cstring>m_panelList</cstring>
+ </property>
+ </widget>
+ <spacer>
+ <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>342</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QGroupBox" row="1" column="1" rowspan="3" colspan="1">
+ <property name="name">
+ <cstring>XineramaGroup</cstring>
+ </property>
+ <property name="title">
+ <string>Screen</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget" row="0" column="0">
+ <property name="name">
+ <cstring>Layout13</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer9</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>m_monitorImage</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>151</width>
+ <height>115</height>
+ </size>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This preview image shows how the panel will appear on your screen with the settings you have chosen. Clicking the buttons around the image will move the position of the panel, while moving the length slider and choosing different sizes will change the dimensions of the panel.</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer13_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget" row="1" column="0">
+ <property name="name">
+ <cstring>Layout12</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer8</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>m_identifyButton</cstring>
+ </property>
+ <property name="text">
+ <string>Identify</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This button displays each monitor's identifying number</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget" row="2" column="0">
+ <property name="name">
+ <cstring>Layout9</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>m_xineramaScreenLabel</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Xinerama screen:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>m_xineramaScreenComboBox</cstring>
+ </property>
+ </widget>
+ <widget class="QComboBox">
+ <property name="name">
+ <cstring>m_xineramaScreenComboBox</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This menu selects which screen the Panel will be displayed on in a multiple-monitor system</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <spacer row="3" column="0">
+ <property name="name">
+ <cstring>Spacer61</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>0</width>
+ <height>101</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QButtonGroup" row="2" column="0">
+ <property name="name">
+ <cstring>m_rsizeGroup</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>10</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Len&amp;gth</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This group of settings determines how the panel is aligned, including
+how it is positioned on the screen and how much of the screen it should use.</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout8</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QSlider">
+ <property name="name">
+ <cstring>m_percentSlider</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="maxValue">
+ <number>100</number>
+ </property>
+ <property name="value">
+ <number>100</number>
+ </property>
+ <property name="tracking">
+ <bool>true</bool>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="tickmarks">
+ <enum>NoMarks</enum>
+ </property>
+ <property name="tickInterval">
+ <number>10</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This slider defines how much of the screen's edge will be occupied by the panel.</string>
+ </property>
+ </widget>
+ <widget class="KIntNumInput">
+ <property name="name">
+ <cstring>m_percentSpinBox</cstring>
+ </property>
+ <property name="value">
+ <number>100</number>
+ </property>
+ <property name="minValue">
+ <number>0</number>
+ </property>
+ <property name="maxValue">
+ <number>100</number>
+ </property>
+ <property name="suffix">
+ <string>%</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This spinbox defines how much of the screen's edge will be occupied by the panel.</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>m_expandCheckBox</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Expand as required to fit contents</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When this option is selected, the panel will grow as necessary to accommodate the buttons and applets on it.</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <spacer row="4" column="0">
+ <property name="name">
+ <cstring>Spacer13</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>16</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QButtonGroup" row="3" column="0">
+ <property name="name">
+ <cstring>m_sizeGroup</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>10</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Si&amp;ze</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This sets the size of the panel.</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QComboBox" row="0" column="0" rowspan="1" colspan="2">
+ <item>
+ <property name="text">
+ <string>Tiny</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Small</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Normal</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Large</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Custom</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>m_panelSize</cstring>
+ </property>
+ </widget>
+ <spacer row="1" column="0" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>Spacer14_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>30</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLayoutWidget" row="1" column="1">
+ <property name="name">
+ <cstring>Layout9</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QSlider">
+ <property name="name">
+ <cstring>m_customSlider</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minValue">
+ <number>24</number>
+ </property>
+ <property name="maxValue">
+ <number>128</number>
+ </property>
+ <property name="pageStep">
+ <number>8</number>
+ </property>
+ <property name="value">
+ <number>58</number>
+ </property>
+ <property name="tracking">
+ <bool>true</bool>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="tickmarks">
+ <enum>NoMarks</enum>
+ </property>
+ <property name="tickInterval">
+ <number>20</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This slider defines the panel size when the Custom option is selected.</string>
+ </property>
+ </widget>
+ <widget class="KIntNumInput">
+ <property name="name">
+ <cstring>m_customSpinbox</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="value">
+ <number>58</number>
+ </property>
+ <property name="minValue">
+ <number>24</number>
+ </property>
+ <property name="maxValue">
+ <number>128</number>
+ </property>
+ <property name="suffix">
+ <string> pixels</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This spinbox defines the panel size when the Custom option is selected.</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QButtonGroup" row="1" column="0">
+ <property name="name">
+ <cstring>m_locationGroup</cstring>
+ </property>
+ <property name="title">
+ <string>Position</string>
+ </property>
+ <property name="exclusive">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Here you can set the position of the panel highlighted on the left side. You can put any panel on top or bottom of the screen and on the left or right side of the screen. There you can put it into the center or into either corner of the screen.</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer row="0" column="2">
+ <property name="name">
+ <cstring>Spacer9_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="0" column="0">
+ <property name="name">
+ <cstring>Spacer10_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>21</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLayoutWidget" row="0" column="1">
+ <property name="name">
+ <cstring>Layout7</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget" row="0" column="1">
+ <property name="name">
+ <cstring>Layout8</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>locationTopLeft</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="accel">
+ <string>Alt+1</string>
+ </property>
+ <property name="toggleButton">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>locationTop</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="accel">
+ <string>Alt+2</string>
+ </property>
+ <property name="toggleButton">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>locationTopRight</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="accel">
+ <string>Alt+3</string>
+ </property>
+ <property name="toggleButton">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget" row="1" column="0">
+ <property name="name">
+ <cstring>Layout10</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>locationLeftTop</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>16</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="accel">
+ <string>Alt+=</string>
+ </property>
+ <property name="toggleButton">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>locationLeft</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>16</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="accel">
+ <string>Alt+-</string>
+ </property>
+ <property name="toggleButton">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>locationLeftBottom</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>16</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="accel">
+ <string>Alt+0</string>
+ </property>
+ <property name="toggleButton">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="QLayoutWidget" row="2" column="1">
+ <property name="name">
+ <cstring>Layout7</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>locationBottomLeft</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="accel">
+ <string>Alt+9</string>
+ </property>
+ <property name="toggleButton">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>locationBottom</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="accel">
+ <string>Alt+8</string>
+ </property>
+ <property name="toggleButton">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>locationBottomRight</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="accel">
+ <string>Alt+7</string>
+ </property>
+ <property name="toggleButton">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget" row="1" column="2">
+ <property name="name">
+ <cstring>Layout9</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>locationRightTop</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>16</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="accel">
+ <string>Alt+4</string>
+ </property>
+ <property name="toggleButton">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>locationRight</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>16</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="accel">
+ <string>Alt+5</string>
+ </property>
+ <property name="toggleButton">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>locationRightBottom</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>16</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="accel">
+ <string>Alt+6</string>
+ </property>
+ <property name="toggleButton">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+</widget>
+<connections>
+ <connection>
+ <sender>m_percentSlider</sender>
+ <signal>valueChanged(int)</signal>
+ <receiver>PositionTabBase</receiver>
+ <slot>lengthenPanel(int)</slot>
+ </connection>
+ <connection>
+ <sender>m_sizeGroup</sender>
+ <signal>clicked(int)</signal>
+ <receiver>PositionTabBase</receiver>
+ <slot>panelDimensionsChanged()</slot>
+ </connection>
+ <connection>
+ <sender>m_customSlider</sender>
+ <signal>valueChanged(int)</signal>
+ <receiver>PositionTabBase</receiver>
+ <slot>panelDimensionsChanged()</slot>
+ </connection>
+ <connection>
+ <sender>m_percentSlider</sender>
+ <signal>valueChanged(int)</signal>
+ <receiver>m_percentSpinBox</receiver>
+ <slot>setValue(int)</slot>
+ </connection>
+ <connection>
+ <sender>m_percentSpinBox</sender>
+ <signal>valueChanged(int)</signal>
+ <receiver>m_percentSlider</receiver>
+ <slot>setValue(int)</slot>
+ </connection>
+ <connection>
+ <sender>m_customSlider</sender>
+ <signal>valueChanged(int)</signal>
+ <receiver>m_customSpinbox</receiver>
+ <slot>setValue(int)</slot>
+ </connection>
+ <connection>
+ <sender>m_customSpinbox</sender>
+ <signal>valueChanged(int)</signal>
+ <receiver>m_customSlider</receiver>
+ <slot>setValue(int)</slot>
+ </connection>
+ <connection>
+ <sender>m_locationGroup</sender>
+ <signal>clicked(int)</signal>
+ <receiver>PositionTabBase</receiver>
+ <slot>movePanel(int)</slot>
+ </connection>
+ <connection>
+ <sender>m_panelSize</sender>
+ <signal>activated(int)</signal>
+ <receiver>PositionTabBase</receiver>
+ <slot>panelDimensionsChanged()</slot>
+ </connection>
+ <connection>
+ <sender>m_panelList</sender>
+ <signal>activated(int)</signal>
+ <receiver>PositionTabBase</receiver>
+ <slot>switchPanel(int)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>locationTopLeft</tabstop>
+ <tabstop>locationTop</tabstop>
+ <tabstop>locationTopRight</tabstop>
+ <tabstop>locationRightTop</tabstop>
+ <tabstop>locationRight</tabstop>
+ <tabstop>locationRightBottom</tabstop>
+ <tabstop>locationBottomRight</tabstop>
+ <tabstop>locationBottom</tabstop>
+ <tabstop>locationBottomLeft</tabstop>
+ <tabstop>locationLeftBottom</tabstop>
+ <tabstop>locationLeft</tabstop>
+ <tabstop>locationLeftTop</tabstop>
+ <tabstop>m_percentSlider</tabstop>
+ <tabstop>m_percentSpinBox</tabstop>
+ <tabstop>m_expandCheckBox</tabstop>
+ <tabstop>m_customSlider</tabstop>
+ <tabstop>m_customSpinbox</tabstop>
+ <tabstop>m_identifyButton</tabstop>
+ <tabstop>m_xineramaScreenComboBox</tabstop>
+</tabstops>
+<includes>
+ <include location="global" impldecl="in declaration">klineedit.h</include>
+ <include location="global" impldecl="in implementation">knuminput.h</include>
+ <include location="local" impldecl="in implementation">kdialog.h</include>
+</includes>
+<slots>
+ <slot access="protected" specifier="pure virtual">lengthenPanel( int )</slot>
+ <slot access="protected" specifier="pure virtual">movePanel( int )</slot>
+ <slot access="protected" specifier="pure virtual">panelDimensionsChanged()</slot>
+ <slot specifier="pure virtual">switchPanel( int )</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>knuminput.h</includehint>
+ <includehint>knuminput.h</includehint>
+ <includehint>knuminput.h</includehint>
+ <includehint>knuminput.h</includehint>
+</includehints>
+</UI>
diff --git a/kcontrol/kicker/positiontab_impl.cpp b/kcontrol/kicker/positiontab_impl.cpp
new file mode 100644
index 000000000..22f38e0a1
--- /dev/null
+++ b/kcontrol/kicker/positiontab_impl.cpp
@@ -0,0 +1,742 @@
+/*
+ * Copyright (c) 2000 Matthias Elter <elter@kde.org>
+ * Copyright (c) 2002 Aaron Seigo <aseigo@olympusproject.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 <stdlib.h>
+
+#include <qbuttongroup.h>
+#include <qcheckbox.h>
+#include <qcombobox.h>
+#include <qlabel.h>
+#include <qpushbutton.h>
+#include <qslider.h>
+#include <qtooltip.h>
+#include <qtimer.h>
+
+#include <kapplication.h>
+#include <kdebug.h>
+#include <klocale.h>
+#include <knuminput.h>
+#include <kpanelextension.h>
+#include <kpixmap.h>
+#include <kstandarddirs.h>
+#include <kwin.h>
+
+#include "main.h"
+#include "../background/bgrender.h"
+
+#include "positiontab_impl.h"
+#include "positiontab_impl.moc"
+
+
+// magic numbers for the preview widget layout
+extern const int offsetX = 23;
+extern const int offsetY = 14;
+extern const int maxX = 150;
+extern const int maxY = 114;
+extern const int margin = 1;
+
+PositionTab::PositionTab(QWidget *parent, const char* name)
+ : PositionTabBase(parent, name),
+ m_pretendPanel(0),
+ m_desktopPreview(0),
+ m_panelInfo(0),
+ m_panelPos(PosBottom),
+ m_panelAlign(AlignLeft)
+{
+ QPixmap monitor(locate("data", "kcontrol/pics/monitor.png"));
+ m_monitorImage->setPixmap(monitor);
+ m_monitorImage->setFixedSize(m_monitorImage->sizeHint());
+
+ m_pretendDesktop = new QWidget(m_monitorImage, "pretendBG");
+ m_pretendDesktop->setGeometry(offsetX, offsetY, maxX, maxY);
+ m_pretendPanel = new QFrame(m_monitorImage, "pretendPanel");
+ m_pretendPanel->setGeometry(offsetX + margin, maxY + offsetY - 10,
+ maxX - margin, 10 - margin);
+ m_pretendPanel->setFrameShape(QFrame::MenuBarPanel);
+
+ /*
+ * set the tooltips on the buttons properly for RTL langs
+ */
+ if (kapp->reverseLayout())
+ {
+ QToolTip::add(locationTopRight, i18n("Top left"));
+ QToolTip::add(locationTop, i18n("Top center"));
+ QToolTip::add(locationTopLeft, i18n("Top right" ) );
+ QToolTip::add(locationRightTop, i18n("Left top"));
+ QToolTip::add(locationRight, i18n("Left center"));
+ QToolTip::add(locationRightBottom, i18n("Left bottom"));
+ QToolTip::add(locationBottomRight, i18n("Bottom left"));
+ QToolTip::add(locationBottom, i18n("Bottom center"));
+ QToolTip::add(locationBottomLeft, i18n("Bottom right"));
+ QToolTip::add(locationLeftTop, i18n("Right top"));
+ QToolTip::add(locationLeft, i18n("Right center"));
+ QToolTip::add(locationLeftBottom, i18n("Right bottom"));
+ }
+ else
+ {
+ QToolTip::add(locationTopLeft, i18n("Top left"));
+ QToolTip::add(locationTop, i18n("Top center"));
+ QToolTip::add(locationTopRight, i18n("Top right" ) );
+ QToolTip::add(locationLeftTop, i18n("Left top"));
+ QToolTip::add(locationLeft, i18n("Left center"));
+ QToolTip::add(locationLeftBottom, i18n("Left bottom"));
+ QToolTip::add(locationBottomLeft, i18n("Bottom left"));
+ QToolTip::add(locationBottom, i18n("Bottom center"));
+ QToolTip::add(locationBottomRight, i18n("Bottom right"));
+ QToolTip::add(locationRightTop, i18n("Right top"));
+ QToolTip::add(locationRight, i18n("Right center"));
+ QToolTip::add(locationRightBottom, i18n("Right bottom"));
+ }
+
+ // connections
+ connect(m_locationGroup, SIGNAL(clicked(int)), SIGNAL(changed()));
+ connect(m_xineramaScreenComboBox, SIGNAL(highlighted(int)), SIGNAL(changed()));
+
+ connect(m_identifyButton,SIGNAL(clicked()),SLOT(showIdentify()));
+
+ for(int s=0; s < QApplication::desktop()->numScreens(); s++)
+ { /* populate the combobox for the available screens */
+ m_xineramaScreenComboBox->insertItem(QString::number(s+1));
+ }
+ m_xineramaScreenComboBox->insertItem(i18n("All Screens"));
+
+ // hide the xinerama chooser widgets if there is no need for them
+ if (QApplication::desktop()->numScreens() < 2)
+ {
+ m_identifyButton->hide();
+ m_xineramaScreenComboBox->hide();
+ m_xineramaScreenLabel->hide();
+ }
+
+ connect(m_percentSlider, SIGNAL(valueChanged(int)), SIGNAL(changed()));
+ connect(m_percentSpinBox, SIGNAL(valueChanged(int)), SIGNAL(changed()));
+ connect(m_expandCheckBox, SIGNAL(clicked()), SIGNAL(changed()));
+
+ connect(m_sizeGroup, SIGNAL(clicked(int)), SIGNAL(changed()));
+ connect(m_customSlider, SIGNAL(valueChanged(int)), SIGNAL(changed()));
+ connect(m_customSpinbox, SIGNAL(valueChanged(int)), SIGNAL(changed()));
+
+ m_desktopPreview = new KVirtualBGRenderer(0);
+ connect(m_desktopPreview, SIGNAL(imageDone(int)),
+ SLOT(slotBGPreviewReady(int)));
+
+ connect(KickerConfig::the(), SIGNAL(extensionInfoChanged()),
+ SLOT(infoUpdated()));
+ connect(KickerConfig::the(), SIGNAL(extensionAdded(ExtensionInfo*)),
+ SLOT(extensionAdded(ExtensionInfo*)));
+ connect(KickerConfig::the(), SIGNAL(extensionRemoved(ExtensionInfo*)),
+ SLOT(extensionRemoved(ExtensionInfo*)));
+ connect(KickerConfig::the(), SIGNAL(extensionChanged(const QString&)),
+ SLOT(extensionChanged(const QString&)));
+ connect(KickerConfig::the(), SIGNAL(extensionAboutToChange(const QString&)),
+ SLOT(extensionAboutToChange(const QString&)));
+ // position tab tells hiding tab about extension selections and vice versa
+ connect(KickerConfig::the(), SIGNAL(hidingPanelChanged(int)),
+ SLOT(jumpToPanel(int)));
+ connect(m_panelList, SIGNAL(activated(int)),
+ KickerConfig::the(), SIGNAL(positionPanelChanged(int)));
+
+ connect(m_panelSize, SIGNAL(activated(int)),
+ SLOT(sizeChanged(int)));
+ connect(m_panelSize, SIGNAL(activated(int)),
+ SIGNAL(changed()));
+}
+
+PositionTab::~PositionTab()
+{
+ delete m_desktopPreview;
+}
+
+void PositionTab::load()
+{
+ m_panelInfo = 0;
+ KickerConfig::the()->populateExtensionInfoList(m_panelList);
+ m_panelsGroupBox->setHidden(m_panelList->count() < 2);
+
+ switchPanel(KickerConfig::the()->currentPanelIndex());
+ m_desktopPreview->setPreview(m_pretendDesktop->size());
+ m_desktopPreview->start();
+}
+
+void PositionTab::extensionAdded(ExtensionInfo* info)
+{
+ m_panelList->insertItem(info->_name);
+ m_panelsGroupBox->setHidden(m_panelList->count() < 2);
+}
+
+void PositionTab::save()
+{
+ storeInfo();
+ KickerConfig::the()->saveExtentionInfo();
+}
+
+void PositionTab::defaults()
+{
+ m_panelPos= PosBottom; // bottom of the screen
+ m_percentSlider->setValue( 100 ); // use all space available
+ m_percentSpinBox->setValue( 100 ); // use all space available
+ m_expandCheckBox->setChecked( true ); // expand as required
+ m_xineramaScreenComboBox->setCurrentItem(QApplication::desktop()->primaryScreen());
+
+ if (QApplication::reverseLayout())
+ {
+ // RTL lang aligns right
+ m_panelAlign = AlignRight;
+ }
+ else
+ {
+ // everyone else aligns left
+ m_panelAlign = AlignLeft;
+ }
+
+ m_panelSize->setCurrentItem(KPanelExtension::SizeNormal);
+
+ // update the magic drawing
+ lengthenPanel(-1);
+ switchPanel(KickerConfig::the()->currentPanelIndex());
+}
+
+void PositionTab::sizeChanged(int which)
+{
+ bool custom = which == KPanelExtension::SizeCustom;
+ m_customSlider->setEnabled(custom);
+ m_customSpinbox->setEnabled(custom);
+}
+
+void PositionTab::movePanel(int whichButton)
+{
+ QPushButton* pushed = reinterpret_cast<QPushButton*>(m_locationGroup->find(whichButton));
+
+ if (pushed == locationTopLeft)
+ {
+ if (!(m_panelInfo->_allowedPosition[PosTop]))
+ {
+ setPositionButtons();
+ return;
+ }
+ m_panelAlign = kapp->reverseLayout() ? AlignRight : AlignLeft;
+ m_panelPos = PosTop;
+ }
+ else if (pushed == locationTop)
+ {
+ if (!(m_panelInfo->_allowedPosition[PosTop]))
+ {
+ setPositionButtons();
+ return;
+ }
+ m_panelAlign = AlignCenter;
+ m_panelPos = PosTop;
+ }
+ else if (pushed == locationTopRight)
+ {
+ if (!(m_panelInfo->_allowedPosition[PosTop]))
+ {
+ setPositionButtons();
+ return;
+ }
+ m_panelAlign = kapp->reverseLayout() ? AlignLeft : AlignRight;
+ m_panelPos = PosTop;
+ }
+ else if (pushed == locationLeftTop)
+ {
+ if (!(m_panelInfo->_allowedPosition[kapp->reverseLayout() ? PosRight : PosLeft]))
+ {
+ setPositionButtons();
+ return;
+ }
+ m_panelAlign = AlignLeft;
+ m_panelPos = kapp->reverseLayout() ? PosRight : PosLeft;
+ }
+ else if (pushed == locationLeft)
+ {
+ if (!(m_panelInfo->_allowedPosition[kapp->reverseLayout() ? PosRight : PosLeft]))
+ {
+ setPositionButtons();
+ return;
+ }
+ m_panelAlign = AlignCenter;
+ m_panelPos = kapp->reverseLayout() ? PosRight : PosLeft;
+ }
+ else if (pushed == locationLeftBottom)
+ {
+ if (!(m_panelInfo->_allowedPosition[kapp->reverseLayout() ? PosRight : PosLeft]))
+ {
+ setPositionButtons();
+ return;
+ }
+ m_panelAlign = AlignRight;
+ m_panelPos = kapp->reverseLayout() ? PosRight : PosLeft;
+ }
+ else if (pushed == locationBottomLeft)
+ {
+ if (!(m_panelInfo->_allowedPosition[PosBottom]))
+ {
+ setPositionButtons();
+ return;
+ }
+ m_panelAlign = kapp->reverseLayout() ? AlignRight : AlignLeft;
+ m_panelPos = PosBottom;
+ }
+ else if (pushed == locationBottom)
+ {
+ if (!(m_panelInfo->_allowedPosition[PosBottom]))
+ {
+ setPositionButtons();
+ return;
+ }
+ m_panelAlign = AlignCenter;
+ m_panelPos = PosBottom;
+ }
+ else if (pushed == locationBottomRight)
+ {
+ if (!(m_panelInfo->_allowedPosition[PosBottom]))
+ {
+ setPositionButtons();
+ return;
+ }
+ m_panelAlign = kapp->reverseLayout() ? AlignLeft : AlignRight;
+ m_panelPos = PosBottom;
+ }
+ else if (pushed == locationRightTop)
+ {
+ if (!(m_panelInfo->_allowedPosition[kapp->reverseLayout() ? PosLeft : PosRight]))
+ {
+ setPositionButtons();
+ return;
+ }
+ m_panelAlign = AlignLeft;
+ m_panelPos = kapp->reverseLayout() ? PosLeft : PosRight;
+ }
+ else if (pushed == locationRight)
+ {
+ if (!(m_panelInfo->_allowedPosition[kapp->reverseLayout() ? PosLeft : PosRight]))
+ {
+ setPositionButtons();
+ return;
+ }
+ m_panelAlign = AlignCenter;
+ m_panelPos = kapp->reverseLayout() ? PosLeft : PosRight;
+ }
+ else if (pushed == locationRightBottom)
+ {
+ if (!(m_panelInfo->_allowedPosition[kapp->reverseLayout() ? PosLeft : PosRight]))
+ {
+ setPositionButtons();
+ return;
+ }
+ m_panelAlign = AlignRight;
+ m_panelPos = kapp->reverseLayout() ? PosLeft : PosRight;
+ }
+
+ lengthenPanel(-1);
+ emit panelPositionChanged(m_panelPos);
+}
+
+void PositionTab::lengthenPanel(int sizePercent)
+{
+ if (sizePercent < 0)
+ {
+ sizePercent = m_percentSlider->value();
+ }
+
+ unsigned int x(0), y(0), x2(0), y2(0);
+ unsigned int diff = 0;
+ unsigned int panelSize = 4;
+
+ switch (m_panelSize->currentItem())
+ {
+ case KPanelExtension::SizeTiny:
+ case KPanelExtension::SizeSmall:
+ panelSize = panelSize * 3 / 2;
+ break;
+ case KPanelExtension::SizeNormal:
+ panelSize *= 2;
+ break;
+ case KPanelExtension::SizeLarge:
+ panelSize = panelSize * 5 / 2;
+ break;
+ default:
+ panelSize = panelSize * m_customSlider->value() / 24;
+ break;
+ }
+
+ switch (m_panelPos)
+ {
+ case PosTop:
+ x = offsetX + margin;
+ x2 = maxX - margin;
+ y = offsetY + margin;
+ y2 = panelSize;
+
+ diff = x2 - ((x2 * sizePercent) / 100);
+ if (m_panelAlign == AlignLeft)
+ {
+ x2 -= diff;
+ }
+ else if (m_panelAlign == AlignCenter)
+ {
+ x += diff / 2;
+ x2 -= diff;
+ }
+ else // m_panelAlign == AlignRight
+ {
+ x += diff;
+ x2 -= diff;
+ }
+ break;
+ case PosLeft:
+ x = offsetX + margin;
+ x2 = panelSize;
+ y = offsetY + margin;
+ y2 = maxY - margin;
+
+ diff = y2 - ((y2 * sizePercent) / 100);
+ if (m_panelAlign == AlignLeft)
+ {
+ y2 -= diff;
+ }
+ else if (m_panelAlign == AlignCenter)
+ {
+ y += diff / 2;
+ y2 -= diff;
+ }
+ else // m_panelAlign == AlignRight
+ {
+ y += diff;
+ y2 -= diff;
+ }
+ break;
+ case PosBottom:
+ x = offsetX + margin;
+ x2 = maxX - margin;
+ y = offsetY + maxY - panelSize;
+ y2 = panelSize;
+
+ diff = x2 - ((x2 * sizePercent) / 100);
+ if (m_panelAlign == AlignLeft)
+ {
+ x2 -= diff;
+ }
+ else if (m_panelAlign == AlignCenter)
+ {
+ x += diff / 2;
+ x2 -= diff;
+ }
+ else // m_panelAlign == AlignRight
+ {
+ x += diff;
+ x2 -= diff;
+ }
+ break;
+ default: // case PosRight:
+ x = offsetX + maxX - panelSize;
+ x2 = panelSize;
+ y = offsetY + margin;
+ y2 = maxY - margin;
+
+ diff = y2 - ((y2 * sizePercent) / 100);
+ if (m_panelAlign == AlignLeft)
+ {
+ y2 -= diff;
+ }
+ else if (m_panelAlign == AlignCenter)
+ {
+ y += diff / 2;
+ y2 -= diff;
+ }
+ else // m_panelAlign == AlignRight
+ {
+ y += diff;
+ y2 -= diff;
+ }
+ break;
+ }
+
+ if (x2 < 3)
+ {
+ x2 = 3;
+ }
+
+ if (y2 < 3)
+ {
+ y2 = 3;
+ }
+
+ m_pretendPanel->setGeometry(x, y, x2, y2);
+}
+
+void PositionTab::panelDimensionsChanged()
+{
+ lengthenPanel(-1);
+}
+
+void PositionTab::slotBGPreviewReady(int)
+{
+ m_pretendDesktop->setBackgroundPixmap(m_desktopPreview->pixmap());
+#if 0
+ KPixmap pm;
+ if (QPixmap::defaultDepth() < 15)
+ {
+ pm.convertFromImage(*m_desktopPreview->image(), KPixmap::LowColor);
+ }
+ else
+ {
+ pm.convertFromImage(*m_desktopPreview->image());
+ }
+
+ m_pretendDesktop->setBackgroundPixmap(pm);
+#endif
+}
+
+void PositionTab::switchPanel(int panelItem)
+{
+ blockSignals(true);
+ ExtensionInfo* panelInfo = (KickerConfig::the()->extensionsInfo())[panelItem];
+
+ if (!panelInfo)
+ {
+ m_panelList->setCurrentItem(0);
+ panelInfo = (KickerConfig::the()->extensionsInfo())[panelItem];
+
+ if (!panelInfo)
+ {
+ return;
+ }
+ }
+
+ if (m_panelInfo)
+ {
+ storeInfo();
+ }
+
+ m_panelInfo = panelInfo;
+
+ // because this changes when panels come and go, we have
+ // to be overly pedantic and remove the custom item every time and
+ // decide to add it back again, or not
+ m_panelSize->removeItem(KPanelExtension::SizeCustom);
+ if (m_panelInfo->_customSizeMin != m_panelInfo->_customSizeMax)
+ {
+ m_panelSize->insertItem(i18n("Custom"), KPanelExtension::SizeCustom);
+ }
+
+ if (m_panelInfo->_size >= KPanelExtension::SizeCustom ||
+ (!m_panelInfo->_useStdSizes &&
+ m_panelInfo->_customSizeMin != m_panelInfo->_customSizeMax)) // compat
+ {
+ m_panelSize->setCurrentItem(KPanelExtension::SizeCustom);
+ sizeChanged(KPanelExtension::SizeCustom);
+ }
+ else
+ {
+ m_panelSize->setCurrentItem(m_panelInfo->_size);
+ sizeChanged(0);
+ }
+ m_panelSize->setEnabled(m_panelInfo->_useStdSizes);
+
+ m_customSlider->setMinValue(m_panelInfo->_customSizeMin);
+ m_customSlider->setMaxValue(m_panelInfo->_customSizeMax);
+ m_customSlider->setTickInterval(m_panelInfo->_customSizeMax / 6);
+ m_customSlider->setValue(m_panelInfo->_customSize);
+ m_customSpinbox->setMinValue(m_panelInfo->_customSizeMin);
+ m_customSpinbox->setMaxValue(m_panelInfo->_customSizeMax);
+ m_customSpinbox->setValue(m_panelInfo->_customSize);
+ m_sizeGroup->setEnabled(m_panelInfo->_resizeable);
+ m_panelPos = m_panelInfo->_position;
+ m_panelAlign = m_panelInfo->_alignment;
+ if(m_panelInfo->_xineramaScreen >= 0 && m_panelInfo->_xineramaScreen < QApplication::desktop()->numScreens())
+ m_xineramaScreenComboBox->setCurrentItem(m_panelInfo->_xineramaScreen);
+ else if(m_panelInfo->_xineramaScreen == -2) /* the All Screens option: qt uses -1 for default, so -2 for all */
+ m_xineramaScreenComboBox->setCurrentItem(m_xineramaScreenComboBox->count()-1);
+ else
+ m_xineramaScreenComboBox->setCurrentItem(QApplication::desktop()->primaryScreen());
+
+ setPositionButtons();
+
+ m_percentSlider->setValue(m_panelInfo->_sizePercentage);
+ m_percentSpinBox->setValue(m_panelInfo->_sizePercentage);
+
+ m_expandCheckBox->setChecked(m_panelInfo->_expandSize);
+
+ lengthenPanel(m_panelInfo->_sizePercentage);
+ blockSignals(false);
+}
+
+
+void PositionTab::setPositionButtons() {
+ if (m_panelPos == PosTop)
+ {
+ if (m_panelAlign == AlignLeft)
+ kapp->reverseLayout() ? locationTopRight->setOn(true) :
+ locationTopLeft->setOn(true);
+ else if (m_panelAlign == AlignCenter)
+ locationTop->setOn(true);
+ else // if (m_panelAlign == AlignRight
+ kapp->reverseLayout() ? locationTopLeft->setOn(true) :
+ locationTopRight->setOn(true);
+ }
+ else if (m_panelPos == PosRight)
+ {
+ if (m_panelAlign == AlignLeft)
+ kapp->reverseLayout() ? locationLeftTop->setOn(true) :
+ locationRightTop->setOn(true);
+ else if (m_panelAlign == AlignCenter)
+ kapp->reverseLayout() ? locationLeft->setOn(true) :
+ locationRight->setOn(true);
+ else // if (m_panelAlign == AlignRight
+ kapp->reverseLayout() ? locationLeftBottom->setOn(true) :
+ locationRightBottom->setOn(true);
+ }
+ else if (m_panelPos == PosBottom)
+ {
+ if (m_panelAlign == AlignLeft)
+ kapp->reverseLayout() ? locationBottomRight->setOn(true) :
+ locationBottomLeft->setOn(true);
+ else if (m_panelAlign == AlignCenter)
+ locationBottom->setOn(true);
+ else // if (m_panelAlign == AlignRight
+ kapp->reverseLayout() ? locationBottomLeft->setOn(true) :
+ locationBottomRight->setOn(true);
+ }
+ else // if (m_panelPos == PosLeft
+ {
+ if (m_panelAlign == AlignLeft)
+ kapp->reverseLayout() ? locationRightTop->setOn(true) :
+ locationLeftTop->setOn(true);
+ else if (m_panelAlign == AlignCenter)
+ kapp->reverseLayout() ? locationRight->setOn(true) :
+ locationLeft->setOn(true);
+ else // if (m_panelAlign == AlignRight
+ kapp->reverseLayout() ? locationRightBottom->setOn(true) :
+ locationLeftBottom->setOn(true);
+ }
+
+}
+
+void PositionTab::infoUpdated()
+{
+ switchPanel(0);
+}
+
+void PositionTab::extensionAboutToChange(const QString& configPath)
+{
+ ExtensionInfo* extension = (KickerConfig::the()->extensionsInfo())[m_panelList->currentItem()];
+ if (extension && extension->_configPath == configPath)
+ {
+ storeInfo();
+ }
+}
+
+void PositionTab::extensionChanged(const QString& configPath)
+{
+ ExtensionInfo* extension = (KickerConfig::the()->extensionsInfo())[m_panelList->currentItem()];
+ if (extension && extension->_configPath == configPath)
+ {
+ m_panelInfo = 0;
+ switchPanel(m_panelList->currentItem());
+ }
+}
+
+void PositionTab::storeInfo()
+{
+ if (!m_panelInfo)
+ {
+ return;
+ }
+
+ // Magic numbers stolen from kdebase/kicker/core/global.cpp
+ // PGlobal::sizeValue()
+ if (m_panelSize->currentItem() < KPanelExtension::SizeCustom)
+ {
+ m_panelInfo->_size = m_panelSize->currentItem();
+ }
+ else
+ {
+ m_panelInfo->_size = KPanelExtension::SizeCustom;
+ m_panelInfo->_customSize = m_customSlider->value();
+ }
+
+ m_panelInfo->_position = m_panelPos;
+ m_panelInfo->_alignment = m_panelAlign;
+ if(m_xineramaScreenComboBox->currentItem() == m_xineramaScreenComboBox->count()-1)
+ m_panelInfo->_xineramaScreen = -2; /* all screens */
+ else
+ m_panelInfo->_xineramaScreen = m_xineramaScreenComboBox->currentItem();
+
+ m_panelInfo->_sizePercentage = m_percentSlider->value();
+ m_panelInfo->_expandSize = m_expandCheckBox->isChecked();
+}
+
+void PositionTab::showIdentify()
+{
+ for(int s=0; s < QApplication::desktop()->numScreens();s++)
+ {
+
+ QLabel *screenLabel = new QLabel(0,"Screen Identify", WDestructiveClose | WStyle_Customize | WX11BypassWM );
+
+ QFont identifyFont(KGlobalSettings::generalFont());
+ identifyFont.setPixelSize(100);
+ screenLabel->setFont(identifyFont);
+
+ screenLabel->setFrameStyle(QFrame::Panel);
+ screenLabel->setFrameShadow(QFrame::Plain);
+
+ screenLabel->setAlignment(Qt::AlignCenter);
+ screenLabel->setNum(s + 1);
+ // BUGLET: we should not allow the identification to be entered again
+ // until the timer fires.
+ QTimer::singleShot(1500, screenLabel, SLOT(close()));
+
+ QPoint screenCenter(QApplication::desktop()->screenGeometry(s).center());
+ QRect targetGeometry(QPoint(0,0),screenLabel->sizeHint());
+ targetGeometry.moveCenter(screenCenter);
+
+ screenLabel->setGeometry(targetGeometry);
+
+ screenLabel->show();
+ }
+}
+
+void PositionTab::extensionRemoved(ExtensionInfo* info)
+{
+ int count = m_panelList->count();
+ int extensionCount = KickerConfig::the()->extensionsInfo().count();
+ int index = 0;
+ for (; index < count && index < extensionCount; ++index)
+ {
+ if (KickerConfig::the()->extensionsInfo()[index] == info)
+ {
+ break;
+ }
+ }
+
+ bool isCurrentlySelected = index == m_panelList->currentItem();
+ m_panelList->removeItem(index);
+ m_panelsGroupBox->setHidden(m_panelList->count() < 2);
+
+ if (isCurrentlySelected)
+ {
+ m_panelList->setCurrentItem(0);
+ }
+}
+
+void PositionTab::jumpToPanel(int index)
+{
+ m_panelList->setCurrentItem(index);
+ switchPanel(index);
+}
diff --git a/kcontrol/kicker/positiontab_impl.h b/kcontrol/kicker/positiontab_impl.h
new file mode 100644
index 000000000..6c7cdc5ea
--- /dev/null
+++ b/kcontrol/kicker/positiontab_impl.h
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2000 Matthias Elter <elter@kde.org>
+ * Copyright (c) 2002 Aaron Seigo <aseigo@olympusproject.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 __positiontab_impl_h__
+#define __positiontab_impl_h__
+
+#include "positiontab.h"
+
+class QFrame;
+class KVirtualBGRenderer;
+class KickerConfig;
+class ExtensionInfo;
+
+class PositionTab : public PositionTabBase
+{
+ Q_OBJECT
+
+public:
+ PositionTab(QWidget *parent, const char* name = 0);
+ ~PositionTab();
+
+ enum positions { PosLeft = 0, PosRight, PosTop, PosBottom };
+ enum allignments { AlignLeft = 0, AlignCenter, AlignRight };
+
+ void load();
+ void save();
+ void defaults();
+
+signals:
+ void changed();
+ void panelPositionChanged(int);
+
+protected slots:
+ void movePanel(int);
+ void lengthenPanel(int);
+ void panelDimensionsChanged();
+ void slotBGPreviewReady(int);
+ void infoUpdated();
+ void storeInfo();
+ void showIdentify();
+ void extensionAdded(ExtensionInfo*);
+ void extensionRemoved(ExtensionInfo* info);
+ void extensionChanged(const QString&);
+ void extensionAboutToChange(const QString&);
+ void sizeChanged(int);
+ void switchPanel(int);
+ void jumpToPanel(int);
+
+private:
+ QFrame* m_pretendPanel;
+ QWidget* m_pretendDesktop;
+ KVirtualBGRenderer* m_desktopPreview;
+ ExtensionInfo* m_panelInfo;
+
+ unsigned int m_panelPos;
+ unsigned int m_panelAlign;
+ void setPositionButtons();
+};
+
+#endif
+
diff --git a/kcontrol/kicker/uninstall.desktop b/kcontrol/kicker/uninstall.desktop
new file mode 100644
index 000000000..10e05f80d
--- /dev/null
+++ b/kcontrol/kicker/uninstall.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Type=Application
+Name=Foo
+Name[ko]=카메룬
+Name[nds]=Bispeel
+Name[pl]=Coś
+Name[pt]=XPTO
+Name[sr]=Фу
+Name[sr@Latn]=Fu
+Name[tr]=Boş
+Hidden=true