Warning, /plasma-mobile/calindori/src/contents/ui/IncidenceEditor.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2020 Dimitris Kardarakos <dimkard@posteo.net> 0003 * 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 */ 0006 0007 import QtQuick 2.7 0008 import QtQuick.Controls 2.0 as Controls2 0009 import QtQuick.Layouts 1.3 0010 import org.kde.kirigami 2.3 as Kirigami 0011 import org.kde.calindori 0.1 as Calindori 0012 0013 ColumnLayout { 0014 id: root 0015 0016 property var incidenceData 0017 property var calendar 0018 property int incidenceType 0019 property alias description: description.text 0020 property alias location: location.text 0021 property alias incidenceStatus: statusCombo.currentValue 0022 property alias completed: completed.checked 0023 readonly property string canceledStatus: i18n("Canceled") 0024 readonly property string confirmedStatus: i18n("Confirmed") 0025 readonly property string tentativeStatus: i18n("Tentative") 0026 0027 Kirigami.FormLayout { 0028 Layout.fillWidth: true 0029 0030 Controls2.Label { 0031 id: calendarName 0032 0033 text: root.calendar.name 0034 Kirigami.FormData.label: i18n("Calendar:") 0035 } 0036 0037 Controls2.ComboBox { 0038 id: statusCombo 0039 0040 visible: incidenceType === 0 0041 model: [ 0042 {"name": canceledStatus, "code": Calindori.IncidenceModel.StatusCanceled}, 0043 {"name": confirmedStatus, "code": Calindori.IncidenceModel.StatusConfirmed}, 0044 {"name": tentativeStatus, "code": Calindori.IncidenceModel.StatusTentative} 0045 ] 0046 textRole: "name" 0047 valueRole: "code" 0048 Layout.fillWidth: true 0049 Kirigami.FormData.label: i18n("Status:") 0050 0051 Component.onCompleted: { 0052 currentIndex = root.incidenceData ? indexOfValue(root.incidenceData.status) : indexOfValue(Calindori.IncidenceModel.StatusConfirmed); 0053 } 0054 } 0055 0056 Controls2.TextField { 0057 id: location 0058 0059 enabled: (incidenceType === 1 && root.completed) ? false : true 0060 text: root.incidenceData ? root.incidenceData.location : "" 0061 wrapMode: Text.WrapAnywhere 0062 Kirigami.FormData.label: i18n("Location:") 0063 } 0064 0065 Controls2.TextField { 0066 id: description 0067 0068 enabled: (incidenceType === 1 && root.completed) ? false : true 0069 wrapMode: Text.WrapAnywhere 0070 text: root.incidenceData ? root.incidenceData.description : "" 0071 Kirigami.FormData.label: i18n("Description:") 0072 } 0073 Controls2.CheckBox { 0074 id: completed 0075 0076 visible: incidenceType === 1 0077 checked: root.incidenceData ? root.incidenceData.completed: false 0078 Kirigami.FormData.label: i18n("Completed:") 0079 } 0080 } 0081 0082 } 0083