fix(network): loading indicator visible

Change-Id: Icbca80b19bda283fbb5c6d5d8233fe0543e2185e
This commit is contained in:
listenerri 2018-09-03 10:43:29 +08:00
parent 82d0478c73
commit 6ead8ff3fa
Notes: gerrit 2018-10-16 15:18:23 +08:00
Verified+1: <jenkins@deepin.com>
Code-Review+2: listenerri <listenerri@gmail.com>
Submitted-by: listenerri <listenerri@gmail.com>
Submitted-at: Tue, 16 Oct 2018 15:18:22 +0800
Reviewed-on: https://cr.deepin.io/38162
Project: dde/dde-dock
Branch: refs/heads/master
6 changed files with 42 additions and 8 deletions

View File

@ -82,8 +82,6 @@ AccessPointWidget::AccessPointWidget()
"border-top:1px solid rgba(255, 255, 255, .05);"
"}"
"AccessPointWidget:hover {"
"border:none;"
"margin:0;"
"background-color:rgba(255, 255, 255, .1);"
"}"
"AccessPointWidget[active=true] #Ssid {"

View File

@ -29,6 +29,7 @@
#include <dinputdialog.h>
#include <QScrollBar>
#include <DDBusSender>
DWIDGET_USE_NAMESPACE
@ -99,6 +100,7 @@ WirelessList::WirelessList(WirelessDevice *deviceIter, QWidget *parent)
connect(m_device, &WirelessDevice::needSecrets, this, &WirelessList::onNeedSecrets);
connect(m_device, &WirelessDevice::needSecretsFinished, this, &WirelessList::onNeedSecretsFinished);
connect(m_device, &WirelessDevice::enableChanged, this, &WirelessList::onDeviceEnableChanged);
connect(m_device, &WirelessDevice::activateAccessPointFailed, this, &WirelessList::onActivateApFailed);
connect(m_controlPanel, &DeviceControlWidget::enableButtonToggled, this, &WirelessList::onEnableButtonToggle);
connect(m_controlPanel, &DeviceControlWidget::requestRefresh, this, &WirelessList::requestWirelessScan);
@ -275,9 +277,7 @@ void WirelessList::updateAPList()
m_indicator->move(m_currentClickAPW->mapTo(this, m_currentClickAPW->rect().topRight()) - QPoint(35, h));
}
if (deviceStatus == NetworkDevice::Activated ||
deviceStatus == NetworkDevice::Failed ||
deviceStatus == NetworkDevice::Unknow) {
if (deviceStatus <= NetworkDevice::Disconnected || deviceStatus >= NetworkDevice::Activated) {
m_indicator->stop();
m_indicator->hide();
}
@ -442,3 +442,28 @@ void WirelessList::onActiveConnectionChanged()
}
}
}
void WirelessList::onActivateApFailed(const QString &apPath, const QString &uuid)
{
if (m_currentClickAP.path() == apPath) {
qDebug() << "wireless connect failed and may require more configuration,"
<< "path:" << m_currentClickAP.path() << "ssid" << m_currentClickAP.ssid()
<< "secret:" << m_currentClickAP.secured() << "strength" << m_currentClickAP.strength();
m_updateAPTimer->start();
m_editConnectionData = {};
m_editConnectionData.insert("conn-type", "wireless");
m_editConnectionData.insert("device-path", QJsonValue(m_device->path()));
m_editConnectionData.insert("conn-uuid", QJsonValue(uuid));
m_editConnectionData.insert("ap-path", QJsonValue(apPath));
DDBusSender()
.service("com.deepin.dde.ControlCenter")
.interface("com.deepin.dde.ControlCenter")
.path("/com/deepin/dde/ControlCenter")
.method("ShowPage")
.arg(QString("network"))
.arg(QString(QJsonDocument(m_editConnectionData).toJson()))
.call();
}
}

View File

@ -61,11 +61,11 @@ signals:
void feedSecret(const QString &connectionPath, const QString &settingName, const QString &password, const bool autoConnect);
void cancelSecret(const QString &connectionPath, const QString &settingName);
void requestWirelessScan();
private:
void loadAPList();
void createApConfig(const QString &devPath, const QString &apPath);
void queryConnectionSession( const QString &devPath, const QString &uuid );
private slots:
void loadAPList();
void APAdded(const QJsonObject &apInfo);
void APRemoved(const QJsonObject &apInfo);
void APPropertiesChanged(const QJsonObject &apInfo);
@ -79,6 +79,7 @@ private slots:
void deactiveAP();
void updateIndicatorPos();
void onActiveConnectionChanged();
void onActivateApFailed(const QString &apPath, const QString &uuid);
private:
@ -99,6 +100,8 @@ private:
QString m_lastConnSecurity;
QString m_lastConnSecurityType;
QJsonObject m_editConnectionData;;
QVBoxLayout *m_centralLayout;
QWidget *m_centralWidget;
DeviceControlWidget *m_controlPanel;

View File

@ -243,6 +243,8 @@ void WirelessItem::init()
connect(m_APList, &WirelessList::feedSecret, this, &WirelessItem::feedSecret);
connect(m_APList, &WirelessList::cancelSecret, this, &WirelessItem::cancelSecret);
connect(m_APList, &WirelessList::requestWirelessScan, this, &WirelessItem::requestWirelessScan);
connect(m_APList, &WirelessList::queryConnectionSession, this, &WirelessItem::queryConnectionSession);
connect(m_APList, &WirelessList::createApConfig, this, &WirelessItem::createApConfig);
QTimer::singleShot(0, this, [=]() {
m_refershTimer->start();

View File

@ -58,6 +58,8 @@ Q_SIGNALS:
void cancelSecret(const QString &connectionPath, const QString &settingName);
void queryActiveConnInfo();
void requestWirelessScan();
void createApConfig(const QString &devPath, const QString &apPath);
void queryConnectionSession( const QString &devPath, const QString &uuid );
protected:
bool eventFilter(QObject *o, QEvent *e);

View File

@ -202,6 +202,10 @@ void NetworkPlugin::onDeviceListChanged(const QList<NetworkDevice *> devices)
m_networkWorker, &NetworkWorker::cancelSecret);
connect(static_cast<WirelessItem *>(item), &WirelessItem::requestWirelessScan,
m_networkWorker, &NetworkWorker::requestWirelessScan);
connect(static_cast<WirelessItem *>(item), &WirelessItem::createApConfig,
m_networkWorker, &NetworkWorker::createApConfig);
connect(static_cast<WirelessItem *>(item), &WirelessItem::queryConnectionSession,
m_networkWorker, &NetworkWorker::queryConnectionSession);
connect(m_networkModel, &NetworkModel::needSecrets,
static_cast<WirelessItem *>(item), &WirelessItem::onNeedSecrets);