diff options
Diffstat (limited to 'horizonwizard.cc')
-rw-r--r-- | horizonwizard.cc | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/horizonwizard.cc b/horizonwizard.cc index 1f7229f..7c123ea 100644 --- a/horizonwizard.cc +++ b/horizonwizard.cc @@ -1,9 +1,31 @@ #include "horizonwizard.hh" +#include "horizonhelpwindow.hh" + +#include <QFile> +#include <map> +#include <string> #include "welcomepage.hh" #include "networkingpage.hh" #include "softwarepage.hh" +using std::map; +using std::string; + +map<int, string> help_id_map = { + {HorizonWizard::Page_Welcome, "welcome"}, + {HorizonWizard::Page_Networking, "network-start"}, + {HorizonWizard::Page_Network_SimpleWireless, "network-wifi"}, + {HorizonWizard::Page_Network_SimpleWired, "network-wired"}, + {HorizonWizard::Page_Network_Advanced, "network-advanced"}, + {HorizonWizard::Page_Software, "software"}, + {HorizonWizard::Page_AdvancedSoftware, "software-advanced"}, + {HorizonWizard::Page_Startup, "startup"}, + {HorizonWizard::Page_Commit, "commit"}, + {HorizonWizard::Page_Save, "save"}, + {HorizonWizard::Page_Finished, "finished"} +}; + HorizonWizard::HorizonWizard(QWidget *parent) : QWizard(parent) { setWindowTitle(tr("Adélie Linux System Installation")); @@ -20,5 +42,15 @@ HorizonWizard::HorizonWizard(QWidget *parent) : QWizard(parent) setPage(Page_Networking, new NetworkingPage); setPage(Page_Software, new SoftwarePage); + QObject::connect(this, (void (QWizard:: *)(void))&QWizard::helpRequested, + [=](void) { + string helppath = ":/wizard_help/resources/" + + help_id_map.at(currentId()) + "-help.txt"; + QFile helpfile(helppath.c_str()); + helpfile.open(QFile::ReadOnly); + HorizonHelpWindow help(&helpfile, this); + help.exec(); + }); + selected.insert("adelie-base"); } |