From b992ae0fa4d792002ffae10a9ef893ef4fa42ac4 Mon Sep 17 00:00:00 2001 From: rtk0c Date: Fri, 1 Jul 2022 18:12:31 +0000 Subject: Convert hardcoding files in CMakeLists.txt to file(GLOB) git-svn-id: file:///home/arch/svn/epistmool/trunk@8 71f44415-077c-4ad7-a976-72ddbf76608f --- ui.qt/qml/Document.qml | 163 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 ui.qt/qml/Document.qml (limited to 'ui.qt/qml/Document.qml') diff --git a/ui.qt/qml/Document.qml b/ui.qt/qml/Document.qml new file mode 100644 index 0000000..a3d4075 --- /dev/null +++ b/ui.qt/qml/Document.qml @@ -0,0 +1,163 @@ +import QtCore +import QtQuick +import QtQuick.Controls +import QtQuick.Dialogs +import Qt.labs.platform as Platform + +import EpistmoolUI + +Item { + Action { + id: boldAction + shortcut: StandardKey.Bold + onTriggered: docHandler.bold = !docHandler.bold + } + + Action { + id: italicAction + shortcut: StandardKey.Italic + onTriggered: docHandler.italic = !docHandler.italic + } + + Action { + id: underlineAction + shortcut: StandardKey.Underline + onTriggered: docHandler.underline = !docHandler.underline + } + + Action { + id: strikeoutAction + shortcut: "Ctrl+Shift+X" + onTriggered: docHandler.strikeout = !docHandler.strikeout + } + + Platform.ColorDialog { + id: colorDialog + currentColor: "black" + } + + Item { + id: toolbar + width: parent.width + height: childrenRect.height + + Row { + id: toolbarLeft + layoutDirection: Qt.LeftToRight + + ToolButton { + id: boldButton + text: "B" + font.bold: true + focusPolicy: Qt.TabFocus + checkable: true + checked: docHandler.bold + action: boldAction + } + ToolButton { + id: italicButton + text: "I" + font.italic: true + focusPolicy: Qt.TabFocus + checkable: true + checked: docHandler.italic + action: italicAction + } + ToolButton { + id: underlineButton + text: "U" + font.underline: true + focusPolicy: Qt.TabFocus + checkable: true + checked: docHandler.underline + action: underlineAction + } + ToolButton { + id: strikeoutButton + text: "S" + font.strikeout: true + focusPolicy: Qt.TabFocus + checkable: true + checked: docHandler.strikeout + action: strikeoutAction + } + ToolButton { + id: textColorButton + text: "\uF1FC" // icon-brush + font.family: "fontello" + focusPolicy: Qt.TabFocus + onClicked: colorDialog.open() + + Rectangle { + width: aFontMetrics.width + 3 + height: 2 + color: docHandler.activeTextColor + parent: textColorButton.contentItem + anchors.horizontalCenter: parent.horizontalCenter + anchors.baseline: parent.baseline + anchors.baselineOffset: 6 + + TextMetrics { + id: aFontMetrics + font: textColorButton.font + text: textColorButton.text + } + } + } + } + + Row { + id: toolbarRight + layoutDirection: Qt.RightToLeft + height: parent.height + anchors.left: toolbarLeft.right + anchors.right: parent.right + + Label { + text: docHandler.modifyTime.toLocaleTimeString() + + ToolTip.visible: ma.containsMouse + ToolTip.text: docHandler.modifyTime.toLocaleString() + + MouseArea { + id: ma + anchors.fill: parent + hoverEnabled: true + } + } + } + } + + DocumentHandler { + id: docHandler + document: textArea.textDocument + + // Binding for current editing state of the TextArea + cursorPos: textArea.cursorPosition + selectionBegin: textArea.selectionStart + selectionEnd: textArea.selectionEnd + + property alias family: docHandler.activeFont.family + property alias bold: docHandler.activeFont.bold + property alias italic: docHandler.activeFont.italic + property alias underline: docHandler.activeFont.underline + property alias strikeout: docHandler.activeFont.strikeout + property alias size: docHandler.activeFont.pointSize + } + + ScrollView { + id: scrollView + width: parent.width + anchors.top: toolbar.bottom + anchors.bottom: parent.bottom + + TextArea { + id: textArea + textFormat: Qt.RichText + wrapMode: TextArea.Wrap + focus: true + selectByMouse: true + persistentSelection: true + } + } +} -- cgit v1.2.3-70-g09d2