diff --git a/snigdhaosassistant.h b/snigdhaosassistant.h index 8cac536..1fd22f4 100644 --- a/snigdhaosassistant.h +++ b/snigdhaosassistant.h @@ -8,6 +8,8 @@ #define SNIGDHAOSASSISTANT_H #include +#include +#include QT_BEGIN_NAMESPACE namespace Ui { @@ -20,10 +22,42 @@ class SnigdhaOSAssistant : public QMainWindow Q_OBJECT public: - SnigdhaOSAssistant(QWidget *parent = nullptr); + enum class State { + QUIT, + WELCOME, + INTERNET, + UPDATE, + UPDATE_RETRY, + NVIDIA_CHECK, + NVIDIA, + NVIDIA_APPLY, + SELECT, + APPLY, + APPLY_RETRY, + SUCCESS + }; + + SnigdhaOSAssistant(QWidget* parent = nullptr, QString state = "WELCOME"); ~SnigdhaOSAssistant(); +private slots: + void on_textWidget_buttonBox_clicked(QAbstractButton* button); + void on_selectWidget_buttonBox_clicked(QAbstractButton* button); + + private: Ui::SnigdhaOSAssistant *ui; + QDateTime executable_modify_date; + State currentState; + void doInternetUpRequest(); + void doUpdate(); + void doApply(); + void doNvidiaCheck(); + void doNvidiaApply(); + void populateSelectWidget(); + void populateSelectWidget(QString filename, QString label); + void updateState(State state); + void updateState(QString state); + void relaunchSelf(QString param); }; #endif // SNIGDHAOSASSISTANT_H