[Pkg-owncloud-commits] [owncloud-client] 335/498: OS X: Fix settings dialog after multi-account introduction

Sandro Knauß hefee-guest at moszumanska.debian.org
Tue Aug 11 14:49:04 UTC 2015


This is an automated email from the git hooks/post-receive script.

hefee-guest pushed a commit to branch master
in repository owncloud-client.

commit 3d55191573e39962422f629c7df35f01c501c052
Author: Markus Goetz <markus at woboq.com>
Date:   Thu Jul 16 14:07:05 2015 +0200

    OS X: Fix settings dialog after multi-account introduction
    
    For #3459 #3386 #3401
---
 src/3rdparty/qtmacgoodies     |  2 +-
 src/gui/settingsdialogmac.cpp | 14 +++++++-------
 src/gui/settingsdialogmac.h   |  3 +--
 3 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/src/3rdparty/qtmacgoodies b/src/3rdparty/qtmacgoodies
index 10621d4..8828099 160000
--- a/src/3rdparty/qtmacgoodies
+++ b/src/3rdparty/qtmacgoodies
@@ -1 +1 @@
-Subproject commit 10621d46b5973ccc3d4b41d7d81046dd051feeaa
+Subproject commit 8828099fd05b191cedf4d52f62f2405de6471415
diff --git a/src/gui/settingsdialogmac.cpp b/src/gui/settingsdialogmac.cpp
index e6a04d5..7d15c54 100644
--- a/src/gui/settingsdialogmac.cpp
+++ b/src/gui/settingsdialogmac.cpp
@@ -76,7 +76,7 @@ SettingsDialogMac::SettingsDialogMac(ownCloudGui *gui, QWidget *parent)
 
     QIcon protocolIcon(QLatin1String(":/client/resources/activity.png"));
     _protocolWidget = new ProtocolWidget;
-    _protocolIdx = addPreferencesPanel(protocolIcon, tr("Activity"), _protocolWidget);
+    addPreferencesPanel(protocolIcon, tr("Activity"), _protocolWidget);
 
     QIcon generalIcon = MacStandardIcon::icon(MacStandardIcon::PreferencesGeneral);
     GeneralSettings *generalSettings = new GeneralSettings;
@@ -104,15 +104,16 @@ void SettingsDialogMac::closeEvent(QCloseEvent *event)
 
 void SettingsDialogMac::showActivityPage()
 {
-    setCurrentPanelIndex(_protocolIdx);
+    // Count backwards (0-based) from the last panel (multiple accounts can be on the left)
+    setCurrentPanelIndex(preferencePanelCount() - 1 - 2);
 }
 
 void SettingsDialogMac::accountAdded(AccountState *s)
 {
     QIcon accountIcon = MacStandardIcon::icon(MacStandardIcon::UserAccounts);
     auto accountSettings = new AccountSettings(s, this);
-    //FIXME: add at the begining: (and don(t foget to adjust for _protocolIdx)
-    addPreferencesPanel(accountIcon, s->account()->displayName(), accountSettings);
+
+    insertPreferencesPanel(0, accountIcon, s->account()->displayName(), accountSettings);
 
     connect( accountSettings, &AccountSettings::folderChanged, _gui,  &ownCloudGui::slotFoldersChanged);
     connect( accountSettings, &AccountSettings::openFolderAlias, _gui, &ownCloudGui::slotFolderOpenAction);
@@ -120,11 +121,10 @@ void SettingsDialogMac::accountAdded(AccountState *s)
 
 void SettingsDialogMac::accountRemoved(AccountState *s)
 {
-    // FIXME: is it the correct way to remove a panel?
-    auto list = findChildren<AccountSettings*>(QString(), Qt::FindDirectChildrenOnly);
+    auto list = findChildren<AccountSettings*>(QString());
     foreach(auto p, list) {
         if (p->accountsState() == s) {
-            p->deleteLater();
+            removePreferencesPanel(p);
         }
     }
 }
diff --git a/src/gui/settingsdialogmac.h b/src/gui/settingsdialogmac.h
index 69c8ffc..fc7ea70 100644
--- a/src/gui/settingsdialogmac.h
+++ b/src/gui/settingsdialogmac.h
@@ -52,8 +52,7 @@ private slots:
 private:
     void closeEvent(QCloseEvent *event);
 
-    QListWidgetItem *_accountItem;
-    ProtocolWidget  *_protocolWidget;
+    ProtocolWidget  *_protocolWidget; // this is actually the activityPage
     ownCloudGui     *_gui;
 
     int _protocolIdx;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git



More information about the Pkg-owncloud-commits mailing list