diff options
| author | Peter Penz <[email protected]> | 2008-08-26 22:21:50 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2008-08-26 22:21:50 +0000 |
| commit | ca7aaecbdbddb27f7442e69d2770b97b4307f338 (patch) | |
| tree | 82e3ebf42148cebb706af41bc48dd2f7895d2f6a /src/iconsviewsettingspage.cpp | |
| parent | 71819c80bb79229da4c4a9c5fc57ae7fab3fd0d4 (diff) | |
Provide a common iconsize-widget for the settings dialog of the icons-, details- and column-view. The current version still requires some improvements (Labels on the left + right, preview, ...).
svn path=/trunk/KDE/kdebase/apps/; revision=852961
Diffstat (limited to 'src/iconsviewsettingspage.cpp')
| -rw-r--r-- | src/iconsviewsettingspage.cpp | 50 |
1 files changed, 28 insertions, 22 deletions
diff --git a/src/iconsviewsettingspage.cpp b/src/iconsviewsettingspage.cpp index 0c377d91b..91208e2c7 100644 --- a/src/iconsviewsettingspage.cpp +++ b/src/iconsviewsettingspage.cpp @@ -21,7 +21,8 @@ #include "dolphinfontrequester.h" #include "dolphinsettings.h" -#include "iconsizedialog.h" +#include "iconsizegroupbox.h" +#include "zoomlevelinfo.h" #include "dolphin_iconsmodesettings.h" @@ -42,9 +43,7 @@ IconsViewSettingsPage::IconsViewSettingsPage(QWidget* parent) : ViewSettingsPageBase(parent), - m_iconSize(0), - m_previewSize(0), - m_iconSizeButton(0), + m_iconSizeGroupBox(0), m_textWidthBox(0), m_fontRequester(0), m_textlinesCountBox(0), @@ -58,10 +57,20 @@ IconsViewSettingsPage::IconsViewSettingsPage(QWidget* parent) : setSpacing(spacing); setMargin(margin); - m_iconSizeButton = new QPushButton(i18nc("@action:button", "Change Icon && Preview Size..."), this); - connect(m_iconSizeButton, SIGNAL(clicked()), - this, SLOT(openIconSizeDialog())); - + // Create "Icon" properties + m_iconSizeGroupBox = new IconSizeGroupBox(this); + m_iconSizeGroupBox->setSizePolicy(sizePolicy); + + const int min = ZoomLevelInfo::minimumLevel(); + const int max = ZoomLevelInfo::maximumLevel(); + m_iconSizeGroupBox->setDefaultSizeRange(min, max); + m_iconSizeGroupBox->setPreviewSizeRange(min, max); + + connect(m_iconSizeGroupBox, SIGNAL(defaultSizeChanged(int)), + this, SIGNAL(changed())); + connect(m_iconSizeGroupBox, SIGNAL(previewSizeChanged(int)), + this, SIGNAL(changed())); + // create 'Text' group for selecting the font, the number of lines // and the text width QGroupBox* textGroup = new QGroupBox(i18nc("@title:group", "Text"), this); @@ -131,8 +140,10 @@ void IconsViewSettingsPage::applySettings() { IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings(); - settings->setIconSize(m_iconSize); - settings->setPreviewSize(m_previewSize); + const int iconSize = ZoomLevelInfo::iconSizeForZoomLevel(m_iconSizeGroupBox->defaultSizeValue()); + const int previewSize = ZoomLevelInfo::iconSizeForZoomLevel(m_iconSizeGroupBox->previewSizeValue()); + settings->setIconSize(iconSize); + settings->setPreviewSize(previewSize); const QFont font = m_fontRequester->font(); const int fontHeight = QFontMetrics(font).height(); @@ -177,22 +188,17 @@ void IconsViewSettingsPage::restoreDefaults() loadSettings(); } -void IconsViewSettingsPage::openIconSizeDialog() -{ - IconSizeDialog dialog(this); - if (dialog.exec() == QDialog::Accepted) { - m_iconSize = dialog.iconSize(); - m_previewSize = dialog.previewSize(); - emit changed(); - } -} - void IconsViewSettingsPage::loadSettings() { IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings(); - m_iconSize = settings->iconSize(); - m_previewSize = settings->previewSize(); + const QSize iconSize(settings->iconSize(), settings->iconSize()); + const int iconSizeValue = ZoomLevelInfo::zoomLevelForIconSize(iconSize); + m_iconSizeGroupBox->setDefaultSizeValue(iconSizeValue); + + const QSize previewSize(settings->previewSize(), settings->previewSize()); + const int previewSizeValue = ZoomLevelInfo::zoomLevelForIconSize(previewSize); + m_iconSizeGroupBox->setPreviewSizeValue(previewSizeValue); if (settings->useSystemFont()) { m_fontRequester->setMode(DolphinFontRequester::SystemFont); |
