From 636f69d346e31ee59702c814574c1379aa9cb8e6 Mon Sep 17 00:00:00 2001 From: hut Date: Sun, 28 Mar 2010 01:59:17 +0100 Subject: closed issue #70: mouse click handler for the titlebar --- TODO | 2 +- ranger/gui/widgets/titlebar.py | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) 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) -- cgit 1.4.1-2-gfad0