Инкрементальный индекс, пресеты автосейва, диалог Настройки

- VaultIndex: updateFile/removeFile/syncIncremental (mtime+size), полный рескан только на старте/смене/внешних изменениях; relink висячих [[ссылок]] при создании файла; FileStore.externalChanged для внешних правок
- QML: сейвы и правки идут точечно, дерево — через syncIncremental
- Настройки: пресеты safe/balanced/eco/manual (диск 2/5/10с/выкл, коммит после паузы 5/15/60с/вручную), диалог с +/-, шкалами и подсказкой; коммит только в простое, в manual — по Ctrl+S
- Удалены highlightedCode, словный merge, fileDiffText/Html, 2-arg fileHistory; renderInner без побочек
- Тесты: инкремент индекса, пресеты, autosaveEnabled, ~~~-блоки
This commit is contained in:
2026-09-06 23:02:05 +03:00
parent 1f140d3433
commit 417d0273b7
20 changed files with 802 additions and 80 deletions
+22
View File
@@ -124,6 +124,28 @@ int main(int argc, char *argv[])
if (after.contains(vault + "|" + "old.md")) return fail("old key not migrated");
}
// autosave presets
if (s.autosavePreset() != "balanced") return fail("default preset");
if (s.autosaveDiskMs() != 5000) return fail("balanced disk");
if (s.autocommitIdleMs() != 15000) return fail("balanced idle");
if (!s.autosaveEnabled() || !s.autocommitEnabled()) return fail("balanced enabled");
s.setAutosavePreset("safe");
if (s.autosavePreset() != "safe") return fail("safe preset");
if (s.autosaveDiskMs() != 2000 || s.autocommitIdleMs() != 5000) return fail("safe values");
s.setAutosavePreset("eco");
if (s.autosaveDiskMs() != 10000 || s.autocommitIdleMs() != 60000) return fail("eco values");
s.setAutosavePreset("manual");
if (s.autosaveEnabled() || s.autocommitEnabled()) return fail("manual disabled");
if (s.autosaveDiskMs() != 0 || s.autocommitIdleMs() != 0) return fail("manual zeros");
s.setAutosavePreset(" wat? ");
if (s.autosavePreset() != "balanced") return fail("invalid preset fallback");
s.setAutosavePreset("eco");
{
SettingsStore s2;
if (s2.autosavePreset() != "eco") return fail("preset persistence");
if (s2.autosaveDiskMs() != 10000) return fail("preset values persistence");
}
std::printf("SETTINGS TEST OK\n");
return 0;
}