void DolphinMainWindow::editSettings()
{
- // TODO: make a static method for opening the settings dialog
- DolphinSettingsDialog dlg(this);
- dlg.exec();
+ DolphinSettingsDialog::instance(this).exec();
}
void DolphinMainWindow::init()
#include "viewsettingspage.h"
#include "dolphinapplication.h"
#include "dolphinmainwindow.h"
-//Added by qt3to4:
-#include <QFrame>
+
+DolphinSettingsDialog& DolphinSettingsDialog::instance(DolphinMainWindow* mainWindow)
+{
+ static DolphinSettingsDialog* instance = 0;
+ if (instance == 0) {
+ instance = new DolphinSettingsDialog(mainWindow);
+ }
+ return *instance;
+}
+
+DolphinSettingsDialog::~DolphinSettingsDialog()
+{
+}
+
+void DolphinSettingsDialog::slotButtonClicked(int button)
+{
+ if (button == Ok || button == Apply) {
+ applySettings();
+ }
+ KPageDialog::slotButtonClicked(button);
+}
DolphinSettingsDialog::DolphinSettingsDialog(DolphinMainWindow* mainWindow) :
- KPageDialog(),
- m_mainWindow(mainWindow)
+ KPageDialog(),
+ m_mainWindow(mainWindow)
{
const QSize minSize = minimumSize();
setMinimumSize(QSize(512, minSize.height()));
viewSettingsFrame->setIcon(KIcon("view-choose"));
}
-DolphinSettingsDialog::~DolphinSettingsDialog()
-{}
-
-void DolphinSettingsDialog::slotButtonClicked(int button)
-{
- if (button == Ok || button == Apply) {
- applySettings();
- }
- KPageDialog::slotButtonClicked(button);
-}
-
void DolphinSettingsDialog::applySettings()
{
m_generalSettingsPage->applySettings();
Q_OBJECT
public:
- explicit DolphinSettingsDialog(DolphinMainWindow* mainWindow);
+ static DolphinSettingsDialog& instance(DolphinMainWindow* mainWindow);
virtual ~DolphinSettingsDialog();
protected slots:
virtual void slotButtonClicked(int button);
+private:
+ DolphinSettingsDialog(DolphinMainWindow* mainWindow);
+ void applySettings();
+
private:
DolphinMainWindow* m_mainWindow;
GeneralSettingsPage* m_generalSettingsPage;
ViewSettingsPage* m_viewSettingsPage;
-
- void applySettings();
};
#endif