X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/27b9f6aa12bcc2f49cac72850ccbdc3990d0b844..7bdfc2600908b72fbf790e6b96f8ca6de997931a:/src/detailsviewsettingspage.cpp diff --git a/src/detailsviewsettingspage.cpp b/src/detailsviewsettingspage.cpp index 8d20fe392..ea45c9688 100644 --- a/src/detailsviewsettingspage.cpp +++ b/src/detailsviewsettingspage.cpp @@ -1,6 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006 by Peter Penz * - * peter.penz@gmx.at * + * Copyright (C) 2006 by Peter Penz * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -20,33 +19,26 @@ #include "detailsviewsettingspage.h" -#include +#include "dolphinsettings.h" +#include "dolphin_detailsmodesettings.h" + +#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "dolphinsettings.h" -#include "dolphin_detailsmodesettings.h" -#include "dolphindetailsview.h" +#include +#include +#include +#include +#include +#include +#include +#include DetailsViewSettingsPage::DetailsViewSettingsPage(DolphinMainWindow* mainWindow, QWidget* parent) : KVBox(parent), m_mainWindow(mainWindow), - m_dateBox(0), - m_permissionsBox(0), - m_ownerBox(0), - m_groupBox(0), m_smallIconSize(0), m_mediumIconSize(0), m_largeIconSize(0), @@ -59,65 +51,41 @@ DetailsViewSettingsPage::DetailsViewSettingsPage(DolphinMainWindow* mainWindow, setSpacing(spacing); setMargin(margin); - DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings(); - Q_ASSERT(settings != 0); - - // create "Columns" properties - Q3GroupBox* columnsGroup = new Q3GroupBox(4, Qt::Vertical, i18n("Columns"), this); - columnsGroup->setSizePolicy(sizePolicy); - columnsGroup->setMargin(margin); - - KHBox* visibleColumnsLayout = new KHBox(columnsGroup); - m_dateBox = new QCheckBox(i18n("Date"), visibleColumnsLayout); - m_dateBox->setChecked(settings->showDate()); - - m_permissionsBox = new QCheckBox(i18n("Permissions"), visibleColumnsLayout); - m_permissionsBox->setChecked(settings->showPermissions()); - - m_ownerBox = new QCheckBox(i18n("Owner"), visibleColumnsLayout); - m_ownerBox->setChecked(settings->showOwner()); - - m_groupBox = new QCheckBox(i18n("Group"), visibleColumnsLayout); - m_groupBox->setChecked(settings->showGroup()); - // Create "Icon" properties - Q3ButtonGroup* iconSizeGroup = new Q3ButtonGroup(3, Qt::Horizontal, i18n("Icon Size"), this); - iconSizeGroup->setSizePolicy(sizePolicy); - iconSizeGroup->setMargin(margin); - m_smallIconSize = new QRadioButton(i18n("Small"), iconSizeGroup); - m_mediumIconSize = new QRadioButton(i18n("Medium"), iconSizeGroup); - m_largeIconSize = new QRadioButton(i18n("Large"), iconSizeGroup); - switch (settings->iconSize()) { - case K3Icon::SizeLarge: - m_largeIconSize->setChecked(true); - break; + QGroupBox* iconSizeBox = new QGroupBox(i18nc("@title:group", "Icon Size"), this); + iconSizeBox->setSizePolicy(sizePolicy); - case K3Icon::SizeMedium: - m_mediumIconSize->setChecked(true); - break; + m_smallIconSize = new QRadioButton(i18nc("@option:radio Icon Size", "Small"), this); + m_mediumIconSize = new QRadioButton(i18nc("@option:radio Icon Size", "Medium"), this); + m_largeIconSize = new QRadioButton(i18nc("@option:radio Icon Size", "Large"), this); - case K3Icon::SizeSmall: - default: - m_smallIconSize->setChecked(true); - } + QButtonGroup* iconSizeGroup = new QButtonGroup(this); + iconSizeGroup->addButton(m_smallIconSize); + iconSizeGroup->addButton(m_mediumIconSize); + iconSizeGroup->addButton(m_largeIconSize); + + QHBoxLayout* iconSizeLayout = new QHBoxLayout(iconSizeBox); + iconSizeLayout->addWidget(m_smallIconSize); + iconSizeLayout->addWidget(m_mediumIconSize); + iconSizeLayout->addWidget(m_largeIconSize); // create "Text" properties - Q3GroupBox* textGroup = new Q3GroupBox(2, Qt::Horizontal, i18n("Text"), this); - textGroup->setSizePolicy(sizePolicy); - textGroup->setMargin(margin); + QGroupBox* textBox = new QGroupBox(i18nc("@title:group", "Text"), this); + textBox->setSizePolicy(sizePolicy); - new QLabel(i18n("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* fontLabel = new QLabel(i18nc("@label:listbox", "Font:"), textBox); + m_fontRequester = new KFontRequester(textBox); + + QHBoxLayout* textLayout = new QHBoxLayout(textBox); + textLayout->addWidget(fontLabel); + textLayout->addWidget(m_fontRequester); // Add a dummy widget with no restriction regarding // a vertical resizing. This assures that the dialog layout // is not stretched vertically. new QWidget(this); + + loadSettings(); } DetailsViewSettingsPage::~DetailsViewSettingsPage() @@ -127,19 +95,12 @@ DetailsViewSettingsPage::~DetailsViewSettingsPage() void DetailsViewSettingsPage::applySettings() { DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings(); - Q_ASSERT(settings != 0); - - settings->setShowDate(m_dateBox->isChecked()); - settings->setShowPermissions(m_permissionsBox->isChecked()); - settings->setShowOwner(m_ownerBox->isChecked()); - settings->setShowGroup(m_groupBox->isChecked()); - int iconSize = K3Icon::SizeSmall; + int iconSize = KIconLoader::SizeSmall; if (m_mediumIconSize->isChecked()) { - iconSize = K3Icon::SizeMedium; - } - else if (m_largeIconSize->isChecked()) { - iconSize = K3Icon::SizeLarge; + iconSize = KIconLoader::SizeMedium; + } else if (m_largeIconSize->isChecked()) { + iconSize = KIconLoader::SizeLarge; } settings->setIconSize(iconSize); @@ -150,4 +111,36 @@ void DetailsViewSettingsPage::applySettings() settings->setBoldFont(font.bold()); } +void DetailsViewSettingsPage::restoreDefaults() +{ + DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings(); + settings->setDefaults(); + loadSettings(); +} + +void DetailsViewSettingsPage::loadSettings() +{ + DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings(); + + switch (settings->iconSize()) { + case KIconLoader::SizeLarge: + m_largeIconSize->setChecked(true); + break; + + case KIconLoader::SizeMedium: + m_mediumIconSize->setChecked(true); + break; + + case KIconLoader::SizeSmall: + default: + m_smallIconSize->setChecked(true); + } + + QFont font(settings->fontFamily(), + settings->fontSize()); + font.setItalic(settings->italicFont()); + font.setBold(settings->boldFont()); + m_fontRequester->setFont(font); +} + #include "detailsviewsettingspage.moc"