summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2013-02-03 06:20:28 +0100
committerhut <hut@lavabit.com>2013-02-03 06:22:26 +0100
commitf826fd47ac40f920cf84de8158edb6458afdf892 (patch)
tree155a95fa71226a57d818256bd7337e72beec91a1
parent66aad8a70013fdf76c1f77a9690e6c87d659cab7 (diff)
downloadranger-f826fd47ac40f920cf84de8158edb6458afdf892.tar.gz
gui.ui: shift column levels by 1 when pressing "i"
-rw-r--r--ranger/gui/ui.py6
-rw-r--r--ranger/gui/widgets/browsercolumn.py7
2 files changed, 13 insertions, 0 deletions
diff --git a/ranger/gui/ui.py b/ranger/gui/ui.py
index 1d47157c..78dab9de 100644
--- a/ranger/gui/ui.py
+++ b/ranger/gui/ui.py
@@ -330,10 +330,16 @@ class UI(DisplayableContainer):
 
 	def open_embedded_pager(self):
 		self.browser.open_pager()
+		for column in self.browser.columns:
+			if column == self.browser.main_column:
+				break
+			column.level_shift(amount=1)
 		return self.browser.pager
 
 	def close_embedded_pager(self):
 		self.browser.close_pager()
+		for column in self.browser.columns:
+			column.level_restore()
 
 	def open_console(self, string='', prompt=None, position=None):
 		if self.console.open(string, prompt=prompt, position=position):
diff --git a/ranger/gui/widgets/browsercolumn.py b/ranger/gui/widgets/browsercolumn.py
index a5579c15..fcf09845 100644
--- a/ranger/gui/widgets/browsercolumn.py
+++ b/ranger/gui/widgets/browsercolumn.py
@@ -35,6 +35,7 @@ class BrowserColumn(Pager):
 		Pager.__init__(self, win)
 		Widget.__init__(self, win)
 		self.level = level
+		self.original_level = level
 
 		self.settings.signal_bind('setopt.display_size_in_main_column',
 				self.request_redraw, weak=True)
@@ -119,6 +120,12 @@ class BrowserColumn(Pager):
 
 		return True
 
+	def level_shift(self, amount):
+		self.level = self.original_level + amount
+
+	def level_restore(self):
+		self.level = self.original_level
+
 	def poke(self):
 		Widget.poke(self)
 		self.target = self.fm.thistab.at_level(self.level)