X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/cdcb4b0166aefdd382d20e7ff3b5cb217ba54ba8..16e809f9fa531ffe4d7c9c825a2e06d92bdfa9e1:/src/iconsviewsettingspage.cpp diff --git a/src/iconsviewsettingspage.cpp b/src/iconsviewsettingspage.cpp index 862cf0c3c..86823ede0 100644 --- a/src/iconsviewsettingspage.cpp +++ b/src/iconsviewsettingspage.cpp @@ -30,14 +30,14 @@ #include #include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, QWidget* parent) : @@ -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,33 +154,35 @@ 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 : QListView::TopToBottom; settings->setArrangement(arrangement); + 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 * 6; + 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()); - settings->setNumberOfTextlines(m_textlinesCountBox->value()); + settings->setNumberOfTextlines(numberOfTextlines); settings->setGridSpacing(GridSpacingBase + m_gridSpacingBox->currentIndex() * GridSpacingInc);