summaryrefslogtreecommitdiff
path: root/UViewer.pas
diff options
context:
space:
mode:
Diffstat (limited to 'UViewer.pas')
-rw-r--r--UViewer.pas30
1 files changed, 23 insertions, 7 deletions
diff --git a/UViewer.pas b/UViewer.pas
index d97a16d..a6f5bc4 100644
--- a/UViewer.pas
+++ b/UViewer.pas
@@ -197,52 +197,68 @@ begin
vadj := gtk_scrolled_window_get_vadjustment(PGtkScrolledWindow(ScrolledWindow.FWidget));
hadj := gtk_scrolled_window_get_hadjustment(PGtkScrolledWindow(ScrolledWindow.FWidget));
// debugmsg(['lower = ', adj^.lower, ', upper = ', adj^.upper, ', value = ', x, ', page_size = ', adj^.page_size]);
- Accept := False;
+ Accept := True;
case Key of
GDK_HOME: begin
smooth_scroll(vadj, 0, True);
smooth_scroll(hadj, 0, True);
+ Accept := False;
end;
GDK_END: begin
smooth_scroll(vadj, vadj^.upper - vadj^.page_size, True);
+ Accept := False;
end;
GDK_Page_Down, GDK_SPACE: begin
x := gtk_adjustment_get_value(vadj) + vadj^.page_increment;
if x + vadj^.page_size > vadj^.upper then x := vadj^.upper - vadj^.page_size;
smooth_scroll(vadj, x, True);
+ Accept := False;
end;
GDK_Page_Up: begin
x := gtk_adjustment_get_value(vadj) - vadj^.page_increment;
if x < 0 then x := 0;
smooth_scroll(vadj, x, True);
+ Accept := False;
end;
GDK_Down: begin
x := gtk_adjustment_get_value(vadj) + vadj^.step_increment;
if x + vadj^.page_size > vadj^.upper then x := vadj^.upper - vadj^.page_size;
smooth_scroll(vadj, x, False);
+ Accept := False;
end;
GDK_Up: begin
x := gtk_adjustment_get_value(vadj) - vadj^.step_increment;
if x < 0 then x := 0;
smooth_scroll(vadj, x, False);
+ Accept := False;
end;
GDK_Right: begin
x := gtk_adjustment_get_value(hadj) + hadj^.step_increment;
if x + hadj^.page_size > hadj^.upper then x := hadj^.upper - hadj^.page_size;
smooth_scroll(hadj, x, False);
+ Accept := False;
end;
GDK_Left: begin
x := gtk_adjustment_get_value(hadj) - hadj^.step_increment;
if x < 0 then x := 0;
smooth_scroll(hadj, x, False);
+ Accept := False;
end;
- GDK_W, GDK_Capital_W: if TextView.WrapMode = wmWrapNone then TextView.WrapMode := wmWrapWord
- else TextView.WrapMode := wmWrapNone;
- GDK_C, GDK_Capital_C, GDK_Insert: if (ssCtrl in Shift) then Accept := True;
- GDK_S, GDK_Capital_S: gtk_widget_modify_font(TextView.FWidget, pango_font_description_from_string('Monospace'));
- GDK_A, GDK_Capital_A: gtk_widget_modify_font(TextView.FWidget, nil);
-
+ GDK_W, GDK_Capital_W: if (Shift = []) then begin
+ if TextView.WrapMode = wmWrapNone then TextView.WrapMode := wmWrapWord
+ else TextView.WrapMode := wmWrapNone;
+ Accept := False;
+ end;
+// GDK_C, GDK_Capital_C, GDK_Insert: if (ssCtrl in Shift) then Accept := True;
+ GDK_S, GDK_Capital_S: if (Shift = []) then begin
+ gtk_widget_modify_font(TextView.FWidget, pango_font_description_from_string('Monospace'));
+ Accept := False;
+ end;
+ GDK_A, GDK_Capital_A: if (Shift = []) then begin
+ gtk_widget_modify_font(TextView.FWidget, nil);
+ Accept := False;
+ end;
end;
end;