From d80962b634cb615acda761d0fe85a536261b67e5 Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Mon, 4 Sep 2023 17:11:14 +0800 Subject: [PATCH] Instantiate internal MacImplementation in file provider settings controller Signed-off-by: Claudio Cambra --- src/gui/macOS/ui/fileprovidersettingscontroller.h | 1 + src/gui/macOS/ui/fileprovidersettingscontroller_mac.mm | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/gui/macOS/ui/fileprovidersettingscontroller.h b/src/gui/macOS/ui/fileprovidersettingscontroller.h index cd638c6eab..74fa86fc89 100644 --- a/src/gui/macOS/ui/fileprovidersettingscontroller.h +++ b/src/gui/macOS/ui/fileprovidersettingscontroller.h @@ -27,6 +27,7 @@ class FileProviderSettingsController : public QObject public: explicit FileProviderSettingsController(QObject *parent = nullptr); + ~FileProviderSettingsController() override; [[nodiscard]] QQuickWidget *settingsViewWidget(); diff --git a/src/gui/macOS/ui/fileprovidersettingscontroller_mac.mm b/src/gui/macOS/ui/fileprovidersettingscontroller_mac.mm index c7f2a74aeb..39028d8722 100644 --- a/src/gui/macOS/ui/fileprovidersettingscontroller_mac.mm +++ b/src/gui/macOS/ui/fileprovidersettingscontroller_mac.mm @@ -38,8 +38,9 @@ Q_LOGGING_CATEGORY(lcFileProviderSettingsController, "nextcloud.gui.mac.fileprov class FileProviderSettingsController::MacImplementation { public: - MacImplementation() + MacImplementation(FileProviderSettingsController *const parent) { + q = parent; _userDefaults = NSUserDefaults.standardUserDefaults; }; @@ -49,13 +50,17 @@ public: }; private: - NSUserDefaults *_userDefaults; + FileProviderSettingsController *q = nullptr; + NSUserDefaults *_userDefaults = nil; }; +FileProviderSettingsController::~FileProviderSettingsController() = default; FileProviderSettingsController::FileProviderSettingsController(QObject *parent) : QObject{parent} { + d = std::make_unique(this); + _settingsViewWidget = std::make_unique(Systray::instance()->trayEngine(), nullptr); _settingsViewWidget->setResizeMode(QQuickWidget::SizeRootObjectToView); _settingsViewWidget->setSource(QUrl(fpSettingsQmlPath));