initial plasma6 support

This commit is contained in:
2024-03-07 12:09:46 +02:00
parent eecb128865
commit 4d01b87088
176 changed files with 2569 additions and 3795 deletions

View File

@ -15,7 +15,7 @@
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.0
import QtQuick 2.15
import org.kde.plasma.configuration 2.0

View File

@ -7,88 +7,88 @@
<group name="Widget">
<!-- widget -->
<entry name="text" type="string">
<entry name="text" type="String">
<default>[$mark$number/$total: $name]</default>
</entry>
</group>
<group name="Advanced">
<!-- advanced -->
<entry name="background" type="bool">
<entry name="background" type="Bool">
<default>true</default>
</entry>
<entry name="verticalLayout" type="bool">
<entry name="verticalLayout" type="Bool">
<default>false</default>
</entry>
<entry name="height" type="int">
<entry name="height" type="Int">
<default>0</default>
</entry>
<entry name="width" type="int">
<entry name="width" type="Int">
<default>0</default>
</entry>
<entry name="mark" type="string">
<entry name="mark" type="String">
<default>¤</default>
</entry>
<entry name="tooltipType" type="string">
<entry name="tooltipType" type="String">
<default>contours</default>
</entry>
<entry name="tooltipWidth" type="int">
<entry name="tooltipWidth" type="Int">
<default>200</default>
</entry>
<entry name="tooltipColor" type="string">
<entry name="tooltipColor" type="String">
<default>#ffffff</default>
</entry>
</group>
<group name="Appearance">
<!-- appearance -->
<entry name="textAlign" type="string">
<entry name="textAlign" type="String">
<default>center</default>
</entry>
<entry name="fontFamily" type="string">
<entry name="fontFamily" type="String">
<default>Terminus</default>
</entry>
<entry name="fontSize" type="int">
<entry name="fontSize" type="Int">
<default>12</default>
</entry>
<entry name="fontColor" type="string">
<entry name="fontColor" type="String">
<default>#000000</default>
</entry>
<entry name="fontWeight" type="string">
<entry name="fontWeight" type="String">
<default>normal</default>
</entry>
<entry name="fontStyle" type="string">
<entry name="fontStyle" type="String">
<default>normal</default>
</entry>
<entry name="textStyle" type="string">
<entry name="textStyle" type="String">
<default>normal</default>
</entry>
<entry name="textStyleColor" type="string">
<entry name="textStyleColor" type="String">
<default>#000000</default>
</entry>
<!-- current -->
<entry name="currentTextAlign" type="string">
<entry name="currentTextAlign" type="String">
<default>center</default>
</entry>
<entry name="currentFontFamily" type="string">
<entry name="currentFontFamily" type="String">
<default>Terminus</default>
</entry>
<entry name="currentFontSize" type="int">
<entry name="currentFontSize" type="Int">
<default>12</default>
</entry>
<entry name="currentFontColor" type="string">
<entry name="currentFontColor" type="String">
<default>#ff0000</default>
</entry>
<entry name="currentFontWeight" type="string">
<entry name="currentFontWeight" type="String">
<default>normal</default>
</entry>
<entry name="currentFontStyle" type="string">
<entry name="currentFontStyle" type="String">
<default>normal</default>
</entry>
<entry name="currentTextStyle" type="string">
<entry name="currentTextStyle" type="String">
<default>normal</default>
</entry>
<entry name="currentTextStyleColor" type="string">
<entry name="currentTextStyleColor" type="String">
<default>#000000</default>
</entry>
</group>

View File

@ -15,28 +15,21 @@
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.0
import QtQuick 2.15
import org.kde.kcmutils as KCM
import org.kde.plasma.private.desktoppanel 1.0
Item {
KCM.SimpleKCM {
id: aboutPage
// backend
DPAdds {
id: dpAdds
}
width: childrenRect.width
height: childrenRect.height
property bool debug: awActions.isDebugEnabled()
AboutTab {
textProvider: dpAdds
}
Component.onCompleted: {
if (debug) console.debug()
}
}

View File

@ -15,25 +15,15 @@
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.0
import QtQuick 2.15
import org.kde.kcmutils as KCM
import org.kde.plasma.private.desktoppanel 1.0
import "."
Item {
KCM.SimpleKCM {
id: activeAppearancePage
// backend
DPAdds {
id: dpAdds
}
width: childrenRect.width
height: childrenRect.height
implicitWidth: pageColumn.implicitWidth
implicitHeight: pageColumn.implicitHeight
property bool debug: dpAdds.isDebugEnabled()
property alias cfg_currentFontFamily: font.value
property alias cfg_currentFontSize: fontSize.value
@ -43,7 +33,6 @@ Item {
property alias cfg_currentTextStyleColor: selectStyleColor.value
property string cfg_currentTextStyle: textStyle.value
Column {
id: pageColumn
anchors.fill: parent
@ -99,9 +88,4 @@ Item {
value: plasmoid.configuration.currentTextStyleColor
}
}
Component.onCompleted: {
if (debug) console.debug()
}
}

View File

@ -15,25 +15,15 @@
* 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 2.15
import QtQuick.Controls
import org.kde.kcmutils as KCM
import org.kde.plasma.private.desktoppanel 1.0
Item {
KCM.SimpleKCM {
id: advancedPage
// backend
DPAdds {
id: dpAdds
}
width: childrenRect.width
height: childrenRect.height
implicitWidth: pageColumn.implicitWidth
implicitHeight: pageColumn.implicitHeight
property bool debug: dpAdds.isDebugEnabled()
property alias cfg_background: background.checked
property alias cfg_verticalLayout: verticalLayout.checked
@ -44,7 +34,6 @@ Item {
property alias cfg_tooltipWidth: tooltipWidth.value
property alias cfg_tooltipColor: tooltipColor.value
Column {
id: pageColumn
anchors.fill: parent
@ -82,48 +71,48 @@ Item {
editable: true
model: [
{
'label': '#',
'name': '#'
"label": "#",
"name": "#"
},
{
'label': '$',
'name': '$'
"label": "$",
"name": "$"
},
{
'label': '%',
'name': '%'
"label": "%",
"name": "%"
},
{
'label': '&',
'name': '&'
"label": "&",
"name": "&"
},
{
'label': '*',
'name': '*'
"label": "*",
"name": "*"
},
{
'label': '@',
'name': '@'
"label": "@",
"name": "@"
},
{
'label': '¤',
'name': '¤'
"label": "¤",
"name": "¤"
},
{
'label': '¶',
'name': '¶'
"label": "¶",
"name": "¶"
},
{
'label': '·',
'name': '·'
"label": "·",
"name": "·"
},
{
'label': 'º',
'name': 'º'
"label": "º",
"name": "º"
},
{
'label': plasmoid.configuration.mark,
'name': plasmoid.configuration.mark
"label": plasmoid.configuration.mark,
"name": plasmoid.configuration.mark
}
]
text: i18n("Mark")
@ -131,7 +120,7 @@ Item {
onValueEdited: cfg_mark = newValue
}
QtControls.GroupBox {
GroupBox {
height: implicitHeight
width: parent.width
title: i18n("Tooltip")
@ -144,16 +133,16 @@ Item {
id: tooltipType
model: [
{
'label': i18n("contours"),
'name': "contours"
"label": i18n("contours"),
"name": "contours"
},
{
'label': i18n("names"),
'name': "names"
"label": i18n("names"),
"name": "names"
},
{
'label': i18n("none"),
'name': "none"
"label": i18n("none"),
"name": "none"
}
]
text: i18n("Tooltip type")
@ -178,8 +167,4 @@ Item {
}
}
}
Component.onCompleted: {
if (debug) console.debug()
}
}

View File

@ -15,25 +15,15 @@
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.0
import QtQuick 2.15
import org.kde.kcmutils as KCM
import org.kde.plasma.private.desktoppanel 1.0
import "."
Item {
KCM.SimpleKCM {
id: inactiveAppearancePage
// backend
DPAdds {
id: dpAdds
}
width: childrenRect.width
height: childrenRect.height
implicitWidth: pageColumn.implicitWidth
implicitHeight: pageColumn.implicitHeight
property bool debug: dpAdds.isDebugEnabled()
property alias cfg_fontFamily: font.value
property alias cfg_fontSize: fontSize.value
@ -43,7 +33,6 @@ Item {
property alias cfg_textStyleColor: selectStyleColor.value
property string cfg_textStyle: textStyle.value
Column {
id: pageColumn
anchors.fill: parent
@ -99,9 +88,4 @@ Item {
value: plasmoid.configuration.textStyleColor
}
}
Component.onCompleted: {
if (debug) console.debug()
}
}

View File

@ -15,25 +15,23 @@
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.4
import QtQuick.Controls 1.3 as QtControls
import QtQuick.Layouts 1.1
import QtQuick 2.15
import QtQuick.Controls
import QtQuick.Layouts
import org.kde.plasma.core as PlasmaCore
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.private.desktoppanel 1.0
import "."
Item {
PlasmoidItem {
id: main
// backend
DPAdds {
id: dpAdds
}
property bool debug: dpAdds.isDebugEnabled()
property variant tooltipSettings: {
"tooltipColor": plasmoid.configuration.tooltipColor,
"tooltipType": plasmoid.configuration.tooltipType,
@ -44,17 +42,12 @@ Item {
signal needTooltipUpdate
signal sizeUpdate
// init
Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation
Plasmoid.compactRepresentation: Plasmoid.fullRepresentation
Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter
Plasmoid.icon: "utilities-system-monitor"
Plasmoid.backgroundHints: plasmoid.configuration.background ? "DefaultBackground" : "NoBackground"
// ui
GridLayout {
anchors.fill: parent
@ -101,7 +94,6 @@ Item {
}
}
Timer {
id: timer
interval: 1000
@ -109,19 +101,16 @@ Item {
}
onNeedUpdate: {
if (debug) console.debug()
for (var i=0; i<repeater.count; i++) {
for (let i = 0; i < repeater.count; i++) {
if (!repeater.itemAt(i)) {
if (debug) console.info("Nothing to do here yet", i)
timer.start()
return
}
repeater.itemAt(i).text = dpAdds.parsePattern(plasmoid.configuration.text, i)
if (dpAdds.currentDesktop() == i) {
if (dpAdds.currentDesktop() === i) {
repeater.itemAt(i).color = plasmoid.configuration.currentFontColor
repeater.itemAt(i).font.family = plasmoid.configuration.currentFontFamily
repeater.itemAt(i).font.italic = plasmoid.configuration.currentFontStyle == "italic"
repeater.itemAt(i).font.italic = plasmoid.configuration.currentFontStyle === "italic"
repeater.itemAt(i).font.pointSize = plasmoid.configuration.currentFontSize
repeater.itemAt(i).font.weight = General.fontWeight[plasmoid.configuration.currentFontWeight]
repeater.itemAt(i).style = General.textStyle[plasmoid.configuration.currentTextStyle]
@ -129,7 +118,7 @@ Item {
} else {
repeater.itemAt(i).color = plasmoid.configuration.fontColor
repeater.itemAt(i).font.family = plasmoid.configuration.fontFamily
repeater.itemAt(i).font.italic = plasmoid.configuration.fontStyle == "italic"
repeater.itemAt(i).font.italic = plasmoid.configuration.fontStyle === "italic"
repeater.itemAt(i).font.pointSize = plasmoid.configuration.fontSize
repeater.itemAt(i).font.weight = General.fontWeight[plasmoid.configuration.fontWeight]
repeater.itemAt(i).style = General.textStyle[plasmoid.configuration.textStyle]
@ -143,13 +132,11 @@ Item {
}
onNeedTooltipUpdate: {
if (debug) console.debug()
for (var i=0; i<repeater.count; i++) {
for (let i = 0; i < repeater.count; i++) {
repeater.itemAt(i).tooltip.text = dpAdds.toolTipImage(i)
// resize text tooltip to content size
// this hack does not work for images-based tooltips
if (tooltipSettings.tooltipType == "names") {
if (tooltipSettings.tooltipType === "names") {
repeater.itemAt(i).tooltip.height = repeater.itemAt(i).tooltip.implicitHeight
repeater.itemAt(i).tooltip.width = repeater.itemAt(i).tooltip.implicitWidth
}
@ -157,11 +144,9 @@ Item {
}
onSizeUpdate: {
if (debug) console.debug()
if (plasmoid.configuration.height == 0) {
var newHeight = 0
for (var i=0; i<repeater.count; i++)
if (plasmoid.configuration.height === 0) {
let newHeight = 0
for (let i = 0; i < repeater.count; i++)
newHeight += repeater.itemAt(i).contentHeight
Layout.minimumHeight = newHeight
Layout.maximumHeight = -1
@ -169,9 +154,9 @@ Item {
Layout.minimumHeight = plasmoid.configuration.height
Layout.maximumHeight = plasmoid.configuration.height
}
if (plasmoid.configuration.width == 0) {
var newWidth = 0
for (var i=0; i<repeater.count; i++)
if (plasmoid.configuration.width === 0) {
let newWidth = 0
for (let i = 0; i < repeater.count; i++)
newWidth += repeater.itemAt(i).contentWidth
Layout.minimumWidth = newWidth
Layout.maximumWidth = -1
@ -183,7 +168,6 @@ Item {
Plasmoid.onUserConfiguringChanged: {
if (plasmoid.userConfiguring) return
if (debug) console.debug()
dpAdds.setMark(plasmoid.configuration.mark)
dpAdds.setToolTipData(tooltipSettings)
@ -192,8 +176,6 @@ Item {
}
Component.onCompleted: {
if (debug) console.debug()
// init submodule
Plasmoid.userConfiguringChanged(false)
dpAdds.desktopChanged.connect(needUpdate)

View File

@ -15,29 +15,22 @@
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.0
import QtQuick 2.15
import org.kde.kcmutils as KCM
import org.kde.plasma.private.desktoppanel 1.0
import "."
Item {
KCM.SimpleKCM {
id: widgetPage
// backend
DPAdds {
id: dpAdds
}
width: childrenRect.width
height: childrenRect.height
implicitWidth: pageColumn.implicitWidth
implicitHeight: pageColumn.implicitHeight
property bool debug: dpAdds.isDebugEnabled()
property alias cfg_text: textPattern.text
Column {
id: pageColumn
anchors.fill: parent
@ -60,9 +53,4 @@ Item {
backend: dpAdds
}
}
Component.onCompleted: {
if (debug) console.debug()
}
}

View File

@ -1,26 +0,0 @@
[Desktop Entry]
Encoding=UTF-8
Name=Desktop Panel
Comment=A minimalistic Plasmoid
Comment[en]=A minimalistic Plasmoid
Comment[es]=Un plasmoide minimalista
Comment[es]=Un script Plasmoïde minimaliste
Comment[pt_BR]=Um script Plasmoid
Comment[ru]=Минималистичный плазмоид
Comment[uk]=Мінімалістичний плазмоїд
X-KDE-ServiceTypes=Plasma/Applet
Type=Service
Icon=utilities-system-monitor
X-KDE-ServiceTypes=Plasma/Applet
X-Plasma-API=declarativeappletscript
X-Plasma-MainScript=ui/main.qml
X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis
X-KDE-PluginInfo-Email=esalexeev@gmail.com
X-KDE-PluginInfo-Name=org.kde.plasma.desktoppanel
X-KDE-PluginInfo-Version=3.5.1
X-KDE-PluginInfo-Website=https://arcanis.me/projects/awesome-widgets/
X-KDE-PluginInfo-Category=System Information
X-KDE-PluginInfo-License=GPLv3
X-KDE-PluginInfo-EnabledByDefault=true

View File

@ -0,0 +1,26 @@
{
"KPackageStructure": "Plasma/Applet",
"KPlugin": {
"Authors": [
{
"Email": "esalexeev@gmail.com",
"Name": "Evgeniy Alekseev aka arcanis"
}
],
"Category": "System Information",
"Description": "A minimalistic Plasmoid",
"Description[en]": "A minimalistic Plasmoid",
"Description[es]": "Un script Plasmoïde minimaliste",
"Description[pt_BR]": "Um script Plasmoid",
"Description[ru]": "Минималистичный плазмоид",
"Description[uk]": "Мінімалістичний плазмоїд",
"EnabledByDefault": true,
"Icon": "utilities-system-monitor",
"Id": "org.kde.plasma.desktoppanel",
"License": "GPLv3",
"Name": "Desktop Panel",
"Version": "4.0.0",
"Website": "https://arcanis.me/projects/awesome-widgets/"
},
"X-Plasma-API-Minimum-Version": "6.0"
}