1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-10-27 20:30:13 -04:00

Add win_print_history

This commit is contained in:
James Booth 2016-10-15 20:55:45 +01:00
parent f761d403b3
commit c814cb44b8
4 changed files with 23 additions and 2 deletions

View File

@ -401,7 +401,7 @@ _chatwin_history(ProfChatWin *chatwin, const char *const contact)
char mm[3]; memcpy(mm, &line[3], 2); mm[2] = '\0'; int imm = atoi(mm); char mm[3]; memcpy(mm, &line[3], 2); mm[2] = '\0'; int imm = atoi(mm);
char ss[3]; memcpy(ss, &line[6], 2); ss[2] = '\0'; int iss = atoi(ss); char ss[3]; memcpy(ss, &line[6], 2); ss[2] = '\0'; int iss = atoi(ss);
GDateTime *timestamp = g_date_time_new_local(2000, 1, 1, ihh, imm, iss); GDateTime *timestamp = g_date_time_new_local(2000, 1, 1, ihh, imm, iss);
win_printf((ProfWin*)chatwin, '-', 0, timestamp, NO_COLOUR_DATE, THEME_DEFAULT, "", "%s", curr->data+11); win_print_history((ProfWin*)chatwin, timestamp, "%s", curr->data+11);
g_date_time_unref(timestamp); g_date_time_unref(timestamp);
// header // header
} else { } else {

View File

@ -354,7 +354,7 @@ mucwin_history(ProfMucWin *mucwin, const char *const nick, GDateTime *timestamp,
g_string_append(line, message); g_string_append(line, message);
} }
win_printf(window, '-', 0, timestamp, NO_COLOUR_DATE, 0, "", "%s", line->str); win_print_history(window, timestamp, "%s", line->str);
g_string_free(line, TRUE); g_string_free(line, TRUE);
plugins_on_room_history_message(mucwin->roomjid, nick, message, timestamp); plugins_on_room_history_message(mucwin->roomjid, nick, message, timestamp);

View File

@ -1028,6 +1028,26 @@ win_print_outgoing(ProfWin *window, const char ch, const char *const message, ..
va_end(arg); va_end(arg);
} }
void
win_print_history(ProfWin *window, GDateTime *timestamp, const char *const message, ...)
{
g_date_time_ref(timestamp);
va_list arg;
va_start(arg, message);
GString *fmt_msg = g_string_new(NULL);
g_string_vprintf(fmt_msg, message, arg);
buffer_push(window->layout->buffer, '-', 0, timestamp, NO_COLOUR_DATE, THEME_DEFAULT, "", fmt_msg->str, NULL);
_win_print(window, '-', 0, timestamp, NO_COLOUR_DATE, THEME_DEFAULT, "", fmt_msg->str, NULL);
inp_nonblocking(TRUE);
g_date_time_unref(timestamp);
g_string_free(fmt_msg, TRUE);
va_end(arg);
}
void void
win_printf(ProfWin *window, const char show_char, int pad_indent, GDateTime *timestamp, win_printf(ProfWin *window, const char show_char, int pad_indent, GDateTime *timestamp,
int flags, theme_item_t theme_item, const char *const from, const char *const message, ...) int flags, theme_item_t theme_item, const char *const from, const char *const message, ...)

View File

@ -63,6 +63,7 @@ void win_show_status_string(ProfWin *window, const char *const from,
void win_print_outgoing(ProfWin *window, const char ch, const char *const message, ...); void win_print_outgoing(ProfWin *window, const char ch, const char *const message, ...);
void win_print_incoming(ProfWin *window, GDateTime *timestamp, void win_print_incoming(ProfWin *window, GDateTime *timestamp,
const char *const from, const char *const message, prof_enc_t enc_mode); const char *const from, const char *const message, prof_enc_t enc_mode);
void win_print_history(ProfWin *window, GDateTime *timestamp, const char *const message, ...);
void win_print_http_upload(ProfWin *window, const char *const message, char *url); void win_print_http_upload(ProfWin *window, const char *const message, char *url);