mirror of
https://github.com/profanity-im/profanity.git
synced 2025-02-02 15:08:15 -05:00
Merge branch 'master' into plugins
This commit is contained in:
commit
6387608c6f
@ -1666,7 +1666,7 @@ cmd_join(gchar **args, struct cmd_help_t help)
|
||||
if (!muc_room_is_active(room)) {
|
||||
presence_join_room(room, nick, passwd);
|
||||
}
|
||||
ui_room_join(room);
|
||||
ui_room_join(room, TRUE);
|
||||
muc_remove_invite(room);
|
||||
|
||||
jid_destroy(room_arg);
|
||||
|
@ -550,5 +550,6 @@ handle_autoping_cancel(void)
|
||||
void
|
||||
handle_bookmark_autojoin(char *jid)
|
||||
{
|
||||
ui_room_join(jid);
|
||||
ui_room_join(jid, FALSE);
|
||||
muc_remove_invite(jid);
|
||||
}
|
||||
|
@ -644,6 +644,10 @@ _cons_show_bookmarks(const GList *list)
|
||||
ProfWin *console = wins_get_console();
|
||||
Bookmark *item;
|
||||
|
||||
if (list == NULL) {
|
||||
cons_show("");
|
||||
cons_show("No bookmarks found.");
|
||||
} else {
|
||||
cons_show("");
|
||||
cons_show("Bookmarks:");
|
||||
|
||||
@ -666,6 +670,7 @@ _cons_show_bookmarks(const GList *list)
|
||||
if (wins_is_current(console)) {
|
||||
win_update_virtual(console);
|
||||
}
|
||||
}
|
||||
cons_alert();
|
||||
}
|
||||
|
||||
|
@ -1224,7 +1224,7 @@ _ui_outgoing_msg(const char * const from, const char * const to,
|
||||
}
|
||||
|
||||
static void
|
||||
_ui_room_join(char *room)
|
||||
_ui_room_join(char *room, gboolean focus)
|
||||
{
|
||||
ProfWin *window = wins_get_by_recipient(room);
|
||||
int num = 0;
|
||||
@ -1235,7 +1235,12 @@ _ui_room_join(char *room)
|
||||
}
|
||||
|
||||
num = wins_get_num(window);
|
||||
|
||||
if (focus) {
|
||||
ui_switch_win(num);
|
||||
} else {
|
||||
status_bar_active(num);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -100,7 +100,7 @@ void (*ui_disconnected)(void);
|
||||
void (*ui_recipient_gone)(const char * const barejid);
|
||||
void (*ui_outgoing_msg)(const char * const from, const char * const to,
|
||||
const char * const message);
|
||||
void (*ui_room_join)(char *room);
|
||||
void (*ui_room_join)(char *room, gboolean focus);
|
||||
void (*ui_room_roster)(const char * const room, GList *roster, const char * const presence);
|
||||
void (*ui_room_history)(const char * const room_jid, const char * const nick,
|
||||
GTimeVal tv_stamp, const char * const message);
|
||||
|
@ -260,7 +260,6 @@ _bookmark_handle_result(xmpp_conn_t * const conn,
|
||||
room_jid = jid_create_from_bare_and_resource(jid, name);
|
||||
if (!muc_room_is_active(room_jid->barejid)) {
|
||||
presence_join_room(jid, name, NULL);
|
||||
/* TODO: this should be removed after fixing #195 */
|
||||
handle_bookmark_autojoin(jid);
|
||||
}
|
||||
jid_destroy(room_jid);
|
||||
|
@ -346,11 +346,8 @@ _groupchat_handler(xmpp_conn_t * const conn,
|
||||
char *room_jid = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM);
|
||||
Jid *jid = jid_create(room_jid);
|
||||
|
||||
// handle room broadcasts
|
||||
if (jid->resourcepart == NULL) {
|
||||
// handle room subject
|
||||
xmpp_stanza_t *subject = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_SUBJECT);
|
||||
|
||||
// handle subject
|
||||
if (subject != NULL) {
|
||||
message = xmpp_stanza_get_text(subject);
|
||||
if (message != NULL) {
|
||||
@ -360,9 +357,10 @@ _groupchat_handler(xmpp_conn_t * const conn,
|
||||
|
||||
jid_destroy(jid);
|
||||
return 1;
|
||||
}
|
||||
|
||||
// handle other room broadcasts
|
||||
} else {
|
||||
// handle room broadcasts
|
||||
if (jid->resourcepart == NULL) {
|
||||
xmpp_stanza_t *body = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_BODY);
|
||||
if (body != NULL) {
|
||||
message = xmpp_stanza_get_text(body);
|
||||
@ -375,8 +373,6 @@ _groupchat_handler(xmpp_conn_t * const conn,
|
||||
jid_destroy(jid);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!jid_is_valid_room_form(jid)) {
|
||||
log_error("Invalid room JID: %s", jid->str);
|
||||
|
@ -109,7 +109,7 @@ void cmd_join_uses_account_mucservice_when_no_service_specified(void **state)
|
||||
|
||||
mock_presence_join_room();
|
||||
presence_join_room_expect(expected_room, nick, NULL);
|
||||
ui_room_join_expect(expected_room);
|
||||
ui_room_join_expect(expected_room, TRUE);
|
||||
|
||||
gboolean result = cmd_join(args, *help);
|
||||
assert_true(result);
|
||||
@ -136,7 +136,7 @@ void cmd_join_uses_supplied_nick(void **state)
|
||||
|
||||
mock_presence_join_room();
|
||||
presence_join_room_expect(room, nick, NULL);
|
||||
ui_room_join_expect(room);
|
||||
ui_room_join_expect(room, TRUE);
|
||||
|
||||
gboolean result = cmd_join(args, *help);
|
||||
assert_true(result);
|
||||
@ -163,7 +163,7 @@ void cmd_join_uses_account_nick_when_not_supplied(void **state)
|
||||
|
||||
mock_presence_join_room();
|
||||
presence_join_room_expect(room, account_nick, NULL);
|
||||
ui_room_join_expect(room);
|
||||
ui_room_join_expect(room, TRUE);
|
||||
|
||||
gboolean result = cmd_join(args, *help);
|
||||
assert_true(result);
|
||||
@ -193,7 +193,7 @@ void cmd_join_uses_password_when_supplied(void **state)
|
||||
|
||||
mock_presence_join_room();
|
||||
presence_join_room_expect(expected_room, account_nick, password);
|
||||
ui_room_join_expect(expected_room);
|
||||
ui_room_join_expect(expected_room, TRUE);
|
||||
|
||||
gboolean result = cmd_join(args, *help);
|
||||
assert_true(result);
|
||||
|
@ -166,9 +166,10 @@ gboolean _mock_ui_current_win_is_otr(void)
|
||||
}
|
||||
|
||||
static
|
||||
void _mock_ui_room_join(char *room)
|
||||
void _mock_ui_room_join(char *room, gboolean focus)
|
||||
{
|
||||
check_expected(room);
|
||||
check_expected(focus);
|
||||
}
|
||||
|
||||
static
|
||||
@ -433,10 +434,11 @@ ui_current_win_is_otr_returns(gboolean result)
|
||||
}
|
||||
|
||||
void
|
||||
ui_room_join_expect(char *room)
|
||||
ui_room_join_expect(char *room, gboolean focus)
|
||||
{
|
||||
ui_room_join = _mock_ui_room_join;
|
||||
expect_string(_mock_ui_room_join, room, room);
|
||||
expect_value(_mock_ui_room_join, focus, focus);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -59,7 +59,7 @@ void ui_current_print_line_expect(char *message);
|
||||
|
||||
void ui_current_win_is_otr_returns(gboolean result);
|
||||
|
||||
void ui_room_join_expect(char *room);
|
||||
void ui_room_join_expect(char *room, gboolean focus);
|
||||
|
||||
void mock_cons_show_roster(void);
|
||||
void cons_show_roster_expect(GSList *list);
|
||||
|
Loading…
x
Reference in New Issue
Block a user