about summary refs log tree commit diff stats
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
parentd3c262a924eebdab926b9569ecdb225b3be1e4a9 (diff)
downloadranger-636f69d346e31ee59702c814574c1379aa9cb8e6.tar.gz
closed issue #70: mouse click handler for the titlebar
-rw-r--r--TODO2
-rw-r--r--ranger/gui/widgets/titlebar.py20
2 files changed, 21 insertions, 1 deletions
diff --git a/TODO b/TODO
index 7da64db5..464f8ffb 100644
--- a/TODO
+++ b/TODO
@@ -47,7 +47,7 @@ General
    (X) #63  10/02/15  limit filesize in previews
    ( ) #64  10/02/25  scroll in previews
    (X) #66  10/02/28  explain how colorschemes work
-   ( ) #70  10/03/14  mouse handler for titlebar
+   (X) #70  10/03/14  mouse handler for titlebar
    (X) #71  10/03/21  previews: black/whitelist + read file
 
 
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)