diff options
Diffstat (limited to 'src/fringlib/fringui.py')
-rw-r--r-- | src/fringlib/fringui.py | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/fringlib/fringui.py b/src/fringlib/fringui.py index 71b2d67..5236af6 100644 --- a/src/fringlib/fringui.py +++ b/src/fringlib/fringui.py @@ -3,7 +3,7 @@ import cairo import sys import os -from fringwalker import FringWalker, print_tree +from fringwalker import FringWalker from fringrenderer import FringRenderer from fringutil import * @@ -155,7 +155,7 @@ class UI( gtk.Window ): self.eventbox.connect("size-allocate",self.__on_resize) self.connect("delete_event", self.close) - self.__show_busy_cursor(1) + def open_folder(self,path): print "open",path @@ -235,6 +235,7 @@ class UI( gtk.Window ): self.walker.stop() if path is None: return self.walker.walk(path); + self.__show_busy_cursor(1) def __selectfolder(self,widget): """ Open a dialog to select a folder """ @@ -250,19 +251,19 @@ class UI( gtk.Window ): self.__set_path(self.path) def __move_event(self, widget, event): - - if self.busy_cursor > 0: - return f = self.renderer.get_hotspot_at(event.x, event.y) if f is None: self.label.set_text("Ready.") else: self.label.set_markup("Path <b>%s</b>, %s, %0.1f%%" % (f.path, pretty_size(f.size), f.value*100)) - + if f is None or not f.is_dir: - self.eventbox.window.set_cursor(None) + if self.busy_cursor > 0: cursor = gtk.gdk.Cursor(gtk.gdk.WATCH) + else: cursor = None + self.eventbox.window.set_cursor(cursor) else: + # always display a hand when hovering a link self.eventbox.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.HAND1)) def __click_event(self, widget, event): @@ -285,11 +286,14 @@ class UI( gtk.Window ): self.image.set_from_pixmap(self.pixmap,None) self.ctx = self.pixmap.cairo_create() self.renderer.prepare_layouts(self.ctx) + self.ctx.rectangle(0,0,self.width,self.height) + self.ctx.set_source_rgb(*self.backgroundColour) + self.ctx.fill() def __list_changed(self,widget,data): - #print_tree(data) self.data = data self.redraw() + #print data.name def __walker_finished(self, widget, data): self.__list_changed(widget, data) @@ -303,13 +307,14 @@ class UI( gtk.Window ): def __show_busy_cursor(self, value): if self.busy_cursor <= 0 and self.busy_cursor+value >= 0: - self.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH)) + if self.window: self.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH)) self.label.set_markup("Busy...") elif self.busy_cursor > 0 and self.busy_cursor+value <= 0: - self.window.set_cursor(None) + if self.window: self.window.set_cursor(None) self.label.set_text("Ready.") self.busy_cursor += value + #print "busy state:",self.busy_cursor |