mirror of
https://github.com/Snigdha-OS/snigdhaos-assistant.git
synced 2025-09-06 20:55:17 +02:00
104 lines
3.2 KiB
C++
104 lines
3.2 KiB
C++
/*
|
|
* Original Author : Garuda Linux & Team.
|
|
* Thanks for developing this application.
|
|
* love from Bangladesh
|
|
*/
|
|
|
|
/*
|
|
* preprocessor directives: ensures that the contents of the file are only included once in a translation unit,
|
|
* preventing multiple inclusions and potential naming conflicts
|
|
*/
|
|
#ifndef SNIGDHAOSASSISTANT_H
|
|
#define SNIGDHAOSASSISTANT_H
|
|
|
|
/*class for main application windows*/
|
|
#include <QMainWindow>
|
|
/*abstract base class for buttons*/
|
|
#include <QAbstractButton>
|
|
/*class for managing network operations*/
|
|
#include <QtNetwork/QNetworkAccessManager>
|
|
|
|
/*
|
|
* defines a namespace for the user interface of the application, typically generated by Qt Designer.
|
|
* QT_BEGIN_NAMESPACE and QT_END_NAMESPACE are macros used to enclose the Qt namespace.
|
|
*/
|
|
QT_BEGIN_NAMESPACE
|
|
namespace Ui {
|
|
class SnigdhaOSAssistant;
|
|
}
|
|
QT_END_NAMESPACE
|
|
|
|
/*
|
|
* declares a class named SnigdhaOSAssistant, which inherits from QMainWindow.
|
|
* the Q_OBJECT macro is used to enable the Qt's meta-object system for this class,
|
|
* allowing features like signals and slots.
|
|
*/
|
|
class SnigdhaOSAssistant : public QMainWindow
|
|
{
|
|
Q_OBJECT
|
|
|
|
/*
|
|
* declares an enumeration type named State inside the SnigdhaOSAssistant class,
|
|
* containing various states that the application can be in.
|
|
*/
|
|
public:
|
|
enum class State {
|
|
QUIT,
|
|
WELCOME,
|
|
INTERNET,
|
|
UPDATE,
|
|
UPDATE_RETRY,
|
|
// NVIDIA_CHECK,
|
|
// NVIDIA,
|
|
// NVIDIA_APPLY,
|
|
SELECT,
|
|
APPLY,
|
|
APPLY_RETRY,
|
|
SUCCESS
|
|
};
|
|
|
|
/*
|
|
* constructor and destructor declarations for the SnigdhaOSAssistant class.
|
|
* the constructor takes a QWidget pointer as the parent widget and a QString representing
|
|
* the initial state of the application.
|
|
* the destructor has no parameters.
|
|
*/
|
|
SnigdhaOSAssistant(QWidget* parent = nullptr, QString state = "WELCOME");
|
|
~SnigdhaOSAssistant();
|
|
|
|
/*
|
|
* declare private slots, which are functions that can be connected to signals from widgets
|
|
*/
|
|
private slots:
|
|
void on_textWidget_buttonBox_clicked(QAbstractButton* button);
|
|
void on_selectWidget_buttonBox_clicked(QAbstractButton* button);
|
|
|
|
/*
|
|
* These are private member variables of the SnigdhaOSAssistant class.
|
|
* ui is a pointer to the user interface object generated by Qt Designer.
|
|
* executable_modify_date is a QDateTime object representing the modification date of the executable.
|
|
* currentState is an instance of the State enumeration representing the current state of the application.
|
|
*/
|
|
private:
|
|
Ui::SnigdhaOSAssistant *ui;
|
|
QDateTime executable_modify_date;
|
|
State currentState;
|
|
/*
|
|
* private member functions of the SnigdhaOSAssistant class.
|
|
* they perform various tasks such as making internet requests,
|
|
* updating the application, populating select widgets,
|
|
* updating the application state, and relaunching the application.
|
|
*/
|
|
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
|