Массовые исправления UX: вкладки (MouseArea не блокирует ×), контент редактора (onDocIndexChanged), авто-расширение .md, ошибка дубликата, ПКМ-создание внутри папок, точки в календаре, граф (зум колесом, клик по файлу, pan правой кнопкой), fileExists(), 16/16 тестов

This commit is contained in:
Flora (opencode)
2026-08-17 15:42:56 +03:00
parent 9946e440ce
commit 7b43b0c4fc
7 changed files with 134 additions and 32 deletions
+31 -3
View File
@@ -302,6 +302,30 @@ Item {
}
}
}
MenuItem {
text: qsTr("Создать файл внутри")
visible: rowMenu.targetIsDir
onClicked: {
nameDialog.dialogTitle = qsTr("Новый файл")
nameDialog.actionLabel = qsTr("Создать")
nameDialog.initialText = ""
nameDialog.open()
pendingCreate.kind = "file"
pendingCreate.parent = rowMenu.targetPath
}
}
MenuItem {
text: qsTr("Создать папку внутри")
visible: rowMenu.targetIsDir
onClicked: {
nameDialog.dialogTitle = qsTr("Новая папка")
nameDialog.actionLabel = qsTr("Создать")
nameDialog.initialText = ""
nameDialog.open()
pendingCreate.kind = "folder"
pendingCreate.parent = rowMenu.targetPath
}
}
MenuItem {
text: qsTr("Переименовать")
onClicked: {
@@ -346,20 +370,24 @@ Item {
property var renameTarget: ({ path: "" })
property var deleteTarget: ({ path: "" })
property var pendingCreate: ({ kind: "file" })
property var pendingCreate: ({ kind: "file", parent: "" })
NameDialog {
id: nameDialog
onConfirmed: (name) => {
let err = ""
const createIn = pendingCreate.parent.length > 0
? pendingCreate.parent
: parentForCreate()
if (pendingCreate.kind === "file") {
err = fileStore.createFile(parentForCreate(), name)
err = fileStore.createFile(createIn, name)
} else if (pendingCreate.kind === "folder") {
err = fileStore.createFolder(parentForCreate(), name)
err = fileStore.createFolder(createIn, name)
} else if (pendingCreate.kind === "rename") {
err = fileStore.renameItem(renameTarget.path, name)
}
if (err.length > 0) showStatus(err, false)
pendingCreate.parent = ""
}
}