[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