plasmoid fixes

This commit is contained in:
arcan1s
2015-08-15 02:35:09 +03:00
parent 32f7b9344c
commit e67493f5c0
13 changed files with 223 additions and 194 deletions

View File

@ -19,17 +19,21 @@ import QtQuick 2.0
import QtQuick.Controls 1.3 as QtControls
import QtQuick.Layouts 1.0 as QtLayouts
import org.kde.plasma.netctl 1.0
import org.kde.plasma.private.netctl 1.0
Item {
id: aboutPage
// backend
NetctlAdds {
id: netctlAdds;
}
width: childrenRect.width
height: childrenRect.height
implicitWidth: pageColumn.implicitWidth
implicitHeight: pageColumn.implicitHeight
property bool debug: NetctlAdds.isDebugEnabled()
property bool debug: netctlAdds.isDebugEnabled()
Column {
id: pageColumn
@ -44,20 +48,20 @@ Item {
QtControls.Label {
QtLayouts.Layout.fillWidth: true
horizontalAlignment: Text.AlignHCenter
text: NetctlAdds.getAboutText("header")
text: netctlAdds.getAboutText("header")
}
QtControls.Label {
QtLayouts.Layout.fillWidth: true
horizontalAlignment: Text.AlignJustify
text: NetctlAdds.getAboutText("description")
text: netctlAdds.getAboutText("description")
}
QtControls.Label {
QtLayouts.Layout.fillWidth: true
horizontalAlignment: Text.AlignLeft
textFormat: Text.RichText
text: NetctlAdds.getAboutText("links")
text: netctlAdds.getAboutText("links")
onLinkActivated: Qt.openUrlExternally(link);
}
@ -66,7 +70,7 @@ Item {
font.capitalization: Font.SmallCaps
horizontalAlignment: Text.AlignHCenter
textFormat: Text.RichText
text: NetctlAdds.getAboutText("copy")
text: netctlAdds.getAboutText("copy")
}
}
}
@ -78,14 +82,14 @@ Item {
QtControls.Label {
QtLayouts.Layout.fillWidth: true
horizontalAlignment: Text.AlignJustify
text: NetctlAdds.getAboutText("translators")
text: netctlAdds.getAboutText("translators")
}
QtControls.Label {
QtLayouts.Layout.fillWidth: true
horizontalAlignment: Text.AlignJustify
textFormat: Text.RichText
text: NetctlAdds.getAboutText("3rdparty")
text: netctlAdds.getAboutText("3rdparty")
onLinkActivated: Qt.openUrlExternally(link);
}
}

View File

@ -21,17 +21,21 @@ import QtQuick.Controls.Styles 1.3 as QtStyles
import QtQuick.Dialogs 1.1 as QtDialogs
import QtQuick.Layouts 1.0 as QtLayouts
import org.kde.plasma.netctl 1.0
import org.kde.plasma.private.netctl 1.0
Item {
id: appearancePage
// backend
NetctlAdds {
id: netctlAdds;
}
width: childrenRect.width
height: childrenRect.height
implicitWidth: pageColumn.implicitWidth
implicitHeight: pageColumn.implicitHeight
property bool debug: NetctlAdds.isDebugEnabled()
property bool debug: netctlAdds.isDebugEnabled()
property variant weight: {
25: 0,
50: 1,
@ -110,7 +114,10 @@ Item {
id: selectFont
width: parent.width * 2 / 3
text: plasmoid.configuration.fontFamily
onClicked: fontDialog.visible = true
onClicked: {
fontDialog.setFont()
fontDialog.visible = true
}
}
}
@ -308,21 +315,28 @@ Item {
id: colorDialog
title: i18n("Select a color")
color: selectColor.text
onAccepted: {
selectColor.text = colorDialog.color
}
onAccepted: selectColor.text = colorDialog.color
}
QtDialogs.FontDialog {
id: fontDialog
title: i18n("Select a font")
font: Qt.font({ family: selectFont.text, pointSize: fontSize.value, weight: Font.Normal })
signal setFont
onAccepted: {
selectFont.text = fontDialog.font.family
fontSize.value = fontDialog.font.pointSize
fontStyle.currentIndex = fontDialog.font.italic ? 1 : 0
fontWeight.currentIndex = weight[fontDialog.font.weight]
}
onSetFont: {
fontDialog.font = Qt.font({
family: selectFont.text,
pointSize: fontSize.value > 0 ? fontSize.value : 12,
italic: fontStyle.currentIndex == 1,
weight: Font.Normal,
})
}
}
Component.onCompleted: {

View File

@ -21,19 +21,23 @@ import QtQuick.Dialogs 1.1 as QtDialogs
import QtQuick.Layouts 1.0 as QtLayouts
import QtQuick.Controls.Styles 1.3 as QtStyles
import org.kde.plasma.netctl 1.0
import org.kde.plasma.private.netctl 1.0
Item {
id: dataenginePage
// backend
NetctlAdds {
id: netctlAdds;
}
width: childrenRect.width
height: childrenRect.height
implicitWidth: pageColumn.implicitWidth
implicitHeight: pageColumn.implicitHeight
property bool debug: NetctlAdds.isDebugEnabled()
property bool debug: netctlAdds.isDebugEnabled()
property variant cfg_dataengine: NetctlAdds.readDataEngineConfiguration()
property variant cfg_dataengine: netctlAdds.readDataEngineConfiguration()
Column {
id: pageColumn
@ -228,6 +232,6 @@ Item {
Component.onDestruction: {
cfg_dataengine["EXTIP4"] = extIp4.checked ? "true" : "false"
cfg_dataengine["EXTIP6"] = extIp6.checked ? "true" : "false"
NetctlAdds.writeDataEngineConfiguration(cfg_dataengine)
netctlAdds.writeDataEngineConfiguration(cfg_dataengine)
}
}

View File

@ -22,15 +22,19 @@ import org.kde.plasma.plasmoid 2.0
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.components 2.0 as PlasmaComponents
import org.kde.plasma.netctl 1.0
import org.kde.plasma.private.netctl 1.0
Item {
id: main
// backend
NetctlAdds {
id: netctlAdds;
}
// variables
// internal
property bool debug: NetctlAdds.isDebugEnabled()
property bool debug: netctlAdds.isDebugEnabled()
property variant fontWeight: {
"light": Font.Light,
"normal": Font.Normal,
@ -52,8 +56,9 @@ Item {
}
property string sudoPath: plasmoid.configuration.useSudo ? plasmoid.configuration.sudoPath : ""
// signals
signal needUpdate
signal needMenuUpdate
signal needIconUpdate(string newIcon)
signal needTextUpdate(string newText, string newToolTip)
signal needMenuUpdate(string current, string stringStatus, bool status)
// init
Plasmoid.icon: iconPath["false"]
@ -71,7 +76,7 @@ Item {
onNewData: {
if (debug) console.log("[main::onNewData] : Update source " + sourceName)
NetctlAdds.setDataBySource(sourceName, data)
netctlAdds.setDataBySource(sourceName, data)
}
}
@ -110,28 +115,30 @@ Item {
plasmoid.setAction("restartProfile", i18n("Restart profile"), "view-refresh")
plasmoid.setAction("enableProfile", i18n("Enable profile"))
plasmoid.setAction("startWifi", i18n("Show WiFi menu"), "netctl-gui-wifi")
// helper
if (plasmoid.configuration.useHelper) {
NetctlAdds.runCmd(plasmoid.configuration.helperPath)
plasmoid.configuration.useHelper = NetctlAdds.checkHelperStatus()
}
// init submodule
Plasmoid.userConfiguringChanged(false)
NetctlAdds.needToBeUpdated.connect(needUpdate)
netctlAdds.needIconToBeUpdated.connect(needIconUpdate)
netctlAdds.needMenuUpdate.connect(needMenuUpdate)
netctlAdds.needTextToBeUpdated.connect(needTextUpdate)
}
onNeedUpdate: {
if (debug) console.log("[main::onNeedUpdate]")
onNeedIconUpdate: {
if (debug) console.log("[main::onNeedIconUpdate]")
var iconStatus = NetctlAdds.valueByKey("active")
icon.source = iconPath[iconStatus]
Plasmoid.icon = iconPath[iconStatus]
text.text = NetctlAdds.parsePattern(plasmoid.configuration.textPattern)
Plasmoid.toolTipSubText = NetctlAdds.valueByKey("info")
needMenuUpdate()
icon.source = iconPath[newIcon]
Plasmoid.icon = iconPath[newIcon]
}
onNeedTextUpdate: {
if (debug) console.log("[main::onNeedTextUpdate]")
text.text = newText
Plasmoid.toolTipSubText = newToolTip
}
onNeedMenuUpdate: {
if (debug) console.log("[main::onNetctlStateChanged]")
if (debug) console.log("[main::onNeedMenuUpdate]")
var titleAction = plasmoid.action("titleAction")
var startAction = plasmoid.action("startProfile")
@ -142,10 +149,6 @@ Item {
var enableAction = plasmoid.action("enableProfile")
var wifiAction = plasmoid.action("startWifi")
var current = NetctlAdds.valueByKey("current")
var status = NetctlAdds.valueByKey("active") == "true"
var stringStatus = NetctlAdds.valueByKey("status")
titleAction.iconSource = plasmoid.icon
titleAction.text = current + " " + stringStatus
@ -187,16 +190,29 @@ Item {
wifiAction.visible = plasmoid.configuration.useWifi
}
Plasmoid.onUserConfiguringChanged: {
if (plasmoid.userConfiguring) return
if (debug) console.log("[main::onUserConfiguringChanged]")
// helper
if (plasmoid.configuration.useHelper) {
netctlAdds.runCmd(plasmoid.configuration.helperPath)
plasmoid.configuration.useHelper = netctlAdds.checkHelperStatus()
}
// init submodule
netctlAdds.setPattern(plasmoid.configuration.textPattern)
}
function action_titleAction() {
if (debug) console.log("[main::action_titleAction]")
NetctlAdds.runCmd(plasmoid.configuration.guiPath)
netctlAdds.runCmd(plasmoid.configuration.guiPath)
}
function action_startProfile() {
if (debug) console.log("[main::action_startProfile]")
NetctlAdds.startProfileSlot(plasmoid.configuration.useHelper,
netctlAdds.startProfileSlot(plasmoid.configuration.useHelper,
plasmoid.configuration.netctlPath,
sudoPath)
}
@ -204,7 +220,7 @@ Item {
function action_stopProfile() {
if (debug) console.log("[main::action_stopProfile]")
NetctlAdds.stopProfileSlot(plasmoid.configuration.useHelper,
netctlAdds.stopProfileSlot(plasmoid.configuration.useHelper,
plasmoid.configuration.netctlPath,
sudoPath)
}
@ -212,7 +228,7 @@ Item {
function action_stopAllProfiles() {
if (debug) console.log("[main::action_stopAllProfiles]")
NetctlAdds.stopAllProfilesSlot(plasmoid.configuration.useHelper,
netctlAdds.stopAllProfilesSlot(plasmoid.configuration.useHelper,
plasmoid.configuration.netctlPath,
sudoPath)
}
@ -220,14 +236,14 @@ Item {
function action_switchToProfile() {
if (debug) console.log("[main::action_switchToProfile]")
NetctlAdds.switchToProfileSlot(plasmoid.configuration.useHelper,
netctlAdds.switchToProfileSlot(plasmoid.configuration.useHelper,
plasmoid.configuration.netctlAutoPath)
}
function action_restartProfile() {
if (debug) console.log("[main::action_restartProfile]")
NetctlAdds.restartProfileSlot(plasmoid.configuration.useHelper,
netctlAdds.restartProfileSlot(plasmoid.configuration.useHelper,
plasmoid.configuration.netctlPath,
sudoPath)
}
@ -235,7 +251,7 @@ Item {
function action_enableProfile() {
if (debug) console.log("[main::action_enableProfile]")
NetctlAdds.enableProfileSlot(plasmoid.configuration.useHelper,
netctlAdds.enableProfileSlot(plasmoid.configuration.useHelper,
plasmoid.configuration.netctlPath,
sudoPath)
}
@ -243,6 +259,6 @@ Item {
function action_startWifi() {
if (debug) console.log("[main::action_startWifi]")
NetctlAdds.runCmd(plasmoid.configuration.wifiPath)
netctlAdds.runCmd(plasmoid.configuration.wifiPath)
}
}

View File

@ -21,17 +21,20 @@ import QtQuick.Dialogs 1.1 as QtDialogs
import QtQuick.Layouts 1.0 as QtLayouts
import QtQuick.Controls.Styles 1.3 as QtStyles
import org.kde.plasma.netctl 1.0
import org.kde.plasma.private.netctl 1.0
Item {
id: widgetPage
NetctlAdds {
id: netctlAdds;
}
width: childrenRect.width
height: childrenRect.height
implicitWidth: pageColumn.implicitWidth
implicitHeight: pageColumn.implicitHeight
property bool debug: NetctlAdds.isDebugEnabled()
property bool debug: netctlAdds.isDebugEnabled()
property alias cfg_autoUpdateInterval: autoUpdate.value
property alias cfg_guiPath: guiPath.text

View File

@ -14,7 +14,7 @@ X-Plasma-RemoteLocation=
X-KDE-PluginInfo-Author=Evgeniy Alekseev
X-KDE-PluginInfo-Email=esalexeev@gmail.com
X-KDE-PluginInfo-Name=org.kde.plasma.netctl
X-KDE-PluginInfo-Version=1.4.8
X-KDE-PluginInfo-Version=1.4.9
X-KDE-PluginInfo-Website=http://arcanis.name/projects/netctl-gui
X-KDE-PluginInfo-Category=Network
X-KDE-PluginInfo-Depends=