diff options
author | Frederic Back <fredericback@gmail.com> | 2006-10-02 13:33:49 +0000 |
---|---|---|
committer | Frederic Back <fredericback@gmail.com> | 2006-10-02 13:33:49 +0000 |
commit | 7c92e717d68c217c51f7422793894ceaf03bd048 (patch) | |
tree | c4a042070cc8341743f52860a37d4903d350c5e2 | |
parent | 20aa6d080034cde750492cae86d8964d17fec24b (diff) |
* Cleaned up method names in fringui
git-svn-id: file:///home/lennart/svn/public/fring/trunk@54 d0d2c35f-0a1e-0410-abeb-dabff30a67ee
-rw-r--r-- | src/fringlib/fringui.py | 149 | ||||
-rw-r--r-- | src/fringlib/fringutil.py | 7 |
2 files changed, 80 insertions, 76 deletions
diff --git a/src/fringlib/fringui.py b/src/fringlib/fringui.py index 18b9217..75750e7 100644 --- a/src/fringlib/fringui.py +++ b/src/fringlib/fringui.py @@ -73,8 +73,8 @@ class UI( gtk.Window ): self.__init_gui() # walk directory - self.walker.connect("list-changed",self.__list_changed) - self.walker.connect("finished", self.__walker_finished) + self.walker.connect("list-changed",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) @@ -90,17 +90,17 @@ class UI( gtk.Window ): ('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.__selectfolder), + ('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.about_dialog), + ('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.set_active(True) - action.connect("toggled",self.__hidden_files_toggled) + action.connect("toggled",self.__event_togglehidden) ag_global.add_action(action) uimanager.insert_action_group(ag_global, 0) uimanager.add_ui_from_string(ui) @@ -115,8 +115,8 @@ class UI( gtk.Window ): b.set_property("image", img) uimanager.get_action("/MenuBar/FRing/OpenParent").connect_proxy(b) toolbar.pack_start( b, False ) - b.connect("enter-notify-event",self.__enter_parent_button) - b.connect("leave-notify-event",self.__leave_parent_button) + b.connect("enter-notify-event",self.__event_parentbutton_enter) + b.connect("leave-notify-event",self.__event_parentbutton_leave) b = gtk.FileChooserButton('Select a Folder') b.set_action(gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER) @@ -134,9 +134,9 @@ class UI( gtk.Window ): | gtk.gdk.LEAVE_NOTIFY_MASK | gtk.gdk.BUTTON_PRESS_MASK | gtk.gdk.POINTER_MOTION_MASK ) - self.eventbox.connect("scroll_event", self.__scroll_event) - self.eventbox.connect("button-press-event",self.__click_event) - self.eventbox.connect("motion-notify-event",self.__move_event) + self.eventbox.connect("scroll_event", self.__event_scroll) + self.eventbox.connect("button-press-event",self.__event_click) + self.eventbox.connect("motion-notify-event",self.__event_move) # Create label self.label = gtk.Label() @@ -161,14 +161,11 @@ class UI( gtk.Window ): self.resize(500,350) self.show_all() self.__create_canvas() - self.eventbox.connect("size-allocate",self.__on_resize) + self.eventbox.connect("size-allocate",self.__event_resized) self.connect("delete_event", self.close) - def open_folder(self,uri): - # change folder by changing the chooser button - self.filechooserbutton.set_current_folder_uri(uri) - def about_dialog(self,widget): + def dialog_about(self,widget): d = gtk.AboutDialog() d.set_name("fring"); d.set_license(GPL); @@ -176,13 +173,26 @@ class UI( gtk.Window ): d.run() d.destroy() + def dialog_openfolder(self,widget): + """ Open a dialog to select a folder """ + d = gtk.FileChooserDialog(None, self, + gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER, + (gtk.STOCK_CANCEL,0,gtk.STOCK_OK,1)) + if d.run() == 1: self.open_folder(d.get_uri()) + d.destroy() + + + def open_folder(self,uri): + # change folder by changing the chooser button + self.filechooserbutton.set_current_folder_uri(uri) + def close(self,w=None,e=None): self.walker.stop() self.destroy() gtk.main_quit() def open_parent(self,widget): - self.open_folder(self.__get_parent(self.uri)) + self.open_folder(get_parent_from_uri(self.uri)) def zoom(self,widget,factor): self.zoomfactor += factor @@ -226,17 +236,16 @@ class UI( gtk.Window ): self.__show_busy_cursor(-1) d.destroy() - #----------------------------------------------------------- private methods + def refresh_tree(self,widget): + """ Refresh the current folder """ + self.walker.stop() + self.walker.walk(self.uri) + self.scan_active = True + self.__show_busy_cursor(1) - def __get_parent(self,uri): - """ Get the parent folder from an uri """ - p = os.path.split(uri) - p = os.path.join(p[:-1]) - return p[0] + #----------------------------------------------------------- private methods def __set_uri(self,uri): - """ Set a path and start parsing. Also used to refresh or reset. """ - if uri in self.folder_memory: self.data = self.folder_memory[uri] self.uri = uri @@ -250,33 +259,41 @@ class UI( gtk.Window ): self.scan_active = True self.__show_busy_cursor(1) - def __refresh_tree(self,widget): - """ Refresh the current folder """ - self.walker.stop() - self.walker.walk(self.uri) - self.scan_active = True - self.__show_busy_cursor(1) + def __create_canvas(self): + """ Create a new pixmap and a new cairo context """ + r = self.eventbox.get_allocation() + self.width, self.height = r.width, r.height + self.pixmap = gtk.gdk.Pixmap(self.window,r.width,r.height) + 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 __selectfolder(self,widget): - """ Open a dialog to select a folder """ - d = gtk.FileChooserDialog(None, self, - gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER, - (gtk.STOCK_CANCEL,0,gtk.STOCK_OK,1)) - if d.run() == 1: self.open_folder(d.get_uri()) - d.destroy() + def __show_busy_cursor(self, value): + if self.busy_cursor <= 0 and self.busy_cursor+value >= 0: + if self.window: self.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH)) + elif self.busy_cursor > 0 and self.busy_cursor+value <= 0: + if self.window: self.window.set_cursor(None) - def __hidden_files_toggled(self,widget): + self.busy_cursor += value + #print "busy state:",self.busy_cursor + + #--------------------------------------------------- gobject event callbacks + + def __event_togglehidden(self,widget): if self.walker.showhidden == widget.get_active(): return self.walker.showhidden = widget.get_active() self.__set_uri(self.uri) - def __move_event(self, widget, event): + def __event_move(self, widget, event): f = self.renderer.get_hotspot_at(event.x, event.y) self.label.set_text("") if f: - markup = "<b>%s</b>, %s, %0.1f%%" % (f.path, pretty_size(f.sumlist.size), f.value*100) - self.label.set_markup(markup) + markup = "%s, %s, %0.1f%%" % (f.path, pretty_size(f.sumlist.size), f.value*100) + self.label.set_text(markup) if f.sumlist.children is not None: self.eventbox.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.HAND1)) @@ -284,7 +301,7 @@ class UI( gtk.Window ): self.eventbox.window.set_cursor(None) - def __click_event(self, widget, event): + def __event_click(self, widget, event): f = self.renderer.get_hotspot_at(event.x, event.y) if f and f.sumlist.children: @@ -300,56 +317,36 @@ class UI( gtk.Window ): # block filechooser callbacks while changing it self.filechooserbutton.handler_block(self.filechooserbutton.handler_folderchanged) self.uri = f.path - self.__list_changed(None,f.sumlist) + self.__event_walker_progress(None,f.sumlist) self.filechooserbutton.set_current_folder_uri(f.path) self.filechooserbutton.handler_unblock(self.filechooserbutton.handler_folderchanged) - def __scroll_event(self, widget, event): + def __event_scroll(self, widget, event): if event.direction is gtk.gdk.SCROLL_UP: self.zoom(widget, 0.2) elif event.direction is gtk.gdk.SCROLL_DOWN: self.zoom(widget, -0.2) - def __create_canvas(self): - # create a new pixmap and cairo context - r = self.eventbox.get_allocation() - self.width, self.height = r.width, r.height - self.pixmap = gtk.gdk.Pixmap(self.window,r.width,r.height) - 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): - self.data = data - self.redraw() - - def __walker_finished(self, widget, data): - self.__list_changed(widget, data) + def __event_walker_finished(self, widget, data): + self.__event_walker_progress(widget, data) self.__show_busy_cursor(-1) self.scan_active = False - def __on_resize(self, widget, event): + def __event_resized(self, widget, event): r = self.eventbox.get_allocation() if (r.width,r.height) != (self.width,self.height): self.__create_canvas() self.redraw() - def __show_busy_cursor(self, value): - if self.busy_cursor <= 0 and self.busy_cursor+value >= 0: - if self.window: self.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH)) - elif self.busy_cursor > 0 and self.busy_cursor+value <= 0: - if self.window: self.window.set_cursor(None) + def __event_parentbutton_enter(self,widget,event): + markup = "%s" %get_parent_from_uri(self.uri) + self.label.set_text(markup) - self.busy_cursor += value - #print "busy state:",self.busy_cursor + def __event_parentbutton_leave(self,widget,event): + self.label.set_text("") - def __enter_parent_button(self,widget,event): - markup = "<b>%s</b>" %self.__get_parent(self.uri) - self.label.set_markup(markup) + def __event_walker_progress(self,widget,data): + self.data = data + self.redraw() - def __leave_parent_button(self,widget,event): - self.label.set_markup("") diff --git a/src/fringlib/fringutil.py b/src/fringlib/fringutil.py index 4bfa5d7..f981a45 100644 --- a/src/fringlib/fringutil.py +++ b/src/fringlib/fringutil.py @@ -1,3 +1,10 @@ +import os + +def get_parent_from_uri(uri): + """ Get the parent folder from an uri """ + p = os.path.split(uri) + p = os.path.join(p[:-1]) + return p[0] def pretty_size(size): if size >= 1024*1024*1024: |