From 386ff62ca3aba790f9831ee7c194d24f6fb781fe Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Fri, 8 Nov 2019 02:38:58 -0600 Subject: UI: Import some of the 2016 prototype - welcome to Qt UI development --- ui/qt5/networkingpage.cc | 74 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 ui/qt5/networkingpage.cc (limited to 'ui/qt5/networkingpage.cc') diff --git a/ui/qt5/networkingpage.cc b/ui/qt5/networkingpage.cc new file mode 100644 index 0000000..140e9af --- /dev/null +++ b/ui/qt5/networkingpage.cc @@ -0,0 +1,74 @@ +#include "networkingpage.hh" +#include "horizonwizard.hh" + +#include +#include +#include + +NetworkingPage::NetworkingPage(QWidget *parent) : HorizonWizardPage(parent) +{ + QLabel *descLabel; + QVBoxLayout *layout; + + loadWatermark("network"); + setTitle(tr("Networking Setup")); + + descLabel = new QLabel(tr( + "If you have a typical network connection where your computer is " + "directly connected to the Internet via Ethernet or Wi-Fi using a " + "modem or router, choose Automatic. If you need to set a static IP " + "address, or you use a VPN or proxy server, choose Manual.\n\n" + + "If you don't want to configure networking or you don't want to use " + "this computer on the Internet, choose Skip.")); + descLabel->setWordWrap(true); + + simple = new QRadioButton(tr("&Automatic - my computer connects to the Internet directly\n" + "or via a modem/router.")); + advanced = new QRadioButton(tr("&Manual - my computer connects to an enterprise network,\n" + "or I use a static IP address, VPN, or 802.1X.")); + skip = new QRadioButton(tr("&Skip - I don't want to connect to a network or the Internet.")); + + radioGroup = new QButtonGroup(this); + radioGroup->addButton(simple); + radioGroup->addButton(advanced); + radioGroup->addButton(skip); + + QObject::connect(radioGroup, static_cast(&QButtonGroup::buttonClicked), + [=](QAbstractButton *button __attribute__((unused))) { + emit completeChanged(); + }); + + layout = new QVBoxLayout; + layout->addWidget(descLabel); + layout->addSpacing(50); + layout->addWidget(simple); + layout->addWidget(advanced); + layout->addWidget(skip); + setLayout(layout); +} + +bool NetworkingPage::isComplete() const +{ + return (radioGroup->checkedButton() != nullptr); +} + +int NetworkingPage::nextId() const +{ + if(radioGroup->checkedButton() == simple) { + /* determine wifi */ + if(false) { + return HorizonWizard::Page_Network_Wireless; + } else { + if(false) { + return HorizonWizard::Page_Network_Iface; + } else { + return HorizonWizard::Page_Network_DHCP; + } + } + } else if(radioGroup->checkedButton() == advanced) { + return HorizonWizard::Page_Network_Manual; + } else { + return HorizonWizard::Page_DateTime; + } +} -- cgit v1.2.3-60-g2f50