#ifndef INSTALLERPROMPT_H #define INSTALLERPROMPT_H #include #include #include #include #include #include #include #include #include namespace NetworkManager { class Device; class WirelessDevice; class WirelessNetwork; } namespace Ui { class InstallerPrompt; } class InstallerPrompt : public QMainWindow { Q_OBJECT public: explicit InstallerPrompt(QWidget *parent = nullptr); ~InstallerPrompt() override; private slots: void refreshNetworkList(); void onLanguageChanged(int index); void onConnectWifiClicked(); void updateConnectionStatus(); void handleWiFiConnectionChange(NetworkManager::Device::State newstate, NetworkManager::Device::State oldstate, NetworkManager::Device::StateChangeReason reason); void tryLubuntu(); void installLubuntu(); private: Ui::InstallerPrompt *ui; QProcess *process; NetworkManager::WirelessDevice::Ptr wifiDevice; QMap wifiNetworkMap; void handleWifiConnection(const QString &ssid, bool recoverFromWrongPassword = false); void initLanguageComboBox(); QStringList getAvailableLanguages() const; void showWifiOptions(); NetworkManager::Connection::Ptr findConnectionBySsid(const QString &ssid); QMap createSettingsBySSID(const QString &ssid); }; #endif // INSTALLERPROMPT_H