commit 48d3a5452c526c332c71a0580ca87f2a1aeb8540
parent ebb4127098911debb0ca42fee34e89c3e3a19e61
Author: Colin Leroy <colin@colino.net>
Date: Sun, 10 Nov 2019 20:55:11 +0100
LiteHtml viewer: implement keyboard scroll
Diffstat:
1 file changed, 28 insertions(+), 0 deletions(-)
diff --git a/src/plugins/litehtml_viewer/lh_viewer.c b/src/plugins/litehtml_viewer/lh_viewer.c
@@ -140,6 +140,31 @@ static void lh_print_viewer (MimeViewer *_viewer)
lh_widget_print(viewer->widget);
}
+
+static gboolean lh_scroll_page(MimeViewer *_viewer, gboolean up)
+{
+ LHViewer *viewer = (LHViewer *)_viewer;
+ GtkAdjustment *vadj = gtk_scrolled_window_get_vadjustment(
+ GTK_SCROLLED_WINDOW(lh_widget_get_widget(viewer->widget)));
+
+ if (viewer->widget == NULL)
+ return FALSE;
+
+ return gtkutils_scroll_page(lh_widget_get_widget(viewer->widget), vadj, up);
+}
+
+static void lh_scroll_one_line(MimeViewer *_viewer, gboolean up)
+{
+ LHViewer *viewer = (LHViewer *)_viewer;
+ GtkAdjustment *vadj = gtk_scrolled_window_get_vadjustment(
+ GTK_SCROLLED_WINDOW(lh_widget_get_widget(viewer->widget)));
+
+ if (viewer->widget == NULL)
+ return;
+
+ gtkutils_scroll_one_line(lh_widget_get_widget(viewer->widget), vadj, up);
+}
+
/***************************************************************/
MimeViewer *lh_viewer_create()
{
@@ -155,6 +180,9 @@ MimeViewer *lh_viewer_create()
viewer->mimeviewer.clear_viewer = lh_clear_viewer;
viewer->mimeviewer.destroy_viewer = lh_destroy_viewer;
+ viewer->mimeviewer.scroll_page = lh_scroll_page;
+ viewer->mimeviewer.scroll_one_line = lh_scroll_one_line;
+
viewer->vbox = gtk_vbox_new(FALSE, 0);
GtkWidget *w = lh_widget_get_widget(viewer->widget);