diff options
author | hut <hut@lavabit.com> | 2010-03-28 01:59:17 +0100 |
---|---|---|
committer | hut <hut@lavabit.com> | 2010-03-28 01:59:17 +0100 |
commit | 636f69d346e31ee59702c814574c1379aa9cb8e6 (patch) | |
tree | 4ee5a2f415d87cc964ef908f5d01a2ea592cd790 /ranger | |
parent | d3c262a924eebdab926b9569ecdb225b3be1e4a9 (diff) | |
download | ranger-636f69d346e31ee59702c814574c1379aa9cb8e6.tar.gz |
closed issue #70: mouse click handler for the titlebar
Diffstat (limited to 'ranger')
-rw-r--r-- | ranger/gui/widgets/titlebar.py | 20 |
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) |