┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-05-15 20:24:56 +0000
committerPeter Penz <[email protected]>2007-05-15 20:24:56 +0000
commit91f03ab07b894ef37864c9c5a1552b48b38f40ee (patch)
tree65beb2b0df844734a95f657e350f9fe7600a9ffb /src
parentc5f8d7ca78ad5cafc5464dc8eb44509b96da6ef0 (diff)
some finetuning for the icons view:
- rename gridWidth() and gridHeight() settings property to itemWidth() and itemHeight() to avoid confusion with the grid size property of QListView - assure that the grid spacing is respected - decrease default text width - allow having more than 1 text line doing a proper wrapping svn path=/trunk/KDE/kdebase/apps/; revision=665097
Diffstat (limited to 'src')
-rw-r--r--src/dolphin_iconsmodesettings.kcfg26
-rw-r--r--src/dolphiniconsview.cpp27
-rw-r--r--src/iconsviewsettingspage.cpp20
-rw-r--r--src/iconsviewsettingspage.h2
4 files changed, 42 insertions, 33 deletions
diff --git a/src/dolphin_iconsmodesettings.kcfg b/src/dolphin_iconsmodesettings.kcfg
index 45d40d5e9..d01c11a14 100644
--- a/src/dolphin_iconsmodesettings.kcfg
+++ b/src/dolphin_iconsmodesettings.kcfg
@@ -26,13 +26,21 @@
<label>Bold</label>
<default>false</default>
</entry>
- <entry name="GridHeight" type="Int">
- <label>Grid height</label>
- <default code="true">K3Icon::SizeMedium + (KGlobalSettings::generalFont().pointSize() * 3)</default>
+ <entry name="ItemHeight" type="Int">
+ <label>Item height</label>
+ <!--
+ check 'void IconsViewSettingsPage::applySettings()' as reference (iconsviewsettingspage.cpp):
+ itemHeight += fontHeight * numberOfTextlines + 16;
+ /-->
+ <default code="true">K3Icon::SizeMedium + (QFontMetrics(KGlobalSettings::generalFont()).height() * 2) + 16</default>
</entry>
- <entry name="GridWidth" type="Int">
- <label>Grid width</label>
- <default>128</default>
+ <entry name="ItemWidth" type="Int">
+ <label>Item width</label>
+ <!--
+ check 'void IconsViewSettingsPage::applySettings()' as reference (iconsviewsettingspage.cpp):
+ itemWidth = TopToBottomBase + textSizeIndex * TopToBottomInc;
+ /-->
+ <default>96</default>
</entry>
<entry name="GridSpacing" type="Int">
<label>Grid spacing</label>
@@ -44,11 +52,7 @@
</entry>
<entry name="NumberOfTextlines" type="Int">
<label>Number of textlines</label>
- <default>1</default>
- </entry>
- <entry name="Preview" type="Bool">
- <label>Show preview</label>
- <default>true</default>
+ <default>2</default>
</entry>
<entry name="PreviewSize" type="Int">
<label>Preview size</label>
diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp
index 6d2ca66a0..c80a58b6b 100644
--- a/src/dolphiniconsview.cpp
+++ b/src/dolphiniconsview.cpp
@@ -162,8 +162,8 @@ void DolphinIconsView::zoomIn()
// increase also the grid size
const int diff = newIconSize - oldIconSize;
- settings->setGridWidth(settings->gridWidth() + diff);
- settings->setGridHeight(settings->gridHeight() + diff);
+ settings->setItemWidth(settings->itemWidth() + diff);
+ settings->setItemHeight(settings->itemHeight() + diff);
updateGridSize(showPreview, m_controller->showAdditionalInfo());
}
@@ -193,8 +193,8 @@ void DolphinIconsView::zoomOut()
// decrease also the grid size
const int diff = oldIconSize - newIconSize;
- settings->setGridWidth(settings->gridWidth() - diff);
- settings->setGridHeight(settings->gridHeight() - diff);
+ settings->setItemWidth(settings->itemWidth() - diff);
+ settings->setItemHeight(settings->itemHeight() - diff);
updateGridSize(showPreview, m_controller->showAdditionalInfo());
}
@@ -249,26 +249,31 @@ void DolphinIconsView::updateGridSize(bool showPreview, bool showAdditionalInfo)
const IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings();
Q_ASSERT(settings != 0);
- int gridWidth = settings->gridWidth();
- int gridHeight = settings->gridHeight();
+ int itemWidth = settings->itemWidth();
+ int itemHeight = settings->itemHeight();
int size = settings->iconSize();
if (showPreview) {
const int previewSize = settings->previewSize();
const int diff = previewSize - size;
Q_ASSERT(diff >= 0);
- gridWidth += diff;
- gridHeight += diff;
+ itemWidth += diff;
+ itemHeight += diff;
size = previewSize;
}
if (showAdditionalInfo) {
- gridHeight += m_viewOptions.font.pointSize() * 2;
+ itemHeight += m_viewOptions.font.pointSize() * 2;
}
- m_viewOptions.decorationSize = QSize(size, size);
- setGridSize(QSize(gridWidth, gridHeight));
+ // The decoration width indirectly defines the maximum
+ // width for the text wrapping. To use the maximum item width
+ // for text wrapping, it is used as decoration width.
+ m_viewOptions.decorationSize = QSize(itemWidth, size);
+
+ const int spacing = settings->gridSpacing();
+ setGridSize(QSize(itemWidth + spacing, itemHeight + spacing));
m_controller->setZoomInPossible(isZoomInPossible());
m_controller->setZoomOutPossible(isZoomOutPossible());
diff --git a/src/iconsviewsettingspage.cpp b/src/iconsviewsettingspage.cpp
index 2cd56043f..86823ede0 100644
--- a/src/iconsviewsettingspage.cpp
+++ b/src/iconsviewsettingspage.cpp
@@ -93,7 +93,7 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow,
const bool leftToRightArrangement = (settings->arrangement() == QListView::LeftToRight);
int textWidthIndex = 0;
- const int remainingWidth = settings->gridWidth() - settings->iconSize();
+ const int remainingWidth = settings->itemWidth() - settings->iconSize();
if (leftToRightArrangement) {
textWidthIndex = (remainingWidth - LeftToRightBase) / LeftToRightInc;
} else {
@@ -154,7 +154,7 @@ void IconsViewSettingsPage::applySettings()
settings->setPreviewSize(m_previewSize);
const QFont font = m_fontRequester->font();
- const int fontSize = font.pointSize();
+ const int fontHeight = QFontMetrics(font).height();
const int arrangement = (m_arrangementBox->currentIndex() == 0) ?
QListView::LeftToRight :
@@ -164,21 +164,21 @@ void IconsViewSettingsPage::applySettings()
const int numberOfTextlines = m_textlinesCountBox->value();
const int defaultSize = settings->iconSize();
- int gridWidth = defaultSize;
- int gridHeight = defaultSize;
+ int itemWidth = defaultSize;
+ int itemHeight = defaultSize;
const int textSizeIndex = m_textWidthBox->currentIndex();
if (arrangement == QListView::TopToBottom) {
- gridWidth += TopToBottomBase + textSizeIndex * TopToBottomInc;
- gridHeight += fontSize * (2 + numberOfTextlines);
+ itemWidth += TopToBottomBase + textSizeIndex * TopToBottomInc;
+ itemHeight += fontHeight * numberOfTextlines + 16;
} else {
- gridWidth += LeftToRightBase + textSizeIndex * LeftToRightInc;
+ itemWidth += LeftToRightBase + textSizeIndex * LeftToRightInc;
}
- settings->setGridWidth(gridWidth);
- settings->setGridHeight(gridHeight);
+ settings->setItemWidth(itemWidth);
+ settings->setItemHeight(itemHeight);
settings->setFontFamily(font.family());
- settings->setFontSize(fontSize);
+ settings->setFontSize(font.pointSize());
settings->setItalicFont(font.italic());
settings->setBoldFont(font.bold());
diff --git a/src/iconsviewsettingspage.h b/src/iconsviewsettingspage.h
index 61e1bb900..817620e28 100644
--- a/src/iconsviewsettingspage.h
+++ b/src/iconsviewsettingspage.h
@@ -71,7 +71,7 @@ private:
GridSpacingInc = 24,
LeftToRightBase = 128,
LeftToRightInc = 64,
- TopToBottomBase = 96,
+ TopToBottomBase = 64,
TopToBottomInc = 32
};