aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortrizen <trizen@protonmail.com>2020-12-08 21:29:50 +0200
committerJesús <heckyel@hyperbola.info>2020-12-15 14:19:02 -0500
commit8bfb2063364b6ae5ef673c4c9b06fda5b1f0162a (patch)
treeaf81f453d256367f165c4642660fc686b3d6217a
parent8cf51536d781623cba4ffffb7d6ac46d484065ee (diff)
downloadfair-viewer-8bfb2063364b6ae5ef673c4c9b06fda5b1f0162a.tar.lz
fair-viewer-8bfb2063364b6ae5ef673c4c9b06fda5b1f0162a.tar.xz
fair-viewer-8bfb2063364b6ae5ef673c4c9b06fda5b1f0162a.zip
gtk: added the boolean `autoscroll_to_end` option (disabled by default).
When enabled, the treeview list will be scrolled to the end after clicking "next page". Signed-off-by: Jesús <heckyel@hyperbola.info>
-rwxr-xr-xbin/gtk-fair-viewer10
1 files changed, 10 insertions, 0 deletions
diff --git a/bin/gtk-fair-viewer b/bin/gtk-fair-viewer
index f00d648..7051a12 100755
--- a/bin/gtk-fair-viewer
+++ b/bin/gtk-fair-viewer
@@ -219,6 +219,8 @@ my %CONFIG = (
fullscreen => 0,
audio_only => 0,
+ autoscroll_to_end => 0,
+
# hypervideo support
ytdl => 1,
ytdl_cmd => undef, # auto-detect
@@ -994,9 +996,17 @@ sub new_image_from_pixbuf {
# Treeview signals
{
$treeview->signal_connect('button_press_event', \&menu_popup);
+ $treeview->signal_connect('size-allocate', \&treeview_scroll_to_end) if $CONFIG{autoscroll_to_end};
$users_treeview->signal_connect('button_press_event', \&users_menu_popup);
}
+# Scroll treeview to end
+sub treeview_scroll_to_end {
+ my ($widget) = @_;
+ my $adj = $widget->get_vadjustment;
+ $adj->set_value($adj->get_upper - $adj->get_page_size);
+}
+
# Menu popup
sub menu_popup {
my ($treeview, $event) = @_;