void ActivitiesTab::startRefresh() { AccountManager *mgr = seafApplet->accountManager(); bool has_pro_account = mgr->hasAccount() && mgr->accounts().front().isPro(); if (has_pro_account) EventsService::instance()->start(); }
AccountsModel::AccountsModel(QObject *parent) : QAbstractListModel(parent) { AccountManager *manager = AccountManager::instance(); connect(manager, &AccountManager::accountAdded, this, &AccountsModel::onAccountCreated); connect(manager, &AccountManager::accountRemoved, this, &AccountsModel::onAccountDestroyed); foreach (Account *account, manager->accounts()) onAccountCreated(account); }
void ContactListFrontModel::onServiceChanged(const QByteArray &name, QObject *newObject, QObject *oldObject) { Q_UNUSED(newObject); Q_UNUSED(oldObject); if (name == m_comparator.name()) { connect(m_comparator, SIGNAL(contactChanged(qutim_sdk_0_3::Contact*)), sourceModel(), SLOT(onContactChanged(qutim_sdk_0_3::Contact*))); invalidate(); } else if (name == m_model.name()) { ContactListBaseModel *oldModel = qobject_cast<ContactListBaseModel*>(oldObject); ContactListBaseModel *newModel = qobject_cast<ContactListBaseModel*>(newObject); if (newModel) { connect(newModel, &ContactListBaseModel::tagsChanged, this, &ContactListFrontModel::tagsChanged); connect(m_comparator, SIGNAL(contactChanged(qutim_sdk_0_3::Contact*)), newModel, SLOT(onContactChanged(qutim_sdk_0_3::Contact*))); AccountManager *manager = AccountManager::instance(); connect(manager, &AccountManager::accountAdded, newModel, [newModel] (Account *account) { newModel->onAccountCreated(account); }); connect(manager, &AccountManager::accountRemoved, newModel, &ContactListBaseModel::onAccountRemoved); foreach (Account *account, manager->accounts()) newModel->onAccountCreated(account, !oldModel); if (oldModel) { QSet<Contact*> contacts; oldModel->findContacts(contacts, oldModel->rootNode()); foreach (Contact *contact, contacts) newModel->addContact(contact); } } setSourceModel(newModel); } else if (name == m_metaManager.name()) { if (MetaContactManager *oldManager = qobject_cast<MetaContactManager*>(oldObject)) m_model->onAccountRemoved(oldManager); if (m_metaManager) m_model->onAccountCreated(m_metaManager); } }