Part of batch commit to enable true tasktray resize support for Trinity applications

git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1124756 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
v3.5.13-sru
tpearson 15 years ago
parent 139dd5b8c4
commit be5389144b

@ -29,9 +29,9 @@
#include "kaboutdata.h" #include "kaboutdata.h"
#ifdef Q_WS_X11 #ifdef Q_WS_X11
#include <kwin.h> #include <kwin.h>
#include <kwinmodule.h> #include <kwinmodule.h>
#include <qxembed.h> #include <qxembed.h>
#endif #endif
#include <kiconloader.h> #include <kiconloader.h>
@ -62,7 +62,7 @@ KSystemTray::KSystemTray( QWidget* parent, const char* name )
#ifdef Q_WS_X11 #ifdef Q_WS_X11
QXEmbed::initialize(); QXEmbed::initialize();
#endif #endif
d = new KSystemTrayPrivate; d = new KSystemTrayPrivate;
d->actionCollection = new KActionCollection(this); d->actionCollection = new KActionCollection(this);
@ -95,6 +95,9 @@ KSystemTray::KSystemTray( QWidget* parent, const char* name )
} }
setCaption( KGlobal::instance()->aboutData()->programName()); setCaption( KGlobal::instance()->aboutData()->programName());
setAlignment( alignment() | Qt::AlignVCenter | Qt::AlignHCenter ); 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() KSystemTray::~KSystemTray()
@ -306,7 +309,7 @@ KActionCollection* KSystemTray::actionCollection()
{ {
return d->actionCollection; return d->actionCollection;
} }
QPixmap KSystemTray::loadIcon( const QString &icon, KInstance *instance ) QPixmap KSystemTray::loadIcon( const QString &icon, KInstance *instance )
{ {
KConfig *appCfg = kapp->config(); KConfig *appCfg = kapp->config();
@ -315,6 +318,11 @@ QPixmap KSystemTray::loadIcon( const QString &icon, KInstance *instance )
return instance->iconLoader()->loadIcon( icon, KIcon::Panel, iconWidth ); 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 ) void KSystemTray::setPixmap( const QPixmap& p )
{ {
QLabel::setPixmap( p ); QLabel::setPixmap( p );

@ -108,7 +108,7 @@ public:
* configuration dialog). The default value is KAboutData::programName(). * configuration dialog). The default value is KAboutData::programName().
*/ */
virtual void setCaption( const QString& title ); virtual void setCaption( const QString& title );
/** /**
* Loads an icon @p icon using the icon loader class of the given instance @p instance. * Loads an icon @p icon using the icon loader class of the given instance @p instance.
* The icon is applied the panel effect as it should only be used to be shown in the * The icon is applied the panel effect as it should only be used to be shown in the
@ -119,6 +119,17 @@ public:
*/ */
static QPixmap loadIcon( const QString &icon, KInstance *instance=KGlobal::instance() ); static QPixmap loadIcon( const QString &icon, KInstance *instance=KGlobal::instance() );
/**
* Loads an icon @p icon using the icon loader class of the given instance @p instance.
* The icon is applied the panel effect as it should only be used to be shown in the
* system tray.
* It's commonly used in the form : systray->setPixmap( systray->loadIcon( "mysystray", iconWidth ) );
* This is essentially the same as loadIcon(), but with a forced icon size
*
* @since 3.5.12
*/
static QPixmap loadSizedIcon( const QString &icon, int iconWidth, KInstance *instance=KGlobal::instance() );
signals: signals:
/** /**
* Emitted when quit is selected in the menu. If you want to perform any other * Emitted when quit is selected in the menu. If you want to perform any other

Loading…
Cancel
Save