summaryrefslogtreecommitdiffstats
path: root/kicker/applets/systemtray/systemtrayapplet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kicker/applets/systemtray/systemtrayapplet.cpp')
-rw-r--r--kicker/applets/systemtray/systemtrayapplet.cpp186
1 files changed, 100 insertions, 86 deletions
diff --git a/kicker/applets/systemtray/systemtrayapplet.cpp b/kicker/applets/systemtray/systemtrayapplet.cpp
index 97b71d1b2..175e037e5 100644
--- a/kicker/applets/systemtray/systemtrayapplet.cpp
+++ b/kicker/applets/systemtray/systemtrayapplet.cpp
@@ -28,6 +28,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <tqcursor.h>
#include <tqpopupmenu.h>
+#include <tqspinbox.h>
+#include <tqcheckbox.h>
#include <tqtimer.h>
#include <tqpixmap.h>
#include <tqevent.h>
@@ -35,6 +37,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <tqgrid.h>
#include <tqpainter.h>
#include <tqimage.h>
+#include <tqlayout.h>
#include <dcopclient.h>
#include <tdeapplication.h>
@@ -58,12 +61,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <X11/Xlib.h>
-#define ICON_MARGIN 1
#define ICON_END_MARGIN KickerSettings::showDeepButtons()?4:0
extern "C"
{
- KDE_EXPORT KPanelApplet* init(TQWidget *parent, const TQString& configFile)
+ TDE_EXPORT KPanelApplet* init(TQWidget *parent, const TQString& configFile)
{
TDEGlobal::locale()->insertCatalogue("ksystemtrayapplet");
return new SystemTrayApplet(configFile, KPanelApplet::Normal,
@@ -74,20 +76,22 @@ extern "C"
SystemTrayApplet::SystemTrayApplet(const TQString& configFile, Type type, int actions,
TQWidget *parent, const char *name)
: KPanelApplet(configFile, type, actions, parent, name),
- m_showFrame(KickerSettings::showDeepButtons()?true:false),
+ m_showFrame(KickerSettings::showDeepButtons()),
m_showHidden(false),
- m_expandButton(0),
- m_leftSpacer(0),
- m_rightSpacer(0),
- m_clockApplet(0),
- m_settingsDialog(0),
+ m_expandButton(nullptr),
+ m_leftSpacer(nullptr),
+ m_rightSpacer(nullptr),
+ m_clockApplet(nullptr),
+ m_settingsDialog(nullptr),
m_iconSelector(0),
- m_autoRetractTimer(0),
+ m_autoRetractTimer(nullptr),
m_autoRetract(false),
m_iconSize(24),
m_showClockInTray(false),
- m_showClockSettingCB(0),
- m_layout(0)
+ m_showClockSettingCB(nullptr),
+ m_iconMargin(1),
+ m_iconMarginSB(nullptr),
+ m_layout(nullptr)
{
DCOPObject::setObjId("SystemTrayApplet");
loadSettings();
@@ -99,19 +103,19 @@ SystemTrayApplet::SystemTrayApplet(const TQString& configFile, Type type, int ac
m_clockApplet = new ClockApplet(configFile, KPanelApplet::Normal, KPanelApplet::Preferences, this, "clockapplet");
updateClockGeometry();
- connect(m_clockApplet, TQT_SIGNAL(clockReconfigured()), this, TQT_SLOT(updateClockGeometry()));
- connect(m_clockApplet, TQT_SIGNAL(updateLayout()), this, TQT_SLOT(updateClockGeometry()));
+ connect(m_clockApplet, TQ_SIGNAL(clockReconfigured()), this, TQ_SLOT(updateClockGeometry()));
+ connect(m_clockApplet, TQ_SIGNAL(updateLayout()), this, TQ_SLOT(updateClockGeometry()));
setBackgroundOrigin(AncestorOrigin);
- twin_module = new KWinModule(TQT_TQOBJECT(this));
+ twin_module = new KWinModule(this);
- // kApplication notifies us of settings changes. added to support
+ // tdeApp notifies us of settings changes. added to support
// disabling of frame effect on mouse hover
- kapp->dcopClient()->setNotifications(true);
+ tdeApp->dcopClient()->setNotifications(true);
connectDCOPSignal("kicker", "kicker", "configurationChanged()", "loadSettings()", false);
- TQTimer::singleShot(0, this, TQT_SLOT(initialize()));
+ TQTimer::singleShot(0, this, TQ_SLOT(initialize()));
}
void SystemTrayApplet::updateClockGeometry()
@@ -119,14 +123,14 @@ void SystemTrayApplet::updateClockGeometry()
if (m_clockApplet)
{
m_clockApplet->setPosition(position());
- if (orientation() == Qt::Horizontal)
- {
- m_clockApplet->setFixedSize(m_clockApplet->widthForHeight(height()),height());
- }
- else
- {
- m_clockApplet->setFixedSize(width(),m_clockApplet->heightForWidth(width()));
- }
+ if (orientation() == TQt::Horizontal)
+ {
+ m_clockApplet->setFixedSize(m_clockApplet->widthForHeight(height()),height());
+ }
+ else
+ {
+ m_clockApplet->setFixedSize(width(),m_clockApplet->heightForWidth(width()));
+ }
}
}
@@ -151,10 +155,10 @@ void SystemTrayApplet::initialize()
}
// the KWinModule notifies us when tray windows are added or removed
- connect( twin_module, TQT_SIGNAL( systemTrayWindowAdded(WId) ),
- this, TQT_SLOT( systemTrayWindowAdded(WId) ) );
- connect( twin_module, TQT_SIGNAL( systemTrayWindowRemoved(WId) ),
- this, TQT_SLOT( updateTrayWindows() ) );
+ connect( twin_module, TQ_SIGNAL( systemTrayWindowAdded(WId) ),
+ this, TQ_SLOT( systemTrayWindowAdded(WId) ) );
+ connect( twin_module, TQ_SIGNAL( systemTrayWindowRemoved(WId) ),
+ this, TQ_SLOT( updateTrayWindows() ) );
TQCString screenstr;
screenstr.setNum(tqt_xscreen());
@@ -190,7 +194,7 @@ void SystemTrayApplet::initialize()
XSendEvent (display, root, False, StructureNotifyMask, (XEvent *)&xev);
}
-
+
setBackground();
}
@@ -249,11 +253,11 @@ void SystemTrayApplet::preferences()
KDialogBase::Ok | KDialogBase::Apply | KDialogBase::Cancel,
KDialogBase::Ok, true);
m_settingsDialog->resize(450, 400);
- connect(m_settingsDialog, TQT_SIGNAL(applyClicked()), this, TQT_SLOT(applySettings()));
- connect(m_settingsDialog, TQT_SIGNAL(okClicked()), this, TQT_SLOT(applySettings()));
- connect(m_settingsDialog, TQT_SIGNAL(finished()), this, TQT_SLOT(settingsDialogFinished()));
+ connect(m_settingsDialog, TQ_SIGNAL(applyClicked()), this, TQ_SLOT(applySettings()));
+ connect(m_settingsDialog, TQ_SIGNAL(okClicked()), this, TQ_SLOT(applySettings()));
+ connect(m_settingsDialog, TQ_SIGNAL(finished()), this, TQ_SLOT(settingsDialogFinished()));
- TQGrid *settingsGrid = m_settingsDialog->makeGridMainWidget( 2, Qt::Vertical);
+ TQGrid *settingsGrid = m_settingsDialog->makeGridMainWidget( 3, TQt::Vertical);
m_showClockSettingCB = new TQCheckBox(i18n("Show Clock in Tray"), settingsGrid);
m_showClockSettingCB->setChecked(m_showClockInTray);
@@ -289,6 +293,13 @@ void SystemTrayApplet::preferences()
}
}
+ TQHBox *hbox = new TQHBox(settingsGrid);
+ hbox->setSizePolicy(TQSizePolicy::Maximum, TQSizePolicy::Maximum);
+ TQLabel *iconMarginL = new TQLabel(i18n("Icon margin: "), hbox);
+ m_iconMarginSB = new TQSpinBox(0, 20, 1, hbox);
+ m_iconMarginSB->setSuffix(i18n(" px"));
+ m_iconMarginSB->setValue(m_iconMargin);
+
m_settingsDialog->show();
}
@@ -307,6 +318,7 @@ void SystemTrayApplet::applySettings()
}
m_showClockInTray = m_showClockSettingCB->isChecked();
+ m_iconMargin = m_iconMarginSB->value();
TDEConfig *conf = config();
@@ -356,6 +368,7 @@ void SystemTrayApplet::applySettings()
conf->setGroup("System Tray");
conf->writeEntry("ShowClockInTray", m_showClockInTray);
+ conf->writeEntry("IconMargin", m_iconMargin);
conf->sync();
@@ -432,11 +445,11 @@ void SystemTrayApplet::showExpandButton(bool show)
{
if (!m_expandButton)
{
- m_expandButton = new SimpleArrowButton(this, Qt::UpArrow, 0, KickerSettings::showDeepButtons());
+ m_expandButton = new SimpleArrowButton(this, TQt::UpArrow, 0, KickerSettings::showDeepButtons());
m_expandButton->installEventFilter(this);
refreshExpandButton();
- if (orientation() == Qt::Vertical)
+ if (orientation() == TQt::Vertical)
{
m_expandButton->setFixedSize(width() - 4,
m_expandButton->sizeHint()
@@ -448,12 +461,12 @@ void SystemTrayApplet::showExpandButton(bool show)
.width(),
height() - 4);
}
- connect(m_expandButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(toggleExpanded()));
+ connect(m_expandButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(toggleExpanded()));
m_autoRetractTimer = new TQTimer(this, "m_autoRetractTimer");
- connect(m_autoRetractTimer, TQT_SIGNAL(timeout()),
- this, TQT_SLOT(checkAutoRetract()));
+ connect(m_autoRetractTimer, TQ_SIGNAL(timeout()),
+ this, TQ_SLOT(checkAutoRetract()));
}
else
{
@@ -483,7 +496,7 @@ void SystemTrayApplet::iconSizeChanged() {
(*emb)->setFixedSize(m_iconSize, m_iconSize);
++emb;
}
-
+
emb = m_hiddenWins.begin();
while (emb != m_hiddenWins.end()) {
(*emb)->setFixedSize(m_iconSize, m_iconSize);
@@ -516,6 +529,7 @@ void SystemTrayApplet::loadSettings()
conf->setGroup("System Tray");
m_iconSize = conf->readNumEntry("systrayIconWidth", 22);
m_showClockInTray = conf->readNumEntry("ShowClockInTray", false);
+ m_iconMargin = conf->readNumEntry("IconMargin", 1);
}
void SystemTrayApplet::systemTrayWindowAdded( WId w )
@@ -559,7 +573,7 @@ void SystemTrayApplet::embedWindow( WId w, bool kde_tray )
return;
}
- connect(emb, TQT_SIGNAL(embeddedWindowDestroyed()), TQT_SLOT(updateTrayWindows()));
+ connect(emb, TQ_SIGNAL(embeddedWindowDestroyed()), TQ_SLOT(updateTrayWindows()));
emb->setFixedSize(m_iconSize, m_iconSize);
if (shouldHide(w))
@@ -627,7 +641,7 @@ void SystemTrayApplet::updateVisibleWins()
(*emb)->hide();
}
}
-
+
TQMap< QXEmbed*, TQString > names; // cache window names and classes
TQMap< QXEmbed*, TQString > classes;
for( TrayEmbedList::const_iterator it = m_shownWins.begin();
@@ -677,13 +691,13 @@ void SystemTrayApplet::refreshExpandButton()
return;
}
- Qt::ArrowType a;
+ TQt::ArrowType a;
- if (orientation() == Qt::Vertical)
- a = m_showHidden ? Qt::DownArrow : Qt::UpArrow;
+ if (orientation() == TQt::Vertical)
+ a = m_showHidden ? TQt::DownArrow : TQt::UpArrow;
else
- a = (m_showHidden ^ kapp->reverseLayout()) ? Qt::RightArrow : Qt::LeftArrow;
-
+ a = (m_showHidden ^ tdeApp->reverseLayout()) ? TQt::RightArrow : TQt::LeftArrow;
+
m_expandButton->setArrowType(a);
}
@@ -833,17 +847,17 @@ int SystemTrayApplet::maxIconHeight() const
bool SystemTrayApplet::eventFilter(TQObject* watched, TQEvent* e)
{
- if (TQT_BASE_OBJECT(watched) == TQT_BASE_OBJECT(m_expandButton))
+ if (watched == m_expandButton)
{
TQPoint p;
if (e->type() == TQEvent::ContextMenu)
{
- p = TQT_TQCONTEXTMENUEVENT(e)->globalPos();
+ p = static_cast<TQContextMenuEvent*>(e)->globalPos();
}
else if (e->type() == TQEvent::MouseButtonPress)
{
- TQMouseEvent* me = TQT_TQMOUSEEVENT(e);
- if (me->button() == Qt::RightButton)
+ TQMouseEvent* me = static_cast<TQMouseEvent*>(e);
+ if (me->button() == TQt::RightButton)
{
p = me->globalPos();
}
@@ -853,9 +867,9 @@ bool SystemTrayApplet::eventFilter(TQObject* watched, TQEvent* e)
{
TQPopupMenu* contextMenu = new TQPopupMenu(this);
contextMenu->insertItem(SmallIcon("configure"), i18n("Configure System Tray..."),
- this, TQT_SLOT(configure()));
+ this, TQ_SLOT(configure()));
- contextMenu->exec(TQT_TQCONTEXTMENUEVENT(e)->globalPos());
+ contextMenu->exec(static_cast<TQContextMenuEvent*>(e)->globalPos());
delete contextMenu;
return true;
@@ -867,7 +881,7 @@ bool SystemTrayApplet::eventFilter(TQObject* watched, TQEvent* e)
int SystemTrayApplet::widthForHeight(int h) const
{
- if (orientation() == Qt::Vertical)
+ if (orientation() == TQt::Vertical)
{
return width();
}
@@ -881,12 +895,12 @@ int SystemTrayApplet::widthForHeight(int h) const
me->setFixedHeight(h);
}
- return sizeHint().width();
+ return sizeHint().width();
}
int SystemTrayApplet::heightForWidth(int w) const
{
- if (orientation() == Qt::Horizontal)
+ if (orientation() == TQt::Horizontal)
{
return height();
}
@@ -900,7 +914,7 @@ int SystemTrayApplet::heightForWidth(int w) const
me->setFixedWidth(w);
}
- return sizeHint().height();
+ return sizeHint().height();
}
void SystemTrayApplet::moveEvent( TQMoveEvent* )
@@ -913,7 +927,7 @@ void SystemTrayApplet::resizeEvent( TQResizeEvent* )
{
layoutTray();
// we need to give ourselves a chance to adjust our size before calling this
- TQTimer::singleShot(0, this, TQT_SIGNAL(updateLayout()));
+ TQTimer::singleShot(0, this, TQ_SIGNAL(updateLayout()));
}
void SystemTrayApplet::layoutTray()
@@ -933,11 +947,11 @@ void SystemTrayApplet::layoutTray()
int i = 0, line, nbrOfLines, heightWidth;
bool showExpandButton = m_expandButton && m_expandButton->isVisibleTo(this);
delete m_layout;
- m_layout = new TQGridLayout(this, 1, 1, ICON_MARGIN, ICON_MARGIN);
+ m_layout = new TQGridLayout(this, 1, 1, 0, m_iconMargin);
if (m_expandButton)
{
- if (orientation() == Qt::Vertical)
+ if (orientation() == TQt::Vertical)
{
m_expandButton->setFixedSize(width() - 4, m_expandButton->sizeHint().height());
}
@@ -951,20 +965,20 @@ void SystemTrayApplet::layoutTray()
// the opposite direction of line
int col = 0;
- //
+ //
// The margin and spacing specified in the layout implies that:
- // [-- ICON_MARGIN pixels --] [-- first icon --] [-- ICON_MARGIN pixels --] ... [-- ICON_MARGIN pixels --] [-- last icon --] [-- ICON_MARGIN pixels --]
+ // [-- m_iconMargin pixels --] [-- first icon --] [-- m_iconMargin pixels --] ... [-- m_iconMargin pixels --] [-- last icon --] [-- m_iconMargin pixels --]
//
- // So, if we say that iconWidth is the icon width plus the ICON_MARGIN pixels spacing, then the available width for the icons
- // is the widget width minus ICON_MARGIN pixels margin. Forgetting these ICON_MARGIN pixels broke the layout algorithm in KDE <= 3.5.9.
+ // So, if we say that iconWidth is the icon width plus the m_iconMargin pixels spacing, then the available width for the icons
+ // is the widget width minus m_iconMargin pixels margin. Forgetting these m_iconMargin pixels broke the layout algorithm in KDE <= 3.5.9.
//
// This fix makes the workarounds in the heightForWidth() and widthForHeight() methods unneeded.
//
- if (orientation() == Qt::Vertical)
+ if (orientation() == TQt::Vertical)
{
- int iconWidth = maxIconWidth() + ICON_MARGIN; // +2 for the margins that implied by the layout
- heightWidth = width() - ICON_MARGIN;
+ int iconWidth = maxIconWidth() + m_iconMargin * 2; // +2 for the margins that implied by the layout
+ heightWidth = width() - m_iconMargin * 2;
// to avoid nbrOfLines=0 we ensure heightWidth >= iconWidth!
heightWidth = heightWidth < iconWidth ? iconWidth : heightWidth;
nbrOfLines = heightWidth / iconWidth;
@@ -972,7 +986,7 @@ void SystemTrayApplet::layoutTray()
m_layout->addMultiCellWidget(m_leftSpacer,
0, 0,
0, nbrOfLines - 1,
- Qt::AlignHCenter | Qt::AlignVCenter);
+ TQt::AlignHCenter | TQt::AlignVCenter);
col = 1;
if (showExpandButton)
@@ -980,7 +994,7 @@ void SystemTrayApplet::layoutTray()
m_layout->addMultiCellWidget(m_expandButton,
1, 1,
0, nbrOfLines - 1,
- Qt::AlignHCenter | Qt::AlignVCenter);
+ TQt::AlignHCenter | TQt::AlignVCenter);
col = 2;
}
@@ -993,7 +1007,7 @@ void SystemTrayApplet::layoutTray()
line = i % nbrOfLines;
(*emb)->show();
m_layout->addWidget((*emb), col, line,
- Qt::AlignHCenter | Qt::AlignVCenter);
+ TQt::AlignHCenter | TQt::AlignVCenter);
if ((line + 1) == nbrOfLines)
{
@@ -1011,7 +1025,7 @@ void SystemTrayApplet::layoutTray()
line = i % nbrOfLines;
(*emb)->show();
m_layout->addWidget((*emb), col, line,
- Qt::AlignHCenter | Qt::AlignVCenter);
+ TQt::AlignHCenter | TQt::AlignVCenter);
if ((line + 1) == nbrOfLines)
{
@@ -1024,7 +1038,7 @@ void SystemTrayApplet::layoutTray()
m_layout->addMultiCellWidget(m_rightSpacer,
col, col,
0, nbrOfLines - 1,
- Qt::AlignHCenter | Qt::AlignVCenter);
+ TQt::AlignHCenter | TQt::AlignVCenter);
if (m_clockApplet) {
if (m_showClockInTray)
@@ -1035,20 +1049,20 @@ void SystemTrayApplet::layoutTray()
m_layout->addMultiCellWidget(m_clockApplet,
col+1, col+1,
0, nbrOfLines - 1,
- Qt::AlignHCenter | Qt::AlignVCenter);
+ TQt::AlignHCenter | TQt::AlignVCenter);
}
}
else // horizontal
{
- int iconHeight = maxIconHeight() + ICON_MARGIN; // +2 for the margins that implied by the layout
- heightWidth = height() - ICON_MARGIN;
+ int iconHeight = maxIconHeight() + m_iconMargin * 2; // +2 for the margins that implied by the layout
+ heightWidth = height() - m_iconMargin * 2;
heightWidth = heightWidth < iconHeight ? iconHeight : heightWidth; // to avoid nbrOfLines=0
nbrOfLines = heightWidth / iconHeight;
m_layout->addMultiCellWidget(m_leftSpacer,
0, nbrOfLines - 1,
0, 0,
- Qt::AlignHCenter | Qt::AlignVCenter);
+ TQt::AlignHCenter | TQt::AlignVCenter);
col = 1;
if (showExpandButton)
@@ -1056,7 +1070,7 @@ void SystemTrayApplet::layoutTray()
m_layout->addMultiCellWidget(m_expandButton,
0, nbrOfLines - 1,
1, 1,
- Qt::AlignHCenter | Qt::AlignVCenter);
+ TQt::AlignHCenter | TQt::AlignVCenter);
col = 2;
}
@@ -1068,7 +1082,7 @@ void SystemTrayApplet::layoutTray()
line = i % nbrOfLines;
(*emb)->show();
m_layout->addWidget((*emb), line, col,
- Qt::AlignHCenter | Qt::AlignVCenter);
+ TQt::AlignHCenter | TQt::AlignVCenter);
if ((line + 1) == nbrOfLines)
{
@@ -1086,7 +1100,7 @@ void SystemTrayApplet::layoutTray()
line = i % nbrOfLines;
(*emb)->show();
m_layout->addWidget((*emb), line, col,
- Qt::AlignHCenter | Qt::AlignVCenter);
+ TQt::AlignHCenter | TQt::AlignVCenter);
if ((line + 1) == nbrOfLines)
{
@@ -1099,7 +1113,7 @@ void SystemTrayApplet::layoutTray()
m_layout->addMultiCellWidget(m_rightSpacer,
0, nbrOfLines - 1,
col, col,
- Qt::AlignHCenter | Qt::AlignVCenter);
+ TQt::AlignHCenter | TQt::AlignVCenter);
if (m_clockApplet) {
if (m_showClockInTray)
@@ -1110,7 +1124,7 @@ void SystemTrayApplet::layoutTray()
m_layout->addMultiCellWidget(m_clockApplet,
0, nbrOfLines - 1,
col+1, col+1,
- Qt::AlignHCenter | Qt::AlignVCenter);
+ TQt::AlignHCenter | TQt::AlignVCenter);
}
}
@@ -1129,11 +1143,11 @@ void SystemTrayApplet::paletteChange(const TQPalette & /* oldPalette */)
void SystemTrayApplet::setBackground()
{
TrayEmbedList::const_iterator lastEmb;
-
+
lastEmb = m_shownWins.end();
for (TrayEmbedList::const_iterator emb = m_shownWins.begin(); emb != lastEmb; ++emb)
(*emb)->setBackground();
-
+
lastEmb = m_hiddenWins.end();
for (TrayEmbedList::const_iterator emb = m_hiddenWins.begin(); emb != lastEmb; ++emb)
(*emb)->setBackground();
@@ -1188,7 +1202,7 @@ void TrayEmbed::ensureBackgroundSet()
// Get the RGB background image
bg.fill(parentWidget(), pos());
TQImage bgImage = bg.convertToImage();
-
+
// Create the ARGB pixmap
Pixmap argbpixmap = XCreatePixmap(x11Display(), embeddedWinId(), width(), height(), 32);
GC gc;
@@ -1207,7 +1221,7 @@ void TrayEmbed::ensureBackgroundSet()
XDrawPoint(x11Display(), argbpixmap, gc, x, y);
}
}
- XFlush(x11Display());
+ XFlush(x11Display());
XSetWindowBackgroundPixmap(x11Display(), embeddedWinId(), argbpixmap);
XFreePixmap(x11Display(), argbpixmap);
XFreeGC(x11Display(), gc);