diff options
| author | xiphon <xiphon@protonmail.com> | 2020-11-24 22:41:05 +0000 |
|---|---|---|
| committer | xiphon <xiphon@protonmail.com> | 2020-11-25 10:50:56 +0000 |
| commit | ec8cd137cc9592aa910e9829f8e9ce251488c70f (patch) | |
| tree | 52a9c089a70b85ea0f7f7a66c263f7d34a3ca039 /src | |
| parent | d5365298d26b33ccb490bc7f8af936c67394e045 (diff) | |
| download | monzero-gui-ec8cd137cc9592aa910e9829f8e9ce251488c70f.tar.gz monzero-gui-ec8cd137cc9592aa910e9829f8e9ce251488c70f.tar.xz monzero-gui-ec8cd137cc9592aa910e9829f8e9ce251488c70f.zip | |
portable: use portable storage folder to store QML disk cache
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/main.cpp | 18 | ||||
| -rw-r--r-- | src/qt/MoneroSettings.cpp | 4 | ||||
| -rw-r--r-- | src/qt/MoneroSettings.h | 4 |
3 files changed, 18 insertions, 8 deletions
diff --git a/src/main/main.cpp b/src/main/main.cpp index 4035e194..79e172ca 100644 --- a/src/main/main.cpp +++ b/src/main/main.cpp @@ -190,6 +190,20 @@ int main(int argc, char *argv[]) // Turn off colors in monerod log output. qputenv("TERM", "goaway"); +#if defined(Q_OS_MACOS) + QDir::setCurrent(QDir(MacOSHelper::bundlePath() + QDir::separator() + "..").canonicalPath()); +#endif + + if (MoneroSettings::portableConfigExists()) + { + const QString cacheDir(MoneroSettings::portableFolderName() + QDir::separator() + ".cache"); + if (!qputenv("QML_DISK_CACHE_PATH", cacheDir.toUtf8())) + { + qCritical() << "Error: failed to set QML disk cache path"; + return 1; + } + } + MainApp app(argc, argv); #if defined(Q_OS_WIN) @@ -326,10 +340,6 @@ Verify update binary using 'shasum'-compatible (SHA256 algo) output signed by tw // start listening QTimer::singleShot(0, ipc, SLOT(bind())); -#if defined(Q_OS_MACOS) - QDir::setCurrent(QDir(MacOSHelper::bundlePath() + QDir::separator() + "..").canonicalPath()); -#endif - // screen settings // Mobile is designed on 128dpi qreal ref_dpi = 128; diff --git a/src/qt/MoneroSettings.cpp b/src/qt/MoneroSettings.cpp index bcd358e0..b70aa994 100644 --- a/src/qt/MoneroSettings.cpp +++ b/src/qt/MoneroSettings.cpp @@ -179,13 +179,13 @@ bool MoneroSettings::portable() const return this->m_settings && this->m_settings->fileName() == portableFilePath(); } -bool MoneroSettings::portableConfigExists() const +bool MoneroSettings::portableConfigExists() { QFileInfo info(portableFilePath()); return info.exists() && info.isFile(); } -QString MoneroSettings::portableFilePath() const +QString MoneroSettings::portableFilePath() { static QString filename(QDir(portableFolderName()).absoluteFilePath("settings.ini")); return filename; diff --git a/src/qt/MoneroSettings.h b/src/qt/MoneroSettings.h index 30f4b35b..d5db0885 100644 --- a/src/qt/MoneroSettings.h +++ b/src/qt/MoneroSettings.h @@ -64,6 +64,7 @@ public: Q_INVOKABLE void setWritable(bool enabled); static QString portableFolderName(); + static bool portableConfigExists(); public slots: void _q_propertyChanged(); @@ -84,8 +85,7 @@ private: void store(); bool portable() const; - bool portableConfigExists() const; - QString portableFilePath() const; + static QString portableFilePath(); std::unique_ptr<QSettings> portableSettings() const; std::unique_ptr<QSettings> unportableSettings() const; void swap(std::unique_ptr<QSettings> newSettings); |
