mirror of
https://github.com/redstrate/Astra.git
synced 2025-04-21 12:17:45 +00:00
Giant commit overhauling the interface to use KDE's Kirigami framework, which is based on Qt Quick. The logic is all but rewritten, allowing accounts to be separate from profiles.
50 lines
1 KiB
C++
50 lines
1 KiB
C++
#pragma once
|
|
|
|
#include <QJsonArray>
|
|
#include <QObject>
|
|
#include <QTemporaryDir>
|
|
|
|
#include "launchercore.h"
|
|
|
|
class LauncherCore;
|
|
class QNetworkReply;
|
|
|
|
class AssetUpdater : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit AssetUpdater(Profile &profile, LauncherCore &launcher, QObject *parent = nullptr);
|
|
|
|
void update();
|
|
void beginInstall();
|
|
|
|
void checkIfCheckingIsDone();
|
|
void checkIfDalamudAssetsDone();
|
|
void checkIfFinished();
|
|
|
|
signals:
|
|
void finishedUpdating();
|
|
|
|
private:
|
|
LauncherCore &launcher;
|
|
|
|
Profile::DalamudChannel chosenChannel;
|
|
|
|
QString remoteDalamudVersion;
|
|
QString remoteRuntimeVersion;
|
|
|
|
QTemporaryDir tempDir;
|
|
|
|
bool doneDownloadingDalamud = false;
|
|
bool doneDownloadingRuntimeCore = false;
|
|
bool doneDownloadingRuntimeDesktop = false;
|
|
bool needsRuntimeInstall = false;
|
|
bool needsDalamudInstall = false;
|
|
|
|
int remoteDalamudAssetVersion = -1;
|
|
QList<QString> dalamudAssetNeededFilenames;
|
|
QJsonArray remoteDalamudAssetArray;
|
|
|
|
QString dataDir;
|
|
Profile &m_profile;
|
|
};
|