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 "AccountListDialog.h"
#include "ui_AccountListDialog.h" #include "ui_AccountListDialog.h"
#include <QItemSelectionModel>
#include <logger/QsLog.h> #include <logger/QsLog.h>
#include <logic/auth/AuthenticateTask.h> #include <logic/auth/AuthenticateTask.h>
@ -48,7 +50,12 @@ void AccountListDialog::on_addAccountBtn_clicked()
void AccountListDialog::on_rmAccountBtn_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() void AccountListDialog::on_editAccountBtn_clicked()

View File

@ -73,6 +73,14 @@ void MojangAccountList::removeAccount(const QString& username)
onListChanged(); onListChanged();
} }
void MojangAccountList::removeAccount(QModelIndex index)
{
beginResetModel();
m_accounts.removeAt(index.row());
endResetModel();
onListChanged();
}
void MojangAccountList::onListChanged() void MojangAccountList::onListChanged()
{ {

View File

@ -72,6 +72,11 @@ public:
*/ */
virtual void removeAccount(const QString& username); 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. * \brief Finds an account by its username.
* \param The username of the account to find. * \param The username of the account to find.