/* * Copyright (C) 2011 ~ 2018 Deepin Technology Co., Ltd. * * Author: sbw * * Maintainer: sbw * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef WIRELESSAPPLET_H #define WIRELESSAPPLET_H #include "devicecontrolwidget.h" #include "accesspoint.h" #include "../../networkdevice.h" #include "../../dbus/dbusnetwork.h" #include #include #include #include #include #include class WirelessList : public QScrollArea { Q_OBJECT public: explicit WirelessList(const QSet::const_iterator &deviceIter, QWidget *parent = 0); ~WirelessList(); NetworkDevice::NetworkState wirelessState() const; int activeAPStrgength() const; QWidget *controlPanel(); signals: void wirelessStateChanged(const NetworkDevice::NetworkState state) const; void activeAPChanged() const; private: void setDeviceInfo(const int index); void loadAPList(); private slots: void init(); void APAdded(const QString &devPath, const QString &info); void APRemoved(const QString &devPath, const QString &info); void APPropertiesChanged(const QString &devPath, const QString &info); void updateAPList(); void deviceEnableChanged(const bool enable); void deviceStateChanged(); void onActiveAPChanged(); void pwdDialogAccepted(); void pwdDialogCanceled(); void onPwdDialogTextChanged(const QString &text); void deviceEnabled(const QString &devPath, const bool enable); void activateAP(const QDBusObjectPath &apPath, const QString &ssid); void deactiveAP(); void needSecrets(const QString &info); private: NetworkDevice m_device; AccessPoint m_activeAP; QList m_apList; QTimer *m_updateAPTimer; Dtk::Widget::DInputDialog *m_pwdDialog; QCheckBox *m_autoConnBox; QString m_lastConnPath; QString m_lastConnSecurity; QString m_lastConnSecurityType; QVBoxLayout *m_centralLayout; QWidget *m_centralWidget; DeviceControlWidget *m_controlPanel; DBusNetwork *m_networkInter; }; #endif // WIRELESSAPPLET_H