From 7968853f1af035139b4b9c92a509baca4e7dd17d Mon Sep 17 00:00:00 2001 From: Leandro Melo Date: Fri, 14 Jan 2011 16:07:47 +0100 Subject: [PATCH] Snippets: Check for content change on apply Cannot rely on the focus out event (on Mac) in the situation where a snippet is added/edited and the dialog is immediately confirmed. Reviewed-by: con Task-number: QTCREATORBUG-3464 --- src/plugins/texteditor/snippets/snippeteditor.cpp | 4 +++- src/plugins/texteditor/snippets/snippetssettingspage.cpp | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/plugins/texteditor/snippets/snippeteditor.cpp b/src/plugins/texteditor/snippets/snippeteditor.cpp index 53050504dfe..5e5dffb7868 100644 --- a/src/plugins/texteditor/snippets/snippeteditor.cpp +++ b/src/plugins/texteditor/snippets/snippeteditor.cpp @@ -73,8 +73,10 @@ void SnippetEditor::setSyntaxHighlighter(TextEditor::SyntaxHighlighter *highligh void SnippetEditor::focusOutEvent(QFocusEvent *event) { - if (event->reason() != Qt::ActiveWindowFocusReason && document()->isModified()) + if (event->reason() != Qt::ActiveWindowFocusReason && document()->isModified()) { + document()->setModified(false); emit snippetContentChanged(); + } } BaseTextEditorEditable *SnippetEditor::createEditableInterface() diff --git a/src/plugins/texteditor/snippets/snippetssettingspage.cpp b/src/plugins/texteditor/snippets/snippetssettingspage.cpp index 06e02dd74a7..b8ef377825d 100644 --- a/src/plugins/texteditor/snippets/snippetssettingspage.cpp +++ b/src/plugins/texteditor/snippets/snippetssettingspage.cpp @@ -387,6 +387,9 @@ void SnippetsSettingsPagePrivate::apply() if (settingsChanged()) writeSettings(); + if (currentEditor()->document()->isModified()) + setSnippetContent(); + if (m_snippetsCollectionChanged) { SnippetsCollection::instance()->synchronize(); m_snippetsCollectionChanged = false;