diff options
author | hut <hut@lavabit.com> | 2010-04-13 19:32:11 +0200 |
---|---|---|
committer | hut <hut@lavabit.com> | 2010-04-13 19:32:11 +0200 |
commit | 661ab7a384bbff355c3ee44c824ba8205afc23f5 (patch) | |
tree | d3346f5a1b5fa3ba4235c5ee81715569e4c394ff | |
parent | 447cbcd65588eafdb85b407750602c0fdd591ef4 (diff) | |
download | ranger-661ab7a384bbff355c3ee44c824ba8205afc23f5.tar.gz |
dirarg: tmp
-rw-r--r-- | ranger/core/actions.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/ranger/core/actions.py b/ranger/core/actions.py index df623c77..929dec31 100644 --- a/ranger/core/actions.py +++ b/ranger/core/actions.py @@ -544,15 +544,16 @@ class Actions(FileManagerAware, EnvironmentAware, SettingsAware): def copy(self, narg=None, dirarg=None): """Copy the selected items""" + cwd = self.env.cwd direction = Direction(dirarg or {}) - pos, selected = direction.select( - override=narg, - lst=self.env.cwd.files, - current=self.env.cwd.pointer, - pagesize=self.env.termsize[0]) - - selected = selected or self.env.get_selection() - self.env.copy = set(f for f in selected if f in self.env.cwd.files) + if direction.vertical(): + pos, selected = direction.select( + override=narg, lst=cwd.files, current=currentpos, + pagesize=self.env.termsize[0]) + else: + pos = currentpos + (narg or 0) + selected = (f for f in self.env.get_selection() if f in cwd.files) + self.env.copy = set(selected) self.env.copy.add(self.env.cwd.pointed_obj) self.env.cut = False self.env.cwd.pointer = pos |