summaryrefslogtreecommitdiff
path: root/gtk/new_packet_list.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/new_packet_list.c')
-rw-r--r--gtk/new_packet_list.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/gtk/new_packet_list.c b/gtk/new_packet_list.c
index 43eb8c3e5e..15a1f7ca66 100644
--- a/gtk/new_packet_list.c
+++ b/gtk/new_packet_list.c
@@ -63,7 +63,7 @@
#include "gtk/main_statusbar.h"
static PacketList *packetlist;
-
+static gboolean last_at_end = FALSE;
static gboolean enable_color;
static GtkWidget *create_view_and_model(void);
@@ -414,6 +414,27 @@ new_packet_list_moveto_end(void)
gtk_tree_path_free(path);
}
+gboolean
+new_packet_list_check_end(void)
+{
+ gboolean at_end = FALSE;
+ GtkAdjustment *adj;
+
+ adj = gtk_tree_view_get_vadjustment(GTK_TREE_VIEW(packetlist->view));
+ g_return_val_if_fail(adj != NULL, FALSE);
+
+ if (adj->value >= adj->upper - adj->page_size) {
+ at_end = TRUE;
+ }
+#ifdef HAVE_LIBPCAP
+ if (adj->value > 0 && at_end != last_at_end && at_end != auto_scroll_live) {
+ menu_auto_scroll_live_changed(at_end);
+ }
+#endif
+ last_at_end = at_end;
+ return at_end;
+}
+
gint
new_packet_list_find_row_from_data(gpointer data, gboolean select)
{