예제 #1
0
	void AccountsListWidget::on_Delete__released()
	{
		QModelIndex index = Ui_.Accounts_->
		selectionModel ()->currentIndex ();
		if (!index.isValid ())
			return;

		IAccount *acc = index
				.data (RAccObj).value<IAccount*> ();

		if (QMessageBox::question (this,
					"LeechCraft",
					tr ("Are you sure you want to remove the account %1?")
						.arg (acc->GetAccountName ()),
					QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes)
			return;

		QObject *protoObj = acc->GetParentProtocol ();
		IProtocol *proto = qobject_cast<IProtocol*> (protoObj);
		if (!proto)
		{
			qWarning () << Q_FUNC_INFO
					<< "parent protocol for"
					<< acc->GetAccountID ()
					<< "doesn't implement IProtocol";
			return;
		}
		proto->RemoveAccount (acc->GetObject ());
	}
예제 #2
0
void AccountsListDialog::on_Delete__released()
{
    QModelIndex index = Ui_.Accounts_->
                        selectionModel ()->currentIndex ();
    if (!index.isValid ())
        return;

    IAccount *acc = index
                    .data (RAccObj).value<IAccount*> ();
    QObject *protoObj = acc->GetParentProtocol ();
    IProtocol *proto = qobject_cast<IProtocol*> (protoObj);
    if (!proto)
    {
        qWarning () << Q_FUNC_INFO
                    << "parent protocol for"
                    << acc->GetAccountID ()
                    << "doesn't implement IProtocol";
        return;
    }
    proto->RemoveAccount (acc->GetObject ());
}