summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Back <fredericback@gmail.com>2006-10-02 13:33:49 +0000
committerFrederic Back <fredericback@gmail.com>2006-10-02 13:33:49 +0000
commit7c92e717d68c217c51f7422793894ceaf03bd048 (patch)
treec4a042070cc8341743f52860a37d4903d350c5e2
parent20aa6d080034cde750492cae86d8964d17fec24b (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.py149
-rw-r--r--src/fringlib/fringutil.py7
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: