diff --git a/qml/panels/EditorPane.qml b/qml/panels/EditorPane.qml index 434b4f7..fb9a105 100644 --- a/qml/panels/EditorPane.qml +++ b/qml/panels/EditorPane.qml @@ -316,12 +316,21 @@ Item { onDocIndexChanged: { pane.refreshHeader() pane.renderView() - if (pane.docIndex >= 0) { - pane.editorContent = documentManager.contentAt(pane.docIndex) - if (pane.editMode) - editor.forceActiveFocus() - } else { - pane.editorContent = "" + loadTimer.start() + } + + // Таймер для надёжной загрузки контента (обходит тайминг layout/QML) + Timer { + id: loadTimer + interval: 30 + onTriggered: { + if (pane.docIndex >= 0) { + pane.editorContent = documentManager.contentAt(pane.docIndex) + if (pane.editMode) + editor.forceActiveFocus() + } else { + pane.editorContent = "" + } } } onEditModeChanged: { diff --git a/qml/panels/MonthCalendar.qml b/qml/panels/MonthCalendar.qml index da0ca78..e486c0c 100644 --- a/qml/panels/MonthCalendar.qml +++ b/qml/panels/MonthCalendar.qml @@ -90,6 +90,8 @@ Item { // Проверяем, есть ли заметка за этот день readonly property bool hasNote: { + // Явная зависимость от currentMonth — пересчитываем при смене месяца + const _ = cal.currentMonth if (modelData <= 0 || !fileStore.ready) return false const ds = Qt.formatDate(new Date(cal.year, cal.month, modelData), "yyyy-MM-dd") return fileStore.fileExists(fileStore.vault + "/Журнал/" + ds + ".md")