settings/settingspagebase.cpp
settings/startupsettingspage.cpp
settings/statusbarsettingspage.cpp
+ settings/trashsettingspage.cpp
settings/viewsettingspage.cpp
settings/viewsettingspagebase.cpp
statusbarspaceinfo.cpp
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})
#include "servicessettingspage.h"
#include "startupsettingspage.h"
#include "viewsettingspage.h"
+#include "trashsettingspage.h"
#include <klocale.h>
#include <kmessagebox.h>
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,
m_pages.append(viewSettingsPage);
m_pages.append(navigationSettingsPage);
m_pages.append(servicesSettingsPage);
+ m_pages.append(trashSettingsPage);
m_pages.append(generalSettingsPage);
}
/**
* @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
{
--- /dev/null
+/***************************************************************************
+ * Copyright (C) 2009 by Shaun Reich shaun.reich@kdemail.net *
+ * *
+ * 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"
--- /dev/null
+/***************************************************************************
+ * Copyright (C) 2009 by Shaun Reich shaun.reich@kdemail.net *
+ * *
+ * 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