Warning, file /plasma/plasma-nm/libs/editor/settings/ipv4widget.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

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_IPV4_WIDGET_H
0008 #define PLASMA_NM_IPV4_WIDGET_H
0009 
0010 #include <NetworkManagerQt/Ipv4Setting>
0011 #include <QWidget>
0012 
0013 #include "ipv4routeswidget.h"
0014 #include "settingwidget.h"
0015 
0016 namespace Ui
0017 {
0018 class IPv4Widget;
0019 }
0020 
0021 class Q_DECL_EXPORT IPv4Widget : public SettingWidget
0022 {
0023     Q_OBJECT
0024 public:
0025     enum MethodIndex { Automatic = 0, AutomaticOnlyIP, LinkLocal, Manual, Shared, Disabled };
0026 
0027     explicit IPv4Widget(const NetworkManager::Setting::Ptr &setting = NetworkManager::Setting::Ptr(), QWidget *parent = nullptr, Qt::WindowFlags f = {});
0028     ~IPv4Widget() 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     void slotAdvancedDialog();
0040 
0041     void slotDnsServers();
0042     void slotDnsDomains();
0043 
0044     void slotAddIPAddress();
0045     void slotRemoveIPAddress();
0046 
0047     void selectionChanged(const QItemSelection &selected);
0048     void tableViewItemChanged(QStandardItem *item);
0049 
0050 private:
0051     Ui::IPv4Widget *const m_ui;
0052     NetworkManager::Ipv4Setting m_tmpIpv4Setting;
0053 
0054     class Private;
0055     Private *const d;
0056 };
0057 
0058 #endif // PLASMA_NM_IPV4_WIDGET_H