diff --git a/src/gui/generalsettings.cpp b/src/gui/generalsettings.cpp index 71a421a643..3951f17822 100644 --- a/src/gui/generalsettings.cpp +++ b/src/gui/generalsettings.cpp @@ -20,7 +20,7 @@ #include "utility.h" #include "configfile.h" #include "owncloudsetupwizard.h" - +#include "accountmanager.h" #include "updater/updater.h" #include "updater/ocupdater.h" @@ -78,9 +78,11 @@ GeneralSettings::GeneralSettings(QWidget *parent) : connect(_ui->ignoredFilesButton, SIGNAL(clicked()), SLOT(slotIgnoreFilesEditor())); connect(_ui->addAccountButton, SIGNAL(clicked()), SLOT(slotOpenAccountWizard())); - if (Theme::instance()->singleAccount()) { - _ui->addAccountButton->setVisible(false); - } + connect(AccountManager::instance(), SIGNAL(accountAdded(AccountState*)), + SLOT(slotAccountAddedOrRemoved())); + connect(AccountManager::instance(), SIGNAL(accountRemoved(AccountState*)), + SLOT(slotAccountAddedOrRemoved())); + slotAccountAddedOrRemoved(); } GeneralSettings::~GeneralSettings() @@ -160,5 +162,12 @@ void GeneralSettings::slotOpenAccountWizard() OwncloudSetupWizard::runWizard(qApp, SLOT(slotownCloudWizardDone(int)), 0); } +void GeneralSettings::slotAccountAddedOrRemoved() +{ + _ui->addAccountButton->setVisible( + AccountManager::instance()->accounts().isEmpty() + || !Theme::instance()->singleAccount()); +} + } // namespace OCC diff --git a/src/gui/generalsettings.h b/src/gui/generalsettings.h index 0f3d8114a8..e64c784efd 100644 --- a/src/gui/generalsettings.h +++ b/src/gui/generalsettings.h @@ -44,6 +44,7 @@ private slots: void slotUpdateInfo(); void slotIgnoreFilesEditor(); void slotOpenAccountWizard(); + void slotAccountAddedOrRemoved(); private: