summary refs log tree commit diff stats
path: root/ranger
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-03-28 01:59:17 +0100
committerhut <hut@lavabit.com>2010-03-28 01:59:17 +0100
commit636f69d346e31ee59702c814574c1379aa9cb8e6 (patch)
tree4ee5a2f415d87cc964ef908f5d01a2ea592cd790 /ranger
parentd3c262a924eebdab926b9569ecdb225b3be1e4a9 (diff)
downloadranger-636f69d346e31ee59702c814574c1379aa9cb8e6.tar.gz
closed issue #70: mouse click handler for the titlebar
Diffstat (limited to 'ranger')
-rw-r--r--ranger/gui/widgets/titlebar.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/ranger/gui/widgets/titlebar.py b/ranger/gui/widgets/titlebar.py
index e1be8e97..18d363dc 100644
--- a/ranger/gui/widgets/titlebar.py
+++ b/ranger/gui/widgets/titlebar.py
@@ -43,6 +43,26 @@ class TitleBar(Widget):
 			self.color('in_titlebar', 'throbber')
 			self.win.addnstr(self.y, self.wid - 2, self.throbber, 1)
 
+	def click(self, event):
+		"""Handle a MouseEvent"""
+		if not event.pressed(1) or not self.result:
+			return False
+
+		pos = 0
+		for i, part in enumerate(self.result):
+			pos += len(part.string)
+			if event.x < pos:
+				if i < 2:
+					self.fm.enter_dir("~")
+				elif i == 2:
+					self.fm.enter_dir("/")
+				else:
+					try:
+						self.fm.env.enter_dir(self.env.pathway[(i-3)/2])
+					except:
+						pass
+				return False
+
 	def _calc_bar(self):
 		bar = Bar('in_titlebar')
 		self._get_left_part(bar)