mirror of
https://github.com/profanity-im/profanity.git
synced 2024-12-04 14:46:46 -05:00
Moved chat resource to WIN_CHAT type
This commit is contained in:
parent
12d0d22ab3
commit
706f31422d
@ -1782,9 +1782,9 @@ cmd_execute_default(const char * inp)
|
||||
} else {
|
||||
GString *send_recipient = g_string_new(recipient);
|
||||
ProfWin *current = wins_get_current();
|
||||
if (current && current->chat_resource) {
|
||||
if (current && current->wins.chat.chat_resource) {
|
||||
g_string_append(send_recipient, "/");
|
||||
g_string_append(send_recipient, current->chat_resource);
|
||||
g_string_append(send_recipient, current->wins.chat.chat_resource);
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBOTR
|
||||
|
@ -1151,9 +1151,9 @@ cmd_msg(gchar **args, struct cmd_help_t help)
|
||||
}
|
||||
GString *send_jid = g_string_new(usr_jid);
|
||||
ProfWin *current = wins_get_current();
|
||||
if (current && current->chat_resource) {
|
||||
if (current->type == WIN_CHAT && current->wins.chat.chat_resource) {
|
||||
g_string_append(send_jid, "/");
|
||||
g_string_append(send_jid, current->chat_resource);
|
||||
g_string_append(send_jid, current->wins.chat.chat_resource);
|
||||
}
|
||||
|
||||
if (msg != NULL) {
|
||||
@ -1574,11 +1574,11 @@ cmd_resource(gchar **args, struct cmd_help_t help)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
current->chat_resource = strdup(resource);
|
||||
current->wins.chat.chat_resource = strdup(resource);
|
||||
return TRUE;
|
||||
|
||||
} else if (g_strcmp0(cmd, "off") == 0) {
|
||||
FREE_SET_NULL(current->chat_resource);
|
||||
FREE_SET_NULL(current->wins.chat.chat_resource);
|
||||
return TRUE;
|
||||
} else {
|
||||
cons_show("Usage: %s", help.usage);
|
||||
@ -2941,9 +2941,9 @@ cmd_tiny(gchar **args, struct cmd_help_t help)
|
||||
char *recipient = ui_current_recipient();
|
||||
GString *send_recipient = g_string_new(recipient);
|
||||
ProfWin *current = wins_get_current();
|
||||
if (current && current->chat_resource) {
|
||||
if (current && current->wins.chat.chat_resource) {
|
||||
g_string_append(send_recipient, "/");
|
||||
g_string_append(send_recipient, current->chat_resource);
|
||||
g_string_append(send_recipient, current->wins.chat.chat_resource);
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBOTR
|
||||
|
@ -888,7 +888,7 @@ _ui_gone_secure(const char * const recipient, gboolean trusted)
|
||||
return;
|
||||
}
|
||||
|
||||
FREE_SET_NULL(window->chat_resource);
|
||||
FREE_SET_NULL(window->wins.chat.chat_resource);
|
||||
|
||||
window->wins.chat.is_otr = TRUE;
|
||||
window->wins.chat.is_trusted = trusted;
|
||||
|
@ -324,21 +324,21 @@ _show_contact_presence(void)
|
||||
int bracket_attrs = theme_attrs(THEME_TITLE_BRACKET);
|
||||
|
||||
ProfWin *current = wins_get_current();
|
||||
if (current && current->chat_resource) {
|
||||
if (current && current->wins.chat.chat_resource) {
|
||||
wprintw(win, "/");
|
||||
wprintw(win, current->chat_resource);
|
||||
wprintw(win, current->wins.chat.chat_resource);
|
||||
}
|
||||
|
||||
if (prefs_get_boolean(PREF_PRESENCE)) {
|
||||
theme_item_t presence_colour = THEME_TITLE_OFFLINE;
|
||||
const char *presence = "offline";
|
||||
|
||||
if (current && current->chat_resource) {
|
||||
if (current && current->wins.chat.chat_resource) {
|
||||
char *barejid = roster_barejid_from_name(current_recipient);
|
||||
if (barejid) {
|
||||
PContact contact = roster_get_contact(barejid);
|
||||
if (contact) {
|
||||
Resource *resource = p_contact_get_resource(contact, current->chat_resource);
|
||||
Resource *resource = p_contact_get_resource(contact, current->wins.chat.chat_resource);
|
||||
if (resource) {
|
||||
presence = string_from_resource_presence(resource->presence);
|
||||
}
|
||||
|
@ -122,10 +122,9 @@ win_create(const char * const title, win_type_t type)
|
||||
if (new_win->type == WIN_CHAT) {
|
||||
new_win->wins.chat.is_otr = FALSE;
|
||||
new_win->wins.chat.is_trusted = FALSE;
|
||||
new_win->wins.chat.chat_resource = NULL;
|
||||
}
|
||||
|
||||
new_win->chat_resource = NULL;
|
||||
|
||||
scrollok(new_win->win, TRUE);
|
||||
|
||||
return new_win;
|
||||
@ -223,7 +222,10 @@ win_free(ProfWin* window)
|
||||
break;
|
||||
}
|
||||
|
||||
free(window->chat_resource);
|
||||
if (window->type == WIN_CHAT) {
|
||||
free(window->wins.chat.chat_resource);
|
||||
}
|
||||
|
||||
free(window->from);
|
||||
|
||||
if (window->type == WIN_MUC_CONFIG) {
|
||||
|
@ -71,7 +71,6 @@ typedef struct prof_win_t {
|
||||
WINDOW *win;
|
||||
ProfBuff buffer;
|
||||
char *from;
|
||||
char *chat_resource;
|
||||
int y_pos;
|
||||
int paged;
|
||||
int unread;
|
||||
@ -87,6 +86,7 @@ typedef struct prof_win_t {
|
||||
struct {
|
||||
gboolean is_otr;
|
||||
gboolean is_trusted;
|
||||
char *chat_resource;
|
||||
} chat;
|
||||
|
||||
// WIN_MUC
|
||||
|
Loading…
Reference in New Issue
Block a user