Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Plasma
Plasma Mobile
Commits
b323a83a
Commit
b323a83a
authored
Feb 10, 2022
by
Devin Lin
🎨
Browse files
quicksettings: Make mobile data quick setting use NM API directly
parent
5660a9e0
Pipeline
#135987
failed with stages
in 26 seconds
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
CMakeLists.txt
View file @
b323a83a
...
...
@@ -47,6 +47,7 @@ find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
Notifications
Wayland
ModemManagerQt
NetworkManagerQt
)
find_package
(
KWinDBusInterface
)
set_package_properties
(
KWinDBusInterface PROPERTIES DESCRIPTION
"KWin DBus interface"
...
...
components/mmplugin/CMakeLists.txt
View file @
b323a83a
...
...
@@ -10,6 +10,7 @@ target_sources(ppc-mmqmlplugin PRIVATE
target_link_libraries
(
ppc-mmqmlplugin
Qt5::Qml
KF5::ModemManagerQt
KF5::NetworkManagerQt
)
set_property
(
TARGET ppc-mmqmlplugin PROPERTY LIBRARY_OUTPUT_DIRECTORY
${
CMAKE_RUNTIME_OUTPUT_DIRECTORY
}
/org/kde/plasma/mm
)
...
...
components/mmplugin/signalindicator.cpp
View file @
b323a83a
// SPDX-FileCopyrightText: 2021 Tobias Fella <fella@posteo.de>
// SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org>
// SPDX-License-Identifier: GPL-2.0-or-later
#include
<NetworkManagerQt/Manager>
#include
"signalindicator.h"
SignalIndicator
::
SignalIndicator
()
{
connect
(
NetworkManager
::
notifier
(),
&
NetworkManager
::
Notifier
::
wwanEnabledChanged
,
this
,
[
this
](
bool
)
{
Q_EMIT
wwanEnabledChanged
();
});
connect
(
ModemManager
::
notifier
(),
&
ModemManager
::
Notifier
::
modemAdded
,
this
,
&
SignalIndicator
::
updateModem
);
connect
(
ModemManager
::
notifier
(),
&
ModemManager
::
Notifier
::
modemRemoved
,
this
,
&
SignalIndicator
::
updateModem
);
updateModem
();
...
...
@@ -36,6 +43,16 @@ bool SignalIndicator::available() const
return
!
ModemManager
::
modemDevices
().
isEmpty
();
}
bool
SignalIndicator
::
wwanEnabled
()
const
{
return
NetworkManager
::
isWwanEnabled
();
}
void
SignalIndicator
::
setWwanEnabled
(
bool
wwanEnabled
)
{
NetworkManager
::
setWwanEnabled
(
wwanEnabled
);
}
void
SignalIndicator
::
updateModem
()
{
if
(
!
available
())
{
...
...
components/mmplugin/signalindicator.h
View file @
b323a83a
// SPDX-FileCopyrightText: 2021 Tobias Fella <fella@posteo.de>
// SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org>
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include
<ModemManagerQt/Manager>
#include
<ModemManagerQt/modem3gpp.h>
#include
<QObject>
// We make the assumption that there is only one modem.
class
SignalIndicator
:
public
QObject
{
Q_OBJECT
...
...
@@ -15,6 +18,7 @@ class SignalIndicator : public QObject
Q_PROPERTY
(
QString
name
READ
name
NOTIFY
nameChanged
)
Q_PROPERTY
(
bool
simLocked
READ
simLocked
NOTIFY
simLockedChanged
)
Q_PROPERTY
(
bool
available
READ
available
NOTIFY
availableChanged
)
Q_PROPERTY
(
bool
wwanEnabled
READ
wwanEnabled
WRITE
setWwanEnabled
NOTIFY
wwanEnabledChanged
)
public:
SignalIndicator
();
...
...
@@ -23,12 +27,16 @@ public:
QString
name
()
const
;
bool
simLocked
()
const
;
bool
available
()
const
;
bool
wwanEnabled
()
const
;
void
setWwanEnabled
(
bool
wwanEnabled
);
Q_SIGNALS:
void
strengthChanged
();
void
nameChanged
();
void
simLockedChanged
();
void
availableChanged
();
void
wwanEnabledChanged
();
private:
ModemManager
::
Modem
::
Ptr
m_modem
;
...
...
components/mobileshell/qml/actiondrawer/quicksettings/SettingsModel.qml
View file @
b323a83a
...
...
@@ -15,6 +15,7 @@ import org.kde.bluezqt 1.0 as BluezQt
import
org
.
kde
.
plasma
.
core
2.0
as
PlasmaCore
import
org
.
kde
.
plasma
.
components
3.0
as
PC3
import
org
.
kde
.
plasma
.
networkmanagement
0.2
as
PlasmaNM
import
org
.
kde
.
plasma
.
mm
1.0
as
PlasmaMM
import
org
.
kde
.
plasma
.
private
.
mobileshell
1.0
as
MobileShell
MobileShell.QuickSettingsModel
{
...
...
@@ -67,9 +68,9 @@ MobileShell.QuickSettingsModel {
text
:
i18n
(
"
Mobile Data
"
)
icon
:
"
network-modem
"
settingsCommand
:
"
plasma-open-settings kcm_mobile_broadband
"
enabled
:
enabledConnections
.
wwanEnabled
enabled
:
PlasmaMM
.
SignalIndicator
.
wwanEnabled
function
toggle
()
{
nmHandler
.
enableWwan
(
!
enabledConnections
.
wwanEnabled
)
PlasmaMM
.
SignalIndicator
.
wwanEnabled
=
!
PlasmaMM
.
SignalIndicator
.
wwanEnabled
}
}
MobileShell.QuickSetting
{
...
...
Devin Lin
🎨
@devinlin
mentioned in issue
#133 (closed)
·
Feb 11, 2022
mentioned in issue
#133 (closed)
mentioned in issue #133
Toggle commit list
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment