]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/iconsizedialog.cpp
Forwardport 773570:
[dolphin.git] / src / iconsizedialog.cpp
index 4f998ba83a40347ad43cddc3b0896b0a6cb304dc..f4a717114b3a50115ad85526d02e490e9ac7992c 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:slider 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:slider 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);
+    m_iconSizeViewer->setMinimumWidth(KIconLoader::SizeEnormous);
+    m_iconSizeViewer->setFixedHeight(KIconLoader::SizeEnormous);
+    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:slider 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:slider 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);
+    m_previewSizeViewer->setMinimumWidth(KIconLoader::SizeEnormous);
+    m_previewSizeViewer->setFixedHeight(KIconLoader::SizeEnormous);
+    p = m_previewSizeViewer->palette();
+    p.setColor(m_previewSizeViewer->backgroundRole(), iconBackgroundColor);
+    m_previewSizeViewer->setPalette(p);
     updatePreviewSize(m_previewSizeSlider->value());
 
     QVBoxLayout* previewSizeLayout = new QVBoxLayout(previewSizeBox);
@@ -108,10 +119,17 @@ IconSizeDialog::IconSizeDialog(QWidget* parent) :
     topLayout->addWidget(previewSizeBox);
     main->setLayout(topLayout);
     setMainWidget(main);
+
+    const KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"),
+                                    "IconSizeDialog");
+    restoreDialogSize(dialogConfig);
 }
 
 IconSizeDialog::~IconSizeDialog()
 {
+    KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"),
+                              "IconSizeDialog");
+    saveDialogSize(dialogConfig, KConfigBase::Persistent);
 }
 
 void IconSizeDialog::slotButtonClicked(int button)
@@ -131,40 +149,32 @@ 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", KIconLoader::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", KIconLoader::Desktop, iconSize(value)));
 }
 
 int IconSizeDialog::iconSize(int sliderValue) const
 {
-    int size = K3Icon::SizeMedium;
+    int size = KIconLoader::SizeMedium;
     switch (sliderValue) {
-    case 0: size = K3Icon::SizeSmall; break;
-    case 1: size = K3Icon::SizeSmallMedium; break;
-    case 2: size = K3Icon::SizeMedium; break;
-    case 3: size = K3Icon::SizeLarge; break;
-    case 4: size = K3Icon::SizeHuge; break;
-    case 5: size = K3Icon::SizeEnormous; break;
+    case 0: size = KIconLoader::SizeSmall; break;
+    case 1: size = KIconLoader::SizeSmallMedium; break;
+    case 2: size = KIconLoader::SizeMedium; break;
+    case 3: size = KIconLoader::SizeLarge; break;
+    case 4: size = KIconLoader::SizeHuge; break;
+    case 5: size = KIconLoader::SizeEnormous; break;
     }
     return size;
 }
@@ -173,12 +183,12 @@ int IconSizeDialog::sliderValue(int iconSize) const
 {
     int value = 0;
     switch (iconSize) {
-    case K3Icon::SizeSmall:       value = 0; break;
-    case K3Icon::SizeSmallMedium: value = 1; break;
-    case K3Icon::SizeMedium:      value = 2; break;
-    case K3Icon::SizeLarge:       value = 3; break;
-    case K3Icon::SizeHuge:        value = 4; break;
-    case K3Icon::SizeEnormous:    value = 5; break;
+    case KIconLoader::SizeSmall:       value = 0; break;
+    case KIconLoader::SizeSmallMedium: value = 1; break;
+    case KIconLoader::SizeMedium:      value = 2; break;
+    case KIconLoader::SizeLarge:       value = 3; break;
+    case KIconLoader::SizeHuge:        value = 4; break;
+    case KIconLoader::SizeEnormous:    value = 5; break;
     default: break;
     }
     return value;