From be8427930e03b7aea3ffa08c99e9a96c869de0b6 Mon Sep 17 00:00:00 2001 From: khayber Date: Sun, 23 Jan 2005 16:46:17 +0000 Subject: [PATCH] fourth commit --- .DirIcon | Bin 4293 -> 10990 bytes AppInfo.xml | 12 ++++++++++-- Help/Changes | 5 +++++ ripper.py | 30 ++++++++++++++++++++++++++---- 4 files changed, 41 insertions(+), 6 deletions(-) rewrite .DirIcon (100%) diff --git a/.DirIcon b/.DirIcon dissimilarity index 100% index da8cae2df6a920ff06f94e99ed8dcb8beb10c95c..99491bb3c12165854a6733933f8bf38dfc6a5276 100644 GIT binary patch literal 10990 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 literal 4293 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 diff --git a/AppInfo.xml b/AppInfo.xml index 17be5ea..4965034 100644 --- a/AppInfo.xml +++ b/AppInfo.xml @@ -1,11 +1,19 @@ MP3/OGG CD Ripper - + MP3/OGG CD Ripper + MP3/OGG CD Ripper Ken Hayber - 003 (09-Apr-2004) + 004 (15-May-2004) GNU General Public License http://khayber.dyndns.org/rox/ripper + + + + + + + diff --git a/Help/Changes b/Help/Changes index 4ef1c17..5d5a471 100644 --- a/Help/Changes +++ b/Help/Changes @@ -1,3 +1,8 @@ +004 (15-May-2004) +- Add a Menu +- Italian translation from Yuri Bongiorno +- New Icon (SVG, I did it myself from some Gorilla icons) + 003 (09-Apr-2004) - Add OGG support - Add Extended Attribute support diff --git a/ripper.py b/ripper.py index 6d83fb8..6c4bfd4 100644 --- a/ripper.py +++ b/ripper.py @@ -25,7 +25,7 @@ from random import Random from threading import * import rox -from rox import g, i18n, app_options +from rox import g, i18n, app_options, Menu from rox.options import Option import PyCDDB, cd_logic, CDROM, genres @@ -140,9 +140,6 @@ class Ripper(rox.Window): swin.add(view) view.set_rules_hint(True) -# self.view.add_events(g.gdk.BUTTON_PRESS_MASK) -# self.view.connect('button-press-event', self.button_press) - cell = g.CellRendererToggle() cell.connect('toggled', self.toggle_check) column = g.TreeViewColumn('', cell, active=COL_ENABLE) @@ -221,6 +218,24 @@ class Ripper(rox.Window): self.vbox.pack_start(self.scroll_window, True, True, 0) self.vbox.show_all() + # Menu + self.add_events(g.gdk.BUTTON_PRESS_MASK) + self.connect('button-press-event', self.button_press) + view.add_events(g.gdk.BUTTON_PRESS_MASK) + view.connect('button-press-event', self.button_press) + + Menu.set_save_name(APP_NAME) + self.menu = Menu.Menu('main', [ + Menu.Action(_('Rip & Encode'), 'rip_n_encode', '', g.STOCK_EXECUTE), + Menu.Action(_('Reload CD'), 'do_get_tracks', '', g.STOCK_REFRESH), + Menu.Action(_('Stop'), 'stop', '', g.STOCK_STOP), + Menu.Separator(), + Menu.Action(_('Settings'), 'show_options', '', g.STOCK_PREFERENCES), + Menu.Action(_("Quit"), 'close', '', g.STOCK_CLOSE), + ]) + self.menu.attach(self,self) + + # Defaults and Misc self.cddb_thd = None self.ripper_thd = None self.encoder_thd = None @@ -741,6 +756,13 @@ class Ripper(rox.Window): #if iter: # track = model.get_value(iter, COL_TRACK) + def button_press(self, text, event): + '''Popup menu handler''' + if event.button != 3: + return 0 + self.menu.popup(self, event) + return 1 + def show_options(self, button=None): '''Show Options dialog''' rox.edit_options() -- 2.11.4.GIT