diff options
Diffstat (limited to 'src/fringlib/fringui.py')
-rw-r--r-- | src/fringlib/fringui.py | 58 |
1 files changed, 39 insertions, 19 deletions
diff --git a/src/fringlib/fringui.py b/src/fringlib/fringui.py index 6cbbc9b..ea50477 100644 --- a/src/fringlib/fringui.py +++ b/src/fringlib/fringui.py @@ -3,6 +3,7 @@ import cairo import sys import os +import unicodedata from fringwalker import * from fringrenderer import FringRenderer from fringutil import * @@ -29,6 +30,9 @@ ui = """ <separator /> <menuitem action="Zoom In"/> <menuitem action="Zoom Out"/> + <separator /> + <menuitem action="AddRing"/> + <menuitem action="RemRing"/> </menu> <menu action="Help"> <menuitem action="About"/> @@ -40,7 +44,6 @@ ui = """ </ui>""" - class UI( gtk.Window ): def __init__(self, uri): @@ -52,6 +55,7 @@ class UI( gtk.Window ): self.walker = FringWalker(); self.scan_active = False self.cursor = None + self.maxrings = 3 self.folder_memory = {} # remember some folders @@ -74,19 +78,24 @@ class UI( gtk.Window ): self.add_accel_group(accelgroup) ag_global = gtk.ActionGroup('ag_global') ag_global.add_actions([ - ('FRing', None, "_Folder"), - ('View', None, "_View"), - ('Help', None, "_Help"), - ('OpenParent', gtk.STOCK_GO_UP, "Open _Parent", "<alt>Up", "Open the parent folder", self.open_parent), - ('SelectFolder', gtk.STOCK_OPEN, "_Open Folder...", None, "Open Folder...", self.dialog_openfolder), - ('Quit', gtk.STOCK_QUIT, "_Quit", None, "Quit", self.close), - ('Zoom In', gtk.STOCK_ZOOM_IN, "Zoom _In", "<ctrl>Up", "Zoom In", lambda w: self.zoom(w,0.2)), - ('Zoom Out', gtk.STOCK_ZOOM_OUT, "Zoom _Out", "<ctrl>Down", "Zoom Out", lambda w: self.zoom(w,-0.2)), - ('Save Image...', gtk.STOCK_SAVE_AS, "_Save Image...", None, "Save Image...", self.save_image), - ('Refresh', gtk.STOCK_REFRESH, "_Refresh Tree", "<ctrl>R", "Refresh Tree", self.refresh_tree), - ('About', gtk.STOCK_ABOUT, "_About", None, "About", self.dialog_about), + ('FRing', None, _("_Folder")), + ('View', None, _("_View")), + ('Help', None, _("_Help")), + ('OpenParent', gtk.STOCK_GO_UP, _("Open _Parent"), "<alt>Up", _("Open the parent folder"), self.open_parent), + ('SelectFolder', gtk.STOCK_OPEN, _("_Open Folder..."), None, _("Open Folder..."), self.dialog_openfolder), + ('Quit', gtk.STOCK_QUIT, _("_Quit"), None, _("Quit"), self.close), + + ('Zoom In', gtk.STOCK_ZOOM_IN, _("Zoom _In"), "<ctrl>Up", _("Zoom In"), lambda w: self.zoom(w,0.2)), + ('Zoom Out', gtk.STOCK_ZOOM_OUT, _("Zoom _Out"), "<ctrl>Down", _("Zoom Out"), lambda w: self.zoom(w,-0.2)), + + ('AddRing', gtk.STOCK_ADD, _("_Add Ring"), "<ctrl>plus", _("Add Ring"), lambda w: self.zoom_rings(1)), + ('RemRing', gtk.STOCK_REMOVE, _("_Remove Ring"), "<ctrl>minus", _("Remove Ring"), lambda w: self.zoom_rings(-1)), + + ('Save Image...', gtk.STOCK_SAVE_AS, _("_Save Image..."), None, _("Save Image..."), self.save_image), + ('Refresh', gtk.STOCK_REFRESH, _("_Refresh Tree"), "<ctrl>R", _("Refresh Tree"), self.refresh_tree), + ('About', gtk.STOCK_ABOUT, _("_About"), None, "About", self.dialog_about), ]) - action = gtk.ToggleAction("Show Hidden Files", "Show Hidden Files", None, None) + action = gtk.ToggleAction("Show Hidden Files", _("Show Hidden Files"), None, None) action.set_active(True) action.connect("toggled",self.__event_togglehidden) ag_global.add_action(action) @@ -130,7 +139,7 @@ class UI( gtk.Window ): self.label = gtk.Label() self.label.set_alignment(0, .5) self.label.set_padding(6, 0) - self.label.set_text("Initializing") + self.label.set_text("") # aligh menubar, toolbar and canvas vertically vbox = gtk.VBox(); @@ -156,7 +165,10 @@ class UI( gtk.Window ): d = gtk.AboutDialog() d.set_name("fring"); d.set_license(LICENSE); - d.set_copyright("copyright 2006 Lennart Poettering, Frederic Back") + c = unicodedata.lookup('COPYRIGHT SIGN') + e = unicodedata.lookup('LATIN SMALL LETTER E WITH ACUTE') + d.set_copyright(u"Copyright "+c+" 2006 Lennart Poettering, Fr"+e+"d"+e+"ric Back") + d.set_comments(_("Visual disk usage analyser")) d.run() d.destroy() @@ -187,6 +199,15 @@ class UI( gtk.Window ): self.zoomfactor = 0 self.redraw() + def zoom_rings(self,mod): + r = self.maxrings + r += mod + if r < 2: r = 2 + if r != self.maxrings: + self.maxrings = r + #print "rings",self.maxrings + self.redraw() + def redraw(self,widget=None): # clear the canvas self.__show_busy_cursor(1) @@ -201,7 +222,7 @@ class UI( gtk.Window ): self.renderer.INNER_RADIUS = self.height/12 self.renderer.RING_RADIUS = self.height/10 self.renderer.RING_RADIUS *= self.zoomfactor - self.renderer.RINGS_MAX = 3 + self.renderer.RINGS_MAX = self.maxrings self.renderer.draw_segment(self.ctx, 0, 0, 1, 0, 1, self.data, self.uri) self.image.queue_draw() self.__show_busy_cursor(-1) @@ -237,7 +258,6 @@ class UI( gtk.Window ): self.data = self.folder_memory[uri] self.uri = uri self.redraw() - else: self.uri = uri self.walker.stop() @@ -286,7 +306,7 @@ class UI( gtk.Window ): self.label.set_text("") if f: - markup = "%s, %s, %0.1f%%" % (f.path, pretty_size(f.sumlist.size), f.value*100) + markup = "%s, %s, %0.1f%%" % (format_uri(f.path), pretty_size(f.sumlist.size), f.value*100) self.label.set_text(markup) if f.sumlist.children is not None: @@ -333,7 +353,7 @@ class UI( gtk.Window ): self.redraw() def __event_parentbutton_enter(self,widget,event): - markup = "%s" %get_parent_from_uri(self.uri) + markup = "%s" %format_uri(get_parent_from_uri(self.uri)) self.label.set_text(markup) def __event_parentbutton_leave(self,widget,event): |