#include <kpagedialog.h>
-class KUrl;
-class DolphinMainWindow;
+class QUrl;
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
{
Q_OBJECT
public:
- explicit DolphinSettingsDialog(const KUrl& url, QWidget* parent);
- virtual ~DolphinSettingsDialog();
+ explicit DolphinSettingsDialog(const QUrl& url, QWidget* parent = nullptr);
+ ~DolphinSettingsDialog() override;
-protected slots:
- /** @see KDialog::slotButtonClicked() */
- virtual void slotButtonClicked(int button);
+signals:
+ void settingsChanged();
private slots:
/** Enables the Apply button. */
void enableApply();
-
-private:
void applySettings();
void restoreDefaults();
+protected:
+ void closeEvent(QCloseEvent* event) override;
+
private:
+ static SettingsPageBase *createTrashSettingsPage(QWidget *parent);
+
QList<SettingsPageBase*> m_pages;
+ bool m_unsavedChanges;
};
#endif