1
0
forked from blue/squawk

debugging account removal

This commit is contained in:
Blue 2019-05-30 12:36:21 +03:00
parent 234697050b
commit b845518ced
6 changed files with 12 additions and 7 deletions

View File

@ -310,6 +310,9 @@ void Core::Squawk::removeAccountRequest(const QString& name)
}
Account* acc = itr->second;
if (acc->getState() != Shared::disconnected) {
acc->disconnect();
}
for (Accounts::const_iterator aItr = accounts.begin(); aItr != accounts.end(); ++aItr) {
if (*aItr == acc) {
@ -319,7 +322,6 @@ void Core::Squawk::removeAccountRequest(const QString& name)
}
amap.erase(itr);
delete acc;
QString path(QStandardPaths::writableLocation(QStandardPaths::CacheLocation));
path += "/" + name;
@ -327,4 +329,5 @@ void Core::Squawk::removeAccountRequest(const QString& name)
dir.removeRecursively();
emit removeAccount(name);
acc->deleteLater();
}

View File

@ -35,8 +35,8 @@ void Accounts::onAccountAccepted()
{
Account* acc = static_cast<Account*>(sender());
QMap<QString, QVariant> map = acc->value();
const Models::Account* mAcc = model->getAccount(m_ui->tableView->selectionModel()->selectedRows().at(0).row());
if (editing) {
const Models::Account* mAcc = model->getAccount(m_ui->tableView->selectionModel()->selectedRows().at(0).row());
emit changeAccount(mAcc->getName(), map);
} else {
emit newAccount(map);

View File

@ -67,7 +67,6 @@ Conversation::Conversation(Models::Contact* p_contact, QWidget* parent):
Conversation::~Conversation()
{
disconnect(contact, SIGNAL(childChanged(Models::Item*, int, int)), this, SLOT(onContactChanged(Models::Item*, int, int)));
}
void Conversation::setName(const QString& name)

View File

@ -132,8 +132,9 @@ void Models::Contact::removePresence(const QString& name)
qDebug() << "an attempt to remove non existing presence " << name << " from the contact " << jid << " of account " << getAccountName() << ", skipping";
} else {
Presence* pr = itr.value();
presences.erase(itr);
removeChild(pr->row());
presences.erase(itr);
pr->deleteLater();
}
}

View File

@ -164,7 +164,7 @@ QModelIndex Models::Roster::parent (const QModelIndex& child) const
Item *parentItem = childItem->parentItem();
if (parentItem == root) {
return QModelIndex();
return createIndex(0, 0, parentItem);
}
return createIndex(parentItem->row(), 0, parentItem);
@ -455,6 +455,7 @@ void Models::Roster::onChildIsAboutToBeRemoved(Models::Item* parent, int first,
if (parent != root) {
row = parent->row();
}
qDebug() << "Removing row" << parent->child(first)->getName() << "from" << parent->getName() << "index is" << first;
beginRemoveRows(createIndex(row, 0, parent), first, last);
}
@ -525,6 +526,7 @@ void Models::Roster::removeAccount(const QString& account)
int index = acc->row();
root->removeChild(index);
accountsModel->removeAccount(index);
accounts.erase(itr);
std::multimap<ElId, Contact*>::const_iterator cItr = contacts.begin();
while (cItr != contacts.end()) {
@ -548,5 +550,5 @@ void Models::Roster::removeAccount(const QString& account)
}
}
delete acc;
acc->deleteLater();
}

View File

@ -199,7 +199,7 @@ void Squawk::onRosterItemDoubleClicked(const QModelIndex& item)
conv->show();
if (res.size() > 0) {
itr->second->setPalResource(res);
conv->setPalResource(res);
}
}
}