X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/91f03ab07b894ef37864c9c5a1552b48b38f40ee..d6488887ecf69d7f192b94de8dce34fae0b7eb76:/src/iconsviewsettingspage.cpp diff --git a/src/iconsviewsettingspage.cpp b/src/iconsviewsettingspage.cpp index 86823ede0..bfe23ffa5 100644 --- a/src/iconsviewsettingspage.cpp +++ b/src/iconsviewsettingspage.cpp @@ -59,51 +59,28 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, setSpacing(spacing); setMargin(margin); - IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings(); - Q_ASSERT(settings != 0); - m_iconSize = settings->iconSize(); - m_previewSize = settings->previewSize(); - - m_iconSizeButton = new QPushButton(i18n("Change Icon && Preview Size..."), this); + m_iconSizeButton = new QPushButton(i18nc("@action:button", "Change Icon && Preview Size..."), this); connect(m_iconSizeButton, SIGNAL(clicked()), this, SLOT(openIconSizeDialog())); // create 'Text' group for selecting the font, the number of lines // and the text width - QGroupBox* textGroup = new QGroupBox(i18n("Text"), this); + QGroupBox* textGroup = new QGroupBox(i18nc("@title:group", "Text"), this); textGroup->setSizePolicy(sizePolicy); - QLabel* fontLabel = new QLabel(i18n("Font:"), textGroup); + QLabel* fontLabel = new QLabel(i18nc("@label:listbox", "Font:"), textGroup); m_fontRequester = new KFontRequester(textGroup); - QFont font(settings->fontFamily(), - settings->fontSize()); - font.setItalic(settings->italicFont()); - font.setBold(settings->boldFont()); - m_fontRequester->setFont(font); - QLabel* textlinesCountLabel = new QLabel(i18n("Number of lines:"), textGroup); - m_textlinesCountBox = new QSpinBox(1, 5, 1, textGroup); - m_textlinesCountBox->setValue(settings->numberOfTextlines()); + QLabel* textlinesCountLabel = new QLabel(i18nc("@label:textbox", "Number of lines:"), textGroup); + m_textlinesCountBox = new QSpinBox(textGroup); + m_textlinesCountBox->setMinimum(1); + m_textlinesCountBox->setMaximum(5); - QLabel* textWidthLabel = new QLabel(i18n("Text width:"), textGroup); + QLabel* textWidthLabel = new QLabel(i18nc("@label:listbox", "Text width:"), textGroup); m_textWidthBox = new QComboBox(textGroup); - m_textWidthBox->addItem(i18n("Small")); - m_textWidthBox->addItem(i18n("Medium")); - m_textWidthBox->addItem(i18n("Large")); - - const bool leftToRightArrangement = (settings->arrangement() == QListView::LeftToRight); - int textWidthIndex = 0; - const int remainingWidth = settings->itemWidth() - settings->iconSize(); - if (leftToRightArrangement) { - textWidthIndex = (remainingWidth - LeftToRightBase) / LeftToRightInc; - } else { - textWidthIndex = (remainingWidth - TopToBottomBase) / TopToBottomInc; - } - // ensure that chosen index is always valid - textWidthIndex = qMax(textWidthIndex, 0); - textWidthIndex = qMin(textWidthIndex, m_textWidthBox->count() - 1); - - m_textWidthBox->setCurrentIndex(textWidthIndex); + m_textWidthBox->addItem(i18nc("@item:inlistbox Text width", "Small")); + m_textWidthBox->addItem(i18nc("@item:inlistbox Text width", "Medium")); + m_textWidthBox->addItem(i18nc("@item:inlistbox Text width", "Large")); QGridLayout* textGroupLayout = new QGridLayout(textGroup); textGroupLayout->addWidget(fontLabel, 0, 0); @@ -114,21 +91,19 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, textGroupLayout->addWidget(m_textWidthBox, 2, 1); // create the 'Grid' group for selecting the arrangement and the grid spacing - QGroupBox* gridGroup = new QGroupBox(i18n("Grid"), this); + QGroupBox* gridGroup = new QGroupBox(i18nc("@title:group", "Grid"), this); gridGroup->setSizePolicy(sizePolicy); - QLabel* arrangementLabel = new QLabel(i18n("Arrangement:"), gridGroup); + QLabel* arrangementLabel = new QLabel(i18nc("@label:listbox", "Arrangement:"), gridGroup); m_arrangementBox = new QComboBox(gridGroup); - m_arrangementBox->addItem(i18n("Left to Right")); - m_arrangementBox->addItem(i18n("Top to Bottom")); - m_arrangementBox->setCurrentIndex(leftToRightArrangement ? 0 : 1); + m_arrangementBox->addItem(i18nc("@item:inlistbox Arrangement", "Left to Right")); + m_arrangementBox->addItem(i18nc("@item:inlistbox Arrangement", "Top to Bottom")); - QLabel* gridSpacingLabel = new QLabel(i18n("Grid spacing:"), gridGroup); + QLabel* gridSpacingLabel = new QLabel(i18nc("@label:listbox", "Grid spacing:"), gridGroup); m_gridSpacingBox = new QComboBox(gridGroup); - m_gridSpacingBox->addItem(i18n("Small")); - m_gridSpacingBox->addItem(i18n("Medium")); - m_gridSpacingBox->addItem(i18n("Large")); - m_gridSpacingBox->setCurrentIndex((settings->gridSpacing() - GridSpacingBase) / GridSpacingInc); + m_gridSpacingBox->addItem(i18nc("@item:inlistbox Grid spacing", "Small")); + m_gridSpacingBox->addItem(i18nc("@item:inlistbox Grid spacing", "Medium")); + m_gridSpacingBox->addItem(i18nc("@item:inlistbox Grid spacing", "Large")); QGridLayout* gridGroupLayout = new QGridLayout(gridGroup); gridGroupLayout->addWidget(arrangementLabel, 0, 0); @@ -140,6 +115,8 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, // a vertical resizing. This assures that the dialog layout // is not stretched vertically. new QWidget(this); + + loadSettings(); } IconsViewSettingsPage::~IconsViewSettingsPage() @@ -148,7 +125,6 @@ IconsViewSettingsPage::~IconsViewSettingsPage() void IconsViewSettingsPage::applySettings() { IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings(); - Q_ASSERT(settings != 0); settings->setIconSize(m_iconSize); settings->setPreviewSize(m_previewSize); @@ -169,7 +145,7 @@ void IconsViewSettingsPage::applySettings() const int textSizeIndex = m_textWidthBox->currentIndex(); if (arrangement == QListView::TopToBottom) { itemWidth += TopToBottomBase + textSizeIndex * TopToBottomInc; - itemHeight += fontHeight * numberOfTextlines + 16; + itemHeight += fontHeight * numberOfTextlines + 10; } else { itemWidth += LeftToRightBase + textSizeIndex * LeftToRightInc; } @@ -188,6 +164,13 @@ void IconsViewSettingsPage::applySettings() m_gridSpacingBox->currentIndex() * GridSpacingInc); } +void IconsViewSettingsPage::restoreDefaults() +{ + IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings(); + settings->setDefaults(); + loadSettings(); +} + void IconsViewSettingsPage::openIconSizeDialog() { IconSizeDialog dialog(this); @@ -197,4 +180,36 @@ void IconsViewSettingsPage::openIconSizeDialog() } } +void IconsViewSettingsPage::loadSettings() +{ + IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings(); + + m_iconSize = settings->iconSize(); + m_previewSize = settings->previewSize(); + + QFont font(settings->fontFamily(), + settings->fontSize()); + font.setItalic(settings->italicFont()); + font.setBold(settings->boldFont()); + m_fontRequester->setFont(font); + + m_textlinesCountBox->setValue(settings->numberOfTextlines()); + + const bool leftToRightArrangement = (settings->arrangement() == QListView::LeftToRight); + int textWidthIndex = 0; + const int remainingWidth = settings->itemWidth() - settings->iconSize(); + if (leftToRightArrangement) { + textWidthIndex = (remainingWidth - LeftToRightBase) / LeftToRightInc; + } else { + textWidthIndex = (remainingWidth - TopToBottomBase) / TopToBottomInc; + } + // ensure that chosen index is always valid + textWidthIndex = qMax(textWidthIndex, 0); + textWidthIndex = qMin(textWidthIndex, m_textWidthBox->count() - 1); + + m_textWidthBox->setCurrentIndex(textWidthIndex); + m_arrangementBox->setCurrentIndex(leftToRightArrangement ? 0 : 1); + m_gridSpacingBox->setCurrentIndex((settings->gridSpacing() - GridSpacingBase) / GridSpacingInc); +} + #include "iconsviewsettingspage.moc"