X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/df8f2e3646017bf6ba99bb18ef0df7defaf2eb10..13b2fc55704fbc734cd4f9cbae56cfc2ef3ec0ce:/src/iconsviewsettingspage.cpp diff --git a/src/iconsviewsettingspage.cpp b/src/iconsviewsettingspage.cpp index c4d07f53b..0c377d91b 100644 --- a/src/iconsviewsettingspage.cpp +++ b/src/iconsviewsettingspage.cpp @@ -19,30 +19,29 @@ #include "iconsviewsettingspage.h" +#include "dolphinfontrequester.h" #include "dolphinsettings.h" #include "iconsizedialog.h" #include "dolphin_iconsmodesettings.h" #include -#include #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include - -IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, - QWidget* parent) : - KVBox(parent), - m_mainWindow(mainWindow), +#include +#include +#include +#include +#include +#include +#include +#include +#include + +IconsViewSettingsPage::IconsViewSettingsPage(QWidget* parent) : + ViewSettingsPageBase(parent), m_iconSize(0), m_previewSize(0), m_iconSizeButton(0), @@ -59,26 +58,31 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, setSpacing(spacing); setMargin(margin); - 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); - m_fontRequester = new KFontRequester(textGroup); + QLabel* fontLabel = new QLabel(i18nc("@label:listbox", "Font:"), textGroup); + m_fontRequester = new DolphinFontRequester(textGroup); + connect(m_fontRequester, SIGNAL(changed()), this, SIGNAL(changed())); - QLabel* textlinesCountLabel = new QLabel(i18n("Number of lines:"), textGroup); - m_textlinesCountBox = new QSpinBox(1, 5, 1, textGroup); + QLabel* textlinesCountLabel = new QLabel(i18nc("@label:textbox", "Number of lines:"), textGroup); + m_textlinesCountBox = new QSpinBox(textGroup); + m_textlinesCountBox->setMinimum(1); + m_textlinesCountBox->setMaximum(5); + connect(m_textlinesCountBox, SIGNAL(valueChanged(int)), this, SIGNAL(changed())); - 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(i18nc("Text width", "Small")); - m_textWidthBox->addItem(i18nc("Text width", "Medium")); - m_textWidthBox->addItem(i18nc("Text width", "Large")); + 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")); + connect(m_textWidthBox, SIGNAL(activated(int)), this, SIGNAL(changed())); QGridLayout* textGroupLayout = new QGridLayout(textGroup); textGroupLayout->addWidget(fontLabel, 0, 0); @@ -89,19 +93,21 @@ 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->addItem(i18nc("@item:inlistbox Arrangement", "Left to Right")); + m_arrangementBox->addItem(i18nc("@item:inlistbox Arrangement", "Top to Bottom")); + connect(m_arrangementBox, SIGNAL(activated(int)), this, SIGNAL(changed())); - 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(i18nc("Grid spacing", "Small")); - m_gridSpacingBox->addItem(i18nc("Grid spacing", "Medium")); - m_gridSpacingBox->addItem(i18nc("Grid spacing", "Large")); + 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")); + connect(m_gridSpacingBox, SIGNAL(activated(int)), this, SIGNAL(changed())); QGridLayout* gridGroupLayout = new QGridLayout(gridGroup); gridGroupLayout->addWidget(arrangementLabel, 0, 0); @@ -118,7 +124,8 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, } IconsViewSettingsPage::~IconsViewSettingsPage() -{} +{ +} void IconsViewSettingsPage::applySettings() { @@ -143,7 +150,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; } @@ -151,10 +158,11 @@ void IconsViewSettingsPage::applySettings() settings->setItemWidth(itemWidth); settings->setItemHeight(itemHeight); + settings->setUseSystemFont(m_fontRequester->mode() == DolphinFontRequester::SystemFont); settings->setFontFamily(font.family()); settings->setFontSize(font.pointSize()); settings->setItalicFont(font.italic()); - settings->setBoldFont(font.bold()); + settings->setFontWeight(font.weight()); settings->setNumberOfTextlines(numberOfTextlines); @@ -175,6 +183,7 @@ void IconsViewSettingsPage::openIconSizeDialog() if (dialog.exec() == QDialog::Accepted) { m_iconSize = dialog.iconSize(); m_previewSize = dialog.previewSize(); + emit changed(); } } @@ -185,11 +194,16 @@ void IconsViewSettingsPage::loadSettings() 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); + if (settings->useSystemFont()) { + m_fontRequester->setMode(DolphinFontRequester::SystemFont); + } else { + QFont font(settings->fontFamily(), + settings->fontSize()); + font.setItalic(settings->italicFont()); + font.setWeight(settings->fontWeight()); + m_fontRequester->setMode(DolphinFontRequester::CustomFont); + m_fontRequester->setCustomFont(font); + } m_textlinesCountBox->setValue(settings->numberOfTextlines());