mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-17 15:31:20 +00:00
let the settings dialog be a singleton (thanks to Max Blazejak for the patch!)
svn path=/trunk/KDE/kdebase/apps/; revision=661508
This commit is contained in:
parent
be7f817875
commit
d00a895131
|
@ -950,9 +950,7 @@ void DolphinMainWindow::compareFiles()
|
|||
|
||||
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()
|
||||
|
|
|
@ -25,12 +25,31 @@
|
|||
#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()));
|
||||
|
@ -49,17 +68,6 @@ DolphinSettingsDialog::DolphinSettingsDialog(DolphinMainWindow* mainWindow) :
|
|||
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();
|
||||
|
|
|
@ -39,18 +39,20 @@ class DolphinSettingsDialog : public KPageDialog
|
|||
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
|
||||
|
|
Loading…
Reference in a new issue