[elinks-dev] Sponsor development of the key motion.

Witold Filipczyk witekfl at poczta.onet.pl
Sun Aug 12 02:36:22 MDT 2007


Here is second patch, which fixes moving in frames.
-- 
Witek
-------------- next part --------------
actions: Fixed moving in frames.

---
commit a68c563198afd22cf293b0c754ef1e5b73e8e9cc
tree 52fd6c553ae0c355829131b32059d80784892170
parent 7882384bce49ab8d09e4c6d7a4b7b0eb0c945797
author Witold Filipczyk <witekfl at poczta.onet.pl> Sun, 12 Aug 2007 10:34:00 +0200
committer Witold Filipczyk <nobody at nowhere> Sun, 12 Aug 2007 10:34:00 +0200

 src/viewer/text/view.c |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/viewer/text/view.c b/src/viewer/text/view.c
index c985c5d..887f301 100644
--- a/src/viewer/text/view.c
+++ b/src/viewer/text/view.c
@@ -169,6 +169,7 @@ move_link_prev_line(struct session *ses, struct document_view *doc_view)
 {
 	struct view_state *vs;
 	struct document *document;
+	struct box *box;
 	struct link *link, *last = NULL;
 	int y1, y, min_x, max_x, x1;
 
@@ -178,10 +179,10 @@ move_link_prev_line(struct session *ses, struct document_view *doc_view)
 	vs = doc_view->vs;
 	document = doc_view->document;
 	if (!document->lines1) return FRAME_EVENT_OK;
+	box = &doc_view->box;
 
-	y = y1 = vs->y + ses->tab->y - ses->status.show_title_bar
-		- (ses->status.show_tabs_bar && ses->status.show_tabs_bar_at_top);
-	x1 = vs->x + ses->tab->x;
+	y = y1 = vs->y + ses->tab->y - box->y;
+	x1 = vs->x + ses->tab->x - box->x;
 
 	link = get_current_link(doc_view);
 	if (link) {
@@ -212,6 +213,7 @@ move_link_next_line(struct session *ses, struct document_view *doc_view)
 {
 	struct view_state *vs;
 	struct document *document;
+	struct box *box;
 	struct link *link, *last = NULL;
 	int y1, y, min_x, max_x, x1;
 
@@ -221,10 +223,10 @@ move_link_next_line(struct session *ses, struct document_view *doc_view)
 	vs = doc_view->vs;
 	document = doc_view->document;
 	if (!document->lines1) return FRAME_EVENT_OK;
+	box = &doc_view->box;
 
-	y = y1 = vs->y + ses->tab->y - ses->status.show_title_bar
-		- (ses->status.show_tabs_bar && ses->status.show_tabs_bar_at_top);
-	x1 = vs->x + ses->tab->x;
+	y = y1 = vs->y + ses->tab->y - box->y;
+	x1 = vs->x + ses->tab->x - box->x;
 
 	link = get_current_link(doc_view);
 	if (link) {
@@ -684,6 +686,7 @@ move_link_vertical(struct session *ses, struct document_view *doc_view, int dir_
 {
 	struct document *document;
 	struct view_state *vs;
+	struct box *box;
 	int y, y1;
 
 	assert(ses && doc_view && doc_view->vs && doc_view->document);
@@ -692,8 +695,8 @@ move_link_vertical(struct session *ses, struct document_view *doc_view, int dir_
 	document = doc_view->document;
 	if (!document->lines1) return FRAME_EVENT_OK;
 
-	y1 = vs->y + ses->tab->y - ses->status.show_status_bar
-		- (ses->status.show_tabs_bar && ses->status.show_tabs_bar_at_top);
+	box = &doc_view->box;
+	y1 = vs->y + ses->tab->y - box->y;
 	y = y1 + dir_y;
 	if (dir_y < 0)
 		int_upper_bound(&y, document->height - 1);


More information about the elinks-dev mailing list