┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt3
-rw-r--r--src/settings/dolphinsettingsdialog.cpp9
-rw-r--r--src/settings/dolphinsettingsdialog.h2
-rw-r--r--src/settings/trashsettingspage.cpp72
-rw-r--r--src/settings/trashsettingspage.h47
5 files changed, 131 insertions, 2 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 360e72ff2..6e5cb0d05 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -128,6 +128,7 @@ set(dolphin_SRCS
settings/settingspagebase.cpp
settings/startupsettingspage.cpp
settings/statusbarsettingspage.cpp
+ settings/trashsettingspage.cpp
settings/viewsettingspage.cpp
settings/viewsettingspagebase.cpp
statusbarspaceinfo.cpp
@@ -166,7 +167,7 @@ kde4_add_app_icon(dolphin_SRCS "${KDE4_ICON_INSTALL_DIR}/oxygen/*/apps/system-fi
kde4_add_executable(dolphin ${dolphin_SRCS})
-target_link_libraries(dolphin ${KDE4_KIO_LIBS} ${KDE4_KDEPRINT_LIBS} ${KDE4_KFILE_LIBS} konq dolphinprivate ${KDE4_PHONON_LIBS})
+target_link_libraries(dolphin ${KDE4_KIO_LIBS} ${KDE4_KDEPRINT_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KUTILS_LIBRARY} konq dolphinprivate ${KDE4_PHONON_LIBS})
if (Nepomuk_FOUND)
target_link_libraries(dolphin ${NEPOMUK_LIBRARIES} ${SOPRANO_LIBRARIES})
diff --git a/src/settings/dolphinsettingsdialog.cpp b/src/settings/dolphinsettingsdialog.cpp
index e2c236354..93f95ca44 100644
--- a/src/settings/dolphinsettingsdialog.cpp
+++ b/src/settings/dolphinsettingsdialog.cpp
@@ -27,6 +27,7 @@
#include "servicessettingspage.h"
#include "startupsettingspage.h"
#include "viewsettingspage.h"
+#include "trashsettingspage.h"
#include <klocale.h>
#include <kmessagebox.h>
@@ -74,6 +75,13 @@ DolphinSettingsDialog::DolphinSettingsDialog(const KUrl& url, QWidget* parent) :
servicesSettingsFrame->setIcon(KIcon("services"));
connect(servicesSettingsPage, SIGNAL(changed()), this, SLOT(enableApply()));
+ // Trash
+ TrashSettingsPage* trashSettingsPage = new TrashSettingsPage(this);
+ KPageWidgetItem* trashSettingsFrame = addPage(trashSettingsPage,
+ i18nc("@title:group", "Trash"));
+ trashSettingsFrame->setIcon(KIcon("user-trash"));
+ connect(trashSettingsPage, SIGNAL(changed()), this, SLOT(enableApply()));
+
// General
GeneralSettingsPage* generalSettingsPage = new GeneralSettingsPage(url, this);
KPageWidgetItem* generalSettingsFrame = addPage(generalSettingsPage,
@@ -88,6 +96,7 @@ DolphinSettingsDialog::DolphinSettingsDialog(const KUrl& url, QWidget* parent) :
m_pages.append(viewSettingsPage);
m_pages.append(navigationSettingsPage);
m_pages.append(servicesSettingsPage);
+ m_pages.append(trashSettingsPage);
m_pages.append(generalSettingsPage);
}
diff --git a/src/settings/dolphinsettingsdialog.h b/src/settings/dolphinsettingsdialog.h
index 90cfd3493..09ad22454 100644
--- a/src/settings/dolphinsettingsdialog.h
+++ b/src/settings/dolphinsettingsdialog.h
@@ -30,7 +30,7 @@ class SettingsPageBase;
/**
* @brief Settings dialog for Dolphin.
*
- * Contains the pages for Startup, View Modes, Navigation, Services and General.
+ * Contains the pages for Startup, View Modes, Navigation, Services, General, and Trash.
*/
class DolphinSettingsDialog : public KPageDialog
{
diff --git a/src/settings/trashsettingspage.cpp b/src/settings/trashsettingspage.cpp
new file mode 100644
index 000000000..90670cb09
--- /dev/null
+++ b/src/settings/trashsettingspage.cpp
@@ -0,0 +1,72 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Shaun Reich [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 *
+ ***************************************************************************/
+
+//Own
+#include "trashsettingspage.h"
+#include "dolphinsettings.h"
+//KDE
+#include <KCModuleProxy>
+#include <kdialog.h>
+#include <kvbox.h>
+//Qt
+#include <QVBoxLayout>
+
+
+TrashSettingsPage::TrashSettingsPage(QWidget* parent) :
+ SettingsPageBase(parent)
+{
+ const int spacing = KDialog::spacingHint();
+
+ QVBoxLayout* topLayout = new QVBoxLayout(this);
+ KVBox* vBox = new KVBox(this);
+ vBox->setSpacing(spacing);
+
+ m_proxy = new KCModuleProxy("kcmtrash");
+ connect(m_proxy, SIGNAL(changed(bool)), this, SIGNAL(changed()));
+ topLayout->addWidget(m_proxy);
+
+ // 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();
+}
+
+TrashSettingsPage::~TrashSettingsPage()
+{
+}
+
+void TrashSettingsPage::applySettings()
+{
+ m_proxy->save();
+}
+
+void TrashSettingsPage::restoreDefaults()
+{
+ m_proxy->defaults();
+}
+
+void TrashSettingsPage::loadSettings()
+{
+ m_proxy->load();
+}
+
+#include "trashsettingspage.moc"
diff --git a/src/settings/trashsettingspage.h b/src/settings/trashsettingspage.h
new file mode 100644
index 000000000..bf4a71ea4
--- /dev/null
+++ b/src/settings/trashsettingspage.h
@@ -0,0 +1,47 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Shaun Reich [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 *
+ ***************************************************************************/
+#ifndef TRASHSETTINGSPAGE_H
+#define TRASHSETTINGSPAGE_H
+
+#include "settings/settingspagebase.h"
+class KCModuleProxy;
+
+/**
+ * @brief Tab page for the 'Trash' settings of the Dolphin settings dialog, it uses the KCM.
+ */
+class TrashSettingsPage : public SettingsPageBase
+{
+ Q_OBJECT
+
+public:
+ TrashSettingsPage(QWidget* parent);
+ virtual ~TrashSettingsPage();
+
+ /** @see SettingsPageBase::applySettings() */
+ virtual void applySettings();
+
+ /** @see SettingsPageBase::restoreDefaults() */
+ virtual void restoreDefaults();
+
+private:
+ void loadSettings();
+ KCModuleProxy *m_proxy;
+};
+
+#endif