]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/generalsettingspage.cpp
Allow to configure whether an asking for confirmation should be done for the 'Move...
[dolphin.git] / src / generalsettingspage.cpp
index 2961cf0d6743747398ac2971b0e5a6eb74c2ab18..87c8a24c30681a7bfdedc6bd13130e10c74cd694 100644 (file)
 #include <klocale.h>
 #include <kvbox.h>
 
-#include <QCheckBox>
-#include <QGroupBox>
-#include <QLabel>
-#include <QLineEdit>
-#include <QPushButton>
-#include <QRadioButton>
+#include <QtGui/QCheckBox>
+#include <QtGui/QGroupBox>
+#include <QtGui/QLabel>
+#include <QtGui/QLineEdit>
+#include <QtGui/QPushButton>
+#include <QtGui/QRadioButton>
 
 #include "dolphinsettings.h"
 #include "dolphinmainwindow.h"
 
 #include "dolphin_generalsettings.h"
 
-GeneralSettingsPage::GeneralSettingsPage(DolphinMainWindow* mainWin,QWidget* parent) :
+GeneralSettingsPage::GeneralSettingsPage(DolphinMainWindow* mainWin, QWidget* parent) :
     SettingsPageBase(parent),
     m_mainWindow(mainWin),
     m_homeUrl(0),
-    m_startSplit(0),
-    m_startEditable(0),
-    m_showDeleteCommand(0)
+    m_splitView(0),
+    m_editableUrl(0),
+    m_filterBar(0),
+    m_showDeleteCommand(0),
+    m_confirmMoveToTrash(0),
+    m_confirmDelete(0)
 {
     const int spacing = KDialog::spacingHint();
     GeneralSettings* settings = DolphinSettings::instance().generalSettings();
@@ -62,7 +65,7 @@ GeneralSettingsPage::GeneralSettingsPage(DolphinMainWindow* mainWin,QWidget* par
     new QLabel(i18n("Location:"), homeUrlBox);
     m_homeUrl = new QLineEdit(settings->homeUrl(), homeUrlBox);
 
-    QPushButton* selectHomeUrlButton = new QPushButton(KIcon("folder"), QString(), homeUrlBox);
+    QPushButton* selectHomeUrlButton = new QPushButton(KIcon("folder-open"), QString(), homeUrlBox);
     connect(selectHomeUrlButton, SIGNAL(clicked()),
             this, SLOT(selectHomeUrl()));
 
@@ -82,18 +85,40 @@ GeneralSettingsPage::GeneralSettingsPage(DolphinMainWindow* mainWin,QWidget* par
 
     QGroupBox* startBox = new QGroupBox(i18n("Start"), vBox);
 
-    // create 'Start with split view' checkbox
-    m_startSplit = new QCheckBox(i18n("Start with split view"), startBox);
-    m_startSplit->setChecked(settings->splitView());
+    // create 'Split view' checkbox
+    m_splitView = new QCheckBox(i18n("Split view"), startBox);
+    m_splitView->setChecked(settings->splitView());
 
-    // create 'Start with editable navigation bar' checkbox
-    m_startEditable = new QCheckBox(i18n("Start with editable navigation bar"), startBox);
-    m_startEditable->setChecked(settings->editableUrl());
+    // create 'Editable location' checkbox
+    m_editableUrl = new QCheckBox(i18n("Editable location"), startBox);
+    m_editableUrl->setChecked(settings->editableUrl());
+
+    // create 'Filter bar' checkbox
+    m_filterBar = new QCheckBox(i18n("Filter bar"),startBox);
+    m_filterBar->setChecked(settings->filterBar());
 
     QVBoxLayout* startBoxLayout = new QVBoxLayout(startBox);
-    startBoxLayout->addWidget(m_startSplit);
-    startBoxLayout->addWidget(m_startEditable);
+    startBoxLayout->addWidget(m_splitView);
+    startBoxLayout->addWidget(m_editableUrl);
+    startBoxLayout->addWidget(m_filterBar);
+
+    // create 'Ask Confirmation For' group
+    KSharedConfig::Ptr konqConfig = KSharedConfig::openConfig("konquerorrc", KConfig::IncludeGlobals);
+    const KConfigGroup trashConfig(konqConfig, "Trash");
+
+    QGroupBox* confirmBox = new QGroupBox(i18n("Ask Confirmation For"), vBox);
+
+    m_confirmMoveToTrash = new QCheckBox(i18n("Move to trash"), confirmBox);
+    m_confirmMoveToTrash->setChecked(trashConfig.readEntry("ConfirmTrash", false));
 
+    m_confirmDelete = new QCheckBox(i18n("Delete"), confirmBox);
+    m_confirmDelete->setChecked(trashConfig.readEntry("ConfirmDelete", true));
+
+    QVBoxLayout* confirmBoxLayout = new QVBoxLayout(confirmBox);
+    confirmBoxLayout->addWidget(m_confirmMoveToTrash);
+    confirmBoxLayout->addWidget(m_confirmDelete);
+
+    // create 'Show the command 'Delete' in context menu' checkbox
     m_showDeleteCommand = new QCheckBox(i18n("Show the command 'Delete' in context menu"), vBox);
     const KSharedConfig::Ptr globalConfig = KSharedConfig::openConfig("kdeglobals", KConfig::NoGlobals);
     const KConfigGroup kdeConfig(globalConfig, "KDE");
@@ -107,7 +132,6 @@ GeneralSettingsPage::GeneralSettingsPage(DolphinMainWindow* mainWin,QWidget* par
     topLayout->addWidget(vBox);
 }
 
-
 GeneralSettingsPage::~GeneralSettingsPage()
 {
 }
@@ -122,8 +146,14 @@ void GeneralSettingsPage::applySettings()
         settings->setHomeUrl(url.prettyUrl());
     }
 
-    settings->setSplitView(m_startSplit->isChecked());
-    settings->setEditableUrl(m_startEditable->isChecked());
+    settings->setSplitView(m_splitView->isChecked());
+    settings->setEditableUrl(m_editableUrl->isChecked());
+    settings->setFilterBar(m_filterBar->isChecked());
+
+    KSharedConfig::Ptr konqConfig = KSharedConfig::openConfig("konquerorrc", KConfig::IncludeGlobals);
+    KConfigGroup trashConfig(konqConfig, "Trash");
+    trashConfig.writeEntry("ConfirmTrash", m_confirmMoveToTrash->isChecked());
+    trashConfig.writeEntry("ConfirmDelete", m_confirmDelete->isChecked());
 
     KSharedConfig::Ptr globalConfig = KSharedConfig::openConfig("kdeglobals", KConfig::NoGlobals);
     KConfigGroup kdeConfig(globalConfig, "KDE");