Warning, /education/kstars/kstars/kstarslite/qml/dialogs/menus/LocationsGeoMenu.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2016 Artem Fedoskin <afedoskin3@gmail.com>
0002 // SPDX-License-Identifier: GPL-2.0-or-later
0003
0004 import QtQuick.Controls 2.0
0005 import QtQuick 2.7
0006 import QtQuick.Layouts 1.1
0007 import "../../constants" 1.0
0008 import "../../modules/"
0009 import "../../modules/helpers"
0010
0011 Menu {
0012 id: locationsMenu
0013 modal: true
0014 transformOrigin: Menu.Center
0015 padding: 0
0016 property string locName
0017 property bool isReadOnly
0018 background: Rectangle {
0019 implicitWidth: 200
0020 color: Num.sysPalette.base
0021 radius: 5
0022 }
0023
0024 function openMenu(name) {
0025 locName = name
0026 isReadOnly = LocationDialogLite.isReadOnly(name)
0027
0028 open()
0029 }
0030
0031 Column {
0032 width: parent.width
0033 spacing: 10
0034
0035 KSLabel {
0036 id: name
0037 text: locName
0038 wrapMode: Label.WrapAtWordBoundaryOrAnywhere
0039 width: parent.width
0040 font.pointSize: 12
0041 anchors {
0042 left: parent.left
0043 leftMargin: 10
0044 }
0045 }
0046
0047 Rectangle {
0048 color: "grey"
0049 width: parent.width - 10
0050 height: 1
0051 anchors {
0052 horizontalCenter: parent.horizontalCenter
0053 }
0054 }
0055 }
0056
0057 KSMenuItem {
0058 text: xi18n("Set as my location")
0059 onTriggered: {
0060 if(LocationDialogLite.setLocation(locName)) {
0061 skyMapLite.notification.showNotification(xi18n("Set %1 as the current location", locName))
0062 } else {
0063 skyMapLite.notification.showNotification(xi18n("Could not set as the current location", locName))
0064 }
0065 locationDialog.filterCities()
0066 }
0067 }
0068
0069 KSMenuItem {
0070 text: isReadOnly ? xi18n("View") : xi18n("Edit")
0071 onTriggered: {
0072 if(isReadOnly) {
0073 locationEdit.openEdit(locName, true)
0074 } else {
0075 locationEdit.openEdit(locName, false)
0076 }
0077 }
0078 }
0079
0080 KSMenuItem {
0081 enabled: !isReadOnly
0082 text: xi18n("Delete")
0083 onTriggered: {
0084 LocationDialogLite.deleteCity(locName)
0085 skyMapLite.notification.showNotification(xi18n("Deleted location %1", locName))
0086 locationDialog.filterCities()
0087 }
0088 }
0089 }