mirror of
https://github.com/arcan1s/awesome-widgets.git
synced 2025-07-14 14:25:50 +00:00
add tag selector row
This commit is contained in:
82
sources/qml/AWTagSelector.qml
Normal file
82
sources/qml/AWTagSelector.qml
Normal file
@ -0,0 +1,82 @@
|
||||
/***************************************************************************
|
||||
* This file is part of awesome-widgets *
|
||||
* *
|
||||
* awesome-widgets is free software: you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation, either version 3 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* awesome-widgets is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.3 as QtControls
|
||||
|
||||
|
||||
Row {
|
||||
height: implicitHeight
|
||||
width: parent.width
|
||||
|
||||
// backend
|
||||
property var backend
|
||||
property var notifyBackend
|
||||
// parent object in which text will be replaced
|
||||
property var textArea
|
||||
property alias groups: tagGroups.model
|
||||
|
||||
QtControls.ComboBox {
|
||||
id: tagGroups
|
||||
width: parent.width * 2 / 5
|
||||
textRole: "label"
|
||||
|
||||
onCurrentIndexChanged: {
|
||||
if (model[currentIndex]["regexp"] == "functions")
|
||||
tags.model = ["{{\n\n}}", "template{{\n\n}}",
|
||||
"aw_all<>{{}}", "aw_count<>{{}}", "aw_keys<>{{}}",
|
||||
"aw_macro<>{{}}", "aw_names<>{{}}"]
|
||||
else
|
||||
tags.model = backend.dictKeys(true, model[currentIndex]["regexp"])
|
||||
tags.currentIndex = -1
|
||||
}
|
||||
}
|
||||
|
||||
QtControls.ComboBox {
|
||||
id: tags
|
||||
width: parent.width * 1 / 5
|
||||
}
|
||||
|
||||
QtControls.Button {
|
||||
width: parent.width * 1 / 5
|
||||
text: i18n("Add")
|
||||
|
||||
onClicked: {
|
||||
if (!tags.currentText)
|
||||
return
|
||||
textArea.insert(textArea.cursorPosition, "$" + tags.currentText)
|
||||
}
|
||||
}
|
||||
|
||||
QtControls.Button {
|
||||
width: parent.width * 1 / 5
|
||||
text: i18n("Show value")
|
||||
|
||||
onClicked: {
|
||||
if ((!notifyBackend)
|
||||
|| (!tags.currentText))
|
||||
return
|
||||
// generate message
|
||||
var message = i18n("Tag: %1", tags.currentText)
|
||||
message += "<br>"
|
||||
message += i18n("Value: %1", backend.valueByKey(tags.currentText))
|
||||
message += "<br>"
|
||||
message += i18n("Info: %1", backend.infoByKey(tags.currentText))
|
||||
notifyBackend.sendNotification("tag", message)
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user