diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-04-10 16:55:58 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-04-10 16:55:58 -0500 |
commit | 137c3446f89fe808518981f974714161f794b364 (patch) | |
tree | c2510cece63d90384375b1daf0b708fb7b23169e /kicker/kicker | |
parent | 4dc80faf840ee48bd4c0b8d5338a5274de013c39 (diff) | |
download | tdebase-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.cpp | 23 | ||||
-rw-r--r-- | kicker/kicker/core/kicker.h | 11 |
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 |