diff options
author | Andrew <forkk@forkk.net> | 2013-11-22 10:54:52 -0600 |
---|---|---|
committer | Andrew <forkk@forkk.net> | 2013-11-22 10:54:52 -0600 |
commit | 23bc195b3c8558cb997789ca8772342612716993 (patch) | |
tree | 65ef5ac8bb1b20e78b8531a151905e6d6f3c589b | |
parent | 69ac3e5a86d2a5602abc6e74904f29475b99a63c (diff) | |
download | MultiMC-23bc195b3c8558cb997789ca8772342612716993.tar MultiMC-23bc195b3c8558cb997789ca8772342612716993.tar.gz MultiMC-23bc195b3c8558cb997789ca8772342612716993.tar.lz MultiMC-23bc195b3c8558cb997789ca8772342612716993.tar.xz MultiMC-23bc195b3c8558cb997789ca8772342612716993.zip |
Implement removing accounts.
-rw-r--r-- | gui/dialogs/AccountListDialog.cpp | 9 | ||||
-rw-r--r-- | logic/lists/MojangAccountList.cpp | 8 | ||||
-rw-r--r-- | logic/lists/MojangAccountList.h | 5 |
3 files changed, 21 insertions, 1 deletions
diff --git a/gui/dialogs/AccountListDialog.cpp b/gui/dialogs/AccountListDialog.cpp index af074514..838bef7f 100644 --- a/gui/dialogs/AccountListDialog.cpp +++ b/gui/dialogs/AccountListDialog.cpp @@ -16,6 +16,8 @@ #include "AccountListDialog.h" #include "ui_AccountListDialog.h" +#include <QItemSelectionModel> + #include <logger/QsLog.h> #include <logic/auth/AuthenticateTask.h> @@ -48,7 +50,12 @@ void AccountListDialog::on_addAccountBtn_clicked() void AccountListDialog::on_rmAccountBtn_clicked() { - // TODO + QModelIndexList selection = ui->listView->selectionModel()->selectedIndexes(); + if (selection.size() > 0) + { + QModelIndex selected = selection.first(); + m_accounts->removeAccount(selected); + } } void AccountListDialog::on_editAccountBtn_clicked() diff --git a/logic/lists/MojangAccountList.cpp b/logic/lists/MojangAccountList.cpp index 32317f84..442ef3af 100644 --- a/logic/lists/MojangAccountList.cpp +++ b/logic/lists/MojangAccountList.cpp @@ -73,6 +73,14 @@ void MojangAccountList::removeAccount(const QString& username) onListChanged(); } +void MojangAccountList::removeAccount(QModelIndex index) +{ + beginResetModel(); + m_accounts.removeAt(index.row()); + endResetModel(); + onListChanged(); +} + void MojangAccountList::onListChanged() { diff --git a/logic/lists/MojangAccountList.h b/logic/lists/MojangAccountList.h index 491abf6d..bccc2f9a 100644 --- a/logic/lists/MojangAccountList.h +++ b/logic/lists/MojangAccountList.h @@ -73,6 +73,11 @@ public: virtual void removeAccount(const QString& username); /*! + * Removes the account at the given QModelIndex. + */ + virtual void removeAccount(QModelIndex index); + + /*! * \brief Finds an account by its username. * \param The username of the account to find. * \return A const pointer to the account with the given username. NULL if |