[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdenetwork/kopete/protocols/oscar/icq
From:       Roman Jarosz <kedgedev () centrum ! cz>
Date:       2008-04-04 19:40:57
Message-ID: 1207338057.407772.16851.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 793679 by rjarosz:

Keep main status (Online/Away/etc.) and invisible flag when user has changed XStatus.
Novel bug 375289.

CCBUG: 159908



 M  +17 -5     icqaccount.cpp  
 M  +3 -1      icqaccount.h  
 M  +0 -9      xtrazstatus.cpp  
 M  +0 -7      xtrazstatus.h  
 M  +1 -10     xtrazstatusaction.cpp  
 M  +1 -7      xtrazstatusaction.h  


--- trunk/KDE/kdenetwork/kopete/protocols/oscar/icq/icqaccount.cpp #793678:793679
@@ -203,8 +203,8 @@
 	for ( int i = 0; i < xtrazStatusList.count(); i++ )
 	{
 		Xtraz::StatusAction* xtrazAction = new Xtraz::StatusAction( xtrazStatusList.at(i), \
                xtrazStatusMenu );
-		QObject::connect( xtrazAction, SIGNAL(triggered(const Oscar::Presence&, const \
                Kopete::StatusMessage&)),
-		                  this, SLOT(setPresenceTarget(const Oscar::Presence&, const \
Kopete::StatusMessage&)) ); +		QObject::connect( xtrazAction, SIGNAL(triggered(const \
Xtraz::Status&)), +		                  this, SLOT(setPresenceXStatus(const \
Xtraz::Status&)) );  xtrazStatusMenu->addAction( xtrazAction );
 	}
 
@@ -364,13 +364,12 @@
 	Xtraz::ICQStatusDialog dialog;
 	if ( dialog.exec() == QDialog::Accepted )
 	{
-		Xtraz::Status status = dialog.xtrazStatus();
-		setPresenceTarget( status.presence(), Kopete::StatusMessage(status.description(), \
status.message()) ); +		setPresenceXStatus( dialog.xtrazStatus() );
 
 		if ( dialog.append() )
 		{
 			ICQStatusManager* mgr = static_cast<ICQStatusManager*>( \
                protocol()->statusManager() );
-			mgr->appendXtrazStatus( status );
+			mgr->appendXtrazStatus( dialog.xtrazStatus() );
 		}
 	}
 }
@@ -416,7 +415,20 @@
 	}
 }
 
+void ICQAccount::setPresenceXStatus( const Xtraz::Status &xStatus )
+{
+	Oscar::Presence pres = presence();
+	Oscar::Presence::Flags flags = pres.flags() & ~Oscar::Presence::StatusTypeMask;
+	pres.setFlags( flags | Oscar::Presence::XStatus );
+	pres.setXtrazStatus( xStatus.status() );
 
+	Kopete::StatusMessage statusMessage;
+	statusMessage.setTitle( xStatus.description() );
+	statusMessage.setMessage( xStatus.message() );
+
+	setPresenceTarget( pres, statusMessage );
+}
+
 void ICQAccount::setOnlineStatus( const Kopete::OnlineStatus& status, const \
Kopete::StatusMessage &reason )  {
 	if ( status.status() == Kopete::OnlineStatus::Invisible )
--- trunk/KDE/kdenetwork/kopete/protocols/oscar/icq/icqaccount.h #793678:793679
@@ -29,6 +29,7 @@
 class KToggleAction;
 
 namespace Kopete { class StatusMessage; }
+namespace Xtraz { class Status; }
 class ICQProtocol;
 class ICQAccount;
 class ICQUserInfoWidget;
@@ -87,7 +88,8 @@
 
 private slots:
 	void setPresenceTarget( const Oscar::Presence &presence, const \
                Kopete::StatusMessage &reason = Kopete::StatusMessage() );
-	
+	void setPresenceXStatus( const Xtraz::Status &xStatus );
+
 	void slotToggleInvisible();
 
 	void slotUserInfo();
--- trunk/KDE/kdenetwork/kopete/protocols/oscar/icq/xtrazstatus.cpp #793678:793679
@@ -16,8 +16,6 @@
 
 #include "xtrazstatus.h"
 
-#include "oscarpresence.h"
-
 namespace Xtraz {
 
 Status::Status()
@@ -45,11 +43,4 @@
 	mMessage = message;
 }
 
-Oscar::Presence Status::presence() const
-{
-	Oscar::Presence presence( Oscar::Presence::Online, Oscar::Presence::XStatus );
-	presence.setXtrazStatus( mStatus );
-	return presence;
 }
-
-}
--- trunk/KDE/kdenetwork/kopete/protocols/oscar/icq/xtrazstatus.h #793678:793679
@@ -19,11 +19,6 @@
 
 #include <QString>
 
-namespace Oscar
-{
-class Presence;
-}
-
 namespace Xtraz
 {
 
@@ -42,8 +37,6 @@
 	void setMessage( const QString& message );
 	QString message() const { return mMessage; }
 
-	Oscar::Presence presence() const;
-
 private:
 	int mStatus;
 	QString mDescription;
--- trunk/KDE/kdenetwork/kopete/protocols/oscar/icq/xtrazstatusaction.cpp \
#793678:793679 @@ -16,8 +16,6 @@
 
 #include "xtrazstatusaction.h"
 
-#include <kopetestatusmessage.h>
-
 namespace Xtraz
 {
 
@@ -34,14 +32,7 @@
 
 void StatusAction::triggered()
 {
-	Oscar::Presence presence( Oscar::Presence::Online, Oscar::Presence::XStatus );
-	presence.setXtrazStatus( mStatus.status() );
-
-	Kopete::StatusMessage statusMessage;
-	statusMessage.setTitle( mStatus.description() );
-	statusMessage.setMessage( mStatus.message() );
-
-	emit triggered( presence, statusMessage );
+	emit triggered( mStatus );
 }
 
 }
--- trunk/KDE/kdenetwork/kopete/protocols/oscar/icq/xtrazstatusaction.h \
#793678:793679 @@ -19,14 +19,8 @@
 
 #include <kaction.h>
 
-#include "oscarpresence.h"
 #include "xtrazstatus.h"
 
-namespace Kopete
-{
-	class StatusMessage;
-}
-
 namespace Xtraz
 {
 
@@ -40,7 +34,7 @@
 	void triggered();
 
 signals:
-	void triggered( const Oscar::Presence &presence, const Kopete::StatusMessage \
&reason ); +	void triggered( const Xtraz::Status &status );
 
 private:
 	Xtraz::Status mStatus;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic