mirror of
https://github.com/arcan1s/awesome-widgets.git
synced 2025-05-04 20:33:48 +00:00
Compare commits
No commits in common. "63f1aa81250f5122991c9bce1b2d5ebcfcd03ab0" and "4fcea42e8efe0e057fa981d4f08a519b34651f40" have entirely different histories.
63f1aa8125
...
4fcea42e8e
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@ -27,10 +27,10 @@ jobs:
|
|||||||
run: pacman -Sy --noconfirm base-devel cmake extra-cmake-modules python util-linux-libs xorg-server-xvfb
|
run: pacman -Sy --noconfirm base-devel cmake extra-cmake-modules python util-linux-libs xorg-server-xvfb
|
||||||
|
|
||||||
- name: install dependencies
|
- name: install dependencies
|
||||||
run: pacman -S --noconfirm plasma-workspace
|
run: pacman -S --noconfirm plasma-workspace ksysguard
|
||||||
|
|
||||||
- name: configure cmake
|
- name: configure cmake
|
||||||
run: cmake -B build -S sources -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBUILD_FUTURE=ON -DBUILD_TESTING=ON
|
run: cmake -B build -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBUILD_FUTURE=ON -DBUILD_TESTING=ON sources
|
||||||
|
|
||||||
- name: build
|
- name: build
|
||||||
working-directory: /repo/build
|
working-directory: /repo/build
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
pkgname=plasma6-applet-awesome-widgets
|
pkgname=plasma6-applet-awesome-widgets
|
||||||
_pkgname=awesome-widgets
|
_pkgname=awesome-widgets
|
||||||
pkgver=4.0.0alpha2
|
pkgver=4.0.0alpha1
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="Collection of minimalistic Plasmoids which look like Awesome WM widgets (ex-PyTextMonitor)"
|
pkgdesc="Collection of minimalistic Plasmoids which look like Awesome WM widgets (ex-PyTextMonitor)"
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
|
284
sensors
Normal file
284
sensors
Normal file
@ -0,0 +1,284 @@
|
|||||||
|
cpu
|
||||||
|
cpu/all
|
||||||
|
cpu/all/averageFrequency
|
||||||
|
cpu/all/averageTemperature
|
||||||
|
cpu/all/coreCount
|
||||||
|
cpu/all/cpuCount
|
||||||
|
cpu/all/maximumFrequency
|
||||||
|
cpu/all/maximumTemperature
|
||||||
|
cpu/all/minimumFrequency
|
||||||
|
cpu/all/minimumTemperature
|
||||||
|
cpu/all/name
|
||||||
|
cpu/all/system
|
||||||
|
cpu/all/usage
|
||||||
|
cpu/all/user
|
||||||
|
cpu/all/wait
|
||||||
|
cpu/cpu0
|
||||||
|
cpu/cpu0/frequency
|
||||||
|
cpu/cpu0/name
|
||||||
|
cpu/cpu0/system
|
||||||
|
cpu/cpu0/temperature
|
||||||
|
cpu/cpu0/usage
|
||||||
|
cpu/cpu0/user
|
||||||
|
cpu/cpu0/wait
|
||||||
|
cpu/cpu1
|
||||||
|
cpu/cpu1/frequency
|
||||||
|
cpu/cpu1/name
|
||||||
|
cpu/cpu1/system
|
||||||
|
cpu/cpu1/temperature
|
||||||
|
cpu/cpu1/usage
|
||||||
|
cpu/cpu1/user
|
||||||
|
cpu/cpu1/wait
|
||||||
|
cpu/cpu10
|
||||||
|
cpu/cpu10/frequency
|
||||||
|
cpu/cpu10/name
|
||||||
|
cpu/cpu10/system
|
||||||
|
cpu/cpu10/temperature
|
||||||
|
cpu/cpu10/usage
|
||||||
|
cpu/cpu10/user
|
||||||
|
cpu/cpu10/wait
|
||||||
|
cpu/cpu11
|
||||||
|
cpu/cpu11/frequency
|
||||||
|
cpu/cpu11/name
|
||||||
|
cpu/cpu11/system
|
||||||
|
cpu/cpu11/temperature
|
||||||
|
cpu/cpu11/usage
|
||||||
|
cpu/cpu11/user
|
||||||
|
cpu/cpu11/wait
|
||||||
|
cpu/cpu12
|
||||||
|
cpu/cpu12/frequency
|
||||||
|
cpu/cpu12/name
|
||||||
|
cpu/cpu12/system
|
||||||
|
cpu/cpu12/temperature
|
||||||
|
cpu/cpu12/usage
|
||||||
|
cpu/cpu12/user
|
||||||
|
cpu/cpu12/wait
|
||||||
|
cpu/cpu13
|
||||||
|
cpu/cpu13/frequency
|
||||||
|
cpu/cpu13/name
|
||||||
|
cpu/cpu13/system
|
||||||
|
cpu/cpu13/temperature
|
||||||
|
cpu/cpu13/usage
|
||||||
|
cpu/cpu13/user
|
||||||
|
cpu/cpu13/wait
|
||||||
|
cpu/cpu14
|
||||||
|
cpu/cpu14/frequency
|
||||||
|
cpu/cpu14/name
|
||||||
|
cpu/cpu14/system
|
||||||
|
cpu/cpu14/temperature
|
||||||
|
cpu/cpu14/usage
|
||||||
|
cpu/cpu14/user
|
||||||
|
cpu/cpu14/wait
|
||||||
|
cpu/cpu15
|
||||||
|
cpu/cpu15/frequency
|
||||||
|
cpu/cpu15/name
|
||||||
|
cpu/cpu15/system
|
||||||
|
cpu/cpu15/temperature
|
||||||
|
cpu/cpu15/usage
|
||||||
|
cpu/cpu15/user
|
||||||
|
cpu/cpu15/wait
|
||||||
|
cpu/cpu16
|
||||||
|
cpu/cpu16/frequency
|
||||||
|
cpu/cpu16/name
|
||||||
|
cpu/cpu16/system
|
||||||
|
cpu/cpu16/temperature
|
||||||
|
cpu/cpu16/usage
|
||||||
|
cpu/cpu16/user
|
||||||
|
cpu/cpu16/wait
|
||||||
|
cpu/cpu17
|
||||||
|
cpu/cpu17/frequency
|
||||||
|
cpu/cpu17/name
|
||||||
|
cpu/cpu17/system
|
||||||
|
cpu/cpu17/temperature
|
||||||
|
cpu/cpu17/usage
|
||||||
|
cpu/cpu17/user
|
||||||
|
cpu/cpu17/wait
|
||||||
|
cpu/cpu18
|
||||||
|
cpu/cpu18/frequency
|
||||||
|
cpu/cpu18/name
|
||||||
|
cpu/cpu18/system
|
||||||
|
cpu/cpu18/temperature
|
||||||
|
cpu/cpu18/usage
|
||||||
|
cpu/cpu18/user
|
||||||
|
cpu/cpu18/wait
|
||||||
|
cpu/cpu19
|
||||||
|
cpu/cpu19/frequency
|
||||||
|
cpu/cpu19/name
|
||||||
|
cpu/cpu19/system
|
||||||
|
cpu/cpu19/temperature
|
||||||
|
cpu/cpu19/usage
|
||||||
|
cpu/cpu19/user
|
||||||
|
cpu/cpu19/wait
|
||||||
|
cpu/cpu2
|
||||||
|
cpu/cpu2/frequency
|
||||||
|
cpu/cpu2/name
|
||||||
|
cpu/cpu2/system
|
||||||
|
cpu/cpu2/temperature
|
||||||
|
cpu/cpu2/usage
|
||||||
|
cpu/cpu2/user
|
||||||
|
cpu/cpu2/wait
|
||||||
|
cpu/cpu3
|
||||||
|
cpu/cpu3/frequency
|
||||||
|
cpu/cpu3/name
|
||||||
|
cpu/cpu3/system
|
||||||
|
cpu/cpu3/temperature
|
||||||
|
cpu/cpu3/usage
|
||||||
|
cpu/cpu3/user
|
||||||
|
cpu/cpu3/wait
|
||||||
|
cpu/cpu4
|
||||||
|
cpu/cpu4/frequency
|
||||||
|
cpu/cpu4/name
|
||||||
|
cpu/cpu4/system
|
||||||
|
cpu/cpu4/temperature
|
||||||
|
cpu/cpu4/usage
|
||||||
|
cpu/cpu4/user
|
||||||
|
cpu/cpu4/wait
|
||||||
|
cpu/cpu5
|
||||||
|
cpu/cpu5/frequency
|
||||||
|
cpu/cpu5/name
|
||||||
|
cpu/cpu5/system
|
||||||
|
cpu/cpu5/temperature
|
||||||
|
cpu/cpu5/usage
|
||||||
|
cpu/cpu5/user
|
||||||
|
cpu/cpu5/wait
|
||||||
|
cpu/cpu6
|
||||||
|
cpu/cpu6/frequency
|
||||||
|
cpu/cpu6/name
|
||||||
|
cpu/cpu6/system
|
||||||
|
cpu/cpu6/temperature
|
||||||
|
cpu/cpu6/usage
|
||||||
|
cpu/cpu6/user
|
||||||
|
cpu/cpu6/wait
|
||||||
|
cpu/cpu7
|
||||||
|
cpu/cpu7/frequency
|
||||||
|
cpu/cpu7/name
|
||||||
|
cpu/cpu7/system
|
||||||
|
cpu/cpu7/temperature
|
||||||
|
cpu/cpu7/usage
|
||||||
|
cpu/cpu7/user
|
||||||
|
cpu/cpu7/wait
|
||||||
|
cpu/cpu8
|
||||||
|
cpu/cpu8/frequency
|
||||||
|
cpu/cpu8/name
|
||||||
|
cpu/cpu8/system
|
||||||
|
cpu/cpu8/temperature
|
||||||
|
cpu/cpu8/usage
|
||||||
|
cpu/cpu8/user
|
||||||
|
cpu/cpu8/wait
|
||||||
|
cpu/cpu9
|
||||||
|
cpu/cpu9/frequency
|
||||||
|
cpu/cpu9/name
|
||||||
|
cpu/cpu9/system
|
||||||
|
cpu/cpu9/temperature
|
||||||
|
cpu/cpu9/usage
|
||||||
|
cpu/cpu9/user
|
||||||
|
cpu/cpu9/wait
|
||||||
|
cpu/loadaverages
|
||||||
|
cpu/loadaverages/loadaverage1
|
||||||
|
cpu/loadaverages/loadaverage15
|
||||||
|
cpu/loadaverages/loadaverage5
|
||||||
|
disk
|
||||||
|
disk/52e29d18-ad4d-47ad-98c4-a09ab0914a85
|
||||||
|
disk/52e29d18-ad4d-47ad-98c4-a09ab0914a85/free
|
||||||
|
disk/52e29d18-ad4d-47ad-98c4-a09ab0914a85/freePercent
|
||||||
|
disk/52e29d18-ad4d-47ad-98c4-a09ab0914a85/name
|
||||||
|
disk/52e29d18-ad4d-47ad-98c4-a09ab0914a85/read
|
||||||
|
disk/52e29d18-ad4d-47ad-98c4-a09ab0914a85/total
|
||||||
|
disk/52e29d18-ad4d-47ad-98c4-a09ab0914a85/used
|
||||||
|
disk/52e29d18-ad4d-47ad-98c4-a09ab0914a85/usedPercent
|
||||||
|
disk/52e29d18-ad4d-47ad-98c4-a09ab0914a85/write
|
||||||
|
disk/all
|
||||||
|
disk/all/free
|
||||||
|
disk/all/freePercent
|
||||||
|
disk/all/read
|
||||||
|
disk/all/total
|
||||||
|
disk/all/used
|
||||||
|
disk/all/usedPercent
|
||||||
|
disk/all/write
|
||||||
|
disk/d10dd7bf-e382-4e44-83d7-9af6c6df7258
|
||||||
|
disk/d10dd7bf-e382-4e44-83d7-9af6c6df7258/free
|
||||||
|
disk/d10dd7bf-e382-4e44-83d7-9af6c6df7258/freePercent
|
||||||
|
disk/d10dd7bf-e382-4e44-83d7-9af6c6df7258/name
|
||||||
|
disk/d10dd7bf-e382-4e44-83d7-9af6c6df7258/read
|
||||||
|
disk/d10dd7bf-e382-4e44-83d7-9af6c6df7258/total
|
||||||
|
disk/d10dd7bf-e382-4e44-83d7-9af6c6df7258/used
|
||||||
|
disk/d10dd7bf-e382-4e44-83d7-9af6c6df7258/usedPercent
|
||||||
|
disk/d10dd7bf-e382-4e44-83d7-9af6c6df7258/write
|
||||||
|
disk/nvme0n1
|
||||||
|
disk/nvme0n1/name
|
||||||
|
disk/nvme0n1/read
|
||||||
|
disk/nvme0n1/total
|
||||||
|
disk/nvme0n1/write
|
||||||
|
gpu
|
||||||
|
lmsensors
|
||||||
|
lmsensors/BAT0-acpi-0
|
||||||
|
lmsensors/BAT0-acpi-0/in0
|
||||||
|
lmsensors/acpitz-acpi-0
|
||||||
|
lmsensors/acpitz-acpi-0/temp1
|
||||||
|
lmsensors/iwlwifi_1-virtual-0
|
||||||
|
lmsensors/iwlwifi_1-virtual-0/temp1
|
||||||
|
lmsensors/nvme-pci-0400
|
||||||
|
lmsensors/nvme-pci-0400/temp1
|
||||||
|
lmsensors/thinkpad-isa-0000
|
||||||
|
lmsensors/thinkpad-isa-0000/fan1
|
||||||
|
lmsensors/thinkpad-isa-0000/fan2
|
||||||
|
lmsensors/thinkpad-isa-0000/temp1
|
||||||
|
lmsensors/thinkpad-isa-0000/temp2
|
||||||
|
lmsensors/thinkpad-isa-0000/temp3
|
||||||
|
lmsensors/thinkpad-isa-0000/temp4
|
||||||
|
lmsensors/thinkpad-isa-0000/temp5
|
||||||
|
lmsensors/thinkpad-isa-0000/temp6
|
||||||
|
lmsensors/thinkpad-isa-0000/temp7
|
||||||
|
lmsensors/thinkpad-isa-0000/temp8
|
||||||
|
lmsensors/ucsi_source_psy_USBC000:001-isa-0000
|
||||||
|
lmsensors/ucsi_source_psy_USBC000:001-isa-0000/curr1
|
||||||
|
lmsensors/ucsi_source_psy_USBC000:001-isa-0000/in0
|
||||||
|
lmsensors/ucsi_source_psy_USBC000:002-isa-0000
|
||||||
|
lmsensors/ucsi_source_psy_USBC000:002-isa-0000/curr1
|
||||||
|
lmsensors/ucsi_source_psy_USBC000:002-isa-0000/in0
|
||||||
|
memory
|
||||||
|
memory/physical
|
||||||
|
memory/physical/application
|
||||||
|
memory/physical/applicationPercent
|
||||||
|
memory/physical/buffer
|
||||||
|
memory/physical/bufferPercent
|
||||||
|
memory/physical/cache
|
||||||
|
memory/physical/cachePercent
|
||||||
|
memory/physical/free
|
||||||
|
memory/physical/freePercent
|
||||||
|
memory/physical/total
|
||||||
|
memory/physical/used
|
||||||
|
memory/physical/usedPercent
|
||||||
|
memory/swap
|
||||||
|
memory/swap/free
|
||||||
|
memory/swap/freePercent
|
||||||
|
memory/swap/total
|
||||||
|
memory/swap/used
|
||||||
|
memory/swap/usedPercent
|
||||||
|
os
|
||||||
|
os/kernel
|
||||||
|
os/kernel/name
|
||||||
|
os/kernel/prettyName
|
||||||
|
os/kernel/version
|
||||||
|
os/plasma
|
||||||
|
os/plasma/kfVersion
|
||||||
|
os/plasma/plasmaVersion
|
||||||
|
os/plasma/qtVersion
|
||||||
|
os/plasma/windowsystem
|
||||||
|
os/system
|
||||||
|
os/system/hostname
|
||||||
|
os/system/logo
|
||||||
|
os/system/name
|
||||||
|
os/system/prettyName
|
||||||
|
os/system/uptime
|
||||||
|
os/system/url
|
||||||
|
os/system/version
|
||||||
|
power
|
||||||
|
power/4870
|
||||||
|
power/4870/capacity
|
||||||
|
power/4870/charge
|
||||||
|
power/4870/chargePercentage
|
||||||
|
power/4870/chargeRate
|
||||||
|
power/4870/design
|
||||||
|
power/4870/health
|
||||||
|
power/4870/name
|
@ -24,11 +24,6 @@ import org.kde.plasma.private.awesomewidget 1.0
|
|||||||
KCM.SimpleKCM {
|
KCM.SimpleKCM {
|
||||||
id: aboutPage
|
id: aboutPage
|
||||||
|
|
||||||
// backend
|
|
||||||
AWActions {
|
|
||||||
id: awActions
|
|
||||||
}
|
|
||||||
|
|
||||||
AboutTab {
|
AboutTab {
|
||||||
textProvider: awActions
|
textProvider: awActions
|
||||||
}
|
}
|
||||||
|
@ -129,32 +129,32 @@ KCM.SimpleKCM {
|
|||||||
id: tempUnits
|
id: tempUnits
|
||||||
model: [
|
model: [
|
||||||
{
|
{
|
||||||
"label": i18n("Celsius"),
|
'label': i18n("Celsius"),
|
||||||
"name": "Celsius"
|
'name': "Celsius"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": i18n("Fahrenheit"),
|
'label': i18n("Fahrenheit"),
|
||||||
"name": "Fahrenheit"
|
'name': "Fahrenheit"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": i18n("Kelvin"),
|
'label': i18n("Kelvin"),
|
||||||
"name": "Kelvin"
|
'name': "Kelvin"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": i18n("Reaumur"),
|
'label': i18n("Reaumur"),
|
||||||
"name": "Reaumur"
|
'name': "Reaumur"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": i18n("cm^-1"),
|
'label': i18n("cm^-1"),
|
||||||
"name": "cm^-1"
|
'name': "cm^-1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": i18n("kJ/mol"),
|
'label': i18n("kJ/mol"),
|
||||||
"name": "kJ/mol"
|
'name': "kJ/mol"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": i18n("kcal/mol"),
|
'label': i18n("kcal/mol"),
|
||||||
"name": "kcal/mol"
|
'name': "kcal/mol"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
text: i18n("Temperature units")
|
text: i18n("Temperature units")
|
||||||
|
@ -41,6 +41,7 @@ KCM.SimpleKCM {
|
|||||||
property alias cfg_textStyleColor: selectStyleColor.value
|
property alias cfg_textStyleColor: selectStyleColor.value
|
||||||
property string cfg_textStyle: textStyle.value
|
property string cfg_textStyle: textStyle.value
|
||||||
|
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
id: pageColumn
|
id: pageColumn
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
@ -38,7 +38,7 @@ KCM.SimpleKCM {
|
|||||||
Column {
|
Column {
|
||||||
id: pageColumn
|
id: pageColumn
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
const
|
||||||
GroupBox {
|
GroupBox {
|
||||||
height: implicitHeight
|
height: implicitHeight
|
||||||
width: parent.width
|
width: parent.width
|
||||||
@ -70,16 +70,16 @@ KCM.SimpleKCM {
|
|||||||
ComboBoxSelector {
|
ComboBoxSelector {
|
||||||
model: [
|
model: [
|
||||||
{
|
{
|
||||||
"label": "disable",
|
'label': "disable",
|
||||||
"name": "disable"
|
'name': "disable"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "mpris",
|
'label': "mpris",
|
||||||
"name": "mpris"
|
'name': "mpris"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "mpd",
|
'label': "mpd",
|
||||||
"name": "mpd"
|
'name': "mpd"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
text: i18n("Music player")
|
text: i18n("Music player")
|
||||||
@ -92,40 +92,40 @@ KCM.SimpleKCM {
|
|||||||
editable: true
|
editable: true
|
||||||
model: [
|
model: [
|
||||||
{
|
{
|
||||||
"label": "auto",
|
'label': 'auto',
|
||||||
"name": "auto"
|
'name': 'auto'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "amarok",
|
'label': 'amarok',
|
||||||
"name": "amarok"
|
'name': 'amarok'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "audacious",
|
'label': 'audacious',
|
||||||
"name": "audacious"
|
'name': 'audacious'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "clementine",
|
'label': 'clementine',
|
||||||
"name": "clementine"
|
'name': 'clementine'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "DeaDBeeF",
|
'label': 'DeaDBeeF',
|
||||||
"name": "DeaDBeeF"
|
'name': 'DeaDBeeF'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "vlc",
|
'label': 'vlc',
|
||||||
"name": "vlc"
|
'name': 'vlc'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "qmmp",
|
'label': 'qmmp',
|
||||||
"name": "qmmp"
|
'name': 'qmmp'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "xmms2",
|
'label': 'xmms2',
|
||||||
"name": "xmms2"
|
'name': 'xmms2'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": cfg_dataengine["MPRIS"],
|
'label': cfg_dataengine["MPRIS"],
|
||||||
"name": cfg_dataengine["MPRIS"]
|
'name': cfg_dataengine["MPRIS"]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
text: i18n("MPRIS player name")
|
text: i18n("MPRIS player name")
|
||||||
|
@ -71,6 +71,13 @@ QString AWActions::getFileContent(const QString &_path)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// HACK: since QML could not use QLoggingCategory I need this hack
|
||||||
|
bool AWActions::isDebugEnabled()
|
||||||
|
{
|
||||||
|
return LOG_AW().isDebugEnabled();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool AWActions::runCmd(const QString &_cmd, const QStringList &_args)
|
bool AWActions::runCmd(const QString &_cmd, const QStringList &_args)
|
||||||
{
|
{
|
||||||
qCDebug(LOG_AW) << "Cmd" << _cmd << "args" << _args;
|
qCDebug(LOG_AW) << "Cmd" << _cmd << "args" << _args;
|
||||||
|
@ -34,6 +34,7 @@ public:
|
|||||||
~AWActions() override;
|
~AWActions() override;
|
||||||
Q_INVOKABLE void checkUpdates(bool _showAnyway = false);
|
Q_INVOKABLE void checkUpdates(bool _showAnyway = false);
|
||||||
Q_INVOKABLE static QString getFileContent(const QString &_path);
|
Q_INVOKABLE static QString getFileContent(const QString &_path);
|
||||||
|
Q_INVOKABLE static bool isDebugEnabled();
|
||||||
Q_INVOKABLE static bool runCmd(const QString &_cmd, const QStringList &_args);
|
Q_INVOKABLE static bool runCmd(const QString &_cmd, const QStringList &_args);
|
||||||
Q_INVOKABLE static void showLegacyInfo();
|
Q_INVOKABLE static void showLegacyInfo();
|
||||||
Q_INVOKABLE static void showReadme();
|
Q_INVOKABLE static void showReadme();
|
||||||
|
@ -130,8 +130,9 @@ QStringList AWKeyOperations::dictKeys() const
|
|||||||
allKeys.append(QString("up%1").arg(i));
|
allKeys.append(QString("up%1").arg(i));
|
||||||
}
|
}
|
||||||
// battery
|
// battery
|
||||||
auto allBatteryDevices = QDir("/sys/class/power_supply")
|
auto allBatteryDevices
|
||||||
.entryList(QStringList({"BAT*"}), QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name);
|
= QDir("/sys/class/power_supply")
|
||||||
|
.entryList(QStringList({"BAT*"}), QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name);
|
||||||
for (int i = 0; i < allBatteryDevices.count(); i++) {
|
for (int i = 0; i < allBatteryDevices.count(); i++) {
|
||||||
allKeys.append(QString("bat%1").arg(i));
|
allKeys.append(QString("bat%1").arg(i));
|
||||||
allKeys.append(QString("batleft%1").arg(i));
|
allKeys.append(QString("batleft%1").arg(i));
|
||||||
|
@ -16,20 +16,27 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick 2.15
|
||||||
import org.kde.kcmutils as KCM
|
|
||||||
|
|
||||||
import org.kde.plasma.private.desktoppanel 1.0
|
import org.kde.plasma.private.desktoppanel 1.0
|
||||||
|
|
||||||
|
|
||||||
KCM.SimpleKCM {
|
Item {
|
||||||
id: aboutPage
|
id: aboutPage
|
||||||
|
|
||||||
// backend
|
// backend
|
||||||
DPAdds {
|
DPAdds {
|
||||||
id: dpAdds
|
id: dpAdds
|
||||||
}
|
}
|
||||||
|
|
||||||
|
width: childrenRect.width
|
||||||
|
height: childrenRect.height
|
||||||
|
|
||||||
|
property bool debug: awActions.isDebugEnabled()
|
||||||
|
|
||||||
AboutTab {
|
AboutTab {
|
||||||
textProvider: dpAdds
|
textProvider: dpAdds
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Component.onCompleted: {
|
||||||
|
if (debug) console.debug()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,14 +16,24 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick 2.15
|
||||||
import org.kde.kcmutils as KCM
|
|
||||||
|
|
||||||
import org.kde.plasma.private.desktoppanel 1.0
|
import org.kde.plasma.private.desktoppanel 1.0
|
||||||
import "."
|
import "."
|
||||||
|
|
||||||
|
|
||||||
KCM.SimpleKCM {
|
Item {
|
||||||
id: activeAppearancePage
|
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_currentFontFamily: font.value
|
||||||
property alias cfg_currentFontSize: fontSize.value
|
property alias cfg_currentFontSize: fontSize.value
|
||||||
@ -33,6 +43,7 @@ KCM.SimpleKCM {
|
|||||||
property alias cfg_currentTextStyleColor: selectStyleColor.value
|
property alias cfg_currentTextStyleColor: selectStyleColor.value
|
||||||
property string cfg_currentTextStyle: textStyle.value
|
property string cfg_currentTextStyle: textStyle.value
|
||||||
|
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
id: pageColumn
|
id: pageColumn
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
@ -88,4 +99,9 @@ KCM.SimpleKCM {
|
|||||||
value: plasmoid.configuration.currentTextStyleColor
|
value: plasmoid.configuration.currentTextStyleColor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Component.onCompleted: {
|
||||||
|
if (debug) console.debug()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,13 +17,23 @@
|
|||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick 2.15
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import org.kde.kcmutils as KCM
|
|
||||||
|
|
||||||
import org.kde.plasma.private.desktoppanel 1.0
|
import org.kde.plasma.private.desktoppanel 1.0
|
||||||
|
|
||||||
|
|
||||||
KCM.SimpleKCM {
|
Item {
|
||||||
id: advancedPage
|
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_background: background.checked
|
||||||
property alias cfg_verticalLayout: verticalLayout.checked
|
property alias cfg_verticalLayout: verticalLayout.checked
|
||||||
@ -34,6 +44,7 @@ KCM.SimpleKCM {
|
|||||||
property alias cfg_tooltipWidth: tooltipWidth.value
|
property alias cfg_tooltipWidth: tooltipWidth.value
|
||||||
property alias cfg_tooltipColor: tooltipColor.value
|
property alias cfg_tooltipColor: tooltipColor.value
|
||||||
|
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
id: pageColumn
|
id: pageColumn
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
@ -71,48 +82,48 @@ KCM.SimpleKCM {
|
|||||||
editable: true
|
editable: true
|
||||||
model: [
|
model: [
|
||||||
{
|
{
|
||||||
"label": "#",
|
'label': '#',
|
||||||
"name": "#"
|
'name': '#'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "$",
|
'label': '$',
|
||||||
"name": "$"
|
'name': '$'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "%",
|
'label': '%',
|
||||||
"name": "%"
|
'name': '%'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "&",
|
'label': '&',
|
||||||
"name": "&"
|
'name': '&'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "*",
|
'label': '*',
|
||||||
"name": "*"
|
'name': '*'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "@",
|
'label': '@',
|
||||||
"name": "@"
|
'name': '@'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "¤",
|
'label': '¤',
|
||||||
"name": "¤"
|
'name': '¤'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "¶",
|
'label': '¶',
|
||||||
"name": "¶"
|
'name': '¶'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "·",
|
'label': '·',
|
||||||
"name": "·"
|
'name': '·'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "º",
|
'label': 'º',
|
||||||
"name": "º"
|
'name': 'º'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": plasmoid.configuration.mark,
|
'label': plasmoid.configuration.mark,
|
||||||
"name": plasmoid.configuration.mark
|
'name': plasmoid.configuration.mark
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
text: i18n("Mark")
|
text: i18n("Mark")
|
||||||
@ -133,16 +144,16 @@ KCM.SimpleKCM {
|
|||||||
id: tooltipType
|
id: tooltipType
|
||||||
model: [
|
model: [
|
||||||
{
|
{
|
||||||
"label": i18n("contours"),
|
'label': i18n("contours"),
|
||||||
"name": "contours"
|
'name': "contours"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": i18n("names"),
|
'label': i18n("names"),
|
||||||
"name": "names"
|
'name': "names"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": i18n("none"),
|
'label': i18n("none"),
|
||||||
"name": "none"
|
'name': "none"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
text: i18n("Tooltip type")
|
text: i18n("Tooltip type")
|
||||||
@ -167,4 +178,8 @@ KCM.SimpleKCM {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Component.onCompleted: {
|
||||||
|
if (debug) console.debug()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,14 +16,24 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick 2.15
|
||||||
import org.kde.kcmutils as KCM
|
|
||||||
|
|
||||||
import org.kde.plasma.private.desktoppanel 1.0
|
import org.kde.plasma.private.desktoppanel 1.0
|
||||||
import "."
|
import "."
|
||||||
|
|
||||||
|
|
||||||
KCM.SimpleKCM {
|
Item {
|
||||||
id: inactiveAppearancePage
|
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_fontFamily: font.value
|
||||||
property alias cfg_fontSize: fontSize.value
|
property alias cfg_fontSize: fontSize.value
|
||||||
@ -33,6 +43,7 @@ KCM.SimpleKCM {
|
|||||||
property alias cfg_textStyleColor: selectStyleColor.value
|
property alias cfg_textStyleColor: selectStyleColor.value
|
||||||
property string cfg_textStyle: textStyle.value
|
property string cfg_textStyle: textStyle.value
|
||||||
|
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
id: pageColumn
|
id: pageColumn
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
@ -88,4 +99,9 @@ KCM.SimpleKCM {
|
|||||||
value: plasmoid.configuration.textStyleColor
|
value: plasmoid.configuration.textStyleColor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Component.onCompleted: {
|
||||||
|
if (debug) console.debug()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ PlasmoidItem {
|
|||||||
id: dpAdds
|
id: dpAdds
|
||||||
}
|
}
|
||||||
|
|
||||||
|
property bool debug: dpAdds.isDebugEnabled()
|
||||||
property variant tooltipSettings: {
|
property variant tooltipSettings: {
|
||||||
"tooltipColor": plasmoid.configuration.tooltipColor,
|
"tooltipColor": plasmoid.configuration.tooltipColor,
|
||||||
"tooltipType": plasmoid.configuration.tooltipType,
|
"tooltipType": plasmoid.configuration.tooltipType,
|
||||||
@ -42,12 +43,14 @@ PlasmoidItem {
|
|||||||
signal needTooltipUpdate
|
signal needTooltipUpdate
|
||||||
signal sizeUpdate
|
signal sizeUpdate
|
||||||
|
|
||||||
|
|
||||||
// init
|
// init
|
||||||
Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter
|
Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter
|
||||||
|
|
||||||
Plasmoid.icon: "utilities-system-monitor"
|
Plasmoid.icon: "utilities-system-monitor"
|
||||||
Plasmoid.backgroundHints: plasmoid.configuration.background ? "DefaultBackground" : "NoBackground"
|
Plasmoid.backgroundHints: plasmoid.configuration.background ? "DefaultBackground" : "NoBackground"
|
||||||
|
|
||||||
|
|
||||||
// ui
|
// ui
|
||||||
GridLayout {
|
GridLayout {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
@ -94,6 +97,7 @@ PlasmoidItem {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Timer {
|
Timer {
|
||||||
id: timer
|
id: timer
|
||||||
interval: 1000
|
interval: 1000
|
||||||
@ -101,16 +105,19 @@ PlasmoidItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onNeedUpdate: {
|
onNeedUpdate: {
|
||||||
for (let i = 0; i < repeater.count; i++) {
|
if (debug) console.debug()
|
||||||
|
|
||||||
|
for (var i=0; i<repeater.count; i++) {
|
||||||
if (!repeater.itemAt(i)) {
|
if (!repeater.itemAt(i)) {
|
||||||
|
if (debug) console.info("Nothing to do here yet", i)
|
||||||
timer.start()
|
timer.start()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
repeater.itemAt(i).text = dpAdds.parsePattern(plasmoid.configuration.text, i)
|
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).color = plasmoid.configuration.currentFontColor
|
||||||
repeater.itemAt(i).font.family = plasmoid.configuration.currentFontFamily
|
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.pointSize = plasmoid.configuration.currentFontSize
|
||||||
repeater.itemAt(i).font.weight = General.fontWeight[plasmoid.configuration.currentFontWeight]
|
repeater.itemAt(i).font.weight = General.fontWeight[plasmoid.configuration.currentFontWeight]
|
||||||
repeater.itemAt(i).style = General.textStyle[plasmoid.configuration.currentTextStyle]
|
repeater.itemAt(i).style = General.textStyle[plasmoid.configuration.currentTextStyle]
|
||||||
@ -118,7 +125,7 @@ PlasmoidItem {
|
|||||||
} else {
|
} else {
|
||||||
repeater.itemAt(i).color = plasmoid.configuration.fontColor
|
repeater.itemAt(i).color = plasmoid.configuration.fontColor
|
||||||
repeater.itemAt(i).font.family = plasmoid.configuration.fontFamily
|
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.pointSize = plasmoid.configuration.fontSize
|
||||||
repeater.itemAt(i).font.weight = General.fontWeight[plasmoid.configuration.fontWeight]
|
repeater.itemAt(i).font.weight = General.fontWeight[plasmoid.configuration.fontWeight]
|
||||||
repeater.itemAt(i).style = General.textStyle[plasmoid.configuration.textStyle]
|
repeater.itemAt(i).style = General.textStyle[plasmoid.configuration.textStyle]
|
||||||
@ -132,11 +139,13 @@ PlasmoidItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onNeedTooltipUpdate: {
|
onNeedTooltipUpdate: {
|
||||||
for (let i = 0; i < repeater.count; i++) {
|
if (debug) console.debug()
|
||||||
|
|
||||||
|
for (var i=0; i<repeater.count; i++) {
|
||||||
repeater.itemAt(i).tooltip.text = dpAdds.toolTipImage(i)
|
repeater.itemAt(i).tooltip.text = dpAdds.toolTipImage(i)
|
||||||
// resize text tooltip to content size
|
// resize text tooltip to content size
|
||||||
// this hack does not work for images-based tooltips
|
// 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.height = repeater.itemAt(i).tooltip.implicitHeight
|
||||||
repeater.itemAt(i).tooltip.width = repeater.itemAt(i).tooltip.implicitWidth
|
repeater.itemAt(i).tooltip.width = repeater.itemAt(i).tooltip.implicitWidth
|
||||||
}
|
}
|
||||||
@ -144,9 +153,11 @@ PlasmoidItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onSizeUpdate: {
|
onSizeUpdate: {
|
||||||
if (plasmoid.configuration.height === 0) {
|
if (debug) console.debug()
|
||||||
let newHeight = 0
|
|
||||||
for (let i = 0; i < repeater.count; i++)
|
if (plasmoid.configuration.height == 0) {
|
||||||
|
var newHeight = 0
|
||||||
|
for (var i=0; i<repeater.count; i++)
|
||||||
newHeight += repeater.itemAt(i).contentHeight
|
newHeight += repeater.itemAt(i).contentHeight
|
||||||
Layout.minimumHeight = newHeight
|
Layout.minimumHeight = newHeight
|
||||||
Layout.maximumHeight = -1
|
Layout.maximumHeight = -1
|
||||||
@ -154,9 +165,9 @@ PlasmoidItem {
|
|||||||
Layout.minimumHeight = plasmoid.configuration.height
|
Layout.minimumHeight = plasmoid.configuration.height
|
||||||
Layout.maximumHeight = plasmoid.configuration.height
|
Layout.maximumHeight = plasmoid.configuration.height
|
||||||
}
|
}
|
||||||
if (plasmoid.configuration.width === 0) {
|
if (plasmoid.configuration.width == 0) {
|
||||||
let newWidth = 0
|
var newWidth = 0
|
||||||
for (let i = 0; i < repeater.count; i++)
|
for (var i=0; i<repeater.count; i++)
|
||||||
newWidth += repeater.itemAt(i).contentWidth
|
newWidth += repeater.itemAt(i).contentWidth
|
||||||
Layout.minimumWidth = newWidth
|
Layout.minimumWidth = newWidth
|
||||||
Layout.maximumWidth = -1
|
Layout.maximumWidth = -1
|
||||||
@ -168,6 +179,7 @@ PlasmoidItem {
|
|||||||
|
|
||||||
Plasmoid.onUserConfiguringChanged: {
|
Plasmoid.onUserConfiguringChanged: {
|
||||||
if (plasmoid.userConfiguring) return
|
if (plasmoid.userConfiguring) return
|
||||||
|
if (debug) console.debug()
|
||||||
|
|
||||||
dpAdds.setMark(plasmoid.configuration.mark)
|
dpAdds.setMark(plasmoid.configuration.mark)
|
||||||
dpAdds.setToolTipData(tooltipSettings)
|
dpAdds.setToolTipData(tooltipSettings)
|
||||||
@ -176,6 +188,8 @@ PlasmoidItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
|
if (debug) console.debug()
|
||||||
|
|
||||||
// init submodule
|
// init submodule
|
||||||
Plasmoid.userConfiguringChanged(false)
|
Plasmoid.userConfiguringChanged(false)
|
||||||
dpAdds.desktopChanged.connect(needUpdate)
|
dpAdds.desktopChanged.connect(needUpdate)
|
||||||
|
@ -16,21 +16,28 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick 2.15
|
||||||
import org.kde.kcmutils as KCM
|
|
||||||
|
|
||||||
import org.kde.plasma.private.desktoppanel 1.0
|
import org.kde.plasma.private.desktoppanel 1.0
|
||||||
import "."
|
import "."
|
||||||
|
|
||||||
|
|
||||||
KCM.SimpleKCM {
|
Item {
|
||||||
id: widgetPage
|
id: widgetPage
|
||||||
// backend
|
// backend
|
||||||
DPAdds {
|
DPAdds {
|
||||||
id: 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
|
property alias cfg_text: textPattern.text
|
||||||
|
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
id: pageColumn
|
id: pageColumn
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
@ -53,4 +60,9 @@ KCM.SimpleKCM {
|
|||||||
backend: dpAdds
|
backend: dpAdds
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Component.onCompleted: {
|
||||||
|
if (debug) console.debug()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,7 +49,9 @@ DPAdds::DPAdds(QObject *_parent)
|
|||||||
m_vdi = new TaskManager::VirtualDesktopInfo(this);
|
m_vdi = new TaskManager::VirtualDesktopInfo(this);
|
||||||
m_taskModel = new TaskManager::WindowTasksModel(this);
|
m_taskModel = new TaskManager::WindowTasksModel(this);
|
||||||
|
|
||||||
connect(m_vdi, &TaskManager::VirtualDesktopInfo::currentDesktopChanged, this, &DPAdds::desktopChanged);
|
connect(m_vdi, SIGNAL(currentDesktopChanged()), this, SIGNAL(desktopChanged()));
|
||||||
|
connect(KWindowSystem::self(), SIGNAL(windowAdded(WId)), this, SIGNAL(windowListChanged()));
|
||||||
|
connect(KWindowSystem::self(), SIGNAL(windowRemoved(WId)), this, SIGNAL(windowListChanged()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -62,6 +64,13 @@ DPAdds::~DPAdds()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// HACK: since QML could not use QLoggingCategory I need this hack
|
||||||
|
bool DPAdds::isDebugEnabled()
|
||||||
|
{
|
||||||
|
return LOG_DP().isDebugEnabled();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int DPAdds::currentDesktop() const
|
int DPAdds::currentDesktop() const
|
||||||
{
|
{
|
||||||
auto current = m_vdi->currentDesktop();
|
auto current = m_vdi->currentDesktop();
|
||||||
|
@ -46,6 +46,7 @@ class DPAdds : public QObject
|
|||||||
public:
|
public:
|
||||||
explicit DPAdds(QObject *_parent = nullptr);
|
explicit DPAdds(QObject *_parent = nullptr);
|
||||||
~DPAdds() override;
|
~DPAdds() override;
|
||||||
|
Q_INVOKABLE static bool isDebugEnabled();
|
||||||
Q_INVOKABLE [[nodiscard]] int currentDesktop() const;
|
Q_INVOKABLE [[nodiscard]] int currentDesktop() const;
|
||||||
Q_INVOKABLE static QStringList dictKeys(bool _sorted = true, const QString &_regexp = "");
|
Q_INVOKABLE static QStringList dictKeys(bool _sorted = true, const QString &_regexp = "");
|
||||||
Q_INVOKABLE [[nodiscard]] int numberOfDesktops() const;
|
Q_INVOKABLE [[nodiscard]] int numberOfDesktops() const;
|
||||||
|
@ -62,7 +62,7 @@ void ExtSysMonAggregator::init(const QHash<QString, QString> &_config)
|
|||||||
createSensor("custom", i18n("Scripts"), new CustomSource(this, {}));
|
createSensor("custom", i18n("Scripts"), new CustomSource(this, {}));
|
||||||
// desktop
|
// desktop
|
||||||
// FIXME causes segfault in kde libs
|
// FIXME causes segfault in kde libs
|
||||||
// createSensor("desktop", i18n("Desktop"), new DesktopSource(this, {}));
|
// createSensor("desktop", i18n("Desktop"), new DesktopSource(this, {}));
|
||||||
// network
|
// network
|
||||||
createSensor("network", i18n("Network"), new NetworkSource(this, {}));
|
createSensor("network", i18n("Network"), new NetworkSource(this, {}));
|
||||||
// player
|
// player
|
||||||
|
@ -68,27 +68,23 @@ Row {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Button {
|
// TODO migrate history
|
||||||
width: parent.width / 15
|
// Button {
|
||||||
icon.name: "view-history"
|
// width: parent.width / 15
|
||||||
|
// iconName: "view-history"
|
||||||
onClicked: historyConfig.open()
|
// menu: Menu {
|
||||||
|
// id: historyConfig
|
||||||
Menu {
|
// Instantiator {
|
||||||
id: historyConfig
|
// model: awTelemetryHandler.get("awwidgetconfig")
|
||||||
|
// MenuItem {
|
||||||
Instantiator {
|
// text: modelData
|
||||||
model: awTelemetryHandler.get("awwidgetconfig")
|
// onTriggered: textArea.text = modelData
|
||||||
delegate: MenuItem {
|
// }
|
||||||
text: modelData
|
// onObjectAdded: historyConfig.insertItem(index, object)
|
||||||
onTriggered: textArea.text = modelData
|
// onObjectRemoved: historyConfig.removeItem(object)
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
onObjectAdded: (index, object) => historyConfig.insertItem(index, object)
|
// }
|
||||||
onObjectRemoved: (index, object) => historyConfig.removeItem(object)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MessageDialog {
|
MessageDialog {
|
||||||
id: compiledText
|
id: compiledText
|
||||||
|
@ -23,9 +23,7 @@ Label {
|
|||||||
width: parent.width
|
width: parent.width
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
|
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
text: i18n("Detailed information may be found on <a href=\"https://arcanis.me/projects/awesome-widgets/\">project homepage</a>")
|
text: i18n("Detailed information may be found on <a href=\"https://arcanis.me/projects/awesome-widgets/\">project homepage</a>")
|
||||||
|
|
||||||
onLinkActivated: Qt.openUrlExternally(link)
|
onLinkActivated: Qt.openUrlExternally(link)
|
||||||
}
|
}
|
||||||
|
@ -77,9 +77,9 @@ ScrollView {
|
|||||||
|
|
||||||
function getLastTag() {
|
function getLastTag() {
|
||||||
// get substring to analyze
|
// get substring to analyze
|
||||||
const substring = textArea.getText(0, textArea.cursorPosition)
|
var substring = textArea.getText(0, textArea.cursorPosition)
|
||||||
// find last position of index in the given substring
|
// find last position of index in the given substring
|
||||||
const signIndex = substring.lastIndexOf("$") + 1
|
var signIndex = substring.lastIndexOf('$') + 1
|
||||||
if ((signIndex === 0) || (signIndex === textArea.cursorPosition))
|
if ((signIndex === 0) || (signIndex === textArea.cursorPosition))
|
||||||
return ""
|
return ""
|
||||||
// get current tag text
|
// get current tag text
|
||||||
@ -89,14 +89,6 @@ ScrollView {
|
|||||||
function insert(text) {
|
function insert(text) {
|
||||||
textArea.insert(textArea.cursorPosition, text)
|
textArea.insert(textArea.cursorPosition, text)
|
||||||
}
|
}
|
||||||
|
|
||||||
function removeSelection() {
|
|
||||||
textArea.remove(textArea.selectionStart, textArea.selectionEnd)
|
|
||||||
}
|
|
||||||
|
|
||||||
function selectedText() {
|
|
||||||
return textArea.selectedText
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -34,6 +34,8 @@ Dialog {
|
|||||||
|
|
||||||
width: 640
|
width: 640
|
||||||
height: 480
|
height: 480
|
||||||
|
property bool debug: awActions.isDebugEnabled()
|
||||||
|
|
||||||
|
|
||||||
title: i18n("Report a bug")
|
title: i18n("Report a bug")
|
||||||
standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel | DialogButtonBox.Reset
|
standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel | DialogButtonBox.Reset
|
||||||
@ -46,7 +48,6 @@ Dialog {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
placeholderText: i18n("Report subject")
|
placeholderText: i18n("Report subject")
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
||||||
@ -54,50 +55,41 @@ Dialog {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
height: parent.height / 5
|
height: parent.height / 5
|
||||||
title: i18n("Description")
|
title: i18n("Description")
|
||||||
|
|
||||||
TextArea {
|
TextArea {
|
||||||
id: description
|
id: description
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
textFormat: TextEdit.PlainText
|
textFormat: TextEdit.PlainText
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GroupBox {
|
GroupBox {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
height: parent.height / 5
|
height: parent.height / 5
|
||||||
title: i18n("Steps to reproduce")
|
title: i18n("Steps to reproduce")
|
||||||
|
|
||||||
TextArea {
|
TextArea {
|
||||||
id: reproduce
|
id: reproduce
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
textFormat: TextEdit.PlainText
|
textFormat: TextEdit.PlainText
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GroupBox {
|
GroupBox {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
height: parent.height / 5
|
height: parent.height / 5
|
||||||
title: i18n("Expected result")
|
title: i18n("Expected result")
|
||||||
|
|
||||||
TextArea {
|
TextArea {
|
||||||
id: expected
|
id: expected
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
textFormat: TextEdit.PlainText
|
textFormat: TextEdit.PlainText
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GroupBox {
|
GroupBox {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.alignment: Qt.AlignBottom
|
Layout.alignment: Qt.AlignBottom
|
||||||
title: i18n("Logs")
|
title: i18n("Logs")
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
||||||
Row {
|
Row {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
||||||
Label {
|
Label {
|
||||||
width: parent.width * 2 / 5
|
width: parent.width * 2 / 5
|
||||||
horizontalAlignment: Text.AlignJustify
|
horizontalAlignment: Text.AlignJustify
|
||||||
@ -105,20 +97,17 @@ Dialog {
|
|||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
text: i18n("Use command")
|
text: i18n("Use command")
|
||||||
}
|
}
|
||||||
|
|
||||||
TextField {
|
TextField {
|
||||||
width: parent.width * 3 / 5
|
width: parent.width * 3 / 5
|
||||||
readOnly: true
|
readOnly: true
|
||||||
text: "QT_LOGGING_RULES=*=true plasmawindowed org.kde.plasma.awesomewidget"
|
text: "QT_LOGGING_RULES=*=true plasmawindowed org.kde.plasma.awesomewidget"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Button {
|
Button {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: i18n("Load log file")
|
text: i18n("Load log file")
|
||||||
onClicked: logPath.open()
|
onClicked: logPath.open()
|
||||||
}
|
}
|
||||||
|
|
||||||
TextArea {
|
TextArea {
|
||||||
id: logBody
|
id: logBody
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
@ -138,11 +127,16 @@ Dialog {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onAccepted: {
|
onAccepted: {
|
||||||
const text = awBugReporter.generateText(description.text, reproduce.text, expected.text, logBody.text)
|
if (debug) console.debug()
|
||||||
|
|
||||||
|
var text = awBugReporter.generateText(description.text, reproduce.text,
|
||||||
|
expected.text, logBody.text)
|
||||||
awBugReporter.sendBugReport(title.text, text)
|
awBugReporter.sendBugReport(title.text, text)
|
||||||
}
|
}
|
||||||
|
|
||||||
onReset: {
|
onReset: {
|
||||||
|
if (debug) console.debug()
|
||||||
|
|
||||||
title.text = ""
|
title.text = ""
|
||||||
description.text = ""
|
description.text = ""
|
||||||
reproduce.text = ""
|
reproduce.text = ""
|
||||||
@ -150,6 +144,8 @@ Dialog {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
|
if (debug) console.debug()
|
||||||
|
|
||||||
awBugReporter.doConnect()
|
awBugReporter.doConnect()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,11 +32,9 @@ Row {
|
|||||||
id: label
|
id: label
|
||||||
height: parent.height
|
height: parent.height
|
||||||
width: parent.width * 2 / 5
|
width: parent.width * 2 / 5
|
||||||
|
|
||||||
horizontalAlignment: Text.AlignRight
|
horizontalAlignment: Text.AlignRight
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
}
|
}
|
||||||
|
|
||||||
Button {
|
Button {
|
||||||
id: button
|
id: button
|
||||||
width: parent.width * 3 / 5
|
width: parent.width * 3 / 5
|
||||||
|
@ -30,7 +30,6 @@ Row {
|
|||||||
height: parent.heigth
|
height: parent.heigth
|
||||||
width: parent.width * 2 / 5
|
width: parent.width * 2 / 5
|
||||||
}
|
}
|
||||||
|
|
||||||
CheckBox {
|
CheckBox {
|
||||||
id: checkBox
|
id: checkBox
|
||||||
width: parent.width * 3 / 5
|
width: parent.width * 3 / 5
|
||||||
|
@ -20,11 +20,10 @@ import QtQuick.Dialogs
|
|||||||
|
|
||||||
|
|
||||||
ButtonSelector {
|
ButtonSelector {
|
||||||
background: Rectangle {
|
// TODO somehow doesn't work
|
||||||
implicitWidth: 100
|
// background: Rectangle {
|
||||||
implicitHeight: 25
|
// color: value
|
||||||
color: value
|
// }
|
||||||
}
|
|
||||||
|
|
||||||
onButtonActivated: colorDialog.visible = true
|
onButtonActivated: colorDialog.visible = true
|
||||||
|
|
||||||
|
@ -39,16 +39,14 @@ Row {
|
|||||||
horizontalAlignment: Text.AlignRight
|
horizontalAlignment: Text.AlignRight
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
}
|
}
|
||||||
|
|
||||||
ComboBox {
|
ComboBox {
|
||||||
id: comboBox
|
id: comboBox
|
||||||
width: parent.width * 3 / 5
|
width: parent.width * 3 / 5
|
||||||
textRole: "label"
|
textRole: 'label'
|
||||||
onCurrentIndexChanged: valueEdited(comboBox.model[comboBox.currentIndex]["name"])
|
onCurrentIndexChanged: valueEdited(comboBox.model[comboBox.currentIndex]['name'])
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
const total = comboBox.model.length
|
var total = comboBox.model.length
|
||||||
for (let i = 0; i < total; i++) {
|
for (var i = 0; i < total; i++) {
|
||||||
if (comboBox.model[i]["name"] === value)
|
if (comboBox.model[i]["name"] === value)
|
||||||
comboBox.currentIndex = i
|
comboBox.currentIndex = i
|
||||||
}
|
}
|
||||||
|
@ -37,9 +37,8 @@ Item {
|
|||||||
fileMode: FileDialog.SaveFile
|
fileMode: FileDialog.SaveFile
|
||||||
title: i18n("Export")
|
title: i18n("Export")
|
||||||
currentFolder: awConfig.configurationDirectory()
|
currentFolder: awConfig.configurationDirectory()
|
||||||
|
|
||||||
onAccepted: {
|
onAccepted: {
|
||||||
const status = awConfig.exportConfiguration(
|
var status = awConfig.exportConfiguration(
|
||||||
configuration,
|
configuration,
|
||||||
fileDialog.fileUrl.toString().replace("file://", ""))
|
fileDialog.fileUrl.toString().replace("file://", ""))
|
||||||
if (status) {
|
if (status) {
|
||||||
@ -52,6 +51,7 @@ Item {
|
|||||||
messageDialog.open()
|
messageDialog.open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function open() {
|
function open() {
|
||||||
return fileDialog.open()
|
return fileDialog.open()
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,6 @@ import QtQuick 2.15
|
|||||||
// required by i18n functions
|
// required by i18n functions
|
||||||
import org.kde.plasma.core as PlasmaCore
|
import org.kde.plasma.core as PlasmaCore
|
||||||
|
|
||||||
|
|
||||||
QtObject {
|
QtObject {
|
||||||
property variant fontWeight: {
|
property variant fontWeight: {
|
||||||
"light": Font.Light,
|
"light": Font.Light,
|
||||||
|
@ -30,7 +30,6 @@ Row {
|
|||||||
text: i18n("Bgcolor")
|
text: i18n("Bgcolor")
|
||||||
textField: textArea
|
textField: textArea
|
||||||
}
|
}
|
||||||
|
|
||||||
HtmlEditorFont {
|
HtmlEditorFont {
|
||||||
width: parent.width * 3 / 15
|
width: parent.width * 3 / 15
|
||||||
textField: textArea
|
textField: textArea
|
||||||
@ -46,7 +45,6 @@ Row {
|
|||||||
textField: textArea
|
textField: textArea
|
||||||
end: "<br>\n"
|
end: "<br>\n"
|
||||||
}
|
}
|
||||||
|
|
||||||
// font properties
|
// font properties
|
||||||
HtmlEditorButton {
|
HtmlEditorButton {
|
||||||
width: parent.width / 15
|
width: parent.width / 15
|
||||||
@ -55,7 +53,6 @@ Row {
|
|||||||
start: "<b>"
|
start: "<b>"
|
||||||
end: "</b>"
|
end: "</b>"
|
||||||
}
|
}
|
||||||
|
|
||||||
HtmlEditorButton {
|
HtmlEditorButton {
|
||||||
width: parent.width / 15
|
width: parent.width / 15
|
||||||
icon.name: "format-text-italic"
|
icon.name: "format-text-italic"
|
||||||
@ -63,7 +60,6 @@ Row {
|
|||||||
start: "<i>"
|
start: "<i>"
|
||||||
end: "</i>"
|
end: "</i>"
|
||||||
}
|
}
|
||||||
|
|
||||||
HtmlEditorButton {
|
HtmlEditorButton {
|
||||||
width: parent.width / 15
|
width: parent.width / 15
|
||||||
icon.name: "format-text-underline"
|
icon.name: "format-text-underline"
|
||||||
@ -71,7 +67,6 @@ Row {
|
|||||||
start: "<u>"
|
start: "<u>"
|
||||||
end: "</u>"
|
end: "</u>"
|
||||||
}
|
}
|
||||||
|
|
||||||
HtmlEditorButton {
|
HtmlEditorButton {
|
||||||
width: parent.width / 15
|
width: parent.width / 15
|
||||||
icon.name: "format-text-strikethrough"
|
icon.name: "format-text-strikethrough"
|
||||||
@ -88,7 +83,6 @@ Row {
|
|||||||
start: "<p align=\"left\">"
|
start: "<p align=\"left\">"
|
||||||
end: "</p>"
|
end: "</p>"
|
||||||
}
|
}
|
||||||
|
|
||||||
HtmlEditorButton {
|
HtmlEditorButton {
|
||||||
width: parent.width / 15
|
width: parent.width / 15
|
||||||
icon.name: "format-justify-center"
|
icon.name: "format-justify-center"
|
||||||
@ -96,7 +90,6 @@ Row {
|
|||||||
start: "<p align=\"center\">"
|
start: "<p align=\"center\">"
|
||||||
end: "</p>"
|
end: "</p>"
|
||||||
}
|
}
|
||||||
|
|
||||||
HtmlEditorButton {
|
HtmlEditorButton {
|
||||||
width: parent.width / 15
|
width: parent.width / 15
|
||||||
icon.name: "format-justify-right"
|
icon.name: "format-justify-right"
|
||||||
@ -104,7 +97,6 @@ Row {
|
|||||||
start: "<p align=\"right\">"
|
start: "<p align=\"right\">"
|
||||||
end: "</p>"
|
end: "</p>"
|
||||||
}
|
}
|
||||||
|
|
||||||
HtmlEditorButton {
|
HtmlEditorButton {
|
||||||
width: parent.width / 15
|
width: parent.width / 15
|
||||||
icon.name: "format-justify-fill"
|
icon.name: "format-justify-fill"
|
||||||
|
@ -31,7 +31,7 @@ Button {
|
|||||||
|
|
||||||
function updateText() {
|
function updateText() {
|
||||||
// get selected text
|
// get selected text
|
||||||
const selected = textField.selectedText()
|
var selected = textField.selectedText()
|
||||||
// remove it from widget
|
// remove it from widget
|
||||||
textField.removeSelection()
|
textField.removeSelection()
|
||||||
// insert edited text
|
// insert edited text
|
||||||
|
@ -36,13 +36,13 @@ HtmlEditorButton {
|
|||||||
|
|
||||||
clickedEvent: function() {
|
clickedEvent: function() {
|
||||||
// get new font
|
// get new font
|
||||||
const defaultFont = {
|
var defaultFont = {
|
||||||
"color": defaultFontColor,
|
"color": defaultFontColor,
|
||||||
"family": defaultFontFamily,
|
"family": defaultFontFamily,
|
||||||
"size": defaultFontSize
|
"size": defaultFontSize
|
||||||
}
|
}
|
||||||
// we are using custom selector as soon as we need to select color as well
|
// we are using custom selector as soon as we need to select color as well
|
||||||
const font = awActions.getFont(defaultFont)
|
var font = awActions.getFont(defaultFont)
|
||||||
|
|
||||||
// check status
|
// check status
|
||||||
if (!font.applied)
|
if (!font.applied)
|
||||||
|
@ -57,13 +57,14 @@ Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onAccepted: {
|
onAccepted: {
|
||||||
const importConfig = awConfig.importConfiguration(
|
var importConfig = awConfig.importConfiguration(
|
||||||
fileDialog.fileUrl.toString().replace("file://", ""),
|
fileDialog.fileUrl.toString().replace("file://", ""),
|
||||||
importPlasmoid.checked, importExtensions.checked,
|
importPlasmoid.checked, importExtensions.checked,
|
||||||
importAdds.checked)
|
importAdds.checked)
|
||||||
configurationReceived(importConfig)
|
configurationReceived(importConfig)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function open() {
|
function open() {
|
||||||
return fileDialog.open()
|
return fileDialog.open()
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,6 @@ Row {
|
|||||||
horizontalAlignment: Text.AlignRight
|
horizontalAlignment: Text.AlignRight
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
}
|
}
|
||||||
|
|
||||||
SpinBox {
|
SpinBox {
|
||||||
id: spinBox
|
id: spinBox
|
||||||
width: parent.width * 3 / 5
|
width: parent.width * 3 / 5
|
||||||
|
@ -35,7 +35,6 @@ Row {
|
|||||||
horizontalAlignment: Text.AlignRight
|
horizontalAlignment: Text.AlignRight
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
}
|
}
|
||||||
|
|
||||||
TextField {
|
TextField {
|
||||||
id: textField
|
id: textField
|
||||||
width: parent.width * 3 / 5
|
width: parent.width * 3 / 5
|
||||||
|
@ -49,15 +49,15 @@ void TestAWDateTimeFormatter::test_values()
|
|||||||
|
|
||||||
void TestAWDateTimeFormatter::test_conversion()
|
void TestAWDateTimeFormatter::test_conversion()
|
||||||
{
|
{
|
||||||
auto now = QDateTime::currentDateTime();
|
QDateTime now = QDateTime::currentDateTime();
|
||||||
QCOMPARE(formatter->convert(now), QLocale::system().toString(now, format));
|
QCOMPARE(formatter->convert(now), now.toString(format));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TestAWDateTimeFormatter::test_copy()
|
void TestAWDateTimeFormatter::test_copy()
|
||||||
{
|
{
|
||||||
formatter->setTranslateString(false);
|
formatter->setTranslateString(false);
|
||||||
auto *newFormatter = formatter->copy("/dev/null", 1);
|
AWDateTimeFormatter *newFormatter = formatter->copy("/dev/null", 1);
|
||||||
|
|
||||||
QCOMPARE(newFormatter->format(), formatter->format());
|
QCOMPARE(newFormatter->format(), formatter->format());
|
||||||
QCOMPARE(newFormatter->translateString(), formatter->translateString());
|
QCOMPARE(newFormatter->translateString(), formatter->translateString());
|
||||||
|
@ -39,13 +39,13 @@ void TestNetworkSource::cleanupTestCase()
|
|||||||
|
|
||||||
void TestNetworkSource::test_sources()
|
void TestNetworkSource::test_sources()
|
||||||
{
|
{
|
||||||
QCOMPARE(source->sources(), QStringList({"device", "ssid"}));
|
QCOMPARE(source->sources(), QStringList() << src << "network/current/ssid");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TestNetworkSource::test_values()
|
void TestNetworkSource::test_values()
|
||||||
{
|
{
|
||||||
QVERIFY(source->data("device").toString().length() > 0);
|
QVERIFY(source->data(src).toString().count() > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,6 +38,7 @@ private slots:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
NetworkSource *source = nullptr;
|
NetworkSource *source = nullptr;
|
||||||
|
QString src = "network/current/name";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -43,23 +43,23 @@ void TestPlayerSource::test_buildString()
|
|||||||
{
|
{
|
||||||
QString randomString = AWTestLibrary::randomString(1, 40);
|
QString randomString = AWTestLibrary::randomString(1, 40);
|
||||||
QString str = PlayerSource::buildString("", randomString, 20);
|
QString str = PlayerSource::buildString("", randomString, 20);
|
||||||
QCOMPARE(str.length(), 20);
|
QCOMPARE(str.count(), 20);
|
||||||
|
|
||||||
str = PlayerSource::buildString(str, randomString, 20);
|
str = PlayerSource::buildString(str, randomString, 20);
|
||||||
QCOMPARE(str.length(), 20);
|
QCOMPARE(str.count(), 20);
|
||||||
|
|
||||||
str = PlayerSource::buildString("", AWTestLibrary::randomString(1, 10), 20);
|
str = PlayerSource::buildString("", AWTestLibrary::randomString(1, 10), 20);
|
||||||
QCOMPARE(str.length(), 20);
|
QCOMPARE(str.count(), 20);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TestPlayerSource::test_stripString()
|
void TestPlayerSource::test_stripString()
|
||||||
{
|
{
|
||||||
QString str = PlayerSource::buildString("", AWTestLibrary::randomString(1, 40), 20);
|
QString str = PlayerSource::buildString("", AWTestLibrary::randomString(1, 40), 20);
|
||||||
QCOMPARE(str.length(), 20);
|
QCOMPARE(str.count(), 20);
|
||||||
|
|
||||||
str = PlayerSource::buildString("", AWTestLibrary::randomString(1, 10), 20);
|
str = PlayerSource::buildString("", AWTestLibrary::randomString(1, 10), 20);
|
||||||
QCOMPARE(str.length(), 20);
|
QCOMPARE(str.count(), 20);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ void TestPlayerSource::test_mpd()
|
|||||||
|
|
||||||
// init spy
|
// init spy
|
||||||
QSignalSpy spy(source, SIGNAL(dataReceived(const QVariantHash &)));
|
QSignalSpy spy(source, SIGNAL(dataReceived(const QVariantHash &)));
|
||||||
QVariant firstValue = source->data("title");
|
QVariant firstValue = source->data("player/title");
|
||||||
if (!source->isMpdSocketConnected())
|
if (!source->isMpdSocketConnected())
|
||||||
QSKIP("No mpd found");
|
QSKIP("No mpd found");
|
||||||
|
|
||||||
@ -95,10 +95,10 @@ void TestPlayerSource::test_mpd()
|
|||||||
QVariantHash secondValue = arguments.at(0).toHash();
|
QVariantHash secondValue = arguments.at(0).toHash();
|
||||||
|
|
||||||
// actually nothing to test here just print warning if no information found
|
// actually nothing to test here just print warning if no information found
|
||||||
if (secondValue["title"].toString() == "unknown")
|
if (secondValue["player/title"].toString() == "unknown")
|
||||||
QSKIP("No mpd found");
|
QSKIP("No mpd found");
|
||||||
|
|
||||||
QVERIFY(secondValue["progress"].toInt() < secondValue["duration"].toInt());
|
QVERIFY(secondValue["player/progress"].toInt() < secondValue["player/duration"].toInt());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -109,9 +109,9 @@ void TestPlayerSource::test_mpris()
|
|||||||
PlayerSource *source = new PlayerSource(this, args);
|
PlayerSource *source = new PlayerSource(this, args);
|
||||||
_test_sources(source);
|
_test_sources(source);
|
||||||
|
|
||||||
QString value = source->data("title").toString();
|
QString value = source->data("player/title").toString();
|
||||||
int progress = source->data("progress").toInt();
|
int progress = source->data("player/progress").toInt();
|
||||||
int duration = source->data("duration").toInt();
|
int duration = source->data("player/duration").toInt();
|
||||||
|
|
||||||
// actually nothing to test here just print warning if no information found
|
// actually nothing to test here just print warning if no information found
|
||||||
if (value == "unknown")
|
if (value == "unknown")
|
||||||
|
@ -45,9 +45,9 @@ void TestProcessesSource::test_sources()
|
|||||||
|
|
||||||
void TestProcessesSource::test_values()
|
void TestProcessesSource::test_values()
|
||||||
{
|
{
|
||||||
QVERIFY(source->data("running").toInt() > 0);
|
QVERIFY(source->data("ps/running/count").toInt() > 0);
|
||||||
QVERIFY(source->data("list").toStringList().count() > 0);
|
QVERIFY(source->data("ps/running/list").toStringList().count() > 0);
|
||||||
QVERIFY(source->data("count").toInt() > 0);
|
QVERIFY(source->data("ps/total/count").toInt() > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user