diff options
Diffstat (limited to 'kdeui/ksystemtray.cpp')
-rw-r--r-- | kdeui/ksystemtray.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/kdeui/ksystemtray.cpp b/kdeui/ksystemtray.cpp index 593bc6bc0..33d7f3506 100644 --- a/kdeui/ksystemtray.cpp +++ b/kdeui/ksystemtray.cpp @@ -29,9 +29,9 @@ #include "kaboutdata.h" #ifdef Q_WS_X11 -#include <kwin.h> -#include <kwinmodule.h> -#include <qxembed.h> +#include <kwin.h> +#include <kwinmodule.h> +#include <qxembed.h> #endif #include <kiconloader.h> @@ -62,7 +62,7 @@ KSystemTray::KSystemTray( QWidget* parent, const char* name ) #ifdef Q_WS_X11 QXEmbed::initialize(); #endif - + d = new KSystemTrayPrivate; d->actionCollection = new KActionCollection(this); @@ -95,6 +95,9 @@ KSystemTray::KSystemTray( QWidget* parent, const char* name ) } setCaption( KGlobal::instance()->aboutData()->programName()); setAlignment( alignment() | Qt::AlignVCenter | Qt::AlignHCenter ); + + // Handle the possibility that the requested system tray size is something other than 22x22 pixels, per the Free Desktop specifications + setScaledContents(true); } KSystemTray::~KSystemTray() @@ -306,7 +309,7 @@ KActionCollection* KSystemTray::actionCollection() { return d->actionCollection; } - + QPixmap KSystemTray::loadIcon( const QString &icon, KInstance *instance ) { KConfig *appCfg = kapp->config(); @@ -315,6 +318,11 @@ QPixmap KSystemTray::loadIcon( const QString &icon, KInstance *instance ) return instance->iconLoader()->loadIcon( icon, KIcon::Panel, iconWidth ); } +QPixmap KSystemTray::loadSizedIcon( const QString &icon, int iconWidth, KInstance *instance ) +{ + return instance->iconLoader()->loadIcon( icon, KIcon::Panel, iconWidth ); +} + void KSystemTray::setPixmap( const QPixmap& p ) { QLabel::setPixmap( p ); |