From 5506c3e26e0e242f2717907d1fee961638a50b73 Mon Sep 17 00:00:00 2001 From: Gary Wang Date: Sun, 12 Oct 2025 16:25:38 +0800 Subject: [PATCH] fix: dont ask when closing if file is not edited --- tabwidget.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tabwidget.cpp b/tabwidget.cpp index 09da450..1a36f50 100644 --- a/tabwidget.cpp +++ b/tabwidget.cpp @@ -42,6 +42,9 @@ int TabWidget::newDocument() SciEdit *editor = createEditor(); m_editors[docId] = editor; + // 连接信号 + connectEditorSignals(editor); + QString title = m_documentManager->getDocumentTitle(docId); int tabIndex = addTab(editor, title); @@ -64,10 +67,16 @@ int TabWidget::openDocument(const QString &filePath) SciEdit *editor = createEditor(); m_editors[docId] = editor; + // 临时断开信号连接,避免setText触发textChanged导致文档被标记为已修改 + disconnectEditorSignals(editor); + // 设置编辑器内容 QString content = m_documentManager->getDocumentContent(docId); editor->setText(content.toUtf8().constData()); + // 重新连接信号 + connectEditorSignals(editor); + QString title = m_documentManager->getDocumentTitle(docId); int tabIndex = addTab(editor, title); @@ -340,7 +349,6 @@ void TabWidget::onEditorTextChanged() SciEdit *TabWidget::createEditor() { SciEdit *editor = new SciEdit(this); - connectEditorSignals(editor); return editor; }