Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion dcc-network/qml/PageDSL.qml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ DccObject {
displayName: qsTr("DSL")
description: qsTr("Set up a dial-up network connection")
icon: "dcc_dsl"
visible: item
visible: item.enabledable
page: DccSettingsView {}

DccObject {
Expand Down
28 changes: 21 additions & 7 deletions net-view/operation/private/netmanagerthreadprivate.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -548,18 +548,16 @@ void NetManagerThreadPrivate::doInit()
}
// DSL
if (m_flags.testFlags(NetType::NetManagerFlag::Net_DSL)) {
NetDSLControlItemPrivate *vpnControlItem = NetItemNew(DSLControlItem, "NetDSLControlItem");
vpnControlItem->updatename("DSL");
vpnControlItem->updateenabled(networkController->vpnController()->enabled());
vpnControlItem->item()->moveToThread(m_parentThread);
Q_EMIT itemAdded("Root", vpnControlItem);
NetDSLControlItemPrivate *dslControlItem = NetItemNew(DSLControlItem, "NetDSLControlItem");
dslControlItem->updatename("DSL");
dslControlItem->item()->moveToThread(m_parentThread);
Q_EMIT itemAdded("Root", dslControlItem);

networkController->dslController()->connectItem("");
// connect(networkController->dslController(), &DSLController::enableChanged, this, &NetManagerThreadPrivate::onVPNEnableChanged);
// connect(networkController->vpnController(), &VPNController::itemChanged, this, vpnItemChanged);
connect(networkController->dslController(), &DSLController::itemAdded, this, &NetManagerThreadPrivate::onDSLAdded);
connect(networkController->dslController(), &DSLController::itemRemoved, this, &NetManagerThreadPrivate::onDSLRemoved);
connect(networkController->dslController(), &DSLController::activeConnectionChanged, this, &NetManagerThreadPrivate::onDslActiveConnectionChanged);
updateDSLEnabledable();
onDSLAdded(networkController->dslController()->items());
}
// Details
Expand Down Expand Up @@ -1847,6 +1845,7 @@ void NetManagerThreadPrivate::onDeviceAdded(QList<NetworkDeviceBase *> devices)
break;
}
}
updateDSLEnabledable();
}

void NetManagerThreadPrivate::onDeviceRemoved(QList<NetworkDeviceBase *> devices)
Expand All @@ -1858,6 +1857,7 @@ void NetManagerThreadPrivate::onDeviceRemoved(QList<NetworkDeviceBase *> devices
if (m_flags.testFlags(NetType::Net_Details)) {
updateDetails();
}
updateDSLEnabledable();
}

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

void NetManagerThreadPrivate::updateDSLEnabledable()
{
if (!m_flags.testFlags(NetType::NetManagerFlag::Net_DSL)) {
return;
}
for (auto &&dev : NetworkController::instance()->devices()) {
if (dev->deviceType() == DeviceType::Wired) {
Q_EMIT dataChanged(DataChanged::DeviceAvailableChanged, "NetDSLControlItem", QVariant::fromValue(true));
return;
}
}
Q_EMIT dataChanged(DataChanged::DeviceAvailableChanged, "NetDSLControlItem", QVariant::fromValue(false));
}

void NetManagerThreadPrivate::onConnectionAdded(const QList<WiredConnection *> &conns)
{
NetworkDeviceBase *dev = qobject_cast<NetworkDeviceBase *>(sender());
Expand Down
1 change: 1 addition & 0 deletions net-view/operation/private/netmanagerthreadprivate.h
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,7 @@ protected Q_SLOTS:
void onDeviceAdded(QList<NetworkDeviceBase *> devices);
void onDeviceRemoved(QList<NetworkDeviceBase *> devices);
void onConnectivityChanged();
void updateDSLEnabledable();
// Wired
void onConnectionAdded(const QList<WiredConnection *> &conns);
void onConnectionRemoved(const QList<WiredConnection *> &conns);
Expand Down