Инкрементальный индекс, пресеты автосейва, диалог Настройки
- 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:
@@ -151,6 +151,7 @@ Item {
|
||||
if (drop.source && drop.source.dragPath && fileStore.ready) {
|
||||
const err = fileStore.moveItem(drop.source.dragPath, fileStore.vault)
|
||||
if (err.length > 0) showStatus(err, false)
|
||||
else vaultIndex.syncIncremental()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -282,6 +283,7 @@ Item {
|
||||
if (!rowRect.isDir || !drop.source || !drop.source.dragPath) return
|
||||
const err = fileStore.moveItem(drop.source.dragPath, rowRect.path)
|
||||
if (err.length > 0) root.showStatus(err, false)
|
||||
else vaultIndex.syncIncremental()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -439,9 +441,14 @@ Item {
|
||||
if (pendingCreate.kind==="file") err=fileStore.createFile(createIn,name)
|
||||
else if (pendingCreate.kind==="folder") err=fileStore.createFolder(createIn,name)
|
||||
else if (pendingCreate.kind==="rename") err=fileStore.renameItem(renameTarget.path,name)
|
||||
if (err.length>0) showStatus(err,false); else if (pendingCreate.kind!=="rename") showStatus(qsTr("Создано: %1").arg(name), true)
|
||||
if (err.length>0) {
|
||||
showStatus(err,false)
|
||||
} else {
|
||||
if (pendingCreate.kind!=="rename") showStatus(qsTr("Создано: %1").arg(name), true)
|
||||
vaultIndex.syncIncremental()
|
||||
}
|
||||
pendingCreate.parent=""
|
||||
}
|
||||
}
|
||||
ConfirmDialog { id: deleteDialog; onConfirmed: { const err=fileStore.removeItem(deleteTarget.path); if(err.length>0) showStatus(err,false); else showStatus(qsTr("Удалено"), true) } }
|
||||
ConfirmDialog { id: deleteDialog; onConfirmed: { const err=fileStore.removeItem(deleteTarget.path); if(err.length>0) showStatus(err,false); else { showStatus(qsTr("Удалено"), true); vaultIndex.syncIncremental() } } }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user