Skip to content

Commit

Permalink
Cleanup: pass stuff in QmlDownloader constructor
Browse files Browse the repository at this point in the history
... instead of setting members directly. The qmlRegisterType thing needed
to be tweaked so that it doesn't require a default constructor to exist.
  • Loading branch information
slipher committed Jul 22, 2024
1 parent 74a3db2 commit cb1d60c
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 10 deletions.
9 changes: 5 additions & 4 deletions main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -210,9 +210,7 @@ int main(int argc, char *argv[])
SplashController splashController(
options.relaunchCommand, options.updateUpdaterVersion, options.connectUrl, settings);
splashController.checkForUpdate();
QmlDownloader downloader;
downloader.ariaLogFilename_ = options.ariaLogFilename;
downloader.connectUrl_ = options.connectUrl;
QmlDownloader downloader(options.ariaLogFilename, options.connectUrl, settings);
QQmlApplicationEngine engine;
engine.addImportPath(QLatin1String("qrc:/"));
engine.addImageProvider(QLatin1String("fluidicons"), new IconsImageProvider());
Expand All @@ -223,7 +221,10 @@ int main(int argc, char *argv[])
context->setContextProperty("splashController", &splashController);
context->setContextProperty("downloader", &downloader);
context->setContextProperty("splashMilliseconds", options.splashMilliseconds);
qmlRegisterType<QmlDownloader>("QmlDownloader", 1, 0, "QmlDownloader");

// This is done in order to use the DownloadState enum
qmlRegisterUncreatableType<QmlDownloader>(
"QmlDownloader", 1, 0, "QmlDownloader", "QmlDownloader not constructible");

engine.load(QUrl(QLatin1String("qrc:/splash.qml")));
return app.exec();
Expand Down
6 changes: 5 additions & 1 deletion qmldownloader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,11 @@

static const QString UPDATER_BASE_URL("https://github.com/Unvanquished/updater/releases/download");

QmlDownloader::QmlDownloader() : downloadSpeed_(0),
QmlDownloader::QmlDownloader(QString ariaLogFilename, QString connectUrl, Settings& settings) :
ariaLogFilename_(ariaLogFilename),
connectUrl_(connectUrl),
settings_(settings),
downloadSpeed_(0),
uploadSpeed_(0),
eta_(0),
totalSize_(0),
Expand Down
10 changes: 5 additions & 5 deletions qmldownloader.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class QmlDownloader : public QObject
};
Q_ENUM(DownloadState)

QmlDownloader();
QmlDownloader(QString ariaLogFilename, QString connectUrl, Settings& settings);
~QmlDownloader();
int downloadSpeed() const;
int uploadSpeed() const;
Expand All @@ -59,9 +59,6 @@ class QmlDownloader : public QObject
int completedSize() const;
DownloadState state() const;

QString ariaLogFilename_;
QString connectUrl_; // used for updater update

signals:
void downloadSpeedChanged(int downloadSpeed);
void uploadSpeedChanged(int uploadSpeed);
Expand Down Expand Up @@ -89,6 +86,10 @@ public slots:
void startUpdate(const QString& selectedInstallPath);
void launchGameIfInstalled();

QString ariaLogFilename_;
QString connectUrl_; // used for updater update
Settings& settings_;

QThread thread_;
int downloadSpeed_;
int uploadSpeed_;
Expand All @@ -98,7 +99,6 @@ public slots:

DownloadWorker* worker_;
DownloadTimeCalculator downloadTime_;
Settings settings_;
DownloadState state_;
std::unique_ptr<QTemporaryDir> temp_dir_;

Expand Down

0 comments on commit cb1d60c

Please sign in to comment.