aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--dw/fltkviewport.cc4
-rw-r--r--dw/types.hh3
-rw-r--r--src/keys.cc2
-rw-r--r--src/keys.hh2
-rw-r--r--src/keysrc4
-rw-r--r--src/ui.cc1
-rw-r--r--src/uicmd.cc2
8 files changed, 19 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 475b32d5..ab8eb1c2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,7 +5,8 @@ Dillo project
dillo-3.0.1 [not released yet]
+- Add preference for UI theme.
- Patch: corvid
+ - Allow key bindings for paging left/right.
+ Patches: corvid
-----------------------------------------------------------------------------
diff --git a/dw/fltkviewport.cc b/dw/fltkviewport.cc
index 78e7d621..19e28854 100644
--- a/dw/fltkviewport.cc
+++ b/dw/fltkviewport.cc
@@ -406,6 +406,10 @@ void FltkViewport::scroll (core::ScrollCommand cmd)
scroll (0, -h () + vscrollbar->linesize ());
} else if (cmd == core::SCREEN_DOWN_CMD) {
scroll (0, h () - vscrollbar->linesize ());
+ } else if (cmd == core::SCREEN_LEFT_CMD) {
+ scroll (-w() + hscrollbar->linesize (), 0);
+ } else if (cmd == core::SCREEN_RIGHT_CMD) {
+ scroll (w() - hscrollbar->linesize (), 0);
} else if (cmd == core::LINE_UP_CMD) {
scroll (0, (int) -vscrollbar->linesize ());
} else if (cmd == core::LINE_DOWN_CMD) {
diff --git a/dw/types.hh b/dw/types.hh
index ce643239..a8c244c7 100644
--- a/dw/types.hh
+++ b/dw/types.hh
@@ -32,7 +32,8 @@ enum VPosition
VPOS_NO_CHANGE
};
-enum ScrollCommand {SCREEN_UP_CMD, SCREEN_DOWN_CMD, LINE_UP_CMD, LINE_DOWN_CMD,
+enum ScrollCommand {SCREEN_UP_CMD, SCREEN_DOWN_CMD, SCREEN_LEFT_CMD,
+ SCREEN_RIGHT_CMD, LINE_UP_CMD, LINE_DOWN_CMD,
LEFT_CMD, RIGHT_CMD, TOP_CMD, BOTTOM_CMD};
/*
diff --git a/src/keys.cc b/src/keys.cc
index 3605311f..bd78fd5f 100644
--- a/src/keys.cc
+++ b/src/keys.cc
@@ -124,6 +124,8 @@ static const KeyBinding_t default_keys[] = {
{ "screen-up" , KEYS_SCREEN_UP , 0 , 'b' },
{ "screen-down" , KEYS_SCREEN_DOWN , 0 , FL_Page_Down },
{ "screen-down" , KEYS_SCREEN_DOWN , 0 , ' ' },
+ { "screen-left" , KEYS_SCREEN_LEFT , 0 , 0 },
+ { "screen-right" , KEYS_SCREEN_RIGHT , 0 , 0 },
{ "line-up" , KEYS_LINE_UP , 0 , FL_Up },
{ "line-down" , KEYS_LINE_DOWN , 0 , FL_Down },
{ "left" , KEYS_LEFT , 0 , FL_Left },
diff --git a/src/keys.hh b/src/keys.hh
index 893cf17b..d3a5d586 100644
--- a/src/keys.hh
+++ b/src/keys.hh
@@ -39,6 +39,8 @@ typedef enum {
KEYS_HOME,
KEYS_SCREEN_UP,
KEYS_SCREEN_DOWN,
+ KEYS_SCREEN_LEFT,
+ KEYS_SCREEN_RIGHT,
KEYS_LINE_UP,
KEYS_LINE_DOWN,
KEYS_LEFT,
diff --git a/src/keysrc b/src/keysrc
index 18bec52f..706917df 100644
--- a/src/keysrc
+++ b/src/keysrc
@@ -89,6 +89,10 @@
#pagedown = screen-down
#space = screen-down
+#(screen-left has no default binding)
+
+#(screen-right has no default binding)
+
#up = line-up
#down = line-down
diff --git a/src/ui.cc b/src/ui.cc
index fe68f408..3277dbfe 100644
--- a/src/ui.cc
+++ b/src/ui.cc
@@ -714,6 +714,7 @@ int UI::handle(int event)
if (cmd == KEYS_NOP) {
// Do nothing
} else if (cmd == KEYS_SCREEN_UP || cmd == KEYS_SCREEN_DOWN ||
+ cmd == KEYS_SCREEN_LEFT || cmd == KEYS_SCREEN_RIGHT ||
cmd == KEYS_LINE_UP || cmd == KEYS_LINE_DOWN ||
cmd == KEYS_LEFT || cmd == KEYS_RIGHT ||
cmd == KEYS_TOP || cmd == KEYS_BOTTOM) {
diff --git a/src/uicmd.cc b/src/uicmd.cc
index c97b4ba9..bb4c47a7 100644
--- a/src/uicmd.cc
+++ b/src/uicmd.cc
@@ -1166,6 +1166,8 @@ void a_UIcmd_scroll(BrowserWindow *bw, int icmd)
const mapping_t map[] = {
{KEYS_SCREEN_UP, SCREEN_UP_CMD},
{KEYS_SCREEN_DOWN, SCREEN_DOWN_CMD},
+ {KEYS_SCREEN_LEFT, SCREEN_LEFT_CMD},
+ {KEYS_SCREEN_RIGHT, SCREEN_RIGHT_CMD},
{KEYS_LINE_UP, LINE_UP_CMD},
{KEYS_LINE_DOWN, LINE_DOWN_CMD},
{KEYS_LEFT, LEFT_CMD},