diff --git a/sources/awesome-widget/package/contents/ui/qmldir b/sources/awesome-widget/package/contents/ui/qmldir index 55ef134..818951c 100644 --- a/sources/awesome-widget/package/contents/ui/qmldir +++ b/sources/awesome-widget/package/contents/ui/qmldir @@ -7,6 +7,7 @@ singleton general 1.0 file:///usr/share/awesomewidgets/qml/general.qml # custom QML UI classes AboutTab file:///usr/share/awesomewidgets/qml/AboutTab.qml +AWExtensions file:///usr/share/awesomewidgets/qml/AWExtensions.qml AWTagSelector file:///usr/share/awesomewidgets/qml/AWTagSelector.qml BugReport file:///usr/share/awesomewidgets/qml/BugReport.qml ButtonSelector file:///usr/share/awesomewidgets/qml/ButtonSelector.qml diff --git a/sources/awesome-widget/package/contents/ui/widget.qml b/sources/awesome-widget/package/contents/ui/widget.qml index 1499f48..e0f3086 100644 --- a/sources/awesome-widget/package/contents/ui/widget.qml +++ b/sources/awesome-widget/package/contents/ui/widget.qml @@ -32,9 +32,6 @@ Item { AWActions { id: awActions } - AWFormatterConfigFactory { - id: awFormatter - } AWTelemetryHandler { id: awTelemetryHandler } @@ -76,44 +73,10 @@ Item { groups: general.awTagRegexp } - Row { - height: implicitHeight - width: parent.width - QtControls.Button { - width: parent.width * 3 / 10 - text: i18n("Edit bars") - onClicked: awKeys.editItem("graphicalitem") - } - QtControls.Button { - width: parent.width * 3 / 10 - text: i18n("Formatters") - onClicked: awFormatter.showDialog(awKeys.dictKeys(true)) - } - QtControls.Button { - width: parent.width * 5 / 15 - text: i18n("Preview") - onClicked: { - lock = false - awKeys.initKeys(textPattern.text, plasmoid.configuration.interval, - plasmoid.configuration.queueLimit, false) - } - } - QtControls.Button { - width: parent.width / 15 - iconName: "view-history" - menu: QtControls.Menu { - id: historyConfig - Instantiator { - model: awTelemetryHandler.get("awwidgetconfig") - QtControls.MenuItem { - text: modelData - onTriggered: textPattern.text = modelData - } - onObjectAdded: historyConfig.insertItem(index, object) - onObjectRemoved: historyConfig.removeItem(object) - } - } - } + AWExtensions { + backend: awKeys + textArea: textPattern + onUnlock: lock = false } QtControls.TextArea { @@ -151,7 +114,7 @@ Item { if (lock) return if (debug) console.debug() - compiledText.text = newText.replace(/ /g, " ") + compiledText.text = newText.replace(" ", " ") compiledText.open() lock = true } diff --git a/sources/desktop-panel/package/contents/ui/qmldir b/sources/desktop-panel/package/contents/ui/qmldir index 55ef134..818951c 100644 --- a/sources/desktop-panel/package/contents/ui/qmldir +++ b/sources/desktop-panel/package/contents/ui/qmldir @@ -7,6 +7,7 @@ singleton general 1.0 file:///usr/share/awesomewidgets/qml/general.qml # custom QML UI classes AboutTab file:///usr/share/awesomewidgets/qml/AboutTab.qml +AWExtensions file:///usr/share/awesomewidgets/qml/AWExtensions.qml AWTagSelector file:///usr/share/awesomewidgets/qml/AWTagSelector.qml BugReport file:///usr/share/awesomewidgets/qml/BugReport.qml ButtonSelector file:///usr/share/awesomewidgets/qml/ButtonSelector.qml diff --git a/sources/qml/AWExtensions.qml b/sources/qml/AWExtensions.qml new file mode 100644 index 0000000..1d8d477 --- /dev/null +++ b/sources/qml/AWExtensions.qml @@ -0,0 +1,76 @@ +/*************************************************************************** + * 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 + +import org.kde.plasma.private.awesomewidget 1.0 + + +Row { + height: implicitHeight + width: parent.width + + // backend + property var backend + AWFormatterConfigFactory { + id: awFormatter + } + // parent object in which text will be replaced + property var textArea + + signal unlock + + QtControls.Button { + width: parent.width * 3 / 10 + text: i18n("Edit bars") + onClicked: backend.editItem("graphicalitem") + } + + QtControls.Button { + width: parent.width * 3 / 10 + text: i18n("Formatters") + onClicked: awFormatter.showDialog(backend.dictKeys(true)) + } + + QtControls.Button { + width: parent.width * 5 / 15 + text: i18n("Preview") + onClicked: { + unlock() + backend.initKeys(textArea.text, plasmoid.configuration.interval, + plasmoid.configuration.queueLimit, false) + } + } + + QtControls.Button { + width: parent.width / 15 + iconName: "view-history" + menu: QtControls.Menu { + id: historyConfig + Instantiator { + model: awTelemetryHandler.get("awwidgetconfig") + QtControls.MenuItem { + text: modelData + onTriggered: textArea.text = modelData + } + onObjectAdded: historyConfig.insertItem(index, object) + onObjectRemoved: historyConfig.removeItem(object) + } + } + } +} diff --git a/sources/qml/qmldir.in b/sources/qml/qmldir.in index 541a2e9..f822584 100644 --- a/sources/qml/qmldir.in +++ b/sources/qml/qmldir.in @@ -7,6 +7,7 @@ singleton general 1.0 file://@CMAKE_INSTALL_PREFIX@/@DATA_INSTALL_DIR@/@PROJECT_ # custom QML UI classes AboutTab file://@CMAKE_INSTALL_PREFIX@/@DATA_INSTALL_DIR@/@PROJECT_NAME@/qml/AboutTab.qml +AWExtensions file://@CMAKE_INSTALL_PREFIX@/@DATA_INSTALL_DIR@/@PROJECT_NAME@/qml/AWExtensions.qml AWTagSelector file://@CMAKE_INSTALL_PREFIX@/@DATA_INSTALL_DIR@/@PROJECT_NAME@/qml/AWTagSelector.qml BugReport file://@CMAKE_INSTALL_PREFIX@/@DATA_INSTALL_DIR@/@PROJECT_NAME@/qml/BugReport.qml ButtonSelector file://@CMAKE_INSTALL_PREFIX@/@DATA_INSTALL_DIR@/@PROJECT_NAME@/qml/ButtonSelector.qml