From 7bfbc21770dd05429d6ae4dcd1bc9b5caeaaf90e Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Thu, 3 Sep 2015 06:14:49 +0200 Subject: [PATCH] Settings: Allow adding at least one account #3721 We always show the 'Add Account' button when no account exists, even When the 'singleAccount' option is enabled. --- src/gui/generalsettings.cpp | 17 +++++++++++++---- src/gui/generalsettings.h | 1 + 2 files changed, 14 insertions(+), 4 deletions(-) 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: