Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Hörist <philipp@hoerist.com>2022-10-01 01:42:59 +0300
committerPhilipp Hörist <philipp@hoerist.com>2022-10-01 01:57:05 +0300
commit327eca05543f97429205d7713da160b223eaccfc (patch)
treef66df6e89067f03741c5d9b4e4ec04b1ad4b4e18
parent10c86624ad4f42c838f4b7e1be03b8c4f1df81ea (diff)
fix: Scroll to end after sending message
Scrolling to end is much simpler than reseting the view and less error prone. Fixes #10871
-rw-r--r--gajim/gtk/control.py2
-rw-r--r--gajim/gtk/conversation/view.py5
2 files changed, 6 insertions, 1 deletions
diff --git a/gajim/gtk/control.py b/gajim/gtk/control.py
index ab4adab5d..b7391ab33 100644
--- a/gajim/gtk/control.py
+++ b/gajim/gtk/control.py
@@ -531,7 +531,7 @@ class ChatControl(EventHelper):
if not self._scrolled_view.get_autoscroll():
if kind == 'outgoing':
- self.reset_view()
+ self._scrolled_view.scroll_to_end()
else:
self._jump_to_end_button.add_unread_count()
else:
diff --git a/gajim/gtk/conversation/view.py b/gajim/gtk/conversation/view.py
index 10fa55419..144990db6 100644
--- a/gajim/gtk/conversation/view.py
+++ b/gajim/gtk/conversation/view.py
@@ -216,6 +216,7 @@ class ConversationView(Gtk.ScrolledWindow):
def _reset(self) -> None:
self._current_upper = 0
+ self._autoscroll = True
self._request_history_at_upper = None
self._upper_complete = False
self._lower_complete = True
@@ -633,6 +634,10 @@ class ConversationView(Gtk.ScrolledWindow):
# This scrolls the ListBox to the highlighted row
highlight_row.grab_focus()
+ def scroll_to_end(self) -> None:
+ adj = self.get_vadjustment()
+ adj.set_value(adj.get_upper() - adj.get_page_size())
+
def _get_row_by_message_id(self, id_: str) -> Optional[MessageRow]:
return self._message_id_row_map.get(id_)