File quickaccess.cpp.diff of Package plasmoid-quickaccess
--- quickaccess.cpp 2009-05-27 21:02:59.000000000 +0200
+++ quickaccess.cpp 2010-09-11 06:47:36.000000000 +0200
@@ -33,6 +33,7 @@
#include <KConfigDialog>
#include <konq_operations.h>
#include <KMessageBox>
+#include <KGlobalSettings>
//Plasma
#include <Plasma/ToolTipManager>
@@ -84,7 +85,7 @@
connect(m_icon, SIGNAL(clicked()), this, SLOT(slot_iconClicked()));
layout->addItem(m_icon);
-
+
Plasma::ToolTipManager::self()->registerWidget(this);
//read the config
@@ -101,6 +102,9 @@
setAspectRatioMode(Plasma::ConstrainedSquare);
connect(m_saveTimer, SIGNAL(timeout()), this, SLOT(saveSettings()));
+
+ connect(KGlobalSettings::self(), SIGNAL(iconChanged(int)),
+ this, SLOT(iconSizeChanged(int)));
}
void QuickAccess::popupEvent(bool show)
@@ -338,4 +342,34 @@
}
}
+QSizeF QuickAccess::sizeHint(Qt::SizeHint which, const QSizeF & constraint) const
+{
+ if (which == Qt::PreferredSize) {
+ int iconSize;
+
+ switch (formFactor()) {
+ case Plasma::Planar:
+ case Plasma::MediaCenter:
+ iconSize = IconSize(KIconLoader::Desktop);
+ break;
+
+ case Plasma::Horizontal:
+ case Plasma::Vertical:
+ iconSize = IconSize(KIconLoader::Panel);
+ break;
+ }
+
+ return QSizeF(iconSize, iconSize);
+ }
+
+ return Plasma::Applet::sizeHint(which, constraint);
+}
+
+void QuickAccess::iconSizeChanged(int group)
+{
+ if (group == KIconLoader::Desktop || group == KIconLoader::Panel) {
+ updateGeometry();
+ }
+}
+
#include "quickaccess.moc"