Browse Source

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.
Christian Kamm 10 years ago
parent
commit
7bfbc21770
2 changed files with 14 additions and 4 deletions
  1. 13 4
      src/gui/generalsettings.cpp
  2. 1 0
      src/gui/generalsettings.h

+ 13 - 4
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

+ 1 - 0
src/gui/generalsettings.h

@@ -44,6 +44,7 @@ private slots:
     void slotUpdateInfo();
     void slotIgnoreFilesEditor();
     void slotOpenAccountWizard();
+    void slotAccountAddedOrRemoved();
 
 
 private: