diff options
Diffstat (limited to 'src/fringlib/fringui.py')
-rw-r--r-- | src/fringlib/fringui.py | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/src/fringlib/fringui.py b/src/fringlib/fringui.py index feb609c..7a59660 100644 --- a/src/fringlib/fringui.py +++ b/src/fringlib/fringui.py @@ -1,5 +1,6 @@ import gtk import cairo +import pango import sys import os @@ -65,9 +66,11 @@ class UI( gtk.Window ): self.__init_gui() # walk directory - self.walker.connect("list-changed",self.__event_walker_progress) + self.walker.connect("list-changed",self.__event_walker_changed) + self.walker.connect("progress",self.__event_walker_progress) self.walker.connect("finished", self.__event_walker_finished) self.walker.connect("manually-stopped", lambda w: self.__show_busy_cursor(-1)) + self.open_folder(uri) def __init_gui(self): @@ -108,7 +111,7 @@ class UI( gtk.Window ): toolbar = gtk.HBox() b = gtk.Button() - img = gtk.image_new_from_stock(gtk.STOCK_GO_UP, gtk.ICON_SIZE_BUTTON) + img = gtk.image_new_from_stock(gtk.STOCK_GO_UP, gtk.ICON_SIZE_SMALL_TOOLBAR) b.set_property("image", img) uimanager.get_action("/MenuBar/FRing/OpenParent").connect_proxy(b) toolbar.pack_start( b, False ) @@ -141,6 +144,14 @@ class UI( gtk.Window ): self.label.set_padding(6, 0) self.label.set_text("") + self.pbar = gtk.ProgressBar() + self.pbar.set_ellipsize(pango.ELLIPSIZE_END) + + self.statbar = gtk.HBox() + #self.statbar.set_has_resize_grip(False) + self.statbar.pack_start(self.label) + self.statbar.pack_start(self.pbar,False,False,0) + # aligh menubar, toolbar and canvas vertically vbox = gtk.VBox(); vbox.pack_start(menubar,False,False) @@ -148,8 +159,8 @@ class UI( gtk.Window ): f = gtk.Frame() f.set_shadow_type(gtk.SHADOW_IN) f.add(self.eventbox) - vbox.pack_start(f) - vbox.pack_start(self.label,False,False,6) + vbox.pack_start(f,True,True,3) + vbox.pack_start(self.statbar,False,False) self.add(vbox) # show everything @@ -312,7 +323,9 @@ class UI( gtk.Window ): self.label.set_text("") if f: - markup = "%s, %s, %0.1f%%" % (format_uri(f.path), pretty_size(f.sumlist.size), f.value*100) + path = format_uri( f.path[ len(self.uri): ] ) + path = path[1:] + markup = "%s, %s, %0.1f%%" % (path, pretty_size(f.sumlist.size), f.value*100) self.label.set_text(markup) if f.sumlist.has_children(): @@ -333,9 +346,15 @@ class UI( gtk.Window ): self.zoom(widget, -0.2) def __event_walker_finished(self, widget, data): - self.__event_walker_progress(widget, data) + self.__event_walker_changed(widget, data) self.__show_busy_cursor(-1) self.scan_active = False + self.pbar.set_text( _("Done") ) + + def __event_walker_progress(self, widget, c, total, uri): + self.pbar.set_sensitive(True) + self.pbar.set_text( _("reading %s")%uri ) + self.pbar.set_fraction( float(c) / float(total) ) def __event_resized(self, widget, event): r = self.eventbox.get_allocation() @@ -350,7 +369,7 @@ class UI( gtk.Window ): def __event_parentbutton_leave(self,widget,event): self.label.set_text("") - def __event_walker_progress(self,widget,data): + def __event_walker_changed(self,widget,data): self.data = data self.redraw() |