]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/iconsizedialog.cpp
Fix the reproducible problem after the fix:
[dolphin.git] / src / iconsizedialog.cpp
index 6b406202c43abf2addbb3c90e598da8124dffdcb..75638348c43110ee7e8b94650eaf5773a504f6dc 100644 (file)
@@ -25,6 +25,7 @@
 #include "dolphin_iconsmodesettings.h"
 
 #include <kcolorscheme.h>
+#include <kiconloader.h>
 #include <klocale.h>
 #include <kvbox.h>
 
@@ -49,7 +50,7 @@ IconSizeDialog::IconSizeDialog(QWidget* parent) :
 
     const int spacing = KDialog::spacingHint();
 
-    setCaption(i18n("Change Icon & Preview Size"));
+    setCaption(i18nc("@title:window", "Change Icon & Preview Size"));
     setButtons(Ok | Cancel);
     setDefaultButton(Ok);
 
@@ -59,22 +60,27 @@ IconSizeDialog::IconSizeDialog(QWidget* parent) :
     // create 'Icon Size' group including slider and preview
     QGroupBox* iconSizeBox = new QGroupBox(i18nc("@title:group", "Icon Size"), main);
 
-    const QColor iconBackgroundColor = KColorScheme(KColorScheme::View).background();
+    const QColor iconBackgroundColor = KColorScheme(QPalette::Active, KColorScheme::View).background().color();
 
     KHBox* iconSizeHBox = new KHBox(iconSizeBox);
     iconSizeHBox->setSpacing(spacing);
-    new QLabel(i18nc("@label:inrange Size", "Small"), iconSizeHBox);
-    m_iconSizeSlider = new QSlider(0, 5, 1, 0,  Qt::Horizontal, iconSizeHBox);
+    new QLabel(i18nc("@item:inrange Icon Size", "Small"), iconSizeHBox);
+    m_iconSizeSlider = new QSlider(Qt::Horizontal, iconSizeHBox);
+    m_iconSizeSlider->setMinimum(0);
+    m_iconSizeSlider->setMaximum(5);
+    m_iconSizeSlider->setPageStep(1);
     m_iconSizeSlider->setValue(sliderValue(settings->iconSize()));
-    m_iconSizeSlider->setTickmarks(QSlider::TicksBelow);
+    m_iconSizeSlider->setTickPosition(QSlider::TicksBelow);
     connect(m_iconSizeSlider, SIGNAL(valueChanged(int)),
             this, SLOT(updateIconSize(int)));
-    new QLabel(i18nc("@label:inrange Size", "Large"), iconSizeHBox);
+    new QLabel(i18nc("@item:inrange Icon Size", "Large"), iconSizeHBox);
 
     m_iconSizeViewer = new PixmapViewer(iconSizeBox, PixmapViewer::SizeTransition);
     m_iconSizeViewer->setMinimumWidth(K3Icon::SizeEnormous);
     m_iconSizeViewer->setFixedHeight(K3Icon::SizeEnormous);
-    m_iconSizeViewer->setEraseColor(iconBackgroundColor);
+    QPalette p = m_iconSizeViewer->palette();
+    p.setColor(m_iconSizeViewer->backgroundRole(), iconBackgroundColor);
+    m_iconSizeViewer->setPalette(p);
     updateIconSize(m_iconSizeSlider->value());
 
     QVBoxLayout* iconSizeLayout = new QVBoxLayout(iconSizeBox);
@@ -86,18 +92,23 @@ IconSizeDialog::IconSizeDialog(QWidget* parent) :
 
     KHBox* previewSizeHBox = new KHBox(previewSizeBox);
     previewSizeHBox->setSpacing(spacing);
-    new QLabel(i18nc("@label:inrange Size", "Small"), previewSizeHBox);
-    m_previewSizeSlider = new QSlider(0, 5, 1, 0,  Qt::Horizontal, previewSizeHBox);
+    new QLabel(i18nc("@item:inrange Preview Size", "Small"), previewSizeHBox);
+    m_previewSizeSlider = new QSlider(Qt::Horizontal, previewSizeHBox);
+    m_previewSizeSlider->setMinimum(0);
+    m_previewSizeSlider->setMaximum(5);
+    m_previewSizeSlider->setPageStep(1);
     m_previewSizeSlider->setValue(sliderValue(settings->previewSize()));
-    m_previewSizeSlider->setTickmarks(QSlider::TicksBelow);
+    m_previewSizeSlider->setTickPosition(QSlider::TicksBelow);
     connect(m_previewSizeSlider, SIGNAL(valueChanged(int)),
             this, SLOT(updatePreviewSize(int)));
-    new QLabel(i18nc("@label:inrange Size", "Large"), previewSizeHBox);
+    new QLabel(i18nc("@item:inrange Preview Size", "Large"), previewSizeHBox);
 
     m_previewSizeViewer = new PixmapViewer(previewSizeBox, PixmapViewer::SizeTransition);
     m_previewSizeViewer->setMinimumWidth(K3Icon::SizeEnormous);
     m_previewSizeViewer->setFixedHeight(K3Icon::SizeEnormous);
-    m_previewSizeViewer->setEraseColor(iconBackgroundColor);
+    p = m_previewSizeViewer->palette();
+    p.setColor(m_previewSizeViewer->backgroundRole(), iconBackgroundColor);
+    m_previewSizeViewer->setPalette(p);
     updatePreviewSize(m_previewSizeSlider->value());
 
     QVBoxLayout* previewSizeLayout = new QVBoxLayout(previewSizeBox);
@@ -131,28 +142,20 @@ void IconSizeDialog::slotButtonClicked(int button)
 
 void IconSizeDialog::updateIconSize(int value)
 {
-    KIconLoader iconLoader;
-    m_iconSizeViewer->setPixmap(iconLoader.loadIcon("folder", K3Icon::Desktop, iconSize(value)));
-
+    m_iconSizeViewer->setPixmap(KIconLoader::global()->loadIcon("folder", K3Icon::Desktop, iconSize(value)));
     if (m_previewSizeSlider != 0) {
-        int previewSizeValue = m_previewSizeSlider->value();
-        if (previewSizeValue < value) {
-            // assure that the preview size is never smaller than the icon size
-            previewSizeValue = value;
-        }
-        updatePreviewSize(previewSizeValue);
+        updatePreviewSize(m_previewSizeSlider->value());
     }
 }
 
 void IconSizeDialog::updatePreviewSize(int value)
 {
-    KIconLoader iconLoader;
     const int iconSizeValue = m_iconSizeSlider->value();
     if (value < iconSizeValue) {
         // assure that the preview size is never smaller than the icon size
         value = iconSizeValue;
     }
-    m_previewSizeViewer->setPixmap(iconLoader.loadIcon("preview", K3Icon::Desktop, iconSize(value)));
+    m_previewSizeViewer->setPixmap(KIconLoader::global()->loadIcon("preview", K3Icon::Desktop, iconSize(value)));
 }
 
 int IconSizeDialog::iconSize(int sliderValue) const