From 09f58eeb4588a99294c01aeb387491f921857a8d Mon Sep 17 00:00:00 2001 From: fatalis Date: Tue, 5 Jun 2018 12:31:49 -0500 Subject: [PATCH] Implement showing stderr as the tooltip Optionally as Qt's subset of HTML4 --- package/contents/config/main.xml | 3 +++ package/contents/ui/config/ConfigGeneral.qml | 6 ++++++ package/contents/ui/main.qml | 12 ++++++++++++ 3 files changed, 21 insertions(+) diff --git a/package/contents/config/main.xml b/package/contents/config/main.xml index 52812e3..bce1e6a 100644 --- a/package/contents/config/main.xml +++ b/package/contents/config/main.xml @@ -15,6 +15,9 @@ true + + false + 16 diff --git a/package/contents/ui/config/ConfigGeneral.qml b/package/contents/ui/config/ConfigGeneral.qml index 0315ad3..b54c84f 100644 --- a/package/contents/ui/config/ConfigGeneral.qml +++ b/package/contents/ui/config/ConfigGeneral.qml @@ -13,6 +13,7 @@ ConfigPage { property alias cfg_command: command.text property alias cfg_waitForCompletion: waitForCompletion.checked + property alias cfg_tooltipRichText: tooltipRichText.checked property alias cfg_interval: interval.value ConfigSection { @@ -41,6 +42,11 @@ ConfigPage { text: i18n("Wait for completion") enabled: false } + + CheckBox { + id: tooltipRichText + text: i18n("Parse stderr (ToolTip) as HTML") + } } ConfigSection { diff --git a/package/contents/ui/main.qml b/package/contents/ui/main.qml index e38944d..8286ea0 100644 --- a/package/contents/ui/main.qml +++ b/package/contents/ui/main.qml @@ -34,15 +34,18 @@ Item { id: config property bool active: !!command property bool waitForCompletion: plasmoid.configuration.waitForCompletion + property bool tooltipRichText: plasmoid.configuration.tooltipRichText property int interval: Math.max(1000, plasmoid.configuration.interval) property string command: plasmoid.configuration.command || 'sleep 2 && echo "Test: $(date +%s)"' } property string outputText: '' + property string tooltipText: '' Connections { target: executable onExited: { widget.outputText = stdout.replace('\n', ' ').trim() + widget.tooltipText = stderr; if (config.waitForCompletion) { timer.restart() } @@ -89,6 +92,15 @@ Item { horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter } + + PlasmaCore.ToolTipArea { + anchors.fill: parent + icon: 'utilities-terminal' + mainText: widget.outputText + subText: widget.tooltipText + textFormat: config.tooltipRichText ? Text.RichText : Text.PlainText + } + } }