summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--horizon.qrc2
-rw-r--r--horizonwizard.cc2
-rw-r--r--networkingpage.cc57
-rw-r--r--networkingpage.hh6
-rw-r--r--resources/network-high.pngbin0 -> 311676 bytes
-rw-r--r--resources/network-low.pngbin0 -> 98234 bytes
6 files changed, 65 insertions, 2 deletions
diff --git a/horizon.qrc b/horizon.qrc
index cb44beb..5fcf84f 100644
--- a/horizon.qrc
+++ b/horizon.qrc
@@ -2,5 +2,7 @@
<qresource prefix="/wizard_pixmaps">
<file>resources/welcome-high.png</file>
<file>resources/welcome-low.png</file>
+ <file>resources/network-low.png</file>
+ <file>resources/network-high.png</file>
</qresource>
</RCC>
diff --git a/horizonwizard.cc b/horizonwizard.cc
index d956694..cd87423 100644
--- a/horizonwizard.cc
+++ b/horizonwizard.cc
@@ -7,7 +7,7 @@ HorizonWizard::HorizonWizard(QWidget *parent) : QWizard(parent)
{
setWindowTitle(tr("Adélie Linux System Installation"));
- setFixedSize(QSize(600, 450));
+ setFixedSize(QSize(700, 450));
setOption(DisabledBackButtonOnLastPage);
setOption(HaveHelpButton);
diff --git a/networkingpage.cc b/networkingpage.cc
index cc3aeb3..7859a37 100644
--- a/networkingpage.cc
+++ b/networkingpage.cc
@@ -1,6 +1,61 @@
#include "networkingpage.hh"
+#include <QLabel>
+#include <QRadioButton>
+#include <QVBoxLayout>
+
NetworkingPage::NetworkingPage(QWidget *parent) : HorizonWizardPage(parent)
{
- setTitle(tr("Network Setup"));
+ QLabel *descLabel;
+ QRadioButton *simple, *advanced, *skip;
+ QVBoxLayout *layout;
+
+ loadWatermark("network");
+ setTitle(tr("Networking Setup"));
+
+ descLabel = new QLabel(tr(
+ "If you have a normal network connection where your "
+ "computer is directly connected to the Internet via "
+ "Ethernet or Wi-Fi using a modem or router, choose "
+ "Simple. If you have a more complicated network "
+ "configuration, you need to set a static IP address, "
+ "or you use a VPN, choose Advanced.\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(
+ "&Simple - my computer connects to the Internet directly "
+ "or via a modem/router"));
+ advanced = new QRadioButton(tr(
+ "&Advanced - my computer connects to an enterprise "
+ "network or\nI use a static IP address/VPN/802.1X"));
+ skip = new QRadioButton(tr(
+ "S&kip - I don't want to connect to a network or the "
+ "Internet right now"));
+
+ radioGroup = new QButtonGroup(this);
+ radioGroup->addButton(simple);
+ radioGroup->addButton(advanced);
+ radioGroup->addButton(skip);
+
+ QObject::connect(radioGroup, (void (QButtonGroup:: *)(QAbstractButton *))&QButtonGroup::buttonClicked,
+ [=](QAbstractButton *button) {
+ 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);
}
diff --git a/networkingpage.hh b/networkingpage.hh
index bf517f8..6a880ca 100644
--- a/networkingpage.hh
+++ b/networkingpage.hh
@@ -3,10 +3,16 @@
#include "horizonwizardpage.hh"
+#include <QButtonGroup>
+
class NetworkingPage : public HorizonWizardPage
{
public:
NetworkingPage(QWidget *parent = 0);
+
+ bool isComplete() const;
+private:
+ QButtonGroup *radioGroup;
};
#endif // NETWORKINGPAGE_HH
diff --git a/resources/network-high.png b/resources/network-high.png
new file mode 100644
index 0000000..77ef906
--- /dev/null
+++ b/resources/network-high.png
Binary files differ
diff --git a/resources/network-low.png b/resources/network-low.png
new file mode 100644
index 0000000..f8535f3
--- /dev/null
+++ b/resources/network-low.png
Binary files differ