summaryrefslogtreecommitdiffstats
path: root/kicker/kicker
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-04-10 16:55:58 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-04-10 16:55:58 -0500
commit137c3446f89fe808518981f974714161f794b364 (patch)
treec2510cece63d90384375b1daf0b708fb7b23169e /kicker/kicker
parent4dc80faf840ee48bd4c0b8d5338a5274de013c39 (diff)
downloadtdebase-137c3446f89fe808518981f974714161f794b364.tar.gz
tdebase-137c3446f89fe808518981f974714161f794b364.zip
Overhaul taskbar configuration system
This resolves Bug 1399
Diffstat (limited to 'kicker/kicker')
-rw-r--r--kicker/kicker/core/kicker.cpp23
-rw-r--r--kicker/kicker/core/kicker.h11
2 files changed, 28 insertions, 6 deletions
diff --git a/kicker/kicker/core/kicker.cpp b/kicker/kicker/core/kicker.cpp
index 904fcbb20..70ec00a39 100644
--- a/kicker/kicker/core/kicker.cpp
+++ b/kicker/kicker/core/kicker.cpp
@@ -66,7 +66,8 @@ Kicker::Kicker()
keys(0),
m_twinModule(0),
m_configDialog(0),
- m_canAddContainers(true)
+ m_canAddContainers(true),
+ m_reloadingConfigDialog(false)
{
// initialize the configuration object
KickerSettings::instance(instanceName() + "rc");
@@ -367,7 +368,7 @@ void Kicker::showConfig(const TQString& configPath, const TQString& configFile,
m_configDialog->raise();
if (page > -1)
{
- if (configFile == "")
+ if ((configFile == "") && (page != 4))
{
m_configDialog->showPage(0);
}
@@ -382,6 +383,19 @@ void Kicker::showTaskBarConfig()
showConfig(TQString(), TQString(), 4);
}
+void Kicker::hideTaskBarConfig()
+{
+ if (m_configDialog) {
+ m_configDialog->close();
+ }
+}
+
+void Kicker::reshowTaskBarConfig()
+{
+ m_reloadingConfigDialog = true;
+ hideTaskBarConfig();
+}
+
void Kicker::showTaskBarConfig(const TQString& configFile)
{
showConfig(TQString(), configFile, 4);
@@ -396,6 +410,11 @@ void Kicker::configDialogFinished()
{
m_configDialog->delayedDestruct();
m_configDialog = 0;
+ if (m_reloadingConfigDialog) {
+ TQByteArray data;
+ m_reloadingConfigDialog = false;
+ kapp->dcopClient()->send("kicker", "kicker", "showTaskBarConfig()", data);
+ }
}
void Kicker::slotDesktopResized()
diff --git a/kicker/kicker/core/kicker.h b/kicker/kicker/core/kicker.h
index 81fa8123f..6a3e02d36 100644
--- a/kicker/kicker/core/kicker.h
+++ b/kicker/kicker/core/kicker.h
@@ -59,6 +59,8 @@ k_dcop:
void showConfig(const TQString& config, const TQString& configFile = TQString::null, int page = -1);
void showTaskBarConfig();
void showTaskBarConfig(const TQString& configFile);
+ void hideTaskBarConfig();
+ void reshowTaskBarConfig();
void configureMenubar();
// return the region on the desktop, which is not covered by panels
// and therefore allowed to be used by icons placed on the desktop
@@ -123,10 +125,11 @@ private:
static void crashHandler(int signal);
TDEGlobalAccel* keys;
- KWinModule* m_twinModule;
- KCMultiDialog* m_configDialog;
- bool m_canAddContainers;
- TQPoint m_insertionPoint;
+ KWinModule* m_twinModule;
+ KCMultiDialog* m_configDialog;
+ bool m_canAddContainers;
+ TQPoint m_insertionPoint;
+ bool m_reloadingConfigDialog;
};
#endif