summaryrefslogtreecommitdiffstats
path: root/kopete/protocols/oscar/oscaraccount.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kopete/protocols/oscar/oscaraccount.cpp')
-rw-r--r--kopete/protocols/oscar/oscaraccount.cpp24
1 files changed, 18 insertions, 6 deletions
diff --git a/kopete/protocols/oscar/oscaraccount.cpp b/kopete/protocols/oscar/oscaraccount.cpp
index a28a8035..b74a12e7 100644
--- a/kopete/protocols/oscar/oscaraccount.cpp
+++ b/kopete/protocols/oscar/oscaraccount.cpp
@@ -95,17 +95,21 @@ public:
};
OscarAccount::OscarAccount(Kopete::Protocol *parent, const TQString &accountID, const char *name, bool isICQ)
-: Kopete::PasswordedAccount( parent, accountID, 8, name )
+: Kopete::PasswordedAccount( parent, accountID, isICQ ? 8 : 16, name )
{
kdDebug(OSCAR_GEN_DEBUG) << k_funcinfo << " accountID='" << accountID <<
"', isICQ=" << isICQ << endl;
d = new OscarAccountPrivate( *this );
d->engine = new Client( this );
-
+ d->engine->setIsIcq( isICQ );
+
d->versionAlreadyUpdated = false;
d->versionUpdaterStamp = OscarVersionUpdater::self()->stamp();
- d->engine->setVersion( OscarVersionUpdater::self()->getICQVersion() );
+ if ( isICQ )
+ d->engine->setVersion( OscarVersionUpdater::self()->getICQVersion() );
+ else
+ d->engine->setVersion( OscarVersionUpdater::self()->getAIMVersion() );
d->engine->setCodecProvider( d );
d->olnscDialog = 0L;
@@ -178,6 +182,13 @@ void OscarAccount::loginActions()
kdDebug(OSCAR_GEN_DEBUG) << k_funcinfo << "processing SSI list" << endl;
processSSIList();
+ //start a chat nav connection
+ if ( !engine()->isIcq() )
+ {
+ kdDebug(OSCAR_GEN_DEBUG) << k_funcinfo << "sending request for chat nav service" << endl;
+ d->engine->requestServerRedirect( 0x000D );
+ }
+
kdDebug(OSCAR_RAW_DEBUG) << k_funcinfo << "sending request for icon service" << endl;
d->engine->requestServerRedirect( 0x0010 );
@@ -462,7 +473,7 @@ void OscarAccount::setBuddyIcon( KURL url )
if ( image.isNull() )
return;
- const TQSize size = TQSize( 52, 64 );
+ const TQSize size = ( d->engine->isIcq() ) ? TQSize( 52, 64 ) : TQSize( 48, 48 );
image = image.smoothScale( size, TQ_ScaleMax );
if( image.width() > size.width())
@@ -794,8 +805,9 @@ void OscarAccount::slotSendBuddyIcon()
TQString OscarAccount::getFLAPErrorMessage( int code )
{
- TQString acctType = i18n("ICQ");
- TQString acctDescription = i18n("ICQ user id", "UIN");
+ bool isICQ = d->engine->isIcq();
+ TQString acctType = isICQ ? i18n("ICQ") : i18n("AIM");
+ TQString acctDescription = isICQ ? i18n("ICQ user id", "UIN") : i18n("AIM user id", "screen name");
TQString reason;
//FLAP errors are always fatal
//negative codes are things added by liboscar developers