Summary: | [icq] Can't update nicknames of ICQ contacts | ||
---|---|---|---|
Product: | [Unmaintained] kopete | Reporter: | Simon Koch <koch0121> |
Component: | ICQ and AIM Plugins | Assignee: | Kopete Developers <kopete-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Simon Koch
2005-05-17 03:07:53 UTC
yup, this is a problem. hopefully we'll have a fix soon. However, I won't guarantee that it'll be fixed before KDE 3.4.1 SVN commit 435392 by mattr: when getting the user info for the dialog, make sure that we update the nickname for the contact. also make sure that we update the contact name on login as well. BUG: 105786 M +6 -7 icqcontact.cpp --- trunk/KDE/kdenetwork/kopete/protocols/oscar/icq/icqcontact.cpp #435391:435392 @@ -144,13 +144,10 @@ if ( m_ssiItem.waitingAuth() ) setOnlineStatus( mProtocol->statusManager()->waitingForAuth() ); - QString nickname = property( Kopete::Global::Properties::self()->nickName() ).value().toString(); - if ( nickname.isEmpty() || Oscar::normalize( nickname ) == Oscar::normalize( contactId() ) ) - { - int time = ( KApplication::random() % 25 ) * 1000; - kdDebug(OSCAR_ICQ_DEBUG) << k_funcinfo << "updating nickname in " << time/1000 << " seconds" << endl; - QTimer::singleShot( time, this, SLOT( requestShortInfo() ) ); - } + int time = ( KApplication::random() % 20 ) * 1000; + kdDebug(OSCAR_ICQ_DEBUG) << k_funcinfo << "updating nickname in " << time/1000 << " seconds" << endl; + QTimer::singleShot( time, this, SLOT( requestShortInfo() ) ); + } void ICQContact::requestShortInfo() @@ -227,6 +224,8 @@ kdDebug(OSCAR_ICQ_DEBUG) << k_funcinfo << "received long info from engine" << endl; ICQGeneralUserInfo genInfo = mAccount->engine()->getGeneralInfo( contact ); + if ( !genInfo.nickname.isEmpty() ) + setNickName( genInfo.nickname ); emit haveBasicInfo( genInfo ); ICQWorkUserInfo workInfo = mAccount->engine()->getWorkInfo( contact ); SVN commit 435395 by mattr: backport the fix for bug 105786. It should be in KDE 3.4.2 (Kopete 0.10.3) CCBUG: 105786 M +6 -7 icqcontact.cpp --- branches/KDE/3.4/kdenetwork/kopete/protocols/oscar/icq/icqcontact.cpp #435394:435395 @@ -133,13 +133,10 @@ if ( m_ssiItem.waitingAuth() ) setOnlineStatus( mProtocol->statusManager()->waitingForAuth() ); - QString nickname = property( Kopete::Global::Properties::self()->nickName() ).value().toString(); - if ( nickname.isEmpty() || Oscar::normalize( nickname ) == Oscar::normalize( contactId() ) ) - { - int time = ( KApplication::random() % 25 ) * 1000; - kdDebug(OSCAR_ICQ_DEBUG) << k_funcinfo << "updating nickname in " << time/1000 << " seconds" << endl; - QTimer::singleShot( time, this, SLOT( requestShortInfo() ) ); - } + int time = ( KApplication::random() % 20 ) * 1000; + kdDebug(OSCAR_ICQ_DEBUG) << k_funcinfo << "updating nickname in " << time/1000 << " seconds" << endl; + QTimer::singleShot( time, this, SLOT( requestShortInfo() ) ); + } void ICQContact::requestShortInfo() @@ -216,6 +213,8 @@ kdDebug(OSCAR_ICQ_DEBUG) << k_funcinfo << "received long info from engine" << endl; ICQGeneralUserInfo genInfo = mAccount->engine()->getGeneralInfo( contact ); + if ( !genInfo.nickname.isEmpty() ) + setNickName( genInfo.nickname ); emit haveBasicInfo( genInfo ); ICQWorkUserInfo workInfo = mAccount->engine()->getWorkInfo( contact ); |