summaryrefslogtreecommitdiffstats
path: root/kicker/applets
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-08-05 07:19:55 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-08-05 07:19:55 +0000
commitcec8fe0157b0ab37d4919d0f04c131c11f2c9a9e (patch)
tree7063e9fe9a4205b926c181924c226bcf1112d51e /kicker/applets
parent80035308b1907d75e7e09be7c8f6e14098edd533 (diff)
downloadtdebase-cec8fe0157b0ab37d4919d0f04c131c11f2c9a9e.tar.gz
tdebase-cec8fe0157b0ab37d4919d0f04c131c11f2c9a9e.zip
Fix up a few Deep Buttons glitches
Add an option to include the clock in the system tray applet Majorly enhance the Quick Launch Kicker applet git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1245129 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kicker/applets')
-rw-r--r--kicker/applets/clock/CMakeLists.txt15
-rw-r--r--kicker/applets/clock/clock.cpp11
-rw-r--r--kicker/applets/clock/clock.h5
-rw-r--r--kicker/applets/launcher/CMakeLists.txt3
-rw-r--r--kicker/applets/launcher/configdlgbase.ui8
-rw-r--r--kicker/applets/launcher/launcherapplet.kcfg6
-rw-r--r--kicker/applets/launcher/prefs.kcfgc2
-rw-r--r--kicker/applets/launcher/quickbutton.cpp53
-rw-r--r--kicker/applets/launcher/quickbutton.h1
-rw-r--r--kicker/applets/launcher/quicklauncher.cpp37
-rw-r--r--kicker/applets/systemtray/CMakeLists.txt7
-rw-r--r--kicker/applets/systemtray/systemtrayapplet.cpp63
-rw-r--r--kicker/applets/systemtray/systemtrayapplet.h7
13 files changed, 189 insertions, 29 deletions
diff --git a/kicker/applets/clock/CMakeLists.txt b/kicker/applets/clock/CMakeLists.txt
index 7b2925dbf..35093523e 100644
--- a/kicker/applets/clock/CMakeLists.txt
+++ b/kicker/applets/clock/CMakeLists.txt
@@ -29,7 +29,7 @@ install( FILES clockapplet.desktop DESTINATION ${DATA_INSTALL_DIR}/kicker/applet
install( FILES lcd.png DESTINATION ${DATA_INSTALL_DIR}/clockapplet/pics )
-##### clock_panelapplet (module) ################
+##### clock_panelapplet (static) ######################
set( target clock_panelapplet )
@@ -38,6 +38,19 @@ set( ${target}_SRCS
analog.ui digital.ui fuzzy.ui settings.ui prefs.kcfgc
)
+tde_add_library( ${target} STATIC AUTOMOC
+ SOURCES ${${target}_SRCS}
+)
+
+##### clock_panelapplet (module) ################
+
+set( target clock_panelapplet )
+
+set( ${target}_SRCS
+ clock.skel clock.cpp datepicker.cpp zone.cpp
+ analog.ui digital.ui fuzzy.ui settings.ui prefs.kcfgc init.cpp
+)
+
tde_add_kpart( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK kickermain-shared
diff --git a/kicker/applets/clock/clock.cpp b/kicker/applets/clock/clock.cpp
index 79f627833..2265f801b 100644
--- a/kicker/applets/clock/clock.cpp
+++ b/kicker/applets/clock/clock.cpp
@@ -66,17 +66,6 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "fuzzy.h"
#include "prefs.h"
-extern "C"
-{
- KDE_EXPORT KPanelApplet* init(TQWidget *parent, const TQString& configFile)
- {
- KGlobal::locale()->insertCatalogue("clockapplet");
- KGlobal::locale()->insertCatalogue("timezones"); // For time zone translations
- return new ClockApplet(configFile, KPanelApplet::Normal,
- KPanelApplet::Preferences, parent, "clockapplet");
- }
-}
-
// Settings
KConfigDialogSingle::KConfigDialogSingle(Zone *zone, TQWidget *parent,
diff --git a/kicker/applets/clock/clock.h b/kicker/applets/clock/clock.h
index 498ce4b9d..c5295d87b 100644
--- a/kicker/applets/clock/clock.h
+++ b/kicker/applets/clock/clock.h
@@ -290,7 +290,7 @@ class ClockApplet : public KPanelApplet, public KickerTip::Client, public DCOPOb
void reconfigure();
protected slots:
- void slotReconfigure() { reconfigure(); }
+ void slotReconfigure() { reconfigure(); emit clockReconfigured(); }
void slotUpdate();
void slotCalendarDeleted();
void slotEnableCalendar();
@@ -301,6 +301,9 @@ class ClockApplet : public KPanelApplet, public KickerTip::Client, public DCOPOb
void globalPaletteChange();
void setTimerTo60();
+ signals:
+ void clockReconfigured();
+
protected:
void toggleCalendar();
void openContextMenu();
diff --git a/kicker/applets/launcher/CMakeLists.txt b/kicker/applets/launcher/CMakeLists.txt
index e5bf4e92b..dab1a8c95 100644
--- a/kicker/applets/launcher/CMakeLists.txt
+++ b/kicker/applets/launcher/CMakeLists.txt
@@ -11,8 +11,10 @@
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_BINARY_DIR}/kicker/libkicker
${CMAKE_SOURCE_DIR}/kicker/libkicker
${CMAKE_SOURCE_DIR}/kicker/kicker/ui
+ ${CMAKE_SOURCE_DIR}/kicker/kicker/core
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
)
@@ -43,5 +45,6 @@ tde_add_kpart( launcher_panelapplet AUTOMOC
kicker_core-static kicker_buttons-static kicker_ui-static
-Wl,--end-group
kickermain-shared kutils-shared kabc-shared
+ DEPENDENCIES libkicker-shared
DESTINATION ${PLUGIN_INSTALL_DIR}
)
diff --git a/kicker/applets/launcher/configdlgbase.ui b/kicker/applets/launcher/configdlgbase.ui
index 49916ebeb..e551864b1 100644
--- a/kicker/applets/launcher/configdlgbase.ui
+++ b/kicker/applets/launcher/configdlgbase.ui
@@ -27,6 +27,14 @@
<string>Allow drag and drop</string>
</property>
</widget>
+ <widget class="TQCheckBox">
+ <property name="name">
+ <cstring>kcfg_ShowDesktopEnabled</cstring>
+ </property>
+ <property name="text">
+ <string>Enable 'Show Desktop' button</string>
+ </property>
+ </widget>
<widget class="TQGroupBox">
<property name="name">
<cstring>groupBox2</cstring>
diff --git a/kicker/applets/launcher/launcherapplet.kcfg b/kicker/applets/launcher/launcherapplet.kcfg
index 3433bf437..83828c4af 100644
--- a/kicker/applets/launcher/launcherapplet.kcfg
+++ b/kicker/applets/launcher/launcherapplet.kcfg
@@ -7,12 +7,16 @@
<group name="General">
<entry name="ConserveSpace" type="Bool">
<label>Conserve Space</label>
- <default>true</default>
+ <default>false</default>
</entry>
<entry name="DragEnabled" type="Bool">
<label>Drag Enabled</label>
<default>true</default>
</entry>
+ <entry name="ShowDesktopEnabled" type="Bool">
+ <label>Show Desktop Button Enabled</label>
+ <default>true</default>
+ </entry>
<entry name="IconDim" type="Int">
<label>Icon Size</label>
<default>0</default>
diff --git a/kicker/applets/launcher/prefs.kcfgc b/kicker/applets/launcher/prefs.kcfgc
index 26a3f3d07..243e97868 100644
--- a/kicker/applets/launcher/prefs.kcfgc
+++ b/kicker/applets/launcher/prefs.kcfgc
@@ -2,5 +2,5 @@
File=launcherapplet.kcfg
ClassName=Prefs
Singleton=false
-Mutators=AutoAdjustMaxItems,Buttons,VolatileButtons,AutoAdjustMaxItems,AutoAdjustMinItems,AutoAdjustEnabled,IconDim,DragEnabled,ConserveSpace,ServiceInspos,ServiceNames,ServiceHistories
+Mutators=AutoAdjustMaxItems,Buttons,VolatileButtons,AutoAdjustMaxItems,AutoAdjustMinItems,AutoAdjustEnabled,IconDim,DragEnabled,ShowDesktopEnabled,ConserveSpace,ServiceInspos,ServiceNames,ServiceHistories
# MemberVariables=public
diff --git a/kicker/applets/launcher/quickbutton.cpp b/kicker/applets/launcher/quickbutton.cpp
index 6e68e2ce1..088e4a573 100644
--- a/kicker/applets/launcher/quickbutton.cpp
+++ b/kicker/applets/launcher/quickbutton.cpp
@@ -46,6 +46,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <math.h>
#include <algorithm>
+#include "showdesktop.h"
+#include "kickerSettings.h"
+
#ifdef DEBUG
#define DEBUGSTR kdDebug()
#else
@@ -56,6 +59,12 @@ QuickURL::QuickURL(const TQString &u)
{ DEBUGSTR<<"QuickURL::QuickURL("<<u<<")"<<endl<<flush;
KService::Ptr _service=0;
_menuId = u;
+ if (_menuId == "SPECIAL_BUTTON__SHOW_DESKTOP") {
+ m_name = i18n("Show Desktop");
+ m_genericName = i18n("Show Desktop");
+ _kurl = _menuId;
+ }
+ else {
if (_menuId.startsWith("file:") && _menuId.endsWith(".desktop")) {
// this ensures that desktop entries are referenced by desktop name instead of by file name
_menuId=KURL(_menuId).path();
@@ -104,6 +113,7 @@ QuickURL::QuickURL(const TQString &u)
} else {
m_name = _kurl.prettyURL();
}
+ }
DEBUGSTR<<"QuickURL::QuickURL("<<u<<") END"<<endl<<flush;
}
@@ -118,8 +128,15 @@ void QuickURL::run() const
//similar to MimeType::pixmapForURL
TQPixmap QuickURL::pixmap( mode_t _mode, KIcon::Group _group,
int _force_size, int _state, TQString *) const
-{ // Load icon
- TQPixmap pxmap = KMimeType::pixmapForURL(_kurl, _mode, _group, _force_size, _state);
+{
+ TQPixmap pxmap;
+ // Load icon
+ if (_kurl.url() == "SPECIAL_BUTTON__SHOW_DESKTOP") {
+ pxmap = KGlobal::iconLoader()->loadIcon("desktop", _group, _force_size, _state);
+ }
+ else {
+ pxmap = KMimeType::pixmapForURL(_kurl, _mode, _group, _force_size, _state);
+ }
// Resize to fit button
pxmap.convertFromImage(pxmap.convertToImage().smoothScale(_force_size,_force_size, TQ_ScaleMin));
return pxmap;
@@ -128,7 +145,7 @@ TQPixmap QuickURL::pixmap( mode_t _mode, KIcon::Group _group,
QuickButton::QuickButton(const TQString &u, KAction* configAction,
TQWidget *parent, const char *name) :
- SimpleButton(parent, name),
+ SimpleButton(parent, name, KickerSettings::showDeepButtons()),
m_flashCounter(0),
m_sticky(false)
{
@@ -137,18 +154,24 @@ QuickButton::QuickButton(const TQString &u, KAction* configAction,
_highlight = false;
_oldCursor = cursor();
_qurl=new QuickURL(u);
-
+
+ if (_qurl->url() == "SPECIAL_BUTTON__SHOW_DESKTOP") {
+ setToggleButton(true);
+ setOn( ShowDesktop::the()->desktopShowing() );
+ connect( ShowDesktop::the(), TQT_SIGNAL(desktopShown(bool)), this, TQT_SLOT(toggle(bool)) );
+ }
+
TQToolTip::add(this, _qurl->name());
resize(int(DEFAULT_ICON_DIM),int(DEFAULT_ICON_DIM));
TQBrush bgbrush(tqcolorGroup().brush(TQColorGroup::Background));
-
+
QuickAddAppsMenu *addAppsMenu = new QuickAddAppsMenu(
parent, this, _qurl->url());
_popup = new TQPopupMenu(this);
_popup->insertItem(i18n("Add Application"), addAppsMenu);
configAction->plug(_popup);
_popup->insertSeparator();
- _popup->insertItem(SmallIcon("remove"), i18n("Remove"),
+ _popup->insertItem(SmallIcon("remove"), i18n("Remove Application"),
this, TQT_SLOT(removeApp()));
m_stickyAction = new KToggleAction(i18n("Never Remove Automatically"),
@@ -168,7 +191,6 @@ QuickButton::~QuickButton()
delete _qurl;
}
-
TQString QuickButton::url() const
{
return _qurl->url();
@@ -240,10 +262,25 @@ void QuickButton::launch()
setDown(false);
update();
KIconEffect::visualActivate(this, rect());
- _qurl->run();
+ if (_qurl->kurl().url() == "SPECIAL_BUTTON__SHOW_DESKTOP") {
+ if (isOn()) {
+ ShowDesktop::the()->showDesktop(TRUE);
+ }
+ else {
+ ShowDesktop::the()->showDesktop(FALSE);
+ }
+ }
+ else {
+ _qurl->run();
+ }
emit executed(_qurl->menuId());
}
+void QuickButton::toggle(bool showDesktop)
+{
+ setOn(showDesktop);
+}
+
void QuickButton::setDragging(bool enable)
{
setDown(enable);
diff --git a/kicker/applets/launcher/quickbutton.h b/kicker/applets/launcher/quickbutton.h
index 13917a5ac..d4f5be29e 100644
--- a/kicker/applets/launcher/quickbutton.h
+++ b/kicker/applets/launcher/quickbutton.h
@@ -104,6 +104,7 @@ protected slots:
void removeApp();
void slotFlash();
void slotStickyToggled(bool isSticky);
+ void toggle(bool);
private:
int m_flashCounter;
diff --git a/kicker/applets/launcher/quicklauncher.cpp b/kicker/applets/launcher/quicklauncher.cpp
index 85bea706e..b5b512d20 100644
--- a/kicker/applets/launcher/quicklauncher.cpp
+++ b/kicker/applets/launcher/quicklauncher.cpp
@@ -287,6 +287,10 @@ void QuickLauncher::removeApp(int index, bool manuallyRemoved)
TQString removeAppUrl = (*m_buttons)[index]->url();
TQString removeAppMenuId = (*m_buttons)[index]->menuId();
+
+ if (removeAppUrl == "SPECIAL_BUTTON__SHOW_DESKTOP") {
+ m_settings->setShowDesktopEnabled(false);
+ }
delete (*m_buttons)[index];
m_buttons->eraseAt(index);
@@ -689,6 +693,31 @@ void QuickLauncher::clearTempButtons()
void QuickLauncher::refreshContents()
{
int idim, d(dimension());
+
+ // make sure show desktop setting is honored
+ TQStringList urls, volatileUrls;
+ ButtonIter iter = m_buttons->begin();
+ while (iter != m_buttons->end()) {
+ if ((*iter)->sticky() == false)
+ {
+ volatileUrls.append((*iter)->menuId());
+ }
+ urls.append((*iter)->menuId());
+ ++iter;
+ }
+ if (m_settings->showDesktopEnabled()) {
+ if (!urls.contains("SPECIAL_BUTTON__SHOW_DESKTOP")) {
+ urls.prepend("SPECIAL_BUTTON__SHOW_DESKTOP");
+ addApp("SPECIAL_BUTTON__SHOW_DESKTOP", 0, true);
+ }
+ }
+ else {
+ if (urls.contains("SPECIAL_BUTTON__SHOW_DESKTOP")) {
+ urls.remove("SPECIAL_BUTTON__SHOW_DESKTOP");
+ removeApp("SPECIAL_BUTTON__SHOW_DESKTOP", true);
+ }
+ }
+
// determine button size
if (m_settings->iconDim() == SIZE_AUTO)
{
@@ -814,6 +843,14 @@ void QuickLauncher::loadConfig()
DEBUGSTR << " DragEnabled=" << isDragEnabled() << endl << flush;*/
TQStringList volatileButtons = m_settings->volatileButtons();
TQStringList urls = m_settings->buttons();
+ if (m_settings->showDesktopEnabled()) {
+ if (!urls.contains("SPECIAL_BUTTON__SHOW_DESKTOP"))
+ urls.prepend("SPECIAL_BUTTON__SHOW_DESKTOP");
+ }
+ else {
+ if (urls.contains("SPECIAL_BUTTON__SHOW_DESKTOP"))
+ urls.remove("SPECIAL_BUTTON__SHOW_DESKTOP");
+ }
kdDebug() << "GetButtons " << urls.join("/") << endl;
TQStringList::Iterator iter(urls.begin());
int n = 0;
diff --git a/kicker/applets/systemtray/CMakeLists.txt b/kicker/applets/systemtray/CMakeLists.txt
index cd3fd6348..76151db69 100644
--- a/kicker/applets/systemtray/CMakeLists.txt
+++ b/kicker/applets/systemtray/CMakeLists.txt
@@ -15,10 +15,13 @@ include_directories(
${CMAKE_SOURCE_DIR}/kicker/libkicker
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
+ ${CMAKE_BINARY_DIR}/kicker/applets/clock
+ ${CMAKE_SOURCE_DIR}/kicker/applets/clock
)
link_directories(
${TQT_LIBRARY_DIRS}
+ ${CMAKE_BINARY_DIR}/kicker/applets/clock
)
@@ -37,7 +40,7 @@ set( ${target}_SRCS
tde_add_kpart( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
- LINK kickermain-shared
+ LINK kickermain-shared clock_panelapplet-static
DESTINATION ${PLUGIN_INSTALL_DIR}
- DEPENDENCIES kicker_core-static kicker-static kicker-shared
+ DEPENDENCIES kicker_core-static kicker-static kicker-shared clock_panelapplet-shared
)
diff --git a/kicker/applets/systemtray/systemtrayapplet.cpp b/kicker/applets/systemtray/systemtrayapplet.cpp
index ceeebc381..6a693fbe8 100644
--- a/kicker/applets/systemtray/systemtrayapplet.cpp
+++ b/kicker/applets/systemtray/systemtrayapplet.cpp
@@ -32,6 +32,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <tqpixmap.h>
#include <tqevent.h>
#include <tqstyle.h>
+#include <tqgrid.h>
#include <tqpainter.h>
#include <dcopclient.h>
@@ -56,7 +57,6 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <X11/Xlib.h>
-//#define ICON_MARGIN KickerSettings::showDeepButtons()?2:1
#define ICON_MARGIN 1
#define ICON_END_MARGIN KickerSettings::showDeepButtons()?4:0
@@ -78,11 +78,14 @@ SystemTrayApplet::SystemTrayApplet(const TQString& configFile, Type type, int ac
m_expandButton(0),
m_leftSpacer(0),
m_rightSpacer(0),
+ m_clockApplet(0),
m_settingsDialog(0),
m_iconSelector(0),
m_autoRetractTimer(0),
m_autoRetract(false),
m_iconSize(24),
+ m_showClockInTray(false),
+ m_showClockSettingCB(0),
m_layout(0)
{
DCOPObject::setObjId("SystemTrayApplet");
@@ -93,6 +96,10 @@ SystemTrayApplet::SystemTrayApplet(const TQString& configFile, Type type, int ac
m_rightSpacer = new TQWidget(this);
m_rightSpacer->setFixedSize(ICON_END_MARGIN,1);
+ m_clockApplet = new ClockApplet(configFile, KPanelApplet::Normal, KPanelApplet::Preferences, this, "clockapplet");
+ updateClockGeometry();
+ connect(m_clockApplet, TQT_SIGNAL(clockReconfigured()), this, TQT_SLOT(updateClockGeometry()));
+
setBackgroundOrigin(AncestorOrigin);
kwin_module = new KWinModule(TQT_TQOBJECT(this));
@@ -105,6 +112,12 @@ SystemTrayApplet::SystemTrayApplet(const TQString& configFile, Type type, int ac
TQTimer::singleShot(0, this, TQT_SLOT(initialize()));
}
+void SystemTrayApplet::updateClockGeometry()
+{
+ if (m_clockApplet)
+ m_clockApplet->setFixedSize(m_clockApplet->widthForHeight(height()-2),height()-2);
+}
+
void SystemTrayApplet::initialize()
{
// register existing tray windows
@@ -185,6 +198,9 @@ SystemTrayApplet::~SystemTrayApplet()
delete *it;
}
+ if (m_leftSpacer) delete m_leftSpacer;
+ if (m_rightSpacer) delete m_rightSpacer;
+
KGlobal::locale()->removeCatalogue("ksystemtrayapplet");
}
@@ -225,10 +241,16 @@ void SystemTrayApplet::preferences()
connect(m_settingsDialog, TQT_SIGNAL(okClicked()), this, TQT_SLOT(applySettings()));
connect(m_settingsDialog, TQT_SIGNAL(finished()), this, TQT_SLOT(settingsDialogFinished()));
- m_iconSelector = new KActionSelector(m_settingsDialog);
+ TQGrid *settingsGrid = m_settingsDialog->makeGridMainWidget( 2, Qt::Vertical);
+
+ m_showClockSettingCB = new TQCheckBox("Show Clock in Tray", settingsGrid);
+ m_showClockSettingCB->setChecked(m_showClockInTray);
+
+ //m_iconSelector = new KActionSelector(m_settingsDialog);
+ m_iconSelector = new KActionSelector(settingsGrid);
m_iconSelector->setAvailableLabel(i18n("Hidden icons:"));
m_iconSelector->setSelectedLabel(i18n("Visible icons:"));
- m_settingsDialog->setMainWidget(m_iconSelector);
+ //m_settingsDialog->setMainWidget(m_iconSelector);
TQListBox *hiddenListBox = m_iconSelector->availableListBox();
TQListBox *shownListBox = m_iconSelector->selectedListBox();
@@ -272,6 +294,8 @@ void SystemTrayApplet::applySettings()
return;
}
+ m_showClockInTray = m_showClockSettingCB->isChecked();
+
KConfig *conf = config();
// Save the sort order and hidden status using the window class (WM_CLASS) rather
@@ -317,6 +341,10 @@ void SystemTrayApplet::applySettings()
m_hiddenIconList.append(item->text());
}
conf->writeEntry("Hidden", m_hiddenIconList);
+
+ conf->setGroup("System Tray");
+ conf->writeEntry("ShowClockInTray", m_showClockInTray);
+
conf->sync();
TrayEmbedList::iterator it = m_shownWins.begin();
@@ -392,7 +420,7 @@ void SystemTrayApplet::showExpandButton(bool show)
{
if (!m_expandButton)
{
- m_expandButton = new SimpleArrowButton(this);
+ m_expandButton = new SimpleArrowButton(this, Qt::UpArrow, 0, KickerSettings::showDeepButtons());
m_expandButton->installEventFilter(this);
refreshExpandButton();
@@ -475,6 +503,7 @@ void SystemTrayApplet::loadSettings()
//Note This setting comes from kdeglobal.
conf->setGroup("System Tray");
m_iconSize = conf->readNumEntry("systrayIconWidth", 22);
+ m_showClockInTray = conf->readNumEntry("ShowClockInTray", false);
}
void SystemTrayApplet::systemTrayWindowAdded( WId w )
@@ -984,6 +1013,18 @@ void SystemTrayApplet::layoutTray()
col, col,
0, nbrOfLines - 1,
Qt::AlignHCenter | Qt::AlignVCenter);
+
+ if (m_clockApplet) {
+ if (m_showClockInTray)
+ m_clockApplet->show();
+ else
+ m_clockApplet->hide();
+
+ m_layout->addMultiCellWidget(m_clockApplet,
+ col+1, col+1,
+ 0, nbrOfLines - 1,
+ Qt::AlignHCenter | Qt::AlignVCenter);
+ }
}
else // horizontal
{
@@ -1047,11 +1088,25 @@ void SystemTrayApplet::layoutTray()
0, nbrOfLines - 1,
col, col,
Qt::AlignHCenter | Qt::AlignVCenter);
+
+ if (m_clockApplet) {
+ if (m_showClockInTray)
+ m_clockApplet->show();
+ else
+ m_clockApplet->hide();
+
+ m_layout->addMultiCellWidget(m_clockApplet,
+ 0, nbrOfLines - 1,
+ col+1, col+1,
+ Qt::AlignHCenter | Qt::AlignVCenter);
+ }
}
tqsetUpdatesEnabled(true);
updateGeometry();
setBackground();
+
+ updateClockGeometry();
}
void SystemTrayApplet::paletteChange(const TQPalette & /* oldPalette */)
diff --git a/kicker/applets/systemtray/systemtrayapplet.h b/kicker/applets/systemtray/systemtrayapplet.h
index c656cfe3d..a7a6a043d 100644
--- a/kicker/applets/systemtray/systemtrayapplet.h
+++ b/kicker/applets/systemtray/systemtrayapplet.h
@@ -28,12 +28,15 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <tqstringlist.h>
#include <tqevent.h>
#include <tqlayout.h>
+#include <tqcheckbox.h>
#include <qxembed.h>
#include <dcopobject.h>
#include <kapplication.h>
#include <kpanelapplet.h>
+#include "clock.h"
+
#include "simplebutton.h"
class TQGridLayout;
@@ -85,6 +88,7 @@ protected slots:
void checkAutoRetract();
void configure() { preferences(); }
void setBackground();
+ void updateClockGeometry();
private:
void embedWindow( WId w, bool kde_tray );
@@ -108,11 +112,14 @@ private:
SimpleArrowButton *m_expandButton;
TQWidget *m_leftSpacer;
TQWidget *m_rightSpacer;
+ ClockApplet *m_clockApplet;
KDialogBase* m_settingsDialog;
KActionSelector* m_iconSelector;
TQTimer* m_autoRetractTimer;
bool m_autoRetract;
int m_iconSize;
+ bool m_showClockInTray;
+ TQCheckBox *m_showClockSettingCB;
TQGridLayout* m_layout;
};