Make mac implementation of file provider settings controller a QObject
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Tue, 9 Jan 2024 18:16:28 +0000 (02:16 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Mon, 19 Feb 2024 14:45:21 +0000 (22:45 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
src/gui/macOS/fileprovidersettingscontroller.h
src/gui/macOS/fileprovidersettingscontroller_mac.mm

index 2bfa68e357aa6121063e67703a4b20a2363c6707..2d5ef10b10bd20ebb7d38d309f7df73daf7694b3 100644 (file)
@@ -60,10 +60,9 @@ signals:
 
 private:
     explicit FileProviderSettingsController(QObject *parent = nullptr);
-    ~FileProviderSettingsController() override;
 
     class MacImplementation;
-    std::unique_ptr<MacImplementation> d;
+    MacImplementation *d;
 
     QHash<QString, UserInfo*> _userInfos;
 };
index 9629b07a5a242e132af6684dd268065115554802..9905ccd5ede57ef968de6522094d72f0ffef469c 100644 (file)
@@ -54,7 +54,7 @@ namespace Mac {
 
 Q_LOGGING_CATEGORY(lcFileProviderSettingsController, "nextcloud.gui.mac.fileprovider.settingscontroller")
 
-class FileProviderSettingsController::MacImplementation
+class FileProviderSettingsController::MacImplementation : public QObject
 {
 public:
     enum class VfsAccountsAction {
@@ -292,13 +292,10 @@ FileProviderSettingsController *FileProviderSettingsController::instance()
     return &controller;
 }
 
-FileProviderSettingsController::~FileProviderSettingsController() = default;
-
 FileProviderSettingsController::FileProviderSettingsController(QObject *parent)
     : QObject{parent}
+    , d(new FileProviderSettingsController::MacImplementation(this))
 {
-    d = std::make_unique<FileProviderSettingsController::MacImplementation>(this);
-
     const auto accManager = AccountManager::instance();
     const auto accountsList = accManager->accounts();