From 748d38ca1750764088d2f5c0631d247738d9913f Mon Sep 17 00:00:00 2001 From: hut Date: Wed, 7 Apr 2010 03:17:37 +0200 Subject: core.actions: use Direction in move() --- ranger/core/actions.py | 23 +++++++---------------- ranger/ext/direction.py | 6 ++++-- ranger/gui/widgets/pager.py | 2 -- 3 files changed, 11 insertions(+), 20 deletions(-) diff --git a/ranger/core/actions.py b/ranger/core/actions.py index ccd78fa7..cdd3718c 100644 --- a/ranger/core/actions.py +++ b/ranger/core/actions.py @@ -161,22 +161,13 @@ class Actions(EnvironmentAware, SettingsAware): self.open_console(cmode.OPEN_QUICK) elif direction.vertical(): - if narg is not None: - if direction.absolute(): - direction.set(narg) - else: - direction.multiply(narg) - if direction.pages(): - direction.multiply(self.env.termsize[0]) - elif direction.percentage(): - factor = len(self.env.cwd) / 100.0 - direction.multiply(factor) - dct = {} - if direction.absolute(): - dct['absolute'] = int(direction.down()) - else: - dct['relative'] = int(direction.down()) - self.env.cwd.move(**dct) + newpos = direction.move( + direction=direction.down(), + override=narg, + maximum=len(self.env.cwd), + current=self.env.cwd.pointer, + pagesize=self.ui.browser.hei) + self.env.cwd.move(absolute=newpos) def history_go(self, relative): """Move back and forth in the history""" diff --git a/ranger/ext/direction.py b/ranger/ext/direction.py index 600476ff..2f9e1d96 100644 --- a/ranger/ext/direction.py +++ b/ranger/ext/direction.py @@ -104,8 +104,8 @@ class Direction(dict): if key in self: self[key] = n - def move(self, direction, override, minimum, maximum, - current, pagesize=10, offset=0): + def move(self, direction, override=0, minimum=0, maximum=9999, + current=0, pagesize=10, offset=0): pos = direction if override is not None: if self.absolute(): @@ -114,6 +114,8 @@ class Direction(dict): pos *= override if self.pages(): pos *= pagesize + elif self.percentage(): + pos *= maximum / 100.0 if self.absolute(): if pos < minimum: pos += maximum diff --git a/ranger/gui/widgets/pager.py b/ranger/gui/widgets/pager.py index 34d01261..c3bff4ad 100644 --- a/ranger/gui/widgets/pager.py +++ b/ranger/gui/widgets/pager.py @@ -122,7 +122,6 @@ class Pager(Widget): self.startx = direction.move( direction=direction.right(), override=narg, - minimum=0, maximum=self._get_max_width(), current=self.startx, pagesize=self.wid, @@ -133,7 +132,6 @@ class Pager(Widget): self.scroll_begin = direction.move( direction=direction.down(), override=narg, - minimum=0, maximum=len(self.lines), current=self.scroll_begin, pagesize=self.hei, -- cgit 1.4.1-2-gfad0 956123'>001help.cc.html
blob: 8f4c822777ca104d8a54406e0ffb7da34d1e3912 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87