Skip to content

Commit 952e7b6

Browse files
committed
fix: DSL should not be displayed without wired network devices
DSL should not be displayed without wired network devices pms: BUG-311983
1 parent 88bfbc6 commit 952e7b6

3 files changed

Lines changed: 23 additions & 8 deletions

File tree

dcc-network/qml/PageDSL.qml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ DccObject {
1818
displayName: qsTr("DSL")
1919
description: qsTr("Set up a dial-up network connection")
2020
icon: "dcc_dsl"
21-
visible: item
21+
visible: item.enabledable
2222
page: DccSettingsView {}
2323

2424
DccObject {

net-view/operation/private/netmanagerthreadprivate.cpp

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -548,18 +548,16 @@ void NetManagerThreadPrivate::doInit()
548548
}
549549
// DSL
550550
if (m_flags.testFlags(NetType::NetManagerFlag::Net_DSL)) {
551-
NetDSLControlItemPrivate *vpnControlItem = NetItemNew(DSLControlItem, "NetDSLControlItem");
552-
vpnControlItem->updatename("DSL");
553-
vpnControlItem->updateenabled(networkController->vpnController()->enabled());
554-
vpnControlItem->item()->moveToThread(m_parentThread);
555-
Q_EMIT itemAdded("Root", vpnControlItem);
551+
NetDSLControlItemPrivate *dslControlItem = NetItemNew(DSLControlItem, "NetDSLControlItem");
552+
dslControlItem->updatename("DSL");
553+
dslControlItem->item()->moveToThread(m_parentThread);
554+
Q_EMIT itemAdded("Root", dslControlItem);
556555

557556
networkController->dslController()->connectItem("");
558-
// connect(networkController->dslController(), &DSLController::enableChanged, this, &NetManagerThreadPrivate::onVPNEnableChanged);
559-
// connect(networkController->vpnController(), &VPNController::itemChanged, this, vpnItemChanged);
560557
connect(networkController->dslController(), &DSLController::itemAdded, this, &NetManagerThreadPrivate::onDSLAdded);
561558
connect(networkController->dslController(), &DSLController::itemRemoved, this, &NetManagerThreadPrivate::onDSLRemoved);
562559
connect(networkController->dslController(), &DSLController::activeConnectionChanged, this, &NetManagerThreadPrivate::onDslActiveConnectionChanged);
560+
updateDSLEnabledable();
563561
onDSLAdded(networkController->dslController()->items());
564562
}
565563
// Details
@@ -1847,6 +1845,7 @@ void NetManagerThreadPrivate::onDeviceAdded(QList<NetworkDeviceBase *> devices)
18471845
break;
18481846
}
18491847
}
1848+
updateDSLEnabledable();
18501849
}
18511850

18521851
void NetManagerThreadPrivate::onDeviceRemoved(QList<NetworkDeviceBase *> devices)
@@ -1858,6 +1857,7 @@ void NetManagerThreadPrivate::onDeviceRemoved(QList<NetworkDeviceBase *> devices
18581857
if (m_flags.testFlags(NetType::Net_Details)) {
18591858
updateDetails();
18601859
}
1860+
updateDSLEnabledable();
18611861
}
18621862

18631863
void NetManagerThreadPrivate::onConnectivityChanged()
@@ -1866,6 +1866,20 @@ void NetManagerThreadPrivate::onConnectivityChanged()
18661866
Q_EMIT dataChanged(DataChanged::DeviceStatusChanged, dev->path(), QVariant::fromValue(deviceStatus(dev)));
18671867
}
18681868

1869+
void NetManagerThreadPrivate::updateDSLEnabledable()
1870+
{
1871+
if (!m_flags.testFlags(NetType::NetManagerFlag::Net_DSL)) {
1872+
return;
1873+
}
1874+
for (auto &&dev : NetworkController::instance()->devices()) {
1875+
if (dev->deviceType() == DeviceType::Wired) {
1876+
Q_EMIT dataChanged(DataChanged::DeviceAvailableChanged, "NetDSLControlItem", QVariant::fromValue(true));
1877+
return;
1878+
}
1879+
}
1880+
Q_EMIT dataChanged(DataChanged::DeviceAvailableChanged, "NetDSLControlItem", QVariant::fromValue(false));
1881+
}
1882+
18691883
void NetManagerThreadPrivate::onConnectionAdded(const QList<WiredConnection *> &conns)
18701884
{
18711885
NetworkDeviceBase *dev = qobject_cast<NetworkDeviceBase *>(sender());

net-view/operation/private/netmanagerthreadprivate.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ protected Q_SLOTS:
178178
void onDeviceAdded(QList<NetworkDeviceBase *> devices);
179179
void onDeviceRemoved(QList<NetworkDeviceBase *> devices);
180180
void onConnectivityChanged();
181+
void updateDSLEnabledable();
181182
// Wired
182183
void onConnectionAdded(const QList<WiredConnection *> &conns);
183184
void onConnectionRemoved(const QList<WiredConnection *> &conns);

0 commit comments

Comments
 (0)