添加了简单 markdown 编辑
parent
fef9e15030
commit
3fd0ffe456
|
@ -0,0 +1,164 @@
|
|||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Window
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Controls.Basic
|
||||
import QtWebEngine 1.2
|
||||
import FluentUI
|
||||
|
||||
FluArea {
|
||||
id: edit_area
|
||||
paddings: 0
|
||||
backgroundColor: "#f9f9f9"
|
||||
property string noteId: "234"
|
||||
|
||||
FluScrollablePage {
|
||||
id: edit_page
|
||||
anchors.fill: parent
|
||||
leftPadding: 10
|
||||
topPadding: 10
|
||||
rightPadding: 10
|
||||
bottomPadding: 0
|
||||
|
||||
property string contentMd: "**ssijfdijgo**\ndfdgfdggggggggggggggggggggggggggggggggggggggggggggggggggg"
|
||||
property bool isEditing: false
|
||||
property bool isEditable: false
|
||||
|
||||
Component.onCompleted: {
|
||||
edit_page.isEditable = true
|
||||
|
||||
textArea_edit.text = edit_page.contentMd
|
||||
edit_page.contentMd = Qt.binding(
|
||||
function() {
|
||||
return textArea_edit.text
|
||||
})
|
||||
textArea_preview.text = Qt.binding(
|
||||
function() {
|
||||
return edit_page.contentMd
|
||||
})
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
implicitHeight: 50
|
||||
|
||||
FluIconButton {
|
||||
id: button_edit
|
||||
iconSource: FluentIcons.Edit
|
||||
visible: true
|
||||
anchors {
|
||||
right: parent.right
|
||||
}
|
||||
onClicked: {
|
||||
button_edit.visible = false
|
||||
button_save.visible = true
|
||||
button_preview.visible = true
|
||||
button_subfield.visible = true
|
||||
button_editing.visible = true
|
||||
button_cancel.visible = true
|
||||
}
|
||||
}
|
||||
|
||||
FluIconButton {
|
||||
id: button_cancel
|
||||
iconSource: FluentIcons.Cancel
|
||||
text: "取消"
|
||||
visible: false
|
||||
anchors {
|
||||
right: parent.right
|
||||
}
|
||||
onClicked: {
|
||||
button_edit.visible = edit_page.isEditable
|
||||
button_save.visible = false
|
||||
button_preview.visible = false
|
||||
button_subfield.visible = false
|
||||
button_editing.visible = false
|
||||
button_cancel.visible = false
|
||||
}
|
||||
}
|
||||
|
||||
FluIconButton {
|
||||
id: button_save
|
||||
iconSource: FluentIcons.Save
|
||||
text: "保存"
|
||||
visible: false
|
||||
anchors {
|
||||
right: button_cancel.left
|
||||
}
|
||||
}
|
||||
|
||||
FluIconButton {
|
||||
id: button_preview
|
||||
iconSource: FluentIcons.PreviewLink
|
||||
text: "预览"
|
||||
visible: false
|
||||
onClicked: {
|
||||
md_show_view.isEditShowing = false
|
||||
md_show_view.isPreviewShowing = true
|
||||
}
|
||||
|
||||
anchors {
|
||||
right: button_save.left
|
||||
}
|
||||
}
|
||||
|
||||
FluIconButton {
|
||||
id: button_subfield
|
||||
iconSource: md_show_view.isPreviewShowing ? FluentIcons.ClosePane: FluentIcons.OpenPane
|
||||
text: "分栏"
|
||||
visible: false
|
||||
onClicked: {
|
||||
md_show_view.isEditShowing = true
|
||||
md_show_view.isPreviewShowing = !md_show_view.isPreviewShowing
|
||||
}
|
||||
anchors {
|
||||
right: button_preview.left
|
||||
}
|
||||
}
|
||||
|
||||
FluIconButton {
|
||||
id: button_editing
|
||||
iconSource: FluentIcons.ClipboardList
|
||||
text: "编辑"
|
||||
visible: false
|
||||
onClicked: {
|
||||
md_show_view.isEditShowing = true
|
||||
md_show_view.isPreviewShowing = false
|
||||
}
|
||||
anchors {
|
||||
right: button_subfield.left
|
||||
}
|
||||
}
|
||||
}
|
||||
SplitView {
|
||||
id: md_show_view
|
||||
property bool isEditShowing: false
|
||||
property bool isPreviewShowing: true
|
||||
|
||||
Layout.fillWidth: true
|
||||
implicitHeight: 300
|
||||
ScrollView {
|
||||
id: edit_show_view
|
||||
implicitWidth: parent.width / 2
|
||||
height: parent.height
|
||||
visible: md_show_view.isEditShowing
|
||||
TextArea {
|
||||
id: textArea_edit
|
||||
wrapMode: TextEdit.Wrap
|
||||
}
|
||||
}
|
||||
|
||||
ScrollView {
|
||||
id: preview_show_view
|
||||
implicitWidth: parent.width / 2
|
||||
height: parent.height
|
||||
visible: md_show_view.isPreviewShowing
|
||||
TextArea {
|
||||
id: textArea_preview
|
||||
wrapMode: TextEdit.Wrap
|
||||
textFormat: TextEdit.MarkdownText
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue