diff options
Diffstat (limited to 'logic/lists')
-rw-r--r-- | logic/lists/MojangAccountList.cpp | 13 | ||||
-rw-r--r-- | logic/lists/MojangAccountList.h | 11 |
2 files changed, 21 insertions, 3 deletions
diff --git a/logic/lists/MojangAccountList.cpp b/logic/lists/MojangAccountList.cpp index c6dce836..ec1937ad 100644 --- a/logic/lists/MojangAccountList.cpp +++ b/logic/lists/MojangAccountList.cpp @@ -106,7 +106,7 @@ void MojangAccountList::setActiveAccount(const QString& username) } } endResetModel(); - onListChanged(); + onActiveChanged(); } @@ -116,8 +116,15 @@ void MojangAccountList::onListChanged() // TODO: Alert the user if this fails. saveList(); - // TODO: stop this getting called from setActiveAccount - //emit listChanged(); + emit listChanged(); +} + +void MojangAccountList::onActiveChanged() +{ + if (m_autosave) + saveList(); + + emit activeAccountChanged(); } diff --git a/logic/lists/MojangAccountList.h b/logic/lists/MojangAccountList.h index cfe96c11..908f5a7a 100644 --- a/logic/lists/MojangAccountList.h +++ b/logic/lists/MojangAccountList.h @@ -133,6 +133,11 @@ signals: */ void listChanged(); + /*! + * Signal emitted to indicate that the active account has changed. + */ + void activeAccountChanged(); + protected: /*! * Called whenever the list changes. @@ -140,6 +145,12 @@ protected: */ void onListChanged(); + /*! + * Called whenever the active account changes. + * Emits the activeAccountChanged() signal and autosaves the list if enabled. + */ + void onActiveChanged(); + QList<MojangAccountPtr> m_accounts; /*! |