diff --git a/src/gui/cloudproviders/cloudprovidermanager.cpp b/src/gui/cloudproviders/cloudprovidermanager.cpp index 892f60abd..d5a07512d 100644 --- a/src/gui/cloudproviders/cloudprovidermanager.cpp +++ b/src/gui/cloudproviders/cloudprovidermanager.cpp @@ -51,29 +51,28 @@ void CloudProviderManager::registerSignals() CloudProviderManager::CloudProviderManager(QObject *parent) : QObject(parent) { - _map = new QMap(); _folder_index = 0; g_bus_own_name (G_BUS_TYPE_SESSION, LIBCLOUDPROVIDERS_DBUS_BUS_NAME, G_BUS_NAME_OWNER_FLAGS_NONE, nullptr, on_name_acquired, nullptr, this, nullptr); } void CloudProviderManager::slotFolderListChanged(const Folder::Map &folderMap) { - QMapIterator i(*_map); + QMapIterator i(_map); while (i.hasNext()) { i.next(); if (!folderMap.contains(i.key())) { cloud_providers_provider_exporter_remove_account(_providerExporter, i.value()->accountExporter()); - delete _map->find(i.key()).value(); - _map->remove(i.key()); + delete _map.find(i.key()).value(); + _map.remove(i.key()); } } Folder::MapIterator j(folderMap); while (j.hasNext()) { j.next(); - if (!_map->contains(j.key())) { + if (!_map.contains(j.key())) { auto *cpo = new CloudProviderWrapper(this, j.value(), _folder_index++, _providerExporter); - _map->insert(j.key(), cpo); + _map.insert(j.key(), cpo); } } } diff --git a/src/gui/cloudproviders/cloudprovidermanager.h b/src/gui/cloudproviders/cloudprovidermanager.h index 17aafc5dc..deb09932f 100644 --- a/src/gui/cloudproviders/cloudprovidermanager.h +++ b/src/gui/cloudproviders/cloudprovidermanager.h @@ -35,7 +35,7 @@ public slots: void slotFolderListChanged(const Folder::Map &folderMap); private: - QMap *_map; + QMap _map; unsigned int _folder_index; }; diff --git a/src/gui/cloudproviders/cloudproviderwrapper.cpp b/src/gui/cloudproviders/cloudproviderwrapper.cpp index 421ae625a..3b520721a 100644 --- a/src/gui/cloudproviders/cloudproviderwrapper.cpp +++ b/src/gui/cloudproviders/cloudproviderwrapper.cpp @@ -38,7 +38,6 @@ CloudProviderWrapper::CloudProviderWrapper(QObject *parent, Folder *folder, int { GMenuModel *model; GActionGroup *action_group; - _recentlyChanged = new QList>(); QString accountName = QString("Folder/%1").arg(folderId); _cloudProvider = CLOUD_PROVIDERS_PROVIDER_EXPORTER(cloudprovider); @@ -109,11 +108,11 @@ void CloudProviderWrapper::slotUpdateProgress(const QString &folder, const Progr if (f) { QString fullPath = f->path() + '/' + progress._lastCompletedItem._file; if (QFile(fullPath).exists()) { - if (_recentlyChanged->length() > 5) - _recentlyChanged->removeFirst(); - _recentlyChanged->append(qMakePair(actionText, fullPath)); + if (_recentlyChanged.length() > 5) + _recentlyChanged.removeFirst(); + _recentlyChanged.append(qMakePair(actionText, fullPath)); } else { - _recentlyChanged->append(qMakePair(actionText, QString(""))); + _recentlyChanged.append(qMakePair(actionText, QString(""))); } } @@ -152,9 +151,9 @@ void CloudProviderWrapper::slotUpdateProgress(const QString &folder, const Progr && shouldShowInRecentsMenu(progress._lastCompletedItem)) { GMenuItem* item; g_menu_remove_all (G_MENU(_recentMenu)); - if(!_recentlyChanged->isEmpty()) { + if(!_recentlyChanged.isEmpty()) { QList>::iterator i; - for (i = _recentlyChanged->begin(); i != _recentlyChanged->end(); i++) { + for (i = _recentlyChanged.begin(); i != _recentlyChanged.end(); i++) { QString label = i->first; QString fullPath = i->second; item = menu_item_new(label, "cloudprovider.showfile"); diff --git a/src/gui/cloudproviders/cloudproviderwrapper.h b/src/gui/cloudproviders/cloudproviderwrapper.h index 24830c89a..e3a46cc43 100644 --- a/src/gui/cloudproviders/cloudproviderwrapper.h +++ b/src/gui/cloudproviders/cloudproviderwrapper.h @@ -57,7 +57,7 @@ private: Folder *_folder; CloudProvidersProviderExporter *_cloudProvider; CloudProvidersAccountExporter *_cloudProviderAccount; - QList> *_recentlyChanged; + QList> _recentlyChanged; bool _paused; GMenu* _mainMenu = nullptr; GMenu* _recentMenu = nullptr; diff --git a/src/gui/systray.cpp b/src/gui/systray.cpp index 17ac06c6a..bd508319b 100644 --- a/src/gui/systray.cpp +++ b/src/gui/systray.cpp @@ -19,10 +19,9 @@ #include "tray/UserModel.h" #include -#include #include -#include #include +#include #include #ifdef USE_FDO_NOTIFICATIONS @@ -50,8 +49,8 @@ Systray *Systray::instance() Systray::Systray() : _isOpen(false) , _syncIsPaused(false) + , _trayEngine(new QQmlApplicationEngine(this)) { - _trayEngine = new QQmlApplicationEngine; _trayEngine->addImportPath("qrc:/qml/theme"); _trayEngine->addImageProvider("avatars", new ImageProvider); _trayEngine->rootContext()->setContextProperty("userModelBackend", UserModel::instance()); diff --git a/src/gui/systray.h b/src/gui/systray.h index 21f70ef4a..8ec154d3d 100644 --- a/src/gui/systray.h +++ b/src/gui/systray.h @@ -16,12 +16,10 @@ #define SYSTRAY_H #include -#include #include "accountmanager.h" #include "tray/UserModel.h" -class QIcon; class QQmlApplicationEngine; namespace OCC { diff --git a/test/stubfolderman.cpp b/test/stubfolderman.cpp index 2a60ecb9a..0ee32d731 100644 --- a/test/stubfolderman.cpp +++ b/test/stubfolderman.cpp @@ -1,7 +1,9 @@ // stub to prevent linker error #include "accountmanager.h" -OCC::AccountManager *OCC::AccountManager::instance() { return static_cast(new QObject); } +Q_GLOBAL_STATIC(QObject, dummy) + +OCC::AccountManager *OCC::AccountManager::instance() { return static_cast(dummy()); } void OCC::AccountManager::save(bool) { } void OCC::AccountManager::saveAccountState(AccountState *) { } void OCC::AccountManager::deleteAccount(AccountState *) { }