Implement removing accounts.

This commit is contained in:
Andrew 2013-11-22 10:54:52 -06:00
parent 69ac3e5a86
commit 23bc195b3c
3 changed files with 21 additions and 1 deletions

View File

@ -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()

View File

@ -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()
{

View File

@ -72,6 +72,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.