1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

Do not send presence when in groupchat

This commit is contained in:
James Booth 2012-11-05 21:48:13 +00:00
parent 2f6361a578
commit 83834b96ae
4 changed files with 18 additions and 3 deletions

View File

@ -149,7 +149,7 @@ inp_get_char(int *ch, char *input, int *size)
// if not got char, and in chat window, flag as no activity // if not got char, and in chat window, flag as no activity
// send inactive or gone, depending how long inactive // send inactive or gone, depending how long inactive
if (*ch == ERR) { if (*ch == ERR) {
if (win_in_chat()) { if (win_in_chat() && !win_in_groupchat()) {
char *recipient = win_get_recipient(); char *recipient = win_get_recipient();
chat_session_no_activity(recipient); chat_session_no_activity(recipient);
@ -168,8 +168,8 @@ inp_get_char(int *ch, char *input, int *size)
} }
// if got char and in chat window, chat session active // if got char and in chat window, chat session active
if (prefs_get_outtype() && (*ch != ERR) && win_in_chat() && !in_command && if (prefs_get_outtype() && (*ch != ERR) && win_in_chat() &&
_printable(*ch)) { !win_in_groupchat() && !in_command && _printable(*ch)) {
char *recipient = win_get_recipient(); char *recipient = win_get_recipient();
chat_session_set_composing(recipient); chat_session_set_composing(recipient);
if (!chat_session_get_sent(recipient) || if (!chat_session_get_sent(recipient) ||

View File

@ -401,6 +401,9 @@ _message_handler(xmpp_conn_t * const conn,
from = xmpp_stanza_get_attribute(stanza, "from"); from = xmpp_stanza_get_attribute(stanza, "from");
if (room_jid_is_room_chat(from)) { if (room_jid_is_room_chat(from)) {
cons_show("CHAT ROOM MESSAGE RECIEVED"); cons_show("CHAT ROOM MESSAGE RECIEVED");
} else { } else {

View File

@ -106,6 +106,7 @@ void win_remind(void);
void win_join_chat(const char * const room_jid, const char * const nick); void win_join_chat(const char * const room_jid, const char * const nick);
void win_show_chat_room_member(const char * const room_jid, void win_show_chat_room_member(const char * const room_jid,
const char * const nick); const char * const nick);
int win_in_groupchat(void);
// console window actions // console window actions
void cons_about(void); void cons_about(void);

View File

@ -43,6 +43,7 @@
#include "log.h" #include "log.h"
#include "preferences.h" #include "preferences.h"
#include "release.h" #include "release.h"
#include "room_chat.h"
#include "ui.h" #include "ui.h"
#define CONS_WIN_TITLE "_cons" #define CONS_WIN_TITLE "_cons"
@ -196,6 +197,16 @@ win_in_chat(void)
(strcmp(_wins[_curr_prof_win].from, "") != 0)); (strcmp(_wins[_curr_prof_win].from, "") != 0));
} }
int
win_in_groupchat(void)
{
if (room_jid_is_room_chat(_wins[_curr_prof_win].from)) {
return 1;
} else {
return 0;
}
}
char * char *
win_get_recipient(void) win_get_recipient(void)
{ {