--- 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 #include #include +#include //Plasma #include @@ -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"