1
1
mirror of https://github.com/profanity-im/profanity.git synced 2025-01-03 14:57:42 -05:00
This commit is contained in:
MarcoPolo-PasTonMolo 2022-07-05 11:30:04 +03:00
parent 4d6e95d691
commit b03c3bda98
4 changed files with 5 additions and 13 deletions

View File

@ -66,11 +66,8 @@ chatwin_new(const char* const barejid)
ProfWin* window = wins_new_chat(barejid); ProfWin* window = wins_new_chat(barejid);
ProfChatWin* chatwin = (ProfChatWin*)window; ProfChatWin* chatwin = (ProfChatWin*)window;
if (!prefs_get_boolean(PREF_MAM) || (prefs_get_boolean(PREF_CHLOG) && prefs_get_boolean(PREF_HISTORY))) { if (!prefs_get_boolean(PREF_MAM) && (prefs_get_boolean(PREF_CHLOG) && prefs_get_boolean(PREF_HISTORY))) {
if (0) {
_chatwin_history(chatwin, barejid); _chatwin_history(chatwin, barejid);
}
} }
// if the contact is offline, show a message // if the contact is offline, show a message
@ -311,7 +308,7 @@ chatwin_incoming_msg(ProfChatWin* chatwin, ProfMessage* message, gboolean win_cr
// MUCPMs also get printed here. In their case we don't save any logs (because nick owners can change) and thus we shouldn't read logs // MUCPMs also get printed here. In their case we don't save any logs (because nick owners can change) and thus we shouldn't read logs
// (and if we do we need to check the resourcepart) // (and if we do we need to check the resourcepart)
if (!prefs_get_boolean(PREF_MAM) && prefs_get_boolean(PREF_CHLOG) && prefs_get_boolean(PREF_HISTORY) && message->type == PROF_MSG_TYPE_CHAT) { if (!prefs_get_boolean(PREF_MAM) && prefs_get_boolean(PREF_CHLOG) && prefs_get_boolean(PREF_HISTORY) && message->type == PROF_MSG_TYPE_CHAT) {
/* _chatwin_history(chatwin, chatwin->barejid); */ _chatwin_history(chatwin, chatwin->barejid);
} }
// show users status first, when receiving message via delayed delivery // show users status first, when receiving message via delayed delivery

View File

@ -604,16 +604,12 @@ win_page_up(ProfWin* window)
if (*page_start == -page_space && prefs_get_boolean(PREF_MAM) && window->type == WIN_CHAT) { if (*page_start == -page_space && prefs_get_boolean(PREF_MAM) && window->type == WIN_CHAT) {
ProfChatWin* chatwin = (ProfChatWin*) window; ProfChatWin* chatwin = (ProfChatWin*) window;
ProfBuffEntry* first_entry = buffer_size(window->layout->buffer) != 0 ? buffer_get_entry(window->layout->buffer, 0) : NULL; ProfBuffEntry* first_entry = buffer_size(window->layout->buffer) != 0 ? buffer_get_entry(window->layout->buffer, 0) : NULL;
char* loading_text = "Loading older messages ...";
// Don't do anything if still fetching mam messages // Don't do anything if still fetching mam messages
if (first_entry && !(first_entry->theme_item == THEME_ROOMINFO && g_strcmp0(first_entry->message, loading_text) == 0)) { if (first_entry && !(first_entry->theme_item == THEME_ROOMINFO && g_strcmp0(first_entry->message, LOADING_MESSAGE) == 0)) {
if (!chatwin_old_history(chatwin, NULL)) { if (!chatwin_old_history(chatwin, NULL)) {
cons_show("Fetched mam");
win_print_loading_history(window); win_print_loading_history(window);
iq_mam_request_older(chatwin); iq_mam_request_older(chatwin);
} else {
cons_show("Showed history");
} }
} }
} }
@ -1857,9 +1853,8 @@ win_redraw(ProfWin* window)
void void
win_print_loading_history(ProfWin* window) win_print_loading_history(ProfWin* window)
{ {
char* loading_text = "Loading older messages ...";
GDateTime* timestamp = buffer_size(window->layout->buffer) != 0 ? buffer_get_entry(window->layout->buffer, 0)->time : g_date_time_new_now_local(); GDateTime* timestamp = buffer_size(window->layout->buffer) != 0 ? buffer_get_entry(window->layout->buffer, 0)->time : g_date_time_new_now_local();
buffer_prepend(window->layout->buffer, "-", 0, timestamp, NO_DATE, THEME_ROOMINFO, NULL, NULL, loading_text, NULL, NULL); buffer_prepend(window->layout->buffer, "-", 0, timestamp, NO_DATE, THEME_ROOMINFO, NULL, NULL, LOADING_MESSAGE, NULL, NULL);
win_redraw(window); win_redraw(window);
} }

View File

@ -57,6 +57,7 @@
#include "xmpp/muc.h" #include "xmpp/muc.h"
#define PAD_SIZE 1000 #define PAD_SIZE 1000
#define LOADING_MESSAGE "Loading older messages ..."
void win_move_to_end(ProfWin* window); void win_move_to_end(ProfWin* window);
void win_show_status_string(ProfWin* window, const char* const from, void win_show_status_string(ProfWin* window, const char* const from,

View File

@ -2581,7 +2581,6 @@ static int
_mam_buffer_commit_handler(xmpp_stanza_t* const stanza, void* const userdata) _mam_buffer_commit_handler(xmpp_stanza_t* const stanza, void* const userdata)
{ {
ProfChatWin* chatwin = (ProfChatWin*)userdata; ProfChatWin* chatwin = (ProfChatWin*)userdata;
cons_show("Comitted history");
// Remove the "Loading messages ..." message // Remove the "Loading messages ..." message
buffer_remove_entry(((ProfWin*)chatwin)->layout->buffer, 0); buffer_remove_entry(((ProfWin*)chatwin)->layout->buffer, 0);
chatwin_old_history(chatwin, NULL); chatwin_old_history(chatwin, NULL);