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.py33
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()