summaryrefslogtreecommitdiffstats
path: root/src/fringlib/fringui.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/fringlib/fringui.py')
-rw-r--r--src/fringlib/fringui.py58
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):