From 86d9c40ab71df5b8bd5063251337d5ca0c22380a Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Tue, 13 Jan 2009 18:06:15 +0000 Subject: [PATCH] prevent that the user can open more than one instance of the settings dialog svn path=/trunk/KDE/kdebase/apps/; revision=910588 --- src/dolphinmainwindow.cpp | 13 +++++++++---- src/dolphinmainwindow.h | 2 ++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index a69e1a37a..9c55a40f4 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -93,7 +93,8 @@ DolphinMainWindow::DolphinMainWindow(int id) : m_id(id), m_tabIndex(0), m_viewTab(), - m_actionHandler(0) + m_actionHandler(0), + m_settingsDialog(0) { setObjectName("Dolphin#"); @@ -701,9 +702,13 @@ void DolphinMainWindow::toggleShowMenuBar() void DolphinMainWindow::editSettings() { - DolphinSettingsDialog* dialog = new DolphinSettingsDialog(this); - dialog->setAttribute(Qt::WA_DeleteOnClose); - dialog->show(); + if (m_settingsDialog == 0) { + m_settingsDialog = new DolphinSettingsDialog(this); + m_settingsDialog->setAttribute(Qt::WA_DeleteOnClose); + m_settingsDialog->show(); + } else { + m_settingsDialog->raise(); + } } void DolphinMainWindow::setActiveTab(int index) diff --git a/src/dolphinmainwindow.h b/src/dolphinmainwindow.h index 8ec61d764..4220e825f 100644 --- a/src/dolphinmainwindow.h +++ b/src/dolphinmainwindow.h @@ -39,6 +39,7 @@ typedef KIO::FileUndoManager::CommandType CommandType; class KAction; class DolphinViewActionHandler; class DolphinApplication; +class DolphinSettingsDialog; class DolphinViewContainer; class KNewMenu; class KTabBar; @@ -434,6 +435,7 @@ private: QList m_viewTab; DolphinViewActionHandler* m_actionHandler; + QPointer m_settingsDialog; }; inline DolphinViewContainer* DolphinMainWindow::activeViewContainer() const -- 2.47.3