Warning, /office/marknote/src/contents/ui/AddNotebookDialog.qml is written in an unsupported language. File is not indexed.

0001 // SPDX-FileCopyrightText: 2023 Mathis BrĂ¼chert <mbb@kaidan.im>
0002 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0003 
0004 import QtQuick 2.1
0005 import org.kde.kirigami 2.19 as Kirigami
0006 import QtQuick.Controls 2.0
0007 import QtQuick.Layouts 1.12
0008 
0009 import org.kde.marknote 1.0
0010 import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
0011 import QtQuick.Dialogs 1.0 as QtDialogs
0012 
0013 Kirigami.Dialog{
0014     id: root
0015     title: i18n("New Notebook")
0016     property NoteBooksModel model
0017     property string notebookColor
0018     padding: Kirigami.Units.largeSpacing
0019     onOpened: nameInput.forceActiveFocus()
0020     contentItem: ColumnLayout {
0021         spacing: 20
0022         KQuickAddons.IconDialog {
0023             id: iconDialog
0024             onIconNameChanged: buttonIcon.source = iconName
0025         }
0026         QtDialogs.ColorDialog {
0027             id: colorDialog
0028             onAccepted: {
0029                 root.notebookColor=colorDialog.color
0030                 colorButton.palette.button = colorDialog.color
0031             }
0032         }
0033         Button {
0034 
0035             implicitHeight: Kirigami.Units.gridUnit *4
0036             implicitWidth: Kirigami.Units.gridUnit *4
0037             id: iconButton
0038             Layout.alignment: Qt.AlignHCenter
0039             onClicked: iconDialog.open()
0040             contentItem: Item{
0041                 Kirigami.Icon{
0042                     id: buttonIcon
0043                     source:"addressbook-details"
0044                     anchors.centerIn: parent
0045                     height: Kirigami.Units.gridUnit*2
0046                     width:height
0047                 }
0048             }
0049         }
0050         RowLayout {
0051             TextField{
0052                 id: nameInput
0053                 placeholderText: i18n("Notebook name")
0054             }
0055             Button {
0056                 id: colorButton
0057                 icon.name: "color-picker"
0058                 onClicked: colorDialog.open()
0059             }
0060         }
0061 
0062     }
0063     standardButtons: Kirigami.Dialog.Cancel
0064     onRejected: {
0065         notebookColor = ""
0066         nameInput.clear()
0067         buttonIcon.source = "addressbook-details"
0068 
0069     }
0070     customFooterActions: [
0071         Kirigami.Action {
0072             text: i18n("Add")
0073             iconName: "list-add"
0074 
0075             onTriggered: {
0076                 root.model.addNoteBook(nameInput.text, buttonIcon.source !== "" ? buttonIcon.source : "addressbook-details" , root.notebookColor)
0077                 close()
0078                 if (model.rowCount() === 1) {
0079                     pageStack.clear()
0080                     pageStack.replace(["qrc:/NotesPage.qml","qrc:/EditPage.qml"], {
0081                         path: noteBooksModel.data(noteBooksModel.index(0, 0), NoteBooksModel.Path),
0082                         notebookName: noteBooksModel.data(noteBooksModel.index(0, 0), NoteBooksModel.Name)
0083                     })
0084                 }
0085                 notebookColor = ""
0086                 nameInput.clear()
0087                 buttonIcon.source = "addressbook-details"
0088             }
0089         }
0090     ]
0091 }