X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/bf50ced73473a225d681de6b62bc05571d969664..b5cc2a6924cfd8f59611d3cec2edbb00a08b4ff1:/src/iconsviewsettingspage.cpp diff --git a/src/iconsviewsettingspage.cpp b/src/iconsviewsettingspage.cpp index 3433e8532..c1b0d51c3 100644 --- a/src/iconsviewsettingspage.cpp +++ b/src/iconsviewsettingspage.cpp @@ -38,8 +38,10 @@ #include #include +#include + #define GRID_SPACING_BASE 8 -#define GRID_SPACING_INC 12 +#define GRID_SPACING_INC 24 IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, QWidget* parent) : @@ -128,7 +130,7 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, new QLabel(i18n("Number of lines:"), textGroup); m_textlinesCountBox = new QSpinBox(1, 5, 1, textGroup); - m_textlinesCountBox->setValue(settings->numberOfTexlines()); + m_textlinesCountBox->setValue(settings->numberOfTextlines()); new QLabel(i18n("Text width:"), textGroup); m_textWidthBox = new QComboBox(textGroup); @@ -138,17 +140,18 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, new QLabel(i18n("Additional information:"), textGroup); m_additionalInfo = new QComboBox(textGroup); - m_additionalInfo->addItem(i18n("No Information")); - m_additionalInfo->addItem(i18n("MIME Type")); - m_additionalInfo->addItem(i18n("Size")); - m_additionalInfo->addItem(i18n("Date")); - m_additionalInfo->setCurrentIndex(settings->additionalInfo()); + m_additionalInfo->addItem(i18n("No Information"), KFileItemDelegate::NoInformation); + m_additionalInfo->addItem(i18n("MIME Type"), KFileItemDelegate::FriendlyMimeType); + m_additionalInfo->addItem(i18n("Size"), KFileItemDelegate::Size); + m_additionalInfo->addItem(i18n("Date"), KFileItemDelegate::ModificationTime); + const int index = m_additionalInfo->findData(settings->additionalInfo()); + m_additionalInfo->setCurrentIndex(index); Q3GroupBox* gridGroup = new Q3GroupBox(2, Qt::Horizontal, i18n("Grid"), this); gridGroup->setSizePolicy(sizePolicy); gridGroup->setMargin(margin); - const bool leftToRightArrangement = (settings->arrangement() == "LeftToRight"); + const bool leftToRightArrangement = (settings->arrangement() == QListView::LeftToRight); new QLabel(i18n("Arrangement:"), gridGroup); m_arrangementBox = new QComboBox(gridGroup); m_arrangementBox->addItem(i18n("Left to right")); @@ -182,9 +185,7 @@ void IconsViewSettingsPage::applySettings() const int defaultSize = iconSize(m_iconSizeSlider->value()); settings->setIconSize(defaultSize); - int previewSize = //(m_mode == DolphinIconsView::Previews) ? - //iconSize(m_previewSizeSlider->value()) : - defaultSize; + int previewSize = iconSize(m_previewSizeSlider->value()); if (previewSize < defaultSize) { // assure that the preview size is never smaller than the icon size previewSize = defaultSize; @@ -193,15 +194,33 @@ void IconsViewSettingsPage::applySettings() const int fontSize = m_fontSizeBox->value(); - QString arrangement = (m_arrangementBox->currentIndex() == 0) ? - "LeftToRight" : - "TopToBottom"; + const int arrangement = (m_arrangementBox->currentIndex() == 0) ? + QListView::LeftToRight : + QListView::TopToBottom; + settings->setArrangement(arrangement); - //DolphinSettings::instance().calculateGridSize(m_textWidthBox->currentIndex()); + + // TODO: this is just a very rough testing code to calculate the grid + // width and height + int gridWidth = defaultSize; + int gridHeight = defaultSize; + const int textSizeIndex = m_textWidthBox->currentIndex(); + if (arrangement == QListView::TopToBottom) { + gridWidth += 96 + textSizeIndex * 32; + gridHeight += 64; + } + else { + gridWidth += 128 + textSizeIndex * 64; + } + + settings->setGridWidth(gridWidth); + settings->setGridHeight(gridHeight); settings->setFontFamily(m_fontFamilyBox->currentFont().family()); settings->setFontSize(fontSize); - settings->setNumberOfTexlines(m_textlinesCountBox->value()); + settings->setNumberOfTextlines(m_textlinesCountBox->value()); + const int index = m_additionalInfo->currentIndex(); + settings->setAdditionalInfo(m_additionalInfo->itemData(index).toInt()); settings->setGridSpacing(GRID_SPACING_BASE + m_gridSpacingBox->currentIndex() * GRID_SPACING_INC);