File indexing completed on 2024-03-24 05:49:28
0001 // SPDX-License-Identifier: GPL-3.0-or-later 0002 /* 0003 Copyright 2017 Martin Koller, kollix@aon.at 0004 0005 This file is part of liquidshell. 0006 0007 liquidshell is free software: you can redistribute it and/or modify 0008 it under the terms of the GNU General Public License as published by 0009 the Free Software Foundation, either version 3 of the License, or 0010 (at your option) any later version. 0011 0012 liquidshell is distributed in the hope that it will be useful, 0013 but WITHOUT ANY WARRANTY; without even the implied warranty of 0014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0015 GNU General Public License for more details. 0016 0017 You should have received a copy of the GNU General Public License 0018 along with liquidshell. If not, see <http://www.gnu.org/licenses/>. 0019 */ 0020 0021 #ifndef _NetworkList_H_ 0022 #define _NetworkList_H_ 0023 0024 #include <QFrame> 0025 #include <QToolButton> 0026 #include <QHBoxLayout> 0027 #include <QVBoxLayout> 0028 #include <QScrollArea> 0029 0030 class NetworkList : public QFrame 0031 { 0032 Q_OBJECT 0033 0034 public: 0035 NetworkList(QWidget *parent); 0036 0037 QSize sizeHint() const override; 0038 0039 Q_SIGNALS: 0040 void changed(); 0041 0042 private Q_SLOTS: 0043 void statusUpdate(); 0044 void fillConnections(); 0045 void openConfigureDialog(); 0046 0047 private: 0048 QToolButton *network, *wireless; 0049 QVBoxLayout *connectionsVbox; 0050 QHBoxLayout *hbox; 0051 QScrollArea *scroll; 0052 }; 0053 0054 //-------------------------------------------------------------------------------- 0055 0056 #include <NetworkManagerQt/Manager> 0057 #include <NetworkManagerQt/AccessPoint> 0058 #include <IconButton.hxx> 0059 0060 class NetworkButton : public IconButton 0061 { 0062 Q_OBJECT 0063 0064 public: 0065 NetworkButton(NetworkManager::Connection::Ptr c = NetworkManager::Connection::Ptr(), 0066 NetworkManager::Device::Ptr dev = NetworkManager::Device::Ptr(), 0067 NetworkManager::AccessPoint::Ptr accessPoint = NetworkManager::AccessPoint::Ptr()); 0068 0069 static bool compare(const NetworkButton *left, const NetworkButton *right); 0070 0071 private Q_SLOTS: 0072 void toggleNetworkStatus(bool on); 0073 0074 private: 0075 NetworkManager::Connection::Ptr connection; 0076 NetworkManager::Device::Ptr device; 0077 QByteArray rawSsid; 0078 QString ssid; 0079 NetworkManager::AccessPoint::WpaFlags wpaFlags; 0080 }; 0081 0082 #endif