Warning, /office/klevernotes/src/contents/ui/textEditor/CheatSheet.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 // SPDX-FileCopyrightText: 2022 Louis Schul <schul9louis@gmail.com>
0003
0004 import QtQuick 2.15
0005 import QtQuick.Controls 2.15 as Controls
0006 import QtQuick.Layouts 1.15
0007
0008 import org.kde.kirigami 2.19 as Kirigami
0009 import org.kde.kirigamiaddons.formcard 1.0 as FormCard
0010
0011 import org.kde.Klever 1.0
0012
0013 import "qrc:/contents/ui/textEditor/components/"
0014
0015 Kirigami.Dialog {
0016 id: cheatSheet
0017
0018 title: i18nc("@window:title","Markdown Cheat Sheet")
0019
0020 background: Rectangle {
0021 Kirigami.Theme.colorSet: Kirigami.Theme.Window
0022 Kirigami.Theme.inherit: false
0023 color: Kirigami.Theme.backgroundColor
0024 }
0025
0026 width: applicationWindow().width > Kirigami.Units.gridUnit * 31 ? Kirigami.Units.gridUnit * 30 : applicationWindow().width - Kirigami.Units.gridUnit
0027 height: applicationWindow().height - Kirigami.Units.gridUnit * 2//0 ? Kirigami.Units.gridUnit * 28
0028
0029 standardButtons: Controls.Dialog.NoButton
0030
0031 ColumnLayout {
0032 spacing: 0
0033
0034 TextEdit { // Don't move this, weird height issue with the OverlaySheet otherwise
0035 id: clipboardHelper
0036 visible: false
0037 onTextChanged: if (length > 0) {
0038 selectAll()
0039 copy()
0040 showPassiveNotification(i18n("Copied !"))
0041 cheatSheet.close()
0042 }
0043 }
0044
0045 FormCard.FormHeader {
0046 Layout.fillWidth: true
0047 title: i18nc("@title, cheat sheet section", "Basic syntax")
0048 }
0049
0050 FormCard.FormCard {
0051 Layout.fillWidth: true
0052
0053 CheatSheetEntry {
0054 element: "<h1>" + i18n("Heading") + "</h1>"
0055 syntax: "# " + i18nc("exemple","Heading1")
0056 onClicked: clipboardHelper.text = syntax
0057 }
0058
0059 CheatSheetEntry {
0060 element: "<b>" + i18n("Bold") + "</b>"
0061 syntax: "**" + i18nc("exemple","Bold text") + "**"
0062 onClicked: clipboardHelper.text = syntax
0063 }
0064
0065 CheatSheetEntry {
0066 element: "<i>" + i18n("Italic") + "</i>"
0067 syntax: "_" + i18nc("exemple","Italic text") + "_"
0068 onClicked: clipboardHelper.text = syntax
0069 }
0070
0071 CheatSheetEntry {
0072 element: i18n("Blockquote")
0073 syntax: "> " + i18nc("exemple","Quote")
0074 onClicked: clipboardHelper.text = syntax
0075 }
0076
0077 CheatSheetEntry {
0078 element: i18n("Ordered list")
0079 syntax: "1. " + i18nc("exemple","First item") + "\n" +
0080 "2. " + i18nc("exemple","Second item")
0081 onClicked: clipboardHelper.text = syntax
0082 }
0083
0084 CheatSheetEntry {
0085 element: i18n("Unordered list")
0086 syntax: "- " + i18nc("exemple","First item") + "\n" +
0087 "- " + i18nc("exemple","Second item")
0088 onClicked: clipboardHelper.text = syntax
0089 }
0090
0091 CheatSheetEntry {
0092 element: i18n("Code")
0093 syntax: "`" + i18nc("exemple","Inline code") + "`"
0094 onClicked: clipboardHelper.text = syntax
0095 }
0096
0097 CheatSheetEntry {
0098 element: i18nc("@label, horizontal rule => <hr> html tag", "Rule")
0099 syntax: "---"
0100 onClicked: clipboardHelper.text = syntax
0101 }
0102
0103 CheatSheetEntry {
0104 element: i18n("Link")
0105 syntax: "[" + i18nc("exemple","title") + "](" + i18nc("exemple", "https://www.example.com") + ")"
0106 onClicked: clipboardHelper.text = syntax
0107 }
0108
0109 CheatSheetEntry {
0110 element: i18n("Image")
0111 syntax: " + ".jpg)"
0112 onClicked: clipboardHelper.text = syntax
0113 }
0114 }
0115
0116 FormCard.FormHeader {
0117 Layout.fillWidth: true
0118 title: i18nc("@title, cheat sheet section", "Extended syntax")
0119 }
0120
0121 FormCard.FormCard {
0122 Layout.fillWidth: true
0123
0124 CheatSheetEntry {
0125 element: i18n("Table")
0126 syntax: "|" + i18nc("@label, noun, 'The left side of something'","Left") + "|" + i18nc("@label, verb, 'To center something'","Center") + "|" + i18nc("@label, noun, 'The right side of something", "Right") + "|\n" +
0127 "| :------ | :------: | ------:|\n" +
0128 "|" + i18nc("exemple","Cell 1") + "|" + i18nc("exemple", "Cell 2") + "|" + i18nc("exemple", "Cell 3") + "|"
0129 onClicked: clipboardHelper.text = syntax
0130 }
0131
0132 CheatSheetEntry {
0133 element: i18n("Fenced code block")
0134 syntax: "```\n" +
0135 i18nc("exemple","Sample text here...") + "\n" +
0136 "```"
0137 onClicked: clipboardHelper.text = syntax
0138 }
0139
0140 CheatSheetEntry {
0141 element: i18n("Strikethrough")
0142 syntax: "~~" + i18nc("exemple, something wrong","The world is flat.") + "~~"
0143 onClicked: clipboardHelper.text = syntax
0144 }
0145
0146 CheatSheetEntry {
0147 element: i18n("Task list")
0148 syntax: "- [ ] " + i18nc("exemple", "Make more foo") + "\n" +
0149 "- [x] " + i18nc("exemple", "Make more bar")
0150 onClicked: clipboardHelper.text = syntax
0151 }
0152 }
0153
0154 FormCard.FormHeader {
0155 Layout.fillWidth: true
0156 title: i18nc("@title, cheat sheet section", "KleverNotes plugins")
0157 visible: Config.noteMapEnabled // Will change when more plugins are added
0158 }
0159
0160 FormCard.FormCard {
0161 Layout.fillWidth: true
0162 visible: Config.noteMapEnabled
0163
0164 CheatSheetEntry {
0165 element: i18n("Note link")
0166 syntax: "[[ "
0167 + i18nc("exemple, a note path ('/' are important), Category as in 'a category, Group 'a group', Note 'a note'", "Category/Group/Note")
0168 + ":# " + i18nc("exemple", "header") + " | " + i18nc("exemple", "displayed name") + " ]]"
0169 onClicked: clipboardHelper.text = syntax
0170 }
0171 }
0172 }
0173 }