1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-09-22 19:45:54 -04: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);
ProfChatWin* chatwin = (ProfChatWin*)window;
if (!prefs_get_boolean(PREF_MAM) || (prefs_get_boolean(PREF_CHLOG) && prefs_get_boolean(PREF_HISTORY))) {
if (0) {
if (!prefs_get_boolean(PREF_MAM) && (prefs_get_boolean(PREF_CHLOG) && prefs_get_boolean(PREF_HISTORY))) {
_chatwin_history(chatwin, barejid);
}
}
// 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
// (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) {
/* _chatwin_history(chatwin, chatwin->barejid); */
_chatwin_history(chatwin, chatwin->barejid);
}
// 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) {
ProfChatWin* chatwin = (ProfChatWin*) window;
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
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)) {
cons_show("Fetched mam");
win_print_loading_history(window);
iq_mam_request_older(chatwin);
} else {
cons_show("Showed history");
}
}
}
@ -1857,9 +1853,8 @@ win_redraw(ProfWin* window)
void
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();
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);
}

View File

@ -57,6 +57,7 @@
#include "xmpp/muc.h"
#define PAD_SIZE 1000
#define LOADING_MESSAGE "Loading older messages ..."
void win_move_to_end(ProfWin* window);
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)
{
ProfChatWin* chatwin = (ProfChatWin*)userdata;
cons_show("Comitted history");
// Remove the "Loading messages ..." message
buffer_remove_entry(((ProfWin*)chatwin)->layout->buffer, 0);
chatwin_old_history(chatwin, NULL);