diff options
Diffstat (limited to 'src/modules/editor/scripteditor.cpp')
| -rw-r--r-- | src/modules/editor/scripteditor.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/modules/editor/scripteditor.cpp b/src/modules/editor/scripteditor.cpp index c950b6dfd..7327ba6aa 100644 --- a/src/modules/editor/scripteditor.cpp +++ b/src/modules/editor/scripteditor.cpp @@ -718,6 +718,7 @@ void KviScriptEditorSyntaxHighlighter::highlightBlock(const QString & szText) KviScriptEditorImplementation::KviScriptEditorImplementation(QWidget * par) :KviScriptEditor(par) { + m_pOptionsDialog=0; if(g_pScriptEditorWindowList->isEmpty())loadOptions(); g_pScriptEditorWindowList->append(this); m_lastCursorPos = 0; @@ -772,6 +773,11 @@ KviScriptEditorImplementation::KviScriptEditorImplementation(QWidget * par) KviScriptEditorImplementation::~KviScriptEditorImplementation() { + if(m_pOptionsDialog) + { + m_pOptionsDialog->deleteLater(); + m_pOptionsDialog=0; + } g_pScriptEditorWindowList->removeRef(this); if(g_pScriptEditorWindowList->isEmpty()) saveOptions(); @@ -963,8 +969,17 @@ void KviScriptEditorImplementation::loadFromFile() void KviScriptEditorImplementation::configureColors() { - KviScriptEditorWidgetColorOptions dlg(this); - if(dlg.exec() == QDialog::Accepted) + if(!m_pOptionsDialog) + { + m_pOptionsDialog = new KviScriptEditorWidgetColorOptions(this); + connect(m_pOptionsDialog,SIGNAL(finished(int)),this,SLOT(optionsDialogFinished(int))); + } + m_pOptionsDialog->show(); +} + +void KviScriptEditorImplementation::optionsDialogFinished(int iResult) +{ + if(iResult == QDialog::Accepted) { m_pEditor->updateOptions(); saveOptions(); |
