mirror of
				https://github.com/arcan1s/awesome-widgets.git
				synced 2025-10-31 05:13:40 +00:00 
			
		
		
		
	work on interface
This commit is contained in:
		| @ -26,4 +26,22 @@ ConfigModel { | |||||||
|         icon: "utilities-system-monitor" |         icon: "utilities-system-monitor" | ||||||
|         source: "widget.qml" |         source: "widget.qml" | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     ConfigCategory { | ||||||
|  |         name: i18n("Advanced") | ||||||
|  |         icon: "system-run" | ||||||
|  |         source: "advanced.qml" | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     ConfigCategory { | ||||||
|  |         name: i18n("Appearance") | ||||||
|  |         icon: "preferences-desktop-theme" | ||||||
|  |         source: "appearance.qml" | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     ConfigCategory { | ||||||
|  |         name: i18n("About") | ||||||
|  |         icon: "help-about" | ||||||
|  |         source: "about.qml" | ||||||
|  |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -17,9 +17,6 @@ | |||||||
|     <entry name="background" type="bool"> |     <entry name="background" type="bool"> | ||||||
|       <default>true</default> |       <default>true</default> | ||||||
|     </entry> |     </entry> | ||||||
|     <entry name="popup" type="bool"> |  | ||||||
|       <default>true</default> |  | ||||||
|     </entry> |  | ||||||
|     <entry name="customTime" type="string"> |     <entry name="customTime" type="string"> | ||||||
|       <default>$hh:$mm</default> |       <default>$hh:$mm</default> | ||||||
|     </entry> |     </entry> | ||||||
|  | |||||||
							
								
								
									
										98
									
								
								sources/awesome-widget-kf5/package/contents/ui/about.qml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								sources/awesome-widget-kf5/package/contents/ui/about.qml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,98 @@ | |||||||
|  | /*************************************************************************** | ||||||
|  |  *   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.0 | ||||||
|  | import QtQuick.Controls 1.3 as QtControls | ||||||
|  | import QtQuick.Layouts 1.0 as QtLayouts | ||||||
|  |  | ||||||
|  | import org.kde.plasma.private.awesomewidget 1.0 | ||||||
|  |  | ||||||
|  |  | ||||||
|  | Item { | ||||||
|  |     id: aboutPage | ||||||
|  |     width: childrenRect.width | ||||||
|  |     height: childrenRect.height | ||||||
|  |     implicitWidth: pageColumn.implicitWidth | ||||||
|  |     implicitHeight: pageColumn.implicitHeight | ||||||
|  |  | ||||||
|  |     property bool debug: AWKeys.isDebugEnabled() | ||||||
|  |  | ||||||
|  |     Column { | ||||||
|  |         id: pageColumn | ||||||
|  |         width: units.gridUnit * 25 | ||||||
|  |         QtControls.TabView { | ||||||
|  |             height: parent.height | ||||||
|  |             width: parent.width | ||||||
|  |             QtControls.Tab { | ||||||
|  |                 title: i18n("About") | ||||||
|  |  | ||||||
|  |                 QtLayouts.ColumnLayout { | ||||||
|  |                     QtControls.Label { | ||||||
|  |                         QtLayouts.Layout.fillWidth: true | ||||||
|  |                         horizontalAlignment: Text.AlignHCenter | ||||||
|  |                         text: AWActions.getAboutText("header") | ||||||
|  |                     } | ||||||
|  |  | ||||||
|  |                     QtControls.Label { | ||||||
|  |                         QtLayouts.Layout.fillWidth: true | ||||||
|  |                         horizontalAlignment: Text.AlignJustify | ||||||
|  |                         text: AWActions.getAboutText("description") | ||||||
|  |                     } | ||||||
|  |  | ||||||
|  |                     QtControls.Label { | ||||||
|  |                         QtLayouts.Layout.fillWidth: true | ||||||
|  |                         horizontalAlignment: Text.AlignLeft | ||||||
|  |                         textFormat: Text.RichText | ||||||
|  |                         text: AWActions.getAboutText("links") | ||||||
|  |                     } | ||||||
|  |  | ||||||
|  |                     QtControls.Label { | ||||||
|  |                         QtLayouts.Layout.fillWidth: true | ||||||
|  |                         font.capitalization: Font.SmallCaps | ||||||
|  |                         horizontalAlignment: Text.AlignHCenter | ||||||
|  |                         textFormat: Text.RichText | ||||||
|  |                         text: AWActions.getAboutText("copy") | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |  | ||||||
|  |             QtControls.Tab { | ||||||
|  |                 title: i18n("Acknowledgment") | ||||||
|  |  | ||||||
|  |                 QtLayouts.ColumnLayout { | ||||||
|  |                     QtControls.Label { | ||||||
|  |                         QtLayouts.Layout.fillWidth: true | ||||||
|  |                         wrapMode: Text.WordWrap | ||||||
|  |                         horizontalAlignment: Text.AlignJustify | ||||||
|  |                         text: AWActions.getAboutText("translators") | ||||||
|  |                     } | ||||||
|  |  | ||||||
|  |                     QtControls.Label { | ||||||
|  |                         QtLayouts.Layout.fillWidth: true | ||||||
|  |                         horizontalAlignment: Text.AlignJustify | ||||||
|  |                         textFormat: Text.RichText | ||||||
|  |                         text: AWActions.getAboutText("3rdparty") | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     Component.onCompleted: { | ||||||
|  |         if (debug) console.log("[about::onCompleted]") | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										170
									
								
								sources/awesome-widget-kf5/package/contents/ui/advanced.qml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										170
									
								
								sources/awesome-widget-kf5/package/contents/ui/advanced.qml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,170 @@ | |||||||
|  | /*************************************************************************** | ||||||
|  |  *   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.0 | ||||||
|  | import QtQuick.Controls 1.3 as QtControls | ||||||
|  | import QtQuick.Layouts 1.0 as QtLayouts | ||||||
|  | import QtQuick.Controls.Styles 1.3 as QtStyles | ||||||
|  |  | ||||||
|  | import org.kde.plasma.private.awesomewidget 1.0 | ||||||
|  |  | ||||||
|  |  | ||||||
|  | Item { | ||||||
|  |     id: advancedPage | ||||||
|  |     width: childrenRect.width | ||||||
|  |     height: childrenRect.height | ||||||
|  |     implicitWidth: pageColumn.implicitWidth | ||||||
|  |     implicitHeight: pageColumn.implicitHeight | ||||||
|  |  | ||||||
|  |     property bool debug: AWKeys.isDebugEnabled() | ||||||
|  |  | ||||||
|  |     property alias cfg_background: background.checked | ||||||
|  |     property alias cfg_customTime: customTime.text | ||||||
|  |     property alias cfg_customUptime: customUptime.text | ||||||
|  |     property string cfg_tempUnits: tempUnits.currentText | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     Column { | ||||||
|  |         id: pageColumn | ||||||
|  |         width: units.gridUnit * 25 | ||||||
|  |         Row { | ||||||
|  |             height: implicitHeight | ||||||
|  |             width: parent.width | ||||||
|  |             QtControls.Label { | ||||||
|  |                 height: parent.heigth | ||||||
|  |                 width: parent.width * 2 / 5 | ||||||
|  |             } | ||||||
|  |             QtControls.CheckBox { | ||||||
|  |                 id: background | ||||||
|  |                 width: parent.width * 3 / 5 | ||||||
|  |                 text: i18n("Enable background") | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         Row { | ||||||
|  |             height: implicitHeight | ||||||
|  |             width: parent.width | ||||||
|  |             QtControls.Label { | ||||||
|  |                 height: parent.height | ||||||
|  |                 width: parent.width * 2 / 5 | ||||||
|  |                 horizontalAlignment: Text.AlignRight | ||||||
|  |                 verticalAlignment: Text.AlignVCenter | ||||||
|  |                 text: i18n("Custom time format") | ||||||
|  |             } | ||||||
|  |             QtControls.TextField { | ||||||
|  |                 id: customTime | ||||||
|  |                 width: parent.width * 3 / 5 | ||||||
|  |                 text: plasmoid.configuration.customTime | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         Row { | ||||||
|  |             height: implicitHeight | ||||||
|  |             width: parent.width | ||||||
|  |             QtControls.Label { | ||||||
|  |                 height: parent.height | ||||||
|  |                 width: parent.width * 2 / 5 | ||||||
|  |                 horizontalAlignment: Text.AlignRight | ||||||
|  |                 verticalAlignment: Text.AlignVCenter | ||||||
|  |                 text: i18n("Custom uptime format") | ||||||
|  |             } | ||||||
|  |             QtControls.TextField { | ||||||
|  |                 id: customUptime | ||||||
|  |                 width: parent.width * 3 / 5 | ||||||
|  |                 text: plasmoid.configuration.customUptime | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         Row { | ||||||
|  |             height: implicitHeight | ||||||
|  |             width: parent.width | ||||||
|  |             QtControls.Label { | ||||||
|  |                 height: parent.height | ||||||
|  |                 width: parent.width * 2 / 5 | ||||||
|  |                 horizontalAlignment: Text.AlignRight | ||||||
|  |                 verticalAlignment: Text.AlignVCenter | ||||||
|  |                 text: i18n("Temperature units") | ||||||
|  |             } | ||||||
|  |             QtControls.ComboBox { | ||||||
|  |                 id: tempUnits | ||||||
|  |                 width: parent.width * 3 / 5 | ||||||
|  |                 textRole: "label" | ||||||
|  |                 model: [ | ||||||
|  |                     { | ||||||
|  |                         'label': i18n("Celsius"), | ||||||
|  |                         'name': "Celsius" | ||||||
|  |                     }, | ||||||
|  |                     { | ||||||
|  |                         'label': i18n("Fahrenheit"), | ||||||
|  |                         'name': "Fahrenheit" | ||||||
|  |                     }, | ||||||
|  |                     { | ||||||
|  |                         'label': i18n("Kelvin"), | ||||||
|  |                         'name': "Kelvin" | ||||||
|  |                     }, | ||||||
|  |                     { | ||||||
|  |                         'label': i18n("Reaumur"), | ||||||
|  |                         'name': "Reaumur" | ||||||
|  |                     }, | ||||||
|  |                     { | ||||||
|  |                         'label': i18n("cm^-1"), | ||||||
|  |                         'name': "cm^-1" | ||||||
|  |                     }, | ||||||
|  |                     { | ||||||
|  |                         'label': i18n("kJ/mol"), | ||||||
|  |                         'name': "kJ/mol" | ||||||
|  |                     }, | ||||||
|  |                     { | ||||||
|  |                         'label': i18n("kcal/mol"), | ||||||
|  |                         'name': "kcal/mol" | ||||||
|  |                     } | ||||||
|  |                 ] | ||||||
|  |                 onCurrentIndexChanged: cfg_tempUnits = model[currentIndex]["name"] | ||||||
|  |                 Component.onCompleted: { | ||||||
|  |                     for (var i = 0; i < model.length; i++) { | ||||||
|  |                         if (model[i]["name"] == plasmoid.configuration.tempUnits) { | ||||||
|  |                             tempUnits.currentIndex = i; | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         Row { | ||||||
|  |             height: implicitHeight | ||||||
|  |             width: parent.width | ||||||
|  |             QtControls.Label { | ||||||
|  |                 height: implicitHeight | ||||||
|  |                 width: parent.width * 2 / 5 | ||||||
|  |                 horizontalAlignment: Text.AlignRight | ||||||
|  |                 verticalAlignment: Text.AlignVCenter | ||||||
|  |                 text: i18n("Temperature devices") | ||||||
|  |             } | ||||||
|  |             QtControls.Button { | ||||||
|  |                 width: parent.width * 3 / 5 | ||||||
|  |                 text: i18n("Select devices") | ||||||
|  |                 onClicked: plasmoid.configuration.customNetdev = AWActions.selectDevices(AWActions.getNetworkDevices(), | ||||||
|  |                                                                                          plasmoid.configuration.customNetdev.split("@@")) | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     Component.onCompleted: { | ||||||
|  |         if (debug) console.log("[advanced::onCompleted]") | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										240
									
								
								sources/awesome-widget-kf5/package/contents/ui/appearance.qml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										240
									
								
								sources/awesome-widget-kf5/package/contents/ui/appearance.qml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,240 @@ | |||||||
|  | /*************************************************************************** | ||||||
|  |  *   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.0 | ||||||
|  | import QtQuick.Controls 1.3 as QtControls | ||||||
|  | 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.private.awesomewidget 1.0 | ||||||
|  |  | ||||||
|  |  | ||||||
|  | Item { | ||||||
|  |     id: appearancePage | ||||||
|  |     width: childrenRect.width | ||||||
|  |     height: childrenRect.height | ||||||
|  |     implicitWidth: pageColumn.implicitWidth | ||||||
|  |     implicitHeight: pageColumn.implicitHeight | ||||||
|  |  | ||||||
|  |     property bool debug: AWKeys.isDebugEnabled() | ||||||
|  |     property variant weight: { | ||||||
|  |         25: 0, | ||||||
|  |         50: 1, | ||||||
|  |         63: 3, | ||||||
|  |         75: 4, | ||||||
|  |         87: 5 | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     property alias cfg_interval: update.value | ||||||
|  |     property alias cfg_fontFamily: selectFont.text | ||||||
|  |     property alias cfg_fontSize: fontSize.value | ||||||
|  |     property string cfg_fontWeight: fontWeight.currentText | ||||||
|  |     property string cfg_fontStyle: fontStyle.currentText | ||||||
|  |     property alias cfg_fontColor: selectColor.text | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     Column { | ||||||
|  |         id: pageColumn | ||||||
|  |         width: units.gridUnit * 25 | ||||||
|  |         Row { | ||||||
|  |             height: implicitHeight | ||||||
|  |             width: parent.width | ||||||
|  |             QtControls.Label { | ||||||
|  |                 height: parent.height | ||||||
|  |                 width: parent.width / 3 | ||||||
|  |                 horizontalAlignment: Text.AlignRight | ||||||
|  |                 verticalAlignment: Text.AlignVCenter | ||||||
|  |                 text: i18n("Time interval") | ||||||
|  |             } | ||||||
|  |             QtControls.SpinBox { | ||||||
|  |                 id: update | ||||||
|  |                 width: parent.width * 2 / 3 | ||||||
|  |                 minimumValue: 1000 | ||||||
|  |                 maximumValue: 10000 | ||||||
|  |                 stepSize: 500 | ||||||
|  |                 value: plasmoid.configuration.interval | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         Row { | ||||||
|  |             height: implicitHeight | ||||||
|  |             width: parent.width | ||||||
|  |             QtControls.Label { | ||||||
|  |                 height: parent.height | ||||||
|  |                 width: parent.width / 3 | ||||||
|  |                 horizontalAlignment: Text.AlignRight | ||||||
|  |                 verticalAlignment: Text.AlignVCenter | ||||||
|  |                 text: i18n("Font") | ||||||
|  |             } | ||||||
|  |             QtControls.Button { | ||||||
|  |                 id: selectFont | ||||||
|  |                 width: parent.width * 2 / 3 | ||||||
|  |                 text: plasmoid.configuration.fontFamily | ||||||
|  |                 onClicked: fontDialog.visible = true | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         Row { | ||||||
|  |             height: implicitHeight | ||||||
|  |             width: parent.width | ||||||
|  |             QtControls.Label { | ||||||
|  |                 height: parent.height | ||||||
|  |                 width: parent.width / 3 | ||||||
|  |                 horizontalAlignment: Text.AlignRight | ||||||
|  |                 verticalAlignment: Text.AlignVCenter | ||||||
|  |                 text: i18n("Font size") | ||||||
|  |             } | ||||||
|  |             QtControls.SpinBox { | ||||||
|  |                 id: fontSize | ||||||
|  |                 width: parent.width * 2 / 3 | ||||||
|  |                 minimumValue: 8 | ||||||
|  |                 maximumValue: 32 | ||||||
|  |                 stepSize: 1 | ||||||
|  |                 value: plasmoid.configuration.fontSize | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         Row { | ||||||
|  |             height: implicitHeight | ||||||
|  |             width: parent.width | ||||||
|  |             QtControls.Label { | ||||||
|  |                 height: parent.height | ||||||
|  |                 width: parent.width / 3 | ||||||
|  |                 horizontalAlignment: Text.AlignRight | ||||||
|  |                 verticalAlignment: Text.AlignVCenter | ||||||
|  |                 text: i18n("Font weight") | ||||||
|  |             } | ||||||
|  |             QtControls.ComboBox { | ||||||
|  |                 id: fontWeight | ||||||
|  |                 width: parent.width * 2 / 3 | ||||||
|  |                 textRole: "label" | ||||||
|  |                 model: [ | ||||||
|  |                     { | ||||||
|  |                         'label': i18n("light"), | ||||||
|  |                         'name': "light" | ||||||
|  |                     }, | ||||||
|  |                     { | ||||||
|  |                         'label': i18n("normal"), | ||||||
|  |                         'name': "normal" | ||||||
|  |                     }, | ||||||
|  |                     { | ||||||
|  |                         'label': i18n("demi bold"), | ||||||
|  |                         'name': "demibold" | ||||||
|  |                     }, | ||||||
|  |                     { | ||||||
|  |                         'label': i18n("bold"), | ||||||
|  |                         'name': "bold" | ||||||
|  |                     }, | ||||||
|  |                     { | ||||||
|  |                         'label': i18n("black"), | ||||||
|  |                         'name': "black" | ||||||
|  |                     } | ||||||
|  |                 ] | ||||||
|  |                 onCurrentIndexChanged: cfg_fontWeight = model[currentIndex]["name"] | ||||||
|  |                 Component.onCompleted: { | ||||||
|  |                     for (var i = 0; i < model.length; i++) { | ||||||
|  |                         if (model[i]["name"] == plasmoid.configuration.fontWeight) { | ||||||
|  |                             fontWeight.currentIndex = i; | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         Row { | ||||||
|  |             height: implicitHeight | ||||||
|  |             width: parent.width | ||||||
|  |             QtControls.Label { | ||||||
|  |                 height: parent.height | ||||||
|  |                 width: parent.width / 3 | ||||||
|  |                 horizontalAlignment: Text.AlignRight | ||||||
|  |                 verticalAlignment: Text.AlignVCenter | ||||||
|  |                 text: i18n("Font style") | ||||||
|  |             } | ||||||
|  |             QtControls.ComboBox { | ||||||
|  |                 id: fontStyle | ||||||
|  |                 width: parent.width * 2 / 3 | ||||||
|  |                 textRole: "label" | ||||||
|  |                 model: [ | ||||||
|  |                     { | ||||||
|  |                         'label': i18n("normal"), | ||||||
|  |                         'name': "normal" | ||||||
|  |                     }, | ||||||
|  |                     { | ||||||
|  |                         'label': i18n("italic"), | ||||||
|  |                         'name': "italic" | ||||||
|  |                     } | ||||||
|  |                 ] | ||||||
|  |                 onCurrentIndexChanged: cfg_fontStyle = model[currentIndex]["name"] | ||||||
|  |                 Component.onCompleted: { | ||||||
|  |                     for (var i = 0; i < model.length; i++) { | ||||||
|  |                         if (model[i]["name"] == plasmoid.configuration.fontStyle) { | ||||||
|  |                             fontStyle.currentIndex = i; | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         Row { | ||||||
|  |             height: implicitHeight | ||||||
|  |             width: parent.width | ||||||
|  |             QtControls.Label { | ||||||
|  |                 height: parent.height | ||||||
|  |                 width: parent.width / 3 | ||||||
|  |                 horizontalAlignment: Text.AlignRight | ||||||
|  |                 verticalAlignment: Text.AlignVCenter | ||||||
|  |                 text: i18n("Font color") | ||||||
|  |             } | ||||||
|  |             QtControls.Button { | ||||||
|  |                 id: selectColor | ||||||
|  |                 width: parent.width * 2 / 3 | ||||||
|  |                 style: QtStyles.ButtonStyle { | ||||||
|  |                     background: Rectangle { | ||||||
|  |                         color: plasmoid.configuration.fontColor | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |                 text: plasmoid.configuration.fontColor | ||||||
|  |                 onClicked: colorDialog.visible = true | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     QtDialogs.ColorDialog { | ||||||
|  |         id: colorDialog | ||||||
|  |         title: i18n("Select a color") | ||||||
|  |         color: selectColor.text | ||||||
|  |         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 }) | ||||||
|  |         onAccepted: { | ||||||
|  |             selectFont.text = fontDialog.font.family | ||||||
|  |             fontSize.value = fontDialog.font.pointSize | ||||||
|  |             fontStyle.currentIndex = fontDialog.font.italic ? 1 : 0 | ||||||
|  |             fontWeight.currentIndex = weight[fontDialog.font.weight] | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     Component.onCompleted: { | ||||||
|  |         if (debug) console.log("[appearance::onCompleted]") | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -96,7 +96,7 @@ Item { | |||||||
|         onNewData: { |         onNewData: { | ||||||
|             if (debug) console.log("[main::onNewData] : Update source " + sourceName) |             if (debug) console.log("[main::onNewData] : Update source " + sourceName) | ||||||
|  |  | ||||||
|             if ((data.value == "N\\A") || (data.value == "")) return |             if (!AWActions.checkKeys(data)) return | ||||||
|             if (AWKeys.isReady()) AWKeys.setDataBySource(sourceName, data, settings) |             if (AWKeys.isReady()) AWKeys.setDataBySource(sourceName, data, settings) | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @ -116,7 +116,7 @@ Item { | |||||||
|         onNewData: { |         onNewData: { | ||||||
|             if (debug) console.log("[main::onNewData] : Update source " + sourceName) |             if (debug) console.log("[main::onNewData] : Update source " + sourceName) | ||||||
|  |  | ||||||
|             if ((data.value == "N\\A") || (data.value == "")) return |             if (!AWActions.checkKeys(data)) return | ||||||
|             if (AWKeys.isReady()) AWKeys.setDataBySource(sourceName, data, settings) |             if (AWKeys.isReady()) AWKeys.setDataBySource(sourceName, data, settings) | ||||||
|             // update |             // update | ||||||
|             if (sourceName == "update") needUpdate() |             if (sourceName == "update") needUpdate() | ||||||
| @ -132,7 +132,7 @@ Item { | |||||||
|         onNewData: { |         onNewData: { | ||||||
|             if (debug) console.log("[main::onNewData] : Update source " + sourceName) |             if (debug) console.log("[main::onNewData] : Update source " + sourceName) | ||||||
|  |  | ||||||
|             if ((data.value == "N\\A") || (data.value == "")) return |             if (!AWActions.checkKeys(data)) return | ||||||
|             if (AWKeys.isReady()) AWKeys.setDataBySource(sourceName, data, settings) |             if (AWKeys.isReady()) AWKeys.setDataBySource(sourceName, data, settings) | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -15,7 +15,6 @@ Icon=utilities-system-monitor | |||||||
| X-KDE-ServiceTypes=Plasma/Applet | X-KDE-ServiceTypes=Plasma/Applet | ||||||
| X-Plasma-API=declarativeappletscript | X-Plasma-API=declarativeappletscript | ||||||
| X-Plasma-MainScript=ui/main.qml | X-Plasma-MainScript=ui/main.qml | ||||||
| X-Plasma-NotificationArea=true |  | ||||||
| X-Plasma-RemoteLocation= | X-Plasma-RemoteLocation= | ||||||
|  |  | ||||||
| X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis | X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis | ||||||
|  | |||||||
| @ -23,8 +23,11 @@ | |||||||
| #include <QDebug> | #include <QDebug> | ||||||
| #include <QDesktopServices> | #include <QDesktopServices> | ||||||
| #include <QDir> | #include <QDir> | ||||||
|  | #include <QHBoxLayout> | ||||||
|  | #include <QListWidget> | ||||||
| #include <QMessageBox> | #include <QMessageBox> | ||||||
| #include <QNetworkAccessManager> | #include <QNetworkAccessManager> | ||||||
|  | #include <QNetworkInterface> | ||||||
| #include <QNetworkRequest> | #include <QNetworkRequest> | ||||||
| #include <QNetworkReply> | #include <QNetworkReply> | ||||||
| #include <QProcess> | #include <QProcess> | ||||||
| @ -57,6 +60,15 @@ AWActions::~AWActions() | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | bool AWActions::checkKeys(const QMap<QString, QVariant> data) | ||||||
|  | { | ||||||
|  |     if (debug) qDebug() << PDEBUG; | ||||||
|  |     if (debug) qDebug() << PDEBUG << ":" << "Data" << data; | ||||||
|  |  | ||||||
|  |     return (data.count() != 0); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
| void AWActions::checkUpdates() | void AWActions::checkUpdates() | ||||||
| { | { | ||||||
|     if (debug) qDebug() << PDEBUG; |     if (debug) qDebug() << PDEBUG; | ||||||
| @ -124,10 +136,49 @@ void AWActions::addDevice(const QString source) | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | QString AWActions::getAboutText(const QString type) | ||||||
|  | { | ||||||
|  |     if (debug) qDebug() << PDEBUG; | ||||||
|  |     if (debug) qDebug() << PDEBUG << ":" << "Type" << type; | ||||||
|  |  | ||||||
|  |     QString text; | ||||||
|  |     if (type == QString("header")) | ||||||
|  |         text = QString(NAME); | ||||||
|  |     else if (type == QString("description")) | ||||||
|  |         text = i18n("A set of minimalistic plasmoid widgets"); | ||||||
|  |     else if (type == QString("links")) | ||||||
|  |         text = i18n("Links:") + QString("<br>") + | ||||||
|  |                QString("<a href=\"%1\">%2</a><br>").arg(QString(HOMEPAGE)).arg(i18n("Homepage")) + | ||||||
|  |                QString("<a href=\"%1\">%2</a><br>").arg(QString(REPOSITORY)).arg(i18n("Repository")) + | ||||||
|  |                QString("<a href=\"%1\">%2</a><br>").arg(QString(BUGTRACKER)).arg(i18n("Bugtracker")) + | ||||||
|  |                QString("<a href=\"%1\">%2</a><br>").arg(QString(TRANSLATION)).arg(i18n("Translation issue")) + | ||||||
|  |                QString("<a href=\"%1\">%2</a><br>").arg(QString(AUR_PACKAGES)).arg(i18n("AUR packages")) + | ||||||
|  |                QString("<a href=\"%1\">%2</a>").arg(QString(OPENSUSE_PACKAGES)).arg(i18n("openSUSE packages")); | ||||||
|  |     else if (type == QString("copy")) | ||||||
|  |         text = QString("<small>© %1 <a href=\"mailto:%2\">%3</a><br>").arg(QString(DATE)).arg(QString(EMAIL)).arg(QString(AUTHOR)) + | ||||||
|  |                i18n("This software is licensed under %1", QString(LICENSE)) + QString("</small>"); | ||||||
|  |     else if (type == QString("translators")) | ||||||
|  |         text = i18n("Translators: %1", QString(TRANSLATORS)); | ||||||
|  |     else if (type == QString("3rdparty")) { | ||||||
|  |         QStringList trdPartyList = QString(TRDPARTY_LICENSE).split(QChar(';'), QString::SkipEmptyParts); | ||||||
|  |         for (int i=0; i<trdPartyList.count(); i++) | ||||||
|  |             trdPartyList[i] = QString("<a href=\"%3\">%1</a> (%2 license)") | ||||||
|  |                     .arg(trdPartyList[i].split(QChar(','))[0]) | ||||||
|  |                     .arg(trdPartyList[i].split(QChar(','))[1]) | ||||||
|  |                     .arg(trdPartyList[i].split(QChar(','))[2]); | ||||||
|  |         text = i18n("This software uses: %1", trdPartyList.join(QString(", "))); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     return text; | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
| QStringList AWActions::getDiskDevices() | QStringList AWActions::getDiskDevices() | ||||||
| { | { | ||||||
|     if (debug) qDebug() << PDEBUG; |     if (debug) qDebug() << PDEBUG; | ||||||
|  |  | ||||||
|  |     diskDevices.sort(); | ||||||
|  |  | ||||||
|     return diskDevices; |     return diskDevices; | ||||||
| } | } | ||||||
|  |  | ||||||
| @ -136,6 +187,8 @@ QStringList AWActions::getFanDevices() | |||||||
| { | { | ||||||
|     if (debug) qDebug() << PDEBUG; |     if (debug) qDebug() << PDEBUG; | ||||||
|  |  | ||||||
|  |     fanDevices.sort(); | ||||||
|  |  | ||||||
|     return fanDevices; |     return fanDevices; | ||||||
| } | } | ||||||
|  |  | ||||||
| @ -148,6 +201,7 @@ QStringList AWActions::getHddDevices() | |||||||
|     QStringList devices = allDevices.filter(QRegExp(QString("^[hms]d[a-z]$"))); |     QStringList devices = allDevices.filter(QRegExp(QString("^[hms]d[a-z]$"))); | ||||||
|     for (int i=0; i<devices.count(); i++) |     for (int i=0; i<devices.count(); i++) | ||||||
|         devices[i] = QString("/dev/") + devices[i]; |         devices[i] = QString("/dev/") + devices[i]; | ||||||
|  |     devices.sort(); | ||||||
|  |  | ||||||
|     return devices; |     return devices; | ||||||
| } | } | ||||||
| @ -157,14 +211,32 @@ QStringList AWActions::getMountDevices() | |||||||
| { | { | ||||||
|     if (debug) qDebug() << PDEBUG; |     if (debug) qDebug() << PDEBUG; | ||||||
|  |  | ||||||
|  |     mountDevices.sort(); | ||||||
|  |  | ||||||
|     return mountDevices; |     return mountDevices; | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | QStringList AWActions::getNetworkDevices() | ||||||
|  | { | ||||||
|  |     if (debug) qDebug() << PDEBUG; | ||||||
|  |  | ||||||
|  |     QStringList interfaceList; | ||||||
|  |     QList<QNetworkInterface> rawInterfaceList = QNetworkInterface::allInterfaces(); | ||||||
|  |     for (int i=0; i<rawInterfaceList.count(); i++) | ||||||
|  |         interfaceList.append(rawInterfaceList[i].name()); | ||||||
|  |     interfaceList.sort(); | ||||||
|  |  | ||||||
|  |     return interfaceList; | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
| QStringList AWActions::getTempDevices() | QStringList AWActions::getTempDevices() | ||||||
| { | { | ||||||
|     if (debug) qDebug() << PDEBUG; |     if (debug) qDebug() << PDEBUG; | ||||||
|  |  | ||||||
|  |     tempDevices.sort(); | ||||||
|  |  | ||||||
|     return tempDevices; |     return tempDevices; | ||||||
| } | } | ||||||
|  |  | ||||||
| @ -187,6 +259,45 @@ QMap<QString, QVariant> AWActions::getFont(const QMap<QString, QVariant> default | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | QString AWActions::selectDevices(const QStringList source, const QStringList current) | ||||||
|  | { | ||||||
|  |     if (debug) qDebug() << PDEBUG; | ||||||
|  |  | ||||||
|  |     // paint | ||||||
|  |     QDialog *dialog = new QDialog(0); | ||||||
|  |     QListWidget *widget = new QListWidget(dialog); | ||||||
|  |     QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, | ||||||
|  |                                                     Qt::Horizontal, dialog); | ||||||
|  |     QHBoxLayout *layout = new QHBoxLayout(dialog); | ||||||
|  |     layout->addWidget(widget); | ||||||
|  |     layout->addWidget(buttons); | ||||||
|  |     dialog->setLayout(layout); | ||||||
|  |  | ||||||
|  |     // fill | ||||||
|  |     for (int i=0; i<source.count(); i++) { | ||||||
|  |         QListWidgetItem *item = new QListWidgetItem(source[i]); | ||||||
|  |         if (current.contains(source[i])) | ||||||
|  |             item->setCheckState(Qt::Checked); | ||||||
|  |         else | ||||||
|  |             item->setCheckState(Qt::Unchecked); | ||||||
|  |         widget->addItem(item); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     // exec | ||||||
|  |     QStringList selected; | ||||||
|  |     int ret = dialog->exec(); | ||||||
|  |     if (ret == QDialog::Accepted) { | ||||||
|  |         for (int i=0; i<widget->count(); i++) | ||||||
|  |             if (widget->item(i)->checkState() == Qt::Checked) | ||||||
|  |                 selected.append(widget->item(i)->text()); | ||||||
|  |     } else | ||||||
|  |         selected = current; | ||||||
|  |     delete dialog; | ||||||
|  |  | ||||||
|  |     return selected.join(QString("@@")); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
| QMap<QString, QVariant> AWActions::readDataEngineConfiguration() | QMap<QString, QVariant> AWActions::readDataEngineConfiguration() | ||||||
| { | { | ||||||
|     if (debug) qDebug() << PDEBUG; |     if (debug) qDebug() << PDEBUG; | ||||||
|  | |||||||
| @ -34,18 +34,22 @@ public: | |||||||
|     AWActions(QObject *parent = 0); |     AWActions(QObject *parent = 0); | ||||||
|     ~AWActions(); |     ~AWActions(); | ||||||
|  |  | ||||||
|  |     Q_INVOKABLE bool checkKeys(const QMap<QString, QVariant> data); | ||||||
|     Q_INVOKABLE void checkUpdates(); |     Q_INVOKABLE void checkUpdates(); | ||||||
|     Q_INVOKABLE void runCmd(const QString cmd = QString("/usr/bin/true")); |     Q_INVOKABLE void runCmd(const QString cmd = QString("/usr/bin/true")); | ||||||
|     Q_INVOKABLE void sendNotification(const QString eventId, const QString message); |     Q_INVOKABLE void sendNotification(const QString eventId, const QString message); | ||||||
|     Q_INVOKABLE void showReadme(); |     Q_INVOKABLE void showReadme(); | ||||||
|     // configuration slots |     // configuration slots | ||||||
|     Q_INVOKABLE void addDevice(const QString source); |     Q_INVOKABLE void addDevice(const QString source); | ||||||
|  |     Q_INVOKABLE QString getAboutText(const QString type = "header"); | ||||||
|     Q_INVOKABLE QStringList getDiskDevices(); |     Q_INVOKABLE QStringList getDiskDevices(); | ||||||
|     Q_INVOKABLE QStringList getFanDevices(); |     Q_INVOKABLE QStringList getFanDevices(); | ||||||
|     Q_INVOKABLE QStringList getHddDevices(); |     Q_INVOKABLE QStringList getHddDevices(); | ||||||
|     Q_INVOKABLE QStringList getMountDevices(); |     Q_INVOKABLE QStringList getMountDevices(); | ||||||
|  |     Q_INVOKABLE QStringList getNetworkDevices(); | ||||||
|     Q_INVOKABLE QStringList getTempDevices(); |     Q_INVOKABLE QStringList getTempDevices(); | ||||||
|     Q_INVOKABLE QMap<QString, QVariant> getFont(const QMap<QString, QVariant> defaultFont); |     Q_INVOKABLE QMap<QString, QVariant> getFont(const QMap<QString, QVariant> defaultFont); | ||||||
|  |     Q_INVOKABLE QString selectDevices(const QStringList source, const QStringList current); | ||||||
|     // dataengine |     // dataengine | ||||||
|     Q_INVOKABLE QMap<QString, QVariant> readDataEngineConfiguration(); |     Q_INVOKABLE QMap<QString, QVariant> readDataEngineConfiguration(); | ||||||
|     Q_INVOKABLE void writeDataEngineConfiguration(const QMap<QString, QVariant> configuration); |     Q_INVOKABLE void writeDataEngineConfiguration(const QMap<QString, QVariant> configuration); | ||||||
|  | |||||||
| @ -21,6 +21,7 @@ | |||||||
| #define BUGTRACKER "https://github.com/arcan1s/awesome-widgets/issues" | #define BUGTRACKER "https://github.com/arcan1s/awesome-widgets/issues" | ||||||
| #define TRANSLATION "https://github.com/arcan1s/awesome-widgets/issues/14" | #define TRANSLATION "https://github.com/arcan1s/awesome-widgets/issues/14" | ||||||
| #define AUR_PACKAGES "https://aur.archlinux.org/packages/kdeplasma-applets-awesome-widgets/" | #define AUR_PACKAGES "https://aur.archlinux.org/packages/kdeplasma-applets-awesome-widgets/" | ||||||
|  | #define OPENSUSE_PACKAGES "http://software.opensuse.org/package/awesome-widgets" | ||||||
|  |  | ||||||
| // build information | // build information | ||||||
| #define BUILD_DATE "@CURRENT_DATE@" | #define BUILD_DATE "@CURRENT_DATE@" | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user