connectivity, roster position size and state, expanded anccounts and groups restoration with the settings

This commit is contained in:
Blue 2019-12-25 13:24:20 +03:00
parent 0bcfd779b8
commit 3e594c7e13
5 changed files with 162 additions and 4 deletions

View file

@ -310,9 +310,6 @@ Qt::ItemFlags Models::Roster::flags(const QModelIndex& index) const
int Models::Roster::rowCount (const QModelIndex& parent) const
{
Item *parentItem;
if (parent.column() > 0) {
return 0;
}
if (!parent.isValid()) {
parentItem = root;
@ -966,3 +963,29 @@ Models::Account * Models::Roster::getAccount(const QString& name)
{
return accounts.find(name)->second;
}
QModelIndex Models::Roster::getAccountIndex(const QString& name)
{
std::map<QString, Account*>::const_iterator itr = accounts.find(name);
if (itr == accounts.end()) {
return QModelIndex();
} else {
return index(itr->second->row(), 0, QModelIndex());
}
}
QModelIndex Models::Roster::getGroupIndex(const QString& account, const QString& name)
{
std::map<QString, Account*>::const_iterator itr = accounts.find(account);
if (itr == accounts.end()) {
return QModelIndex();
} else {
std::map<ElId, Group*>::const_iterator gItr = groups.find({account, name});
if (gItr == groups.end()) {
return QModelIndex();
} else {
QModelIndex accIndex = index(itr->second->row(), 0, QModelIndex());
return index(gItr->second->row(), 0, accIndex);
}
}
}

View file

@ -75,6 +75,8 @@ public:
bool groupHasContact(const QString& account, const QString& group, const QString& contactJID) const;
QString getContactIconPath(const QString& account, const QString& jid);
Account* getAccount(const QString& name);
QModelIndex getAccountIndex(const QString& name);
QModelIndex getGroupIndex(const QString& account, const QString& name);
Accounts* accountsModel;