From 14f25992c39cc5e3ec04f3a053f38bee9c77cf4e Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 13 Dec 2019 12:05:24 +0100 Subject: Initial work on last-read-position feature Print dashes on the position we last left off in a chat window. So far the number of dashes is hardcoded, and the feature only works in chat windows. Regards https://github.com/profanity-im/profanity/issues/1238 --- src/ui/window.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'src/ui/window.c') diff --git a/src/ui/window.c b/src/ui/window.c index 2a76496c..e592aa2e 100644 --- a/src/ui/window.c +++ b/src/ui/window.c @@ -1354,6 +1354,13 @@ win_update_entry_message(ProfWin *window, const char *const id, const char *cons } } +void +win_remove_entry_message(ProfWin *window, const char *const id) +{ + buffer_remove_entry_by_id(window->layout->buffer, id); + win_redraw(window); +} + void win_newline(ProfWin *window) { @@ -1809,3 +1816,29 @@ win_handle_command_exec_result_note(ProfWin *window, const char *const type, con assert(window != NULL); win_println(window, THEME_DEFAULT, '!', value); } + +void +win_print_separator(ProfWin *window) +{ + int cols = getmaxx(window->layout->win); + + int i; + for (i=1; ilayout->win, "-"); + } +} + +void +win_insert_last_read_position_marker(ProfWin *window, char* id) +{ + GDateTime *time = g_date_time_new_now_local(); + + buffer_append(window->layout->buffer, ' ', 0, time, 0, THEME_TEXT, NULL, "-----", NULL, id); + // can we leave this? TODO + // win_print_separator(window); + //_win_print(window, '-', 0, time, 0, THEME_TEXT, NULL, "---", NULL); + win_redraw(window); + + g_date_time_unref(time); +} + -- cgit 1.4.1-2-gfad0