void SettingsTransportView::setInterfaceController() { connect(boxTransports,SIGNAL(currentIndexChanged(QString)),controller,SLOT(showTransports())); connect(pushNew,SIGNAL(clicked()),controller,SLOT(addTransport())); connect(pushEdit,SIGNAL(clicked()),controller,SLOT(editTransport())); connect(pushDelete,SIGNAL(clicked()),controller,SLOT(deleteTransport())); connect(pushSave,SIGNAL(clicked()),controller,SLOT(saveTransport())); }
bool ContactListProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex& sourceParent) const { QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent); if (!index.isValid()) return false; ContactListItemProxy* itemProxy = static_cast<ContactListItemProxy*>(index.internalPointer()); ContactListItem* item = itemProxy ? itemProxy->item() : 0; if (!item) { Q_ASSERT(false); return false; } if (item->editing()) { return true; } switch (ContactListModel::indexType(index)) { case ContactListModel::ContactType: { PsiContact* psiContact = dynamic_cast<PsiContact*>(item); if (psiContact->isHidden()) { return false; } if (psiContact->isSelf()) { return showSelf(); } else if (psiContact->isAgent()) { return showTransports(); } if (!showOffline()) { return psiContact->isOnline(); } else { return true; } } case ContactListModel::GroupType: { ContactListGroup::SpecialType specialGroupType = static_cast<ContactListGroup::SpecialType>(index.data(ContactListModel::SpecialGroupTypeRole).toInt()); if (specialGroupType != ContactListGroup::SpecialType_None) { if (specialGroupType == ContactListGroup::SpecialType_Transports) return showTransports(); } if (!showOffline()) { ContactListGroup* group = dynamic_cast<ContactListGroup*>(item); return group->haveOnlineContacts(); } else { return true; } } case ContactListModel::AccountType: return true; case ContactListModel::InvalidType: return true; default: Q_ASSERT(false); } return true; }