void Kopete::ChatSession::slotUpdateDisplayName() { if( d->customDisplayName ) return; //If there is no member yet, don't try to update the display name if ( d->contacts.isEmpty() ) return; d->displayName.clear(); for(int i = 0; i != d->contacts.size(); i++ ) { Kopete::Contact * c = d->contacts[i]; if(! d->displayName.isNull() ) d->displayName.append( QString::fromLatin1( ", " ) ) ; if ( c->metaContact() ) d->displayName.append( c->metaContact()->displayName() ); else { d->displayName.append( c->nickName() ); } } //If we have only 1 contact, add the status of him if ( d->contacts.count() == 1 ) { d->displayName.append( QString::fromLatin1( " (%1)" ).arg( d->contacts.first()->onlineStatus().description() ) ); } emit displayNameChanged(); }
void Kopete::ChatSession::slotUpdateDisplayName() { if( d->customDisplayName ) return; Kopete::Contact *c = d->mContactList.first(); //If there is no member yet, don't try to update the display name if ( !c ) return; d->displayName=QString::null; do { if(! d->displayName.isNull() ) d->displayName.append( QString::fromLatin1( ", " ) ) ; if ( c->metaContact() ) d->displayName.append( c->metaContact()->displayName() ); else { QString nick=c->property(Kopete::Global::Properties::self()->nickName()).value().toString(); d->displayName.append( nick.isEmpty() ? c->contactId() : nick ); } c=d->mContactList.next(); } while (c); //If we have only 1 contact, add the status of him if ( d->mContactList.count() == 1 ) { d->displayName.append( QString::fromLatin1( " (%1)" ).arg( d->mContactList.first()->onlineStatus().description() ) ); } emit displayNameChanged(); }
void Kopete::ChatSession::addContact( const Kopete::Contact *c, bool suppress ) { //kdDebug( 14010 ) << k_funcinfo << endl; if ( d->mContactList.contains( c ) ) { kdDebug( 14010 ) << k_funcinfo << "Contact already exists" <<endl; emit contactAdded( c, suppress ); } else { if ( d->mContactList.count() == 1 && d->isEmpty ) { kdDebug( 14010 ) << k_funcinfo << " F****R ZONE " << endl; /* We have only 1 contact before, so the status of the message manager was given from that contact status */ Kopete::Contact *old = d->mContactList.first(); d->mContactList.remove( old ); d->mContactList.append( c ); disconnect( old, SIGNAL( onlineStatusChanged( Kopete::Contact *, const Kopete::OnlineStatus &, const Kopete::OnlineStatus & ) ), this, SLOT( slotOnlineStatusChanged( Kopete::Contact *, const Kopete::OnlineStatus &, const Kopete::OnlineStatus &) ) ); if ( old->metaContact() ) { disconnect( old->metaContact(), SIGNAL( displayNameChanged( const QString &, const QString & ) ), this, SLOT( slotUpdateDisplayName() ) ); disconnect( old->metaContact(), SIGNAL( photoChanged() ), this, SIGNAL( photoChanged() ) ); } else
void HistoryGUIClient::slotViewHistory() { // Original Code, but this any segfault if anything in this pipe is NULL - Tejas Dinkar //Kopete::MetaContact *m = Kopete::ChatSessionManager::self()->activeView()->msgManager()->members().first()->metaContact(); //The same as above but with some checking KopeteView *view= Kopete::ChatSessionManager::self()->activeView(); if (!view) { kDebug()<<"Unable to Get Active View!"; return; } Kopete::ChatSession *session = view->msgManager(); if (!session) { kDebug()<<"Unable to Get Active Session!"; return; } Kopete::Contact *contact = session->members().first(); if (!contact) { kDebug()<<"Unable to get contact!"; return; } Kopete::MetaContact *m = contact->metaContact(); if(m) { HistoryDialog* dialog = new HistoryDialog(m); dialog->setObjectName( QLatin1String("HistoryDialog") ); } }
void Kopete::ChatSession::addContact( const Kopete::Contact *c, bool suppress ) { //kDebug( 14010 ) ; if ( d->contacts.contains( (Kopete::Contact*)c ) ) { kDebug( 14010 ) << "Contact already exists"; // emit contactAdded( c, suppress ); } else { if ( d->contacts.count() == 1 && d->isEmpty ) { kDebug( 14010 ) << " F****R ZONE "; /* We have only 1 contact before, so the status of the message manager was given from that contact status */ Kopete::Contact *old = d->contacts.first(); d->contacts.removeAll( old ); d->contacts.append( (Kopete::Contact*)c ); disconnect( old, SIGNAL(onlineStatusChanged(Kopete::Contact*,Kopete::OnlineStatus,Kopete::OnlineStatus)), this, SLOT(slotOnlineStatusChanged(Kopete::Contact*,Kopete::OnlineStatus,Kopete::OnlineStatus)) ); disconnect( old, SIGNAL(statusMessageChanged(Kopete::Contact*)), this, SIGNAL(statusMessageChanged(Kopete::Contact*)) ); if ( old->metaContact() ) { disconnect( old->metaContact(), SIGNAL(displayNameChanged(QString,QString)), this, SLOT(slotUpdateDisplayName()) ); disconnect( old->metaContact(), SIGNAL(photoChanged()), this, SIGNAL(photoChanged()) ); } else disconnect( old, SIGNAL(propertyChanged(Kopete::PropertyContainer*,QString,QVariant,QVariant)), this, SLOT(slotUpdateDisplayName()) ); disconnect( old, SIGNAL(propertyChanged(Kopete::PropertyContainer*,QString,QVariant,QVariant)), this, SLOT(slotContactPropertyChanged(Kopete::PropertyContainer*,QString,QVariant,QVariant)) ); emit contactAdded( c, suppress ); emit contactRemoved( old, QString() ); } else {