void AccountsListWidget::handleItemChanged (QStandardItem *item) { const auto type = item->data (Roles::RItemType).toInt (); if (type != ItemTypes::ShowInRoster) return; IAccount *acc = item->data (Roles::RAccObj).value<IAccount*> (); acc->SetShownInRoster (item->checkState () == Qt::Checked); if (!acc->IsShownInRoster () && acc->GetState ().State_ != SOffline) acc->ChangeState (EntryStatus (SOffline, QString ())); emit accountVisibilityChanged (acc); }