[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/workspace/plasma/applets/quicklaunch
From:       Aaron J. Seigo <aseigo () kde ! org>
Date:       2009-05-26 17:22:32
Message-ID: 1243358552.600822.12243.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 973249 by aseigo:

fix things for planar formfactors:

* set a rational initial size
* keep the icon setting in a different var than the actual icon size so we can return \
                back to the preferred size if/when there is room
* don't limit the size of the icon when in a non-hor/vert form factor since we can \
freely scale there

BUG:194172



 M  +20 -9     quicklaunchApplet.cpp  
 M  +1 -0      quicklaunchApplet.h  


--- trunk/KDE/kdebase/workspace/plasma/applets/quicklaunch/quicklaunchApplet.cpp \
#973248:973249 @@ -51,6 +51,7 @@
     m_innerLayout(0),
     m_timer(new QTimer(this)),
     m_visibleIcons(6),
+    m_preferredIconSize(s_defaultIconSize),
     m_iconSize(s_defaultIconSize),
     m_dialogIconSize(s_defaultIconSize),
     m_dialog(0),
@@ -66,6 +67,11 @@
     setAspectRatioMode(Plasma::IgnoreAspectRatio);
     connect(m_timer,SIGNAL(timeout()), this, SLOT(performUiRefactor()));
     m_timer->setSingleShot(true);
+
+    qreal left, top, right, bottom;
+    getContentsMargins(&left, &top, &right, &bottom);
+    resize(s_defaultIconSize * 3 + s_defaultSpacing * 4 + left + right,
+           s_defaultIconSize + s_defaultSpacing * 2 + top + bottom);
 }
 
 QuicklaunchApplet::~QuicklaunchApplet()
@@ -91,7 +97,7 @@
 void QuicklaunchApplet::init()
 {
     KConfigGroup cg = config();
-    m_iconSize = qMax(s_defaultIconSize, (int)cg.readEntry("iconSize", \
contentsRect().height() / 2)); +    m_preferredIconSize = m_iconSize = \
                qMax(s_defaultIconSize, (int)cg.readEntry("iconSize", \
                contentsRect().height() / 2));
     m_visibleIcons = qMax(0, cg.readEntry("visibleIcons", m_visibleIcons));
     m_dialogIconSize = qMax(s_defaultIconSize, (int)cg.readEntry("dialogIconSize", \
contentsRect().height() / 2));  
@@ -176,8 +182,9 @@
     //kDebug() << "performUiRefactor count = " << my_perforcount++;
     clearLayout(m_innerLayout);
 
-    m_iconSize = qMin(qMax(m_iconSize, s_defaultIconSize), \
(int)(contentsRect().height() - 2 * s_defaultSpacing));//Don't accept values under 16 \
                nor anything over applet's height
-    m_dialogIconSize = qMax(m_iconSize, s_defaultIconSize);
+    //Don't accept values under 16 nor anything over applet's height
+    m_iconSize = qMin(qMax(m_preferredIconSize, s_defaultIconSize), \
(int)(contentsRect().height() - 2 * s_defaultSpacing)); +    m_dialogIconSize = \
qMax(m_dialogIconSize, s_defaultIconSize);  
     if (m_dialogLayout) {
         clearLayout(m_dialogLayout);
@@ -279,9 +286,13 @@
     uiConfig.setupUi(widget);
     connect(parent, SIGNAL(accepted()), SLOT(configAccepted()));
 
-    int height = contentsRect().height() - 2 * s_defaultSpacing;
     int dialogHeight = (int)KIconLoader::SizeEnormous;
+    int height = dialogHeight;
 
+    if (formFactor() == Plasma::Horizontal || formFactor() == Plasma::Vertical) {
+        height = contentsRect().height() - 2 * s_defaultSpacing;
+    }
+
     uiConfig.iconSizeSpin->setMaximum(height);
     uiConfig.iconSizeSlider->setMaximum(height);
     uiConfig.dialogIconSizeSpin->setMaximum(dialogHeight);
@@ -292,8 +303,8 @@
     uiConfig.dialogIconSizeSpin->setMinimum(s_defaultIconSize);
     uiConfig.dialogIconSizeSlider->setMinimum(s_defaultIconSize);
 
-    uiConfig.iconSizeSpin->setValue(m_iconSize);
-    uiConfig.iconSizeSlider->setValue(m_iconSize);
+    uiConfig.iconSizeSpin->setValue(m_preferredIconSize);
+    uiConfig.iconSizeSlider->setValue(m_preferredIconSize);
     uiConfig.dialogIconSizeSpin->setValue(m_dialogIconSize);
     uiConfig.dialogIconSizeSlider->setValue(m_dialogIconSize);
 
@@ -316,9 +327,9 @@
     }
 
     temp = uiConfig.iconSizeSpin->value();
-    if (temp != m_iconSize) {
-        m_iconSize = temp;
-        cg.writeEntry("iconSize", m_iconSize);
+    if (temp != m_preferredIconSize) {
+        m_preferredIconSize = temp;
+        cg.writeEntry("iconSize", m_preferredIconSize);
         changed = true;
     }
 
--- trunk/KDE/kdebase/workspace/plasma/applets/quicklaunch/quicklaunchApplet.h \
#973248:973249 @@ -152,6 +152,7 @@
         QList<QuicklaunchIcon*> m_icons;
         Plasma::IconWidget *m_arrow;
         int m_visibleIcons;
+        int m_preferredIconSize;
         int m_iconSize;
         int m_dialogIconSize;
         Plasma::Dialog *m_dialog;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic