[prev in list] [next in list] [prev in thread] [next in thread]
List: kopete-devel
Subject: Re: [kopete-devel] Jabber resources
From: Pali Rohár <pali.rohar () gmail ! com>
Date: 2009-06-22 13:29:20
Message-ID: 4A3F8730.5020402 () gmail ! com
[Download RAW message or body]
I create patch, which add option to jabber account for merging all
messages from all contact's resources to one window/tab.
--
Pali Rohár
pali.rohar@gmail.com
On 21.06.2009 12:57, Detlev Casanova wrote:
> On Saturday 20 June 2009 21:37:32 Jan Ritzerfeld wrote:
>
>> Am Samstag, 20. Juni 2009 schrieb Pali Rohár:
>>
>>> Hello,
>>> if I chating with somebody throw jabber protocol and he change
>>> resource, all new messages from him are shown in new tab (or window).
>>>
>> https://bugs.kde.org/show_bug.cgi?id=111537
>> https://bugs.kde.org/show_bug.cgi?id=142650
>> https://bugs.kde.org/show_bug.cgi?id=175078
>> https://bugs.kde.org/show_bug.cgi?id=194808
>>
>>
>>> It is possible set up kopete to show all incomming messages from all
>>> jabber contacts resources to one tab?
>>>
>> And to which address the outgoing messages should be sent?
>>
> There is also the fact that some people want different chat windows for
> different resources.
>
> Maybe add an option to redirect messages from all contact's resources to the
> same chat window.
>
> Detlev.
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> kopete-devel mailing list
> kopete-devel@kde.org
> https://mail.kde.org/mailman/listinfo/kopete-devel
>
["jabber.patch" (text/x-patch)]
Index: jabberaccount.h
===================================================================
--- jabberaccount.h (revision 985213)
+++ jabberaccount.h (working copy)
@@ -128,6 +128,16 @@
* called when the account is removed in the config ui
*/
virtual bool removeAccount();
+
+ /**
+ * return if kopete show all messges from all resources to one session
+ */
+ bool mergeMessages();
+
+ /**
+ * set if kopete will merge all messages to one session
+ */
+ void setMergeMessages(bool b);
#ifdef JINGLE_SUPPORT
JingleCallsManager *jingleCallsManager() const {return m_jcm;}
Index: jabbercontact.cpp
===================================================================
--- jabbercontact.cpp (revision 985213)
+++ jabbercontact.cpp (working copy)
@@ -341,7 +341,10 @@
m.setPlainBody( i18n("%1 has ended his/her participation in the chat session.", \
metaContact()->displayName()) ); m.setDirection( Kopete::Message::Internal );
- mManager->appendMessage ( m, message.from().resource () );
+ if ( account()->mergeMessages() )
+ mManager->appendMessage ( m, QString::null );
+ else
+ mManager->appendMessage ( m, message.from().resource () );
}
}
}
@@ -426,7 +429,10 @@
// append message to (eventually new) manager and preselect the originating \
resource if ( newMessage )
{
- mManager->appendMessage ( *newMessage, message.from().resource () );
+ if ( account()->mergeMessages() )
+ mManager->appendMessage ( *newMessage, QString::null );
+ else
+ mManager->appendMessage ( *newMessage, message.from().resource () );
delete newMessage;
}
@@ -450,7 +456,10 @@
msg.setDirection( Kopete::Message::Inbound );
msg.setRequestedPlugin( viewPlugin );
- mManager->appendMessage ( msg, message.from().resource () );
+ if ( account()->mergeMessages() )
+ mManager->appendMessage ( msg, QString::null );
+ else
+ mManager->appendMessage ( msg, message.from().resource () );
}
}
Index: jabberaccount.cpp
===================================================================
--- jabberaccount.cpp (revision 985213)
+++ jabberaccount.cpp (working copy)
@@ -1720,6 +1720,16 @@
Kopete::AccountManager::self()->removeAccount( this ); //this will delete this
}
+void JabberAccount::setMergeMessages(bool b)
+{
+ configGroup()->writeEntry("MergeMessages", b);
+}
+
+bool JabberAccount::mergeMessages()
+{
+ return configGroup()->readEntry("MergeMessages", false);
+}
+
/*
JabberMoodAction::JabberMoodAction(const Mood::Type type, QObject *parent):
KAction(parent)
Index: ui/jabbereditaccountwidget.cpp
===================================================================
--- ui/jabbereditaccountwidget.cpp (revision 985213)
+++ ui/jabbereditaccountwidget.cpp (working copy)
@@ -226,6 +226,8 @@
cbSendGoneEvent->setChecked( account()->configGroup()->readEntry("SendGoneEvent", \
true) );
cbHideSystemInfo->setChecked( account()->configGroup()->readEntry("HideSystemInfo", \
false) ); +
+ mergeMessages->setChecked(account()->mergeMessages());
}
Kopete::Account *JabberEditAccountWidget::apply ()
@@ -295,6 +297,8 @@
account()->configGroup()->writeEntry("SendGoneEvent", \
cbSendGoneEvent->isChecked());
account()->configGroup()->writeEntry("HideSystemInfo", \
cbHideSystemInfo->isChecked()); +
+ account()->setMergeMessages(mergeMessages->isChecked());
}
bool JabberEditAccountWidget::validateData ()
Index: ui/dlgjabbereditaccountwidget.ui
===================================================================
--- ui/dlgjabbereditaccountwidget.ui (revision 985213)
+++ ui/dlgjabbereditaccountwidget.ui (working copy)
@@ -590,6 +590,13 @@
</widget>
</item>
<item>
+ <widget class="QCheckBox" name="mergeMessages">
+ <property name="text">
+ <string>Merge all messages from all resources to one window/tab</string>
+ </property>
+ </widget>
+ </item>
+ <item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
_______________________________________________
kopete-devel mailing list
kopete-devel@kde.org
https://mail.kde.org/mailman/listinfo/kopete-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic