summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/kpowersave.cpp12
-rw-r--r--src/kpowersave.h3
2 files changed, 13 insertions, 2 deletions
diff --git a/src/kpowersave.cpp b/src/kpowersave.cpp
index 18b50f2..9449663 100644
--- a/src/kpowersave.cpp
+++ b/src/kpowersave.cpp
@@ -236,6 +236,13 @@ void kpowersave::initMenu() {
kdDebugFuncOut(trace);
}
+void kpowersave::resizeEvent ( QResizeEvent * )
+{
+ // Honor Free Desktop specifications that allow for arbitrary system tray icon sizes
+ loadIcon();
+ drawIcon();
+}
+
/*!
* This funtion load and manipulate the icons for the kickerapplet-section.
* The redraw interval depends on \ref icon_set_colored and \ref BAT_icon_BG_intervall.
@@ -354,10 +361,10 @@ void kpowersave::loadIcon(){
if(pixmap_name_tmp != pixmap_name) {
pixmap_name = pixmap_name_tmp;
if (pixmap_name.startsWith("ERROR")) {
- pixmap = SmallIcon("laptoppower", 22, KIcon::DisabledState);
+ pixmap = SmallIcon("laptoppower", width(), KIcon::DisabledState);
}
else
- pixmap = SmallIcon(pixmap_name, 22);
+ pixmap = SmallIcon(pixmap_name, width());
}
kdDebugFuncOut(trace);
@@ -427,6 +434,7 @@ void kpowersave::drawIcon(){
}
}
quit:
+ image = image.smoothScale(width(), height());
fullIcon.convertFromImage(image);
setPixmap(fullIcon);
diff --git a/src/kpowersave.h b/src/kpowersave.h
index bd588cd..e739344 100644
--- a/src/kpowersave.h
+++ b/src/kpowersave.h
@@ -481,6 +481,9 @@ k_dcop:
QStringList listSchemes();
//! dcop function to return the supported CPU
QStringList listCPUFreqPolicies();
+
+protected:
+ void resizeEvent ( QResizeEvent * );
};
#endif // _KPOWERSAVE_H_