diff options
author | Daniel Molkentin <danimo@owncloud.com> | 2013-07-22 15:59:52 +0400 |
---|---|---|
committer | Daniel Molkentin <danimo@owncloud.com> | 2013-07-22 15:59:52 +0400 |
commit | a5e7af6c1f934dfb1eef299dc28e09017d326294 (patch) | |
tree | ab5f94287998d33225a39248825129804c5ed719 /src/mirall | |
parent | 5fe4d2db2bd6d05e6b9f8091b0b8d62fee2802a9 (diff) |
Make FolderMan a singleton
It doesn't "belong" to application (think about lib use cases).
This is better.
Diffstat (limited to 'src/mirall')
-rw-r--r-- | src/mirall/accountsettings.cpp | 53 | ||||
-rw-r--r-- | src/mirall/accountsettings.h | 3 | ||||
-rw-r--r-- | src/mirall/application.cpp | 47 | ||||
-rw-r--r-- | src/mirall/application.h | 3 | ||||
-rw-r--r-- | src/mirall/folderman.cpp | 10 | ||||
-rw-r--r-- | src/mirall/folderman.h | 6 | ||||
-rw-r--r-- | src/mirall/owncloudsetupwizard.cpp | 27 | ||||
-rw-r--r-- | src/mirall/owncloudsetupwizard.h | 7 | ||||
-rw-r--r-- | src/mirall/settingsdialog.cpp | 10 | ||||
-rw-r--r-- | src/mirall/settingsdialog.h | 1 |
10 files changed, 90 insertions, 77 deletions
diff --git a/src/mirall/accountsettings.cpp b/src/mirall/accountsettings.cpp index 7806e162a..0dd8e4c68 100644 --- a/src/mirall/accountsettings.cpp +++ b/src/mirall/accountsettings.cpp @@ -37,10 +37,9 @@ namespace Mirall { -AccountSettings::AccountSettings(FolderMan *folderMan, QWidget *parent) : +AccountSettings::AccountSettings(QWidget *parent) : QWidget(parent), ui(new Ui::AccountSettings), - _folderMan(folderMan), _item(0) { ui->setupUi(this); @@ -76,7 +75,7 @@ AccountSettings::AccountSettings(FolderMan *folderMan, QWidget *parent) : ui->connectLabel->setWordWrap( true ); - setFolderList(folderMan->map()); + setFolderList(FolderMan::instance()->map()); slotCheckConnection(); } @@ -106,10 +105,11 @@ void AccountSettings::slotFolderActivated( const QModelIndex& indx ) void AccountSettings::slotAddFolder() { - _folderMan->setSyncEnabled(false); // do not start more syncs. + FolderMan *folderMan = FolderMan::instance(); + folderMan->setSyncEnabled(false); // do not start more syncs. FolderWizard *folderWizard = new FolderWizard(this); - Folder::Map folderMap = _folderMan->map(); + Folder::Map folderMap = folderMan->map(); folderWizard->setFolderMap( folderMap ); connect(folderWizard, SIGNAL(accepted()), SLOT(slotFolderWizardAccepted())); @@ -121,6 +121,7 @@ void AccountSettings::slotAddFolder() void AccountSettings::slotFolderWizardAccepted() { FolderWizard *folderWizard = qobject_cast<FolderWizard*>(sender()); + FolderMan *folderMan = FolderMan::instance(); qDebug() << "* Folder wizard completed"; @@ -131,12 +132,12 @@ void AccountSettings::slotFolderWizardAccepted() if (!FolderMan::ensureJournalGone( sourceFolder )) return; - _folderMan->addFolderDefinition( backend, alias, sourceFolder, targetPath, false ); - Folder *f = _folderMan->setupFolderFromConfigFile( alias ); + folderMan->addFolderDefinition( backend, alias, sourceFolder, targetPath, false ); + Folder *f = folderMan->setupFolderFromConfigFile( alias ); slotAddFolder( f ); - _folderMan->setSyncEnabled(true); + folderMan->setSyncEnabled(true); if( f ) { - _folderMan->slotScheduleAllFolders(); + folderMan->slotScheduleAllFolders(); emit folderChanged(); } } @@ -144,13 +145,14 @@ void AccountSettings::slotFolderWizardAccepted() void AccountSettings::slotFolderWizardRejected() { qDebug() << "* Folder wizard cancelled"; - _folderMan->setSyncEnabled(true); - _folderMan->slotScheduleAllFolders(); + FolderMan *folderMan = FolderMan::instance(); + folderMan->setSyncEnabled(true); + folderMan->slotScheduleAllFolders(); } void AccountSettings::slotOpenAccountWizard() { - OwncloudSetupWizard::runWizard(_folderMan, qApp, SLOT(slotownCloudWizardDone(int)), this); + OwncloudSetupWizard::runWizard(qApp, SLOT(slotownCloudWizardDone(int)), this); } void AccountSettings::slotAddFolder( Folder *folder ) @@ -234,8 +236,9 @@ void AccountSettings::slotRemoveCurrentFolder() if( ret == QMessageBox::No ) { return; } - _folderMan->slotRemoveFolder( alias ); - setFolderList(_folderMan->map()); + FolderMan *folderMan = FolderMan::instance(); + folderMan->slotRemoveFolder( alias ); + setFolderList(folderMan->map()); emit folderChanged(); slotCheckConnection(); } @@ -252,10 +255,11 @@ void AccountSettings::slotResetCurrentFolder() "traffic and take several minutes to hours, depending on the size of the folder.</p>").arg(alias), QMessageBox::Yes|QMessageBox::No ); if( ret == QMessageBox::Yes ) { - Folder *f = _folderMan->folder(alias); + FolderMan *folderMan = FolderMan::instance(); + Folder *f = folderMan->folder(alias); f->slotTerminateSync(); f->wipe(); - _folderMan->slotScheduleAllFolders(); + folderMan->slotScheduleAllFolders(); } } } @@ -304,7 +308,7 @@ void AccountSettings::setFolderList( const Folder::Map &folders ) // move from Application void AccountSettings::slotFolderOpenAction( const QString& alias ) { - Folder *f = _folderMan->folder(alias); + Folder *f = FolderMan::instance()->folder(alias); qDebug() << "opening local url " << f->path(); if( f ) { QUrl url(f->path(), QUrl::TolerantMode); @@ -332,12 +336,13 @@ void AccountSettings::slotEnableCurrentFolder() bool folderEnabled = _model->data( selected, FolderStatusDelegate::FolderSyncEnabled).toBool(); qDebug() << "Toggle enabled/disabled Folder alias " << alias << " - current state: " << folderEnabled; if( !alias.isEmpty() ) { + FolderMan *folderMan = FolderMan::instance(); qDebug() << "Application: enable folder with alias " << alias; bool terminate = false; // this sets the folder status to disabled but does not interrupt it. - Folder *f = _folderMan->folder( alias ); + Folder *f = folderMan->folder( alias ); if( f && !folderEnabled ) { // check if a sync is still running and if so, ask if we should terminate. if( f->isBusy() ) { // its still running @@ -354,9 +359,9 @@ void AccountSettings::slotEnableCurrentFolder() // message box can return at any time while the thread keeps running, // so better check again after the user has responded. if ( f->isBusy() && terminate ) - _folderMan->terminateSyncProcess( alias ); + folderMan->terminateSyncProcess( alias ); - _folderMan->slotEnableFolder( alias, !folderEnabled ); + folderMan->slotEnableFolder( alias, !folderEnabled ); slotUpdateFolderState (f); // set the button text accordingly. slotFolderActivated( selected ); @@ -383,7 +388,7 @@ void AccountSettings::slotUpdateFolderState( Folder *folder ) if( !_fileItemDialog.isNull() && _fileItemDialog->isVisible() ) { - _fileItemDialog->setSyncResult( _folderMan->syncResult(folder) ); + _fileItemDialog->setSyncResult( FolderMan::instance()->syncResult(folder) ); } if( item ) { @@ -530,7 +535,7 @@ void AccountSettings::slotSetProgress( Progress::Kind kind, const QString& folde if(shortFile.startsWith(QLatin1String("ownclouds://")) || shortFile.startsWith(QLatin1String("owncloud://")) ) { // rip off the whole ownCloud URL. - Folder *f = _folderMan->folder(folder); + Folder *f = FolderMan::instance()->folder(folder); if( f ) { QString regexp = QString("^owncloud[s]*://.*/remote.php/webdav/%1/").arg(f->secondPath()); QRegExp re( regexp ); @@ -611,9 +616,7 @@ void AccountSettings::slotInfoAboutCurrentFolder() Utility::raiseDialog( _fileItemDialog ); } - _fileItemDialog->setSyncResult( _folderMan->syncResult( alias ) ); - - + _fileItemDialog->setSyncResult( FolderMan::instance()->syncResult( alias ) ); } } } diff --git a/src/mirall/accountsettings.h b/src/mirall/accountsettings.h index 647e2ec6a..8cae35622 100644 --- a/src/mirall/accountsettings.h +++ b/src/mirall/accountsettings.h @@ -45,7 +45,7 @@ class AccountSettings : public QWidget Q_OBJECT public: - explicit AccountSettings(FolderMan *folderMan, QWidget *parent = 0); + explicit AccountSettings(QWidget *parent = 0); ~AccountSettings(); void setFolderList( const Folder::Map& ); @@ -90,7 +90,6 @@ private: Ui::AccountSettings *ui; QPointer<FileItemDialog> _fileItemDialog; QPointer<IgnoreListEditor> _ignoreEditor; - FolderMan *_folderMan; QStandardItemModel *_model; QListWidgetItem *_item; QUrl _OCUrl; diff --git a/src/mirall/application.cpp b/src/mirall/application.cpp index 4eb7953fd..60067ccc4 100644 --- a/src/mirall/application.cpp +++ b/src/mirall/application.cpp @@ -19,6 +19,7 @@ #include "mirall/application.h" #include "mirall/systray.h" #include "mirall/folder.h" +#include "mirall/folderman.h" #include "mirall/folderwatcher.h" #include "mirall/folderwizard.h" #include "mirall/networklocation.h" @@ -122,10 +123,10 @@ Application::Application(int &argc, char **argv) : connect( Logger::instance(), SIGNAL(optionalGuiLog(QString,QString)), this, SLOT(slotShowOptionalTrayMessage(QString,QString))); // create folder manager for sync folder management - _folderMan = new FolderMan(this); - connect( _folderMan, SIGNAL(folderSyncStateChange(QString)), + FolderMan *folderMan = FolderMan::instance(); + connect( folderMan, SIGNAL(folderSyncStateChange(QString)), this,SLOT(slotSyncStateChange(QString))); - _folderMan->setSyncEnabled(false); + folderMan->setSyncEnabled(false); /* use a signal mapper to map the open requests to the alias names */ _folderOpenActionMapper = new QSignalMapper(this); @@ -153,7 +154,7 @@ Application::Application(int &argc, char **argv) : setupSystemTray(); slotSetupProxy(); - int cnt = _folderMan->setupFolders(); + int cnt = folderMan->setupFolders(); // startup procedure. QTimer::singleShot( 0, this, SLOT( slotCheckConnection() )); @@ -198,17 +199,18 @@ void Application::slotConnectionValidatorResult(ConnectionValidator::Status stat qDebug() << "Connection Validator Result: " << _conValidator->statusString(status); if( status == ConnectionValidator::Connected ) { + FolderMan *folderMan = FolderMan::instance(); qDebug() << "######## Connection and Credentials are ok!"; - _folderMan->setSyncEnabled(true); + folderMan->setSyncEnabled(true); _tray->setIcon( _theme->syncStateIcon( SyncResult::NotYetStarted, true ) ); _tray->show(); - int cnt = _folderMan->map().size(); + int cnt = folderMan->map().size(); slotShowTrayMessage(tr("%1 Sync Started").arg(_theme->appNameGUI()), tr("Sync started for %n configured sync folder(s).","", cnt)); // queue up the sync for all folders. - _folderMan->slotScheduleAllFolders(); + folderMan->slotScheduleAllFolders(); computeOverallSyncStatus(); @@ -257,15 +259,16 @@ void Application::slotSSLFailed( QNetworkReply *reply, QList<QSslError> errors ) void Application::slotownCloudWizardDone( int res ) { + FolderMan *folderMan = FolderMan::instance(); if( res == QDialog::Accepted ) { - int cnt = _folderMan->setupFolders(); + int cnt = folderMan->setupFolders(); qDebug() << "Set up " << cnt << " folders."; // We have some sort of configuration. Enable autostart Utility::setLaunchOnStartup(_theme->appName(), _theme->appNameGUI(), true); // FIXME! -// _statusDialog->setFolderList( _folderMan->map() ); +// _statusDialog->setFolderList( folderMan->map() ); } - _folderMan->setSyncEnabled( true ); + folderMan->setSyncEnabled( true ); if( res == QDialog::Accepted ) { slotCheckConnection(); } @@ -304,6 +307,7 @@ void Application::setupSystemTray() void Application::setupContextMenu() { bool isConfigured = ownCloudInfo::instance()->isConfigured(); + FolderMan *folderMan = FolderMan::instance(); _actionOpenoC->setEnabled(isConfigured); @@ -318,13 +322,13 @@ void Application::setupContextMenu() _contextMenu->setTitle(_theme->appNameGUI() ); _contextMenu->addAction(_actionOpenoC); - int folderCnt = _folderMan->map().size(); + int folderCnt = folderMan->map().size(); // add open actions for all sync folders to the tray menu if( _theme->singleSyncFolder() ) { // there should be exactly one folder. No sync-folder add action will be shown. - QStringList li = _folderMan->map().keys(); + QStringList li = folderMan->map().keys(); if( li.size() == 1 ) { - Folder *folder = _folderMan->map().value(li.first()); + Folder *folder = folderMan->map().value(li.first()); if( folder ) { // if there is singleFolder mode, a generic open action is displayed. QAction *action = new QAction( tr("Open local folder '%1'").arg(_theme->appNameGUI()), this); @@ -341,7 +345,7 @@ void Application::setupContextMenu() if ( folderCnt > 1) { _contextMenu->addAction(tr("Managed Folders:"))->setDisabled(true); } - foreach (Folder *folder, _folderMan->map() ) { + foreach (Folder *folder, folderMan->map() ) { QAction *action = new QAction( tr("Open folder '%1'").arg(folder->alias()), this ); connect( action, SIGNAL(triggered()),_folderOpenActionMapper,SLOT(map())); _folderOpenActionMapper->setMapping( action, folder->alias() ); @@ -487,7 +491,7 @@ void Application::slotHelp() */ void Application::slotFolderOpenAction( const QString& alias ) { - Folder *f = _folderMan->folder(alias); + Folder *f = FolderMan::instance()->folder(alias); qDebug() << "opening local url " << f->path(); if( f ) { QUrl url(f->path(), QUrl::TolerantMode); @@ -534,7 +538,7 @@ void Application::slotCheckConfig() slotSettings(); } else { qDebug() << "No configured folders yet, starting setup wizard"; - OwncloudSetupWizard::runWizard(_folderMan, this, SLOT(slotownCloudWizardDone(int))); + OwncloudSetupWizard::runWizard(this, SLOT(slotownCloudWizardDone(int))); } } @@ -585,9 +589,9 @@ void Application::slotShowOptionalTrayMessage(const QString &title, const QStrin void Application::slotSyncStateChange( const QString& alias ) { - SyncResult result = _folderMan->syncResult( alias ); - - emit folderStateChanged( _folderMan->folder(alias) ); + FolderMan *folderMan = FolderMan::instance(); + SyncResult result = folderMan->syncResult( alias ); + emit folderStateChanged( folderMan->folder(alias) ); computeOverallSyncStatus(); @@ -652,7 +656,8 @@ void Application::computeOverallSyncStatus() // display the info of the least successful sync (eg. not just display the result of the latest sync QString trayMessage; - Folder::Map map = _folderMan->map(); + FolderMan *folderMan = FolderMan::instance(); + Folder::Map map = folderMan->map(); SyncResult overallResult = FolderMan::accountStatus(map.values()); // create the tray blob message, check if we have an defined state @@ -660,7 +665,7 @@ void Application::computeOverallSyncStatus() QStringList allStatusStrings; foreach(Folder* folder, map.values()) { qDebug() << "Folder in overallStatus Message: " << folder << " with name " << folder->alias(); - QString folderMessage = _folderMan->statusToString(folder->syncResult().status()); + QString folderMessage = folderMan->statusToString(folder->syncResult().status()); allStatusStrings += tr("Folder %1: %2").arg(folder->alias(), folderMessage); } diff --git a/src/mirall/application.h b/src/mirall/application.h index d65872155..d8ea90e35 100644 --- a/src/mirall/application.h +++ b/src/mirall/application.h @@ -24,7 +24,6 @@ #include "mirall/syncresult.h" #include "mirall/logbrowser.h" -#include "mirall/folderman.h" #include "mirall/systray.h" #include "mirall/connectionvalidator.h" @@ -48,7 +47,6 @@ class Application : public SharedTools::QtSingleApplication { Q_OBJECT public: - friend class SettingsDialog; explicit Application(int &argc, char **argv); ~Application(); @@ -122,7 +120,6 @@ private: // tray's menu QMenu *_contextMenu; - FolderMan *_folderMan; Theme *_theme; QSignalMapper *_folderOpenActionMapper; LogBrowser *_logBrowser; diff --git a/src/mirall/folderman.cpp b/src/mirall/folderman.cpp index 5dd912f29..8a6874d63 100644 --- a/src/mirall/folderman.cpp +++ b/src/mirall/folderman.cpp @@ -33,6 +33,8 @@ namespace Mirall { +FolderMan* FolderMan::_instance = 0; + FolderMan::FolderMan(QObject *parent) : QObject(parent), _syncEnabled( true ) @@ -49,6 +51,14 @@ FolderMan::FolderMan(QObject *parent) : this, SIGNAL(folderSyncStateChange(const QString &))); } +FolderMan *FolderMan::instance() +{ + if(!_instance) + _instance = new FolderMan; + + return _instance; +} + FolderMan::~FolderMan() { qDeleteAll(_folderMap); diff --git a/src/mirall/folderman.h b/src/mirall/folderman.h index 8f36b02bb..33a061c99 100644 --- a/src/mirall/folderman.h +++ b/src/mirall/folderman.h @@ -34,7 +34,7 @@ class FolderMan : public QObject { Q_OBJECT public: - explicit FolderMan(QObject *parent = 0); + static FolderMan* instance(); ~FolderMan(); int setupFolders(); @@ -153,6 +153,10 @@ private: QString _currentSyncFolder; QStringList _scheduleQueue; bool _syncEnabled; + + explicit FolderMan(QObject *parent = 0); + static FolderMan *_instance; + }; } // namespace Mirall diff --git a/src/mirall/owncloudsetupwizard.cpp b/src/mirall/owncloudsetupwizard.cpp index 92cc92848..bac694f08 100644 --- a/src/mirall/owncloudsetupwizard.cpp +++ b/src/mirall/owncloudsetupwizard.cpp @@ -26,11 +26,10 @@ namespace Mirall { -OwncloudSetupWizard::OwncloudSetupWizard( FolderMan *folderMan, QObject *parent ) : +OwncloudSetupWizard::OwncloudSetupWizard(QObject *parent ) : QObject( parent ), _mkdirRequestReply(0), - _checkInstallationRequest(0), - _folderMan(folderMan) + _checkInstallationRequest(0) { _ocWizard = new OwncloudWizard(); @@ -54,11 +53,11 @@ OwncloudWizard *OwncloudSetupWizard::wizard() { return _ocWizard; } -void OwncloudSetupWizard::runWizard(FolderMan *folderMan, QObject* obj, const char* amember, QWidget *parent) +void OwncloudSetupWizard::runWizard(QObject* obj, const char* amember, QWidget *parent) { - OwncloudSetupWizard *wiz = new OwncloudSetupWizard(folderMan, parent); + OwncloudSetupWizard *wiz = new OwncloudSetupWizard(parent); connect( wiz, SIGNAL(ownCloudWizardDone(int)), obj, amember); - folderMan->setSyncEnabled(false); + FolderMan::instance()->setSyncEnabled(false); wiz->startWizard(); } @@ -97,7 +96,7 @@ void OwncloudSetupWizard::startWizard() _ocWizard->restart(); // settings re-initialized in initPage must be set here after restart - _ocWizard->setMultipleFoldersExist(_folderMan->map().count() > 1); + _ocWizard->setMultipleFoldersExist(FolderMan::instance()->map().count() > 1); _ocWizard->open(); _ocWizard->raise(); @@ -109,7 +108,7 @@ void OwncloudSetupWizard::startWizard() void OwncloudSetupWizard::slotAssistantFinished( int result ) { MirallConfigFile cfg( _configHandle ); - + FolderMan *folderMan = FolderMan::instance(); if( result == QDialog::Rejected ) { // the old config remains valid. Remove the temporary one. @@ -138,16 +137,16 @@ void OwncloudSetupWizard::slotAssistantFinished( int result ) if( urlHasChanged ) { // first terminate sync jobs. - _folderMan->terminateSyncProcess(); + folderMan->terminateSyncProcess(); - _folderMan->unloadAllFolders(); + folderMan->unloadAllFolders(); bool startFromScratch = _ocWizard->field( "OCSyncFromScratch" ).toBool(); if( startFromScratch ) { // first try to rename (backup) the current local dir. bool renameOk = false; while( !renameOk ) { - renameOk = _folderMan->startFromScratch(localFolder); + renameOk = folderMan->startFromScratch(localFolder); if( ! renameOk ) { QMessageBox::StandardButton but; but = QMessageBox::question( 0, tr("Folder rename failed"), @@ -168,8 +167,8 @@ void OwncloudSetupWizard::slotAssistantFinished( int result ) // Now write the resulting folder definition if folder names are set. if( acceptCfg && urlHasChanged ) { - _folderMan->removeAllFolderDefinitions(); - _folderMan->addFolderDefinition( QLatin1String("owncloud"), Theme::instance()->appName(), + folderMan->removeAllFolderDefinitions(); + folderMan->addFolderDefinition( QLatin1String("owncloud"), Theme::instance()->appName(), localFolder, _remoteFolder, false ); _ocWizard->appendToConfigurationLog(tr("<font color=\"green\"><b>Local sync folder %1 successfully created!</b></font>").arg(localFolder)); } else { @@ -302,8 +301,6 @@ void OwncloudSetupWizard::slotNoOwnCloudFound( QNetworkReply *err ) void OwncloudSetupWizard::setupLocalSyncFolder() { - if( ! _folderMan ) return; - const QString localFolder = _ocWizard->property("localFolder").toString(); qDebug() << "Setup local sync folder for new oC connection " << localFolder; QDir fi( localFolder ); diff --git a/src/mirall/owncloudsetupwizard.h b/src/mirall/owncloudsetupwizard.h index 79b0a53bf..3fd70766e 100644 --- a/src/mirall/owncloudsetupwizard.h +++ b/src/mirall/owncloudsetupwizard.h @@ -29,13 +29,12 @@ namespace Mirall { class SiteCopyFolder; class SyncResult; class ownCloudInfo; -class FolderMan; class OwncloudSetupWizard : public QObject { Q_OBJECT public: - explicit OwncloudSetupWizard( FolderMan *folderMan, QObject *parent = 0 ); + explicit OwncloudSetupWizard(QObject *parent = 0 ); ~OwncloudSetupWizard(); @@ -60,7 +59,7 @@ public: OwncloudWizard *wizard(); /** Run the wizard */ - static void runWizard( FolderMan *folderMan, QObject *obj, const char* amember, QWidget *parent = 0 ); + static void runWizard(QObject *obj, const char* amember, QWidget *parent = 0 ); signals: // issued if the oC Setup process (owncloud-admin) is finished. @@ -95,8 +94,6 @@ private: QPointer<QNetworkReply> _checkInstallationRequest; QPointer<QNetworkReply> _checkRemoteFolderRequest; - FolderMan *_folderMan; - QString _configHandle; QString _remoteFolder; }; diff --git a/src/mirall/settingsdialog.cpp b/src/mirall/settingsdialog.cpp index 716cc8cbf..89203bcae 100644 --- a/src/mirall/settingsdialog.cpp +++ b/src/mirall/settingsdialog.cpp @@ -14,6 +14,7 @@ #include "settingsdialog.h" #include "ui_settingsdialog.h" +#include "mirall/folderman.h" #include "mirall/theme.h" #include "mirall/generalsettings.h" #include "mirall/accountsettings.h" @@ -39,7 +40,7 @@ QIcon createDummy() { SettingsDialog::SettingsDialog(Application *app, QWidget *parent) : QDialog(parent), - _ui(new Ui::SettingsDialog), _folderMan(app->_folderMan) + _ui(new Ui::SettingsDialog) { _ui->setupUi(this); setObjectName("Settings"); // required as group for saveGeometry call @@ -52,12 +53,12 @@ SettingsDialog::SettingsDialog(Application *app, QWidget *parent) : _ui->labelWidget->addItem(general); GeneralSettings *generalSettings = new GeneralSettings; connect(generalSettings, SIGNAL(proxySettingsChanged()), app, SLOT(slotSetupProxy())); - connect(generalSettings, SIGNAL(proxySettingsChanged()), app->_folderMan, SLOT(slotScheduleAllFolders())); + connect(generalSettings, SIGNAL(proxySettingsChanged()), FolderMan::instance(), SLOT(slotScheduleAllFolders())); _ui->stack->addWidget(generalSettings); //connect(generalSettings, SIGNAL(resizeToSizeHint()), SLOT(resizeToSizeHint())); - _accountSettings = new AccountSettings(app->_folderMan); + _accountSettings = new AccountSettings(this); addAccount(tr("Account"), _accountSettings); slotUpdateAccountState(); @@ -112,7 +113,8 @@ void SettingsDialog::closeEvent(QCloseEvent *event) void SettingsDialog::slotUpdateAccountState() { - SyncResult state = _folderMan->accountStatus(_folderMan->map().values()); + FolderMan *folderMan = FolderMan::instance(); + SyncResult state = folderMan->accountStatus(folderMan->map().values()); _accountItem->setIcon(Theme::instance()->syncStateIcon(state.status())); } diff --git a/src/mirall/settingsdialog.h b/src/mirall/settingsdialog.h index b2cea9c56..4bc65b291 100644 --- a/src/mirall/settingsdialog.h +++ b/src/mirall/settingsdialog.h @@ -51,7 +51,6 @@ private: Ui::SettingsDialog *_ui; AccountSettings *_accountSettings; QListWidgetItem *_accountItem; - FolderMan *_folderMan; }; |