From 15d88ee3ba769787e3d495c9b5134c8794eff069 Mon Sep 17 00:00:00 2001 From: arcan1s Date: Tue, 5 May 2015 02:17:46 +0300 Subject: [PATCH] more correct widget resizing. Create width and height options (#47) --- .../package/contents/config/main.xml | 6 + .../package/contents/ui/advanced.qml | 132 ++++++------------ .../package/contents/ui/main.qml | 8 +- .../package/contents/ui/widget.qml | 10 ++ sources/awesome-widget-kf5/plugin/awkeys.cpp | 2 +- 5 files changed, 63 insertions(+), 95 deletions(-) diff --git a/sources/awesome-widget-kf5/package/contents/config/main.xml b/sources/awesome-widget-kf5/package/contents/config/main.xml index 1bb2b8c..1ee02a5 100644 --- a/sources/awesome-widget-kf5/package/contents/config/main.xml +++ b/sources/awesome-widget-kf5/package/contents/config/main.xml @@ -14,6 +14,12 @@ + + 0 + + + 0 + true diff --git a/sources/awesome-widget-kf5/package/contents/ui/advanced.qml b/sources/awesome-widget-kf5/package/contents/ui/advanced.qml index c249184..a1beb92 100644 --- a/sources/awesome-widget-kf5/package/contents/ui/advanced.qml +++ b/sources/awesome-widget-kf5/package/contents/ui/advanced.qml @@ -17,7 +17,6 @@ import QtQuick 2.0 import QtQuick.Controls 1.3 as QtControls -import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.private.awesomewidget 1.0 @@ -30,34 +29,9 @@ Item { implicitHeight: pageColumn.implicitHeight property bool debug: AWKeys.isDebugEnabled() - property variant settings: { - "customTime": plasmoid.configuration.customTime, - "customUptime": plasmoid.configuration.customUptime, - "tempUnits": plasmoid.configuration.tempUnits, - "acOnline": plasmoid.configuration.acOnline, - "acOffline": plasmoid.configuration.acOffline - } - property variant tooltipSettings: { - "tooltipNumber": plasmoid.configuration.tooltipNumber, - "useTooltipBackground": plasmoid.configuration.useTooltipBackground, - "tooltipBackgroung": plasmoid.configuration.tooltipBackgroung, - "cpuTooltip": plasmoid.configuration.cpuTooltip, - "cpuclTooltip": plasmoid.configuration.cpuclTooltip, - "memTooltip": plasmoid.configuration.memTooltip, - "swapTooltip": plasmoid.configuration.swapTooltip, - "downTooltip": plasmoid.configuration.downTooltip, - "upTooltip": plasmoid.configuration.downTooltip, - "batTooltip": plasmoid.configuration.batTooltip, - "cpuTooltipColor": plasmoid.configuration.cpuTooltipColor, - "cpuclTooltipColor": plasmoid.configuration.cpuclTooltipColor, - "memTooltipColor": plasmoid.configuration.memTooltipColor, - "swapTooltipColor": plasmoid.configuration.swapTooltipColor, - "downTooltipColor": plasmoid.configuration.downTooltipColor, - "upTooltipColor": plasmoid.configuration.upTooltipColor, - "batTooltipColor": plasmoid.configuration.batTooltipColor, - "batInTooltipColor": plasmoid.configuration.batInTooltipColor - } + property alias cfg_height: widgetHeight.value + property alias cfg_width: widgetWidth.value property alias cfg_notify: notify.checked property alias cfg_background: background.checked property alias cfg_customTime: customTime.text @@ -70,6 +44,46 @@ Item { Column { id: pageColumn anchors.fill: parent + Row { + height: implicitHeight + width: parent.width + QtControls.Label { + height: parent.height + width: parent.width / 3 + horizontalAlignment: Text.AlignRight + verticalAlignment: Text.AlignVCenter + text: i18n("Widget height, px") + } + QtControls.SpinBox { + id: widgetHeight + width: parent.width * 2 / 3 + minimumValue: 0 + maximumValue: 4096 + stepSize: 50 + value: plasmoid.configuration.height + } + } + + Row { + height: implicitHeight + width: parent.width + QtControls.Label { + height: parent.height + width: parent.width / 3 + horizontalAlignment: Text.AlignRight + verticalAlignment: Text.AlignVCenter + text: i18n("Widget width, px") + } + QtControls.SpinBox { + id: widgetWidth + width: parent.width * 2 / 3 + minimumValue: 0 + maximumValue: 4096 + stepSize: 50 + value: plasmoid.configuration.width + } + } + Row { height: implicitHeight width: parent.width @@ -220,71 +234,9 @@ Item { text: plasmoid.configuration.acOffline } } - - Row { - height: implicitHeight - width: parent.width - QtControls.Label { - height: parent.height - width: parent.width * 2 / 5 - horizontalAlignment: Text.AlignRight - verticalAlignment: Text.AlignVCenter - text: i18n("Bars") - } - QtControls.Button { - width: parent.width * 3 / 5 - text: i18n("Edit bars") - onClicked: AWKeys.editItem("graphicalitem") - } - } - } - - // we need to initializate DataEngines here too - // because we need to get keys and values - PlasmaCore.DataSource { - id: systemmonitorDE - engine: "systemmonitor" - connectedSources: systemmonitorDE.sources - interval: 5000 - - onNewData: { - if (debug) console.log("[advanced::onNewData] : Update source " + sourceName) - - AWKeys.setDataBySource(sourceName, data, settings) - } - } - - PlasmaCore.DataSource { - id: extsysmonDE - engine: "extsysmon" - connectedSources: ["battery", "custom", "desktop", "netdev", "gpu", - "gputemp", "hddtemp", "pkg", "player", "ps", "update"] - interval: 5000 - - onNewData: { - if (debug) console.log("[advanced::onNewData] : Update source " + sourceName) - - AWKeys.setDataBySource(sourceName, data, settings) - } - } - - PlasmaCore.DataSource { - id: timeDE - engine: "time" - connectedSources: ["Local"] - interval: 5000 - - onNewData: { - if (debug) console.log("[advanced::onNewData] : Update source " + sourceName) - - AWKeys.setDataBySource(sourceName, data, settings) - } } Component.onCompleted: { if (debug) console.log("[advanced::onCompleted]") - - // init submodule - AWKeys.initKeys(plasmoid.configuration.text, tooltipSettings) } } diff --git a/sources/awesome-widget-kf5/package/contents/ui/main.qml b/sources/awesome-widget-kf5/package/contents/ui/main.qml index 77ffc42..3bc4ba1 100644 --- a/sources/awesome-widget-kf5/package/contents/ui/main.qml +++ b/sources/awesome-widget-kf5/package/contents/ui/main.qml @@ -67,8 +67,8 @@ Item { Layout.fillWidth: plasmoid.formFactor != PlasmaCore.Planar Layout.fillHeight: plasmoid.formFactor != PlasmaCore.Planar - Layout.minimumHeight: text.contentHeight - Layout.minimumWidth: text.contentWidth + Layout.minimumHeight: plasmoid.configuration.height == 0 ? text.contentHeight : plasmoid.configuration.height + Layout.minimumWidth: plasmoid.configuration.width == 0 ? text.contentWidth : plasmoid.configuration.width Plasmoid.icon: "utilities-system-monitor" Plasmoid.backgroundHints: plasmoid.configuration.background ? "DefaultBackground" : "NoBackground" @@ -124,11 +124,11 @@ Item { // ui Grid { columns: 1 + anchors.fill: parent Text { id: text - height: contentHeight - width: contentWidth + anchors.fill: parent textFormat: Text.RichText wrapMode: Text.NoWrap diff --git a/sources/awesome-widget-kf5/package/contents/ui/widget.qml b/sources/awesome-widget-kf5/package/contents/ui/widget.qml index a2dc90b..35f9994 100644 --- a/sources/awesome-widget-kf5/package/contents/ui/widget.qml +++ b/sources/awesome-widget-kf5/package/contents/ui/widget.qml @@ -246,6 +246,16 @@ Item { } } + Row { + height: implicitHeight + width: parent.width + QtControls.Button { + width: parent.width + text: i18n("Edit bars") + onClicked: AWKeys.editItem("graphicalitem") + } + } + QtControls.TextArea { id: textPattern width: parent.width diff --git a/sources/awesome-widget-kf5/plugin/awkeys.cpp b/sources/awesome-widget-kf5/plugin/awkeys.cpp index 8e5f991..3affea0 100644 --- a/sources/awesome-widget-kf5/plugin/awkeys.cpp +++ b/sources/awesome-widget-kf5/plugin/awkeys.cpp @@ -1188,7 +1188,7 @@ void AWKeys::addKeyToCache(const QString type, const QString key) QStringList devices = allDevices.filter(QRegExp(QString("^[hms]d[a-z]$"))); for (int i=0; i