diff options
| author | Peter Penz <[email protected]> | 2009-01-14 19:26:23 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2009-01-14 19:26:23 +0000 |
| commit | 307285e9635a4bf584d6e5d7478876b90ef870f0 (patch) | |
| tree | db36cbbdc7996ab86c38be8f96fe83597d350dfb /src/startupsettingspage.cpp | |
| parent | 86d9c40ab71df5b8bd5063251337d5ca0c22380a (diff) | |
Group classes into folders, Dolphin is too big in the meantime for having a flat directory hierarchy. dolphin/src/CMakeLists.txt will be cleaned up later.
svn path=/trunk/KDE/kdebase/apps/; revision=911065
Diffstat (limited to 'src/startupsettingspage.cpp')
| -rw-r--r-- | src/startupsettingspage.cpp | 169 |
1 files changed, 0 insertions, 169 deletions
diff --git a/src/startupsettingspage.cpp b/src/startupsettingspage.cpp deleted file mode 100644 index 35fc47a57..000000000 --- a/src/startupsettingspage.cpp +++ /dev/null @@ -1,169 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2008 by Peter Penz <[email protected]> * - * * - * 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 * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ - -#include "startupsettingspage.h" - -#include "dolphinsettings.h" -#include "dolphinmainwindow.h" -#include "dolphinview.h" -#include "dolphinviewcontainer.h" - -#include "dolphin_generalsettings.h" - -#include <kdialog.h> -#include <kfiledialog.h> -#include <klocale.h> -#include <klineedit.h> -#include <kmessagebox.h> -#include <kvbox.h> - -#include <QCheckBox> -#include <QGroupBox> -#include <QLabel> -#include <QPushButton> -#include <QRadioButton> - -StartupSettingsPage::StartupSettingsPage(DolphinMainWindow* mainWin, QWidget* parent) : - SettingsPageBase(parent), - m_mainWindow(mainWin), - m_homeUrl(0), - m_splitView(0), - m_editableUrl(0), - m_showFullPath(0), - m_filterBar(0) -{ - const int spacing = KDialog::spacingHint(); - - QVBoxLayout* topLayout = new QVBoxLayout(this); - KVBox* vBox = new KVBox(this); - vBox->setSpacing(spacing); - - // create 'Home URL' editor - QGroupBox* homeBox = new QGroupBox(i18nc("@title:group", "Home Folder"), vBox); - - KHBox* homeUrlBox = new KHBox(homeBox); - homeUrlBox->setSpacing(spacing); - - new QLabel(i18nc("@label:textbox", "Location:"), homeUrlBox); - m_homeUrl = new KLineEdit(homeUrlBox); - m_homeUrl->setClearButtonShown(true); - - QPushButton* selectHomeUrlButton = new QPushButton(KIcon("folder-open"), QString(), homeUrlBox); - connect(selectHomeUrlButton, SIGNAL(clicked()), - this, SLOT(selectHomeUrl())); - - KHBox* buttonBox = new KHBox(homeBox); - buttonBox->setSpacing(spacing); - - QPushButton* useCurrentButton = new QPushButton(i18nc("@action:button", "Use Current Location"), buttonBox); - connect(useCurrentButton, SIGNAL(clicked()), - this, SLOT(useCurrentLocation())); - QPushButton* useDefaultButton = new QPushButton(i18nc("@action:button", "Use Default Location"), buttonBox); - connect(useDefaultButton, SIGNAL(clicked()), - this, SLOT(useDefaultLocation())); - - QVBoxLayout* homeBoxLayout = new QVBoxLayout(homeBox); - homeBoxLayout->addWidget(homeUrlBox); - homeBoxLayout->addWidget(buttonBox); - - // create 'Split view', 'Editable location' and 'Filter bar' checkboxes - m_splitView = new QCheckBox(i18nc("@option:check Startup Settings", "Split view mode"), vBox); - m_editableUrl = new QCheckBox(i18nc("@option:check Startup Settings", "Editable location bar"), vBox); - m_showFullPath = new QCheckBox(i18nc("@option:check Startup Settings", "Show full path inside location bar"), vBox); - m_filterBar = new QCheckBox(i18nc("@option:check Startup Settings", "Show filter bar"), vBox); - connect(m_splitView, SIGNAL(toggled(bool)), this, SIGNAL(changed())); - connect(m_editableUrl, SIGNAL(toggled(bool)), this, SIGNAL(changed())); - connect(m_showFullPath, SIGNAL(toggled(bool)), this, SIGNAL(changed())); - connect(m_filterBar, SIGNAL(toggled(bool)), this, SIGNAL(changed())); - - // Add a dummy widget with no restriction regarding - // a vertical resizing. This assures that the dialog layout - // is not stretched vertically. - new QWidget(vBox); - - topLayout->addWidget(vBox); - - loadSettings(); - - // it's important connecting 'textChanged' after loadSettings(), as loadSettings() - // invokes m_homeUrl->setText() - connect(m_homeUrl, SIGNAL(textChanged(const QString&)), this, SIGNAL(changed())); -} - -StartupSettingsPage::~StartupSettingsPage() -{ -} - -void StartupSettingsPage::applySettings() -{ - GeneralSettings* settings = DolphinSettings::instance().generalSettings(); - - const KUrl url(m_homeUrl->text()); - KFileItem fileItem(KFileItem::Unknown, KFileItem::Unknown, url); - if (url.isValid() && fileItem.isDir()) { - settings->setHomeUrl(url.prettyUrl()); - } else { - KMessageBox::error(this, i18nc("@info", "The location for the home folder is invalid and will not be applied.")); - } - - settings->setSplitView(m_splitView->isChecked()); - settings->setEditableUrl(m_editableUrl->isChecked()); - settings->setShowFullPath(m_showFullPath->isChecked()); - settings->setFilterBar(m_filterBar->isChecked()); -} - -void StartupSettingsPage::restoreDefaults() -{ - GeneralSettings* settings = DolphinSettings::instance().generalSettings(); - settings->setDefaults(); - loadSettings(); -} - -void StartupSettingsPage::selectHomeUrl() -{ - const QString homeUrl = m_homeUrl->text(); - KUrl url = KFileDialog::getExistingDirectoryUrl(homeUrl, this); - if (!url.isEmpty()) { - m_homeUrl->setText(url.prettyUrl()); - emit changed(); - } -} - -void StartupSettingsPage::useCurrentLocation() -{ - const DolphinView* view = m_mainWindow->activeViewContainer()->view(); - m_homeUrl->setText(view->url().prettyUrl()); -} - -void StartupSettingsPage::useDefaultLocation() -{ - m_homeUrl->setText(QDir::homePath()); -} - -void StartupSettingsPage::loadSettings() -{ - GeneralSettings* settings = DolphinSettings::instance().generalSettings(); - m_homeUrl->setText(settings->homeUrl()); - m_splitView->setChecked(settings->splitView()); - m_editableUrl->setChecked(settings->editableUrl()); - m_showFullPath->setChecked(settings->showFullPath()); - m_filterBar->setChecked(settings->filterBar()); -} - -#include "startupsettingspage.moc" |
