mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-29 19:48:53 +02:00
Fix scrolling using arrow keys and page up/down.
This commit is contained in:
@@ -633,7 +633,7 @@ index ae78391..bd13230 100644
|
||||
|
||||
|
||||
diff --git a/beos/window.cpp b/beos/window.cpp
|
||||
index 253b5d1..b9e6491 100644
|
||||
index 253b5d1..729d7b1 100644
|
||||
--- a/beos/window.cpp
|
||||
+++ b/beos/window.cpp
|
||||
@@ -131,7 +131,7 @@ static GdkCursor *nsbeos_create_menu_cursor(void);
|
||||
@@ -675,7 +675,56 @@ index 253b5d1..b9e6491 100644
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@@ -1674,7 +1681,7 @@ bool gui_add_to_clipboard(const char *text, size_t length, bool space,
|
||||
@@ -926,11 +933,44 @@ void nsbeos_window_keypress_event(BView *view, gui_window *g, BMessage *event)
|
||||
nskey = utf8_to_ucs4(bytes, numbytes);
|
||||
}
|
||||
|
||||
- bool done = browser_window_key_press(g->bw, nskey);
|
||||
- LOG(("nskey %d %d", nskey, done));
|
||||
- //if (browser_window_key_press(g->bw, nskey))
|
||||
+ if(browser_window_key_press(g->bw, nskey))
|
||||
return;
|
||||
-
|
||||
+
|
||||
+ // Remaining events are for scrolling the page around
|
||||
+ float hdelta = 0.0f, vdelta = 0.0f;
|
||||
+ g->view->LockLooper();
|
||||
+ BRect size = g->view->Bounds();
|
||||
+ switch (byte) {
|
||||
+ case B_HOME:
|
||||
+ g->view->ScrollTo(0.0f, 0.0f);
|
||||
+ break;
|
||||
+ case B_END:
|
||||
+ {
|
||||
+ // TODO
|
||||
+ break;
|
||||
+ }
|
||||
+ case B_PAGE_UP:
|
||||
+ vdelta = -size.Height();
|
||||
+ break;
|
||||
+ case B_PAGE_DOWN:
|
||||
+ vdelta = size.Height();
|
||||
+ break;
|
||||
+ case B_LEFT_ARROW:
|
||||
+ hdelta = -10;
|
||||
+ break;
|
||||
+ case B_RIGHT_ARROW:
|
||||
+ hdelta = 10;
|
||||
+ break;
|
||||
+ case B_UP_ARROW:
|
||||
+ vdelta = -10;
|
||||
+ break;
|
||||
+ case B_DOWN_ARROW:
|
||||
+ vdelta = 10;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ g->view->ScrollBy(hdelta, vdelta);
|
||||
+ g->view->UnlockLooper();
|
||||
}
|
||||
|
||||
#warning WRITEME
|
||||
@@ -1674,7 +1714,7 @@ bool gui_add_to_clipboard(const char *text, size_t length, bool space,
|
||||
BFont font;
|
||||
text_run *run = new text_run;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user