File indexing completed on 2025-02-16 14:23:02
0001 /* 0002 SPDX-FileCopyrightText: 2013 Lukas Tinkl <ltinkl@redhat.com> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef PLASMA_NM_IPV6_WIDGET_H 0008 #define PLASMA_NM_IPV6_WIDGET_H 0009 0010 #include <NetworkManagerQt/Ipv6Setting> 0011 #include <QWidget> 0012 0013 #include "ipv6routeswidget.h" 0014 #include "settingwidget.h" 0015 0016 namespace Ui 0017 { 0018 class IPv6Widget; 0019 } 0020 0021 class Q_DECL_EXPORT IPv6Widget : public SettingWidget 0022 { 0023 Q_OBJECT 0024 public: 0025 enum MethodIndex { Automatic = 0, AutomaticOnlyIP, AutomaticOnlyDHCP, LinkLocal, Manual, Ignored, Disabled }; 0026 0027 explicit IPv6Widget(const NetworkManager::Setting::Ptr &setting = NetworkManager::Setting::Ptr(), QWidget *parent = nullptr, Qt::WindowFlags f = {}); 0028 ~IPv6Widget() override; 0029 0030 void loadConfig(const NetworkManager::Setting::Ptr &setting) override; 0031 0032 QVariantMap setting() const override; 0033 0034 bool isValid() const override; 0035 0036 private Q_SLOTS: 0037 void slotModeComboChanged(int index); 0038 void slotRoutesDialog(); 0039 0040 void slotDnsServers(); 0041 void slotDnsDomains(); 0042 0043 void slotAddIPAddress(); 0044 void slotRemoveIPAddress(); 0045 0046 void selectionChanged(const QItemSelection &selected); 0047 void tableViewItemChanged(QStandardItem *item); 0048 0049 private: 0050 Ui::IPv6Widget *const m_ui; 0051 NetworkManager::Ipv6Setting m_tmpIpv6Setting; 0052 0053 class Private; 0054 Private *const d; 0055 }; 0056 0057 #endif // PLASMA_NM_IPV4_WIDGET_H