Hello community, here is the log from the commit of package kdenetwork3 checked in at Fri May 25 10:25:34 CEST 2007. -------- --- KDE/kdenetwork3/kdenetwork3.changes 2007-05-23 23:31:35.000000000 +0200 +++ /mounts/work_src_done/STABLE/kdenetwork3/kdenetwork3.changes 2007-05-25 01:29:35.000000000 +0200 @@ -1,0 +2,7 @@ +Fri May 25 01:24:24 CEST 2007 - wstephenson@suse.de + +- Allow kopete to respond to GW contacts who are blocking you but + have started a chat with you (#267832) +- Revised offline mode infrastructure (#237274) + +------------------------------------------------------------------- New: ---- 3_5_BRANCH-r668060.diff kdenetwork_networkstatus_branch.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdenetwork3.spec ++++++ --- /var/tmp/diff_new_pack.P31100/_old 2007-05-25 10:25:20.000000000 +0200 +++ /var/tmp/diff_new_pack.P31100/_new 2007-05-25 10:25:20.000000000 +0200 @@ -20,7 +20,7 @@ Summary: KDE Network Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-build Version: 3.5.7 -Release: 2 +Release: 4 Provides: kdenetwork3-lan:/opt/kde3/bin/kpf Source0: kdenetwork-%{version}.tar.bz2 Source1: init.lisa @@ -43,6 +43,8 @@ Patch21: fileshare-desktop-icon.diff # ignores ICQ6 plugin messages Patch23: kopete_groupwise_better_error_reporting.diff +Patch24: kdenetwork_networkstatus_branch.diff +Patch25: 3_5_BRANCH-r668060.diff Patch100: knewsticker_sources.patch Url: http://www.kde.org Requires: kdelibs3 >= %( echo `rpm -q --queryformat '%{VERSION}' kdelibs3`) @@ -231,14 +233,14 @@ The KDE Team <kde@kde.org> %package devel -Summary: build enviroment from kdenetwork +Summary: build environment from kdenetwork Group: Development/Libraries/KDE %description devel -The build enviroment from kdenetwork. +The build environment from kdenetwork. -You need this package to compile applications, which uses libraries -from kdenetwork. +You need this package to compile applications which use libraries from +kdenetwork. @@ -262,6 +264,8 @@ %patch19 %patch21 %patch23 +%patch24 -E +%patch25 %patch100 # remove ktalkd for security reasons rm -rf ktalkd doc/ktalkd doc/kcontrol/kcmktalkd @@ -270,8 +274,7 @@ %build . /etc/opt/kde3/common_options -./configure $configkde \ - --enable-smpppd +./configure $configkde make %{?jobs:-j%jobs} %install @@ -386,7 +389,6 @@ /opt/kde3/bin/kopete_latexconvert.sh /opt/kde3/bin/winpopup-install.sh /opt/kde3/bin/winpopup-send.sh -/opt/kde3/share/config.kcfg/smpppdcs.kcfg /opt/kde3/share/icons/*/*/*/kopete* /opt/kde3/share/icons/*/*/*/account_offline_overlay.* /opt/kde3/share/icons/*/*/*/add_user.* @@ -647,6 +649,10 @@ /opt/kde3/%_lib/libkopete_videodevice.so %changelog +* Fri May 25 2007 - wstephenson@suse.de +- Allow kopete to respond to GW contacts who are blocking you but + have started a chat with you (#267832) +- Revised offline mode infrastructure (#237274) * Wed May 23 2007 - wstephenson@suse.de - rpmlint fixes: * use %%fdupes to merge duplicate files ++++++ 3_5_BRANCH-r668060.diff ++++++ Index: kopete/protocols/groupwise/gwcontact.h =================================================================== --- kopete/protocols/groupwise/gwcontact.h (revision 668016) +++ kopete/protocols/groupwise/gwcontact.h (working copy) @@ -130,6 +130,15 @@ * Mark this contact as being deleted */ void setDeleting( bool deleting ); + /** + * Marks this contact as having sent a message whilst apparently offline + */ + void setMessageReceivedOffline( bool on ); + /** + * Has this contact sent a message whilst apparently offline? + */ + bool messageReceivedOffline() const; + public slots: /** * Transmits an outgoing message to the server @@ -179,6 +188,7 @@ // HACK: flag used to differentiate between 'all contact list instances gone while we are moving on the server' // and 'all contact list instances gone because we wanted to delete them all' bool m_deleting; + bool m_messageReceivedOffline; }; #endif Index: kopete/protocols/groupwise/gwcontact.cpp =================================================================== --- kopete/protocols/groupwise/gwcontact.cpp (revision 668016) +++ kopete/protocols/groupwise/gwcontact.cpp (working copy) @@ -50,7 +50,7 @@ Kopete::MetaContact *parent, const int objectId, const int parentId, const int sequence ) : Kopete::Contact( account, GroupWiseProtocol::dnToDotted( dn ), parent ), m_objectId( objectId ), m_parentId( parentId ), - m_sequence( sequence ), m_actionBlock( 0 ), m_archiving( false ), m_deleting( false ) + m_sequence( sequence ), m_actionBlock( 0 ), m_archiving( false ), m_deleting( false ), m_messageReceivedOffline( false ) { if ( dn.find( '=' ) != -1 ) { @@ -134,7 +134,7 @@ // in GWChatSession // (This is a GroupWise rule, not a problem in Kopete) - if ( account()->isConnected() && isOnline()/* && account()->myself()->onlineStatus() != protocol()->groupwiseAppearOffline */) + if ( account()->isConnected() && ( isOnline() || messageReceivedOffline() ) /* && account()->myself()->onlineStatus() != protocol()->groupwiseAppearOffline */) return true; if ( !account()->isConnected()/* || account()->myself()->onlineStatus() == protocol()->groupwiseAppearOffline*/ ) return false; @@ -227,6 +227,7 @@ void GroupWiseContact::setOnlineStatus( const Kopete::OnlineStatus& status ) { + setMessageReceivedOffline( false ); if ( status == protocol()->groupwiseAwayIdle && status != onlineStatus() ) setIdleTime( 1 ); else if ( onlineStatus() == protocol()->groupwiseAwayIdle && status != onlineStatus() ) @@ -299,6 +300,17 @@ else kdDebug( GROUPWISE_DEBUG_GLOBAL ) << k_funcinfo << "rename failed, return code: " << uct->statusCode() << endl; } + +void GroupWiseContact::setMessageReceivedOffline( bool on ) +{ + m_messageReceivedOffline = on; +} + +bool GroupWiseContact::messageReceivedOffline() const +{ + return m_messageReceivedOffline; +} + #include "gwcontact.moc" // vim: set noet ts=4 sts=4 sw=4: Index: kopete/protocols/groupwise/gwaccount.cpp =================================================================== --- kopete/protocols/groupwise/gwaccount.cpp (revision 668016) +++ kopete/protocols/groupwise/gwaccount.cpp (working copy) @@ -790,6 +790,13 @@ if ( !sender ) sender = createTemporaryContact( message.user ); + // if we receive a message from an Offline contact, they are probably blocking us + // but we have to set their status to Unknown so that we can reply to them. + kdDebug( GROUPWISE_DEBUG_GLOBAL) << "sender is: " << sender->onlineStatus().description() << endl; + if ( sender->onlineStatus() == protocol()->groupwiseOffline ) { + sender->setMessageReceivedOffline( true ); + } + Kopete::ContactPtrList contactList; contactList.append( sender ); // FIND A MESSAGE MANAGER FOR THIS CONTACT @@ -1352,6 +1359,11 @@ m_client->leaveConference( sess->guid() ); m_chatSessions.remove( sess ); kdDebug( GROUPWISE_DEBUG_GLOBAL ) << k_funcinfo << "m_chatSessions now contains:" << m_chatSessions.count() << " managers" << endl; + Kopete::ContactPtrList members = sess->members(); + for ( Kopete::Contact * contact = members.first(); contact; contact = members.next() ) + { + static_cast< GroupWiseContact * >( contact )->setMessageReceivedOffline( false ); + } } void GroupWiseAccount::slotSetAutoReply() ++++++ kdenetwork_networkstatus_branch.diff ++++++ ++++ 924 lines (skipped) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de