51 lines
1.2 KiB
C++
51 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <QObject>
|
|
#include <QProcess>
|
|
#include <QProcessEnvironment>
|
|
#include <QQmlEngine>
|
|
#include <QStringList>
|
|
#include <QTemporaryDir>
|
|
#include <QTimer>
|
|
#include <QVariantList>
|
|
|
|
class UpdateManager : public QObject
|
|
{
|
|
Q_OBJECT
|
|
QML_ELEMENT
|
|
QML_SINGLETON
|
|
|
|
Q_PROPERTY(int packageCount READ packageCount NOTIFY packageCountChanged)
|
|
Q_PROPERTY(bool isChecking READ isChecking NOTIFY isCheckingChanged)
|
|
Q_PROPERTY(bool isUpdating READ isUpdating NOTIFY isUpdatingChanged)
|
|
Q_PROPERTY(bool isInstalling READ isInstalling NOTIFY isInstallingChanged)
|
|
Q_PROPERTY(bool isRemoving READ isRemoving NOTIFY isRemovingChanged)
|
|
|
|
public:
|
|
explicit UpdateManager(QObject* parent = nullptr);
|
|
|
|
public:
|
|
int packageCount() const;
|
|
bool isChecking() const;
|
|
bool isUpdating() const;
|
|
bool isInstalling() const;
|
|
bool isRemoving() const;
|
|
|
|
private:
|
|
QProcess m_process;
|
|
|
|
private:
|
|
bool m_isChecking = false;
|
|
bool m_isUpdating = false;
|
|
bool m_isInstalling = false;
|
|
bool m_isRemoving = false;
|
|
|
|
signals:
|
|
void packageCountChanged();
|
|
void isCheckingChanged();
|
|
void isUpdatingChanged();
|
|
void isInstallingChanged();
|
|
void isRemovingChanged();
|
|
};
|
|
|