2024-05-12 12:24:07 +08:00

51 lines
1.0 KiB
C++

#ifndef KERNELINSTALLER_H
#define KERNELINSTALLER_H
#include <QMainWindow>
#include <qtermwidget5/qtermwidget.h>
namespace Ui {
class KernelInstaller;
}
class KernelInstaller : public QMainWindow
{
Q_OBJECT
public:
enum Option {
Install,
Remove,
Reconfigure,
Update,
Upgrade
};
explicit KernelInstaller(Option option, QStringList kernelList, QWidget *parent = nullptr);
~KernelInstaller();
signals:
void InstallFinished(int status);
private:
QTimer *runStatusTimer;
Option runOption;
Ui::KernelInstaller *ui;
QTermWidget *terminal;
QStringList kernelList;
int processID;
QString tempDir = "/tmp";
void StartInstaller();
QString BuildKernelInstallerBash(QStringList kernelList, QString tempFilePath) const;
QString BuildKernelRootLoaderInstallerBash(QString tempFilePath, QString tempLoaderFilePath) const;
int CheckInstallerStatus();
void CheckInstallerStatusTimer();
};
#endif // KERNELINSTALLER_H