Example #1
0
 def test_select(self):
     d = Direction(down=3)
     lst = list(range(100))
     self.assertEqual((6, [3, 4, 5, 6]),
                      d.select(current=3,
                               pagesize=10,
                               override=None,
                               lst=lst))
     d = Direction(down=3, pages=True)
     self.assertEqual((9, [3, 4, 5, 6, 7, 8, 9]),
                      d.select(current=3,
                               pagesize=2,
                               override=None,
                               lst=lst))
Example #2
0
    def copy(self, mode='set', narg=None, dirarg=None):
        """:copy [mode=set]

        Copy the selected items.
        Modes are: 'set', 'add', 'remove'.
        """
        assert mode in ('set', 'add', 'remove')
        cwd = self.thisdir
        if not narg and not dirarg:
            selected = (f for f in self.thistab.get_selection() if f in cwd.files)
        else:
            if not dirarg and narg:
                direction = Direction(down=1)
                offset = 0
            else:
                direction = Direction(dirarg)
                offset = 1
            pos, selected = direction.select(
                    override=narg, lst=cwd.files, current=cwd.pointer,
                    pagesize=self.ui.termsize[0], offset=offset)
            cwd.pointer = pos
            cwd.correct_pointer()
        if mode == 'set':
            self.copy_buffer = set(selected)
        elif mode == 'add':
            self.copy_buffer.update(set(selected))
        elif mode == 'remove':
            self.copy_buffer.difference_update(set(selected))
        self.do_cut = False
        self.ui.browser.main_column.request_redraw()
Example #3
0
    def copy(self, mode='set', narg=None, dirarg=None):
        """:copy [mode=set]

        Copy the selected items.
        Modes are: 'set', 'add', 'remove'.
        """
        assert mode in ('set', 'add', 'remove', 'toggle')
        cwd = self.thisdir
        if not narg and not dirarg:
            selected = (f for f in self.thistab.get_selection() if f in cwd.files)
        else:
            if not dirarg and narg:
                direction = Direction(down=1)
                offset = 0
            else:
                direction = Direction(dirarg)
                offset = 1
            pos, selected = direction.select(
                    override=narg, lst=cwd.files, current=cwd.pointer,
                    pagesize=self.ui.termsize[0], offset=offset)
            cwd.pointer = pos
            cwd.correct_pointer()
        if mode == 'set':
            self.copy_buffer = set(selected)
        elif mode == 'add':
            self.copy_buffer.update(set(selected))
        elif mode == 'remove':
            self.copy_buffer.difference_update(set(selected))
        elif mode == 'toggle':
            self.copy_buffer.symmetric_difference_update(set(selected))
        self.do_cut = False
        self.ui.browser.main_column.request_redraw()
Example #4
0
 def mark_in_direction(self, val=True, dirarg=None):
     cwd = self.thisdir
     direction = Direction(dirarg)
     pos, selected = direction.select(lst=cwd.files, current=cwd.pointer, pagesize=self.ui.termsize[0])
     cwd.pointer = pos
     cwd.correct_pointer()
     for item in selected:
         cwd.mark_item(item, val)
Example #5
0
 def mark_in_direction(self, val=True, dirarg=None):
     cwd = self.thisdir
     direction = Direction(dirarg)
     pos, selected = direction.select(lst=cwd.files, current=cwd.pointer,
             pagesize=self.ui.termsize[0])
     cwd.pointer = pos
     cwd.correct_pointer()
     for item in selected:
         cwd.mark_item(item, val)
Example #6
0
	def test_select(self):
		d = Direction(down=3)
		lst = list(range(100))
		self.assertEqual((6, [3,4,5,6]), d.select(current=3, pagesize=10, override=None, lst=lst))
		d = Direction(down=3, pages=True)
		self.assertEqual((9, [3,4,5,6,7,8,9]), d.select(current=3, pagesize=2, override=None, lst=lst))