meld r1024 - trunk
- From: kaiw svn gnome org
- To: svn-commits-list gnome org
- Subject: meld r1024 - trunk
- Date: Sun, 20 Jul 2008 11:00:57 +0000 (UTC)
Author: kaiw
Date: Sun Jul 20 11:00:57 2008
New Revision: 1024
URL: http://svn.gnome.org/viewvc/meld?rev=1024&view=rev
Log:
Refactor glade support to remove some unused/obsolete code
Modified:
trunk/dirdiff.py
trunk/filediff.py
trunk/gnomeglade.py
trunk/meldapp.py
Modified: trunk/dirdiff.py
==============================================================================
--- trunk/dirdiff.py (original)
+++ trunk/dirdiff.py Sun Jul 20 11:00:57 2008
@@ -222,7 +222,7 @@
self.toolbar = self.ui.get_widget('/DirdiffToolbar')
self.dirdiff.pack_start(self.toolbar, False, True, 0)
self.toolbar.set_style( self.prefs.get_toolbar_style() )
- self._map_widgets_into_lists( ["treeview", "fileentry", "diffmap", "scrolledwindow", "linkmap"] )
+ self.map_widgets_into_lists( ["treeview", "fileentry", "diffmap", "scrolledwindow", "linkmap"] )
self.popup_menu = self.ui.get_widget('/DirdiffPopup')
self.popup_menu.connect("deactivate", self.on_popup_deactivate_event)
self.set_num_panes(num_panes)
Modified: trunk/filediff.py
==============================================================================
--- trunk/filediff.py (original)
+++ trunk/filediff.py Sun Jul 20 11:00:57 2008
@@ -88,7 +88,7 @@
override["GtkTextView"] = gsv.SourceView
override["GtkTextBuffer"] = gsv.SourceBuffer
gnomeglade.Component.__init__(self, paths.share_dir("glade2/filediff.glade"), "filediff", override)
- self._map_widgets_into_lists( ["textview", "fileentry", "diffmap", "scrolledwindow", "linkmap", "statusimage"] )
+ self.map_widgets_into_lists( ["textview", "fileentry", "diffmap", "scrolledwindow", "linkmap", "statusimage"] )
self._update_regexes()
self.warned_bad_comparison = False
if sourceview_available:
Modified: trunk/gnomeglade.py
==============================================================================
--- trunk/gnomeglade.py (original)
+++ trunk/gnomeglade.py Sun Jul 20 11:00:57 2008
@@ -1,4 +1,4 @@
-### Copyright (C) 2002-2006 Stephen Kennedy <stevek gnome org>
+### Copyright (C) 2002-2008 Stephen Kennedy <stevek gnome org>
### This program is free software; you can redistribute it and/or modify
### it under the terms of the GNU General Public License as published by
@@ -14,21 +14,19 @@
### along with this program; if not, write to the Free Software
### Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-"""Utility classes for working with glade files.
-
+"""Utility class for working with glade files.
"""
import gtk
import gtk.glade
-import gnome
+# FIXME: remove once there are no GnomeUI-based widgets in the glade file
import gnome.ui
-import gettext
-class Base(object):
+class Component(object):
"""Base class for all glade objects.
- This class handles loading the xml glade file and connects
- all methods name 'on_*' to the signals in the glade file.
+ This class handles loading the xml glade file and autoconnects
+ all signals in the glade file.
The handle to the xml file is stored in 'self.xml'. The
toplevel widget is stored in 'self.widget'.
@@ -38,16 +36,11 @@
object, which is sadly sometimes necessary.
"""
- def __init__(self, file, root, override={}):
- """Load the widgets from the node 'root' in file 'file'.
-
- Automatically connects signal handlers named 'on_*'.
+ def __init__(self, filename, root, override={}):
+ """Load the widgets from the node 'root' in file 'filename'.
"""
- self.xml = gtk.glade.XML(file, root, typedict=override)
- handlers = {}
- for h in filter(lambda x:x.startswith("on_"), dir(self.__class__)):
- handlers[h] = getattr(self, h)
- self.xml.signal_autoconnect( handlers )
+ self.xml = gtk.glade.XML(filename, root, typedict=override)
+ self.xml.signal_autoconnect(self)
self.widget = getattr(self, root)
self.widget.set_data("pyobject", self)
@@ -60,13 +53,7 @@
return widget
raise AttributeError(key)
- def flushevents(self):
- """Handle all the events currently in the main queue and return.
- """
- while gtk.events_pending():
- gtk.main_iteration();
-
- def _map_widgets_into_lists(self, widgetnames):
+ def map_widgets_into_lists(self, widgetnames):
"""Put sequentially numbered widgets into lists.
e.g. If an object had widgets self.button0, self.button1, ...,
@@ -86,59 +73,6 @@
lst.append(val)
i += 1
-
-class Component(Base):
- """A convenience base class for widgets which use glade.
- """
-
- def __init__(self, file, root, override={}):
- Base.__init__(self, file, root, override)
-
-
-class GtkApp(Base):
- """A convenience base class for gtk+ apps created in glade.
- """
-
- def __init__(self, file, root=None):
- Base.__init__(self, file, root)
-
- def main(self):
- """Enter the gtk main loop.
- """
- gtk.main()
-
- def quit(self, *args):
- """Signal the gtk main loop to quit.
- """
- gtk.main_quit()
-
-
-class GnomeApp(GtkApp):
- """A convenience base class for apps created in glade.
- """
-
- def __init__(self, name, version, file, root):
- """Initialise program 'name' and version from 'file' containing root node 'root'.
- """
- self.program = gnome.program_init(name, version)
- GtkApp.__init__(self,file,root)
- if 0:
- self.client = gnome.ui.Client()
- self.client.disconnect()
- def connected(*args):
- print "CONNECTED", args
- def cb(name):
- def cb2(*args):
- print name, args, "\n"
- return cb2
- self.client.connect("connect", cb("CON"))
- self.client.connect("die", cb("DIE"))
- self.client.connect("disconnect", cb("DIS"))
- self.client.connect("save-yourself", cb("SAVE"))
- self.client.connect("shutdown-cancelled", cb("CAN"))
- self.client.connect_to_session_manager()
-
-
def load_pixbuf(fname, size=0):
"""Load an image from a file as a pixbuf, with optional resizing.
"""
@@ -150,9 +84,3 @@
image = image.scale_simple(size, int(aspect*size), 2)
return image
-def url_show(url):
- return gnome.url_show(url)
-
-def FileEntry(*args):
- return gnome.ui.FileEntry(*args)
-
Modified: trunk/meldapp.py
==============================================================================
--- trunk/meldapp.py (original)
+++ trunk/meldapp.py Sun Jul 20 11:00:57 2008
@@ -23,6 +23,7 @@
import gtk.glade
import gobject
import pango
+import gnome
# project
import paths
@@ -63,7 +64,7 @@
def __init__(self, parentapp, type):
self.parentapp = parentapp
gnomeglade.Component.__init__(self, paths.share_dir("glade2/meldapp.glade"), "newdialog")
- self._map_widgets_into_lists( ("fileentry", "direntry", "vcentry", "three_way_compare", "tablabel") )
+ self.map_widgets_into_lists( ("fileentry", "direntry", "vcentry", "three_way_compare", "tablabel") )
self.entrylists = self.fileentry, self.direntry, self.vcentry
self.widget.set_transient_for(parentapp.widget)
cur_page = type // 2
@@ -227,7 +228,7 @@
self.model.append( (label,) )
self.prefs = parentapp.prefs
# editor
- self._map_widgets_into_lists( ["editor_command"] )
+ self.map_widgets_into_lists( ["editor_command"] )
if self.prefs.use_custom_font:
self.radiobutton_custom_font.set_active(1)
else:
@@ -242,8 +243,8 @@
self.gnome_default_editor_label.set_text( "(%s)" % " ".join(self.prefs.get_gnome_editor_command([])) )
self.custom_edit_command_entry.set_text( " ".join(self.prefs.get_custom_editor_command([])) )
# display
- self._map_widgets_into_lists( ["draw_style"] )
- self._map_widgets_into_lists( ["toolbar_style"] )
+ self.map_widgets_into_lists( ["draw_style"] )
+ self.map_widgets_into_lists( ["toolbar_style"] )
self.draw_style[self.prefs.draw_style].set_active(1)
self.toolbar_style[self.prefs.toolbar_style].set_active(1)
# file filters
@@ -258,7 +259,7 @@
self.checkbutton_ignore_blank_lines.set_active( self.prefs.ignore_blank_lines )
# encoding
self.entry_text_codecs.set_text( self.prefs.text_codecs )
- self._map_widgets_into_lists( ["save_encoding"] )
+ self.map_widgets_into_lists( ["save_encoding"] )
self.save_encoding[self.prefs.save_encoding].set_active(1)
self.treeview.set_cursor(0)
#
@@ -507,7 +508,7 @@
# MeldApp
#
################################################################################
-class MeldApp(gnomeglade.GnomeApp):
+class MeldApp(gnomeglade.Component):
#
# init
@@ -522,7 +523,8 @@
"}\n"
"widget \"*.meld-tab-close-button\" style \"meld-tab-close-button-style\"")
gladefile = paths.share_dir("glade2/meldapp.glade")
- gnomeglade.GnomeApp.__init__(self, "meld", version, gladefile, "meldapp")
+ self.program = gnome.program_init("meld", version)
+ gnomeglade.Component.__init__(self, gladefile, "meldapp")
actions = (
("FileMenu", None, "_File"),
@@ -571,7 +573,7 @@
self.toolbar = self.ui.get_widget('/Toolbar')
self.appvbox.pack_start(self.menubar, expand=False)
self.appvbox.pack_start(self.toolbar, expand=False)
- self._map_widgets_into_lists( "settings_drawstyle".split() )
+ self.map_widgets_into_lists( "settings_drawstyle".split() )
self.statusbar = MeldStatusBar(self.task_progress, self.task_status, self.doc_status)
self.prefs = MeldPreferences()
if not developer:#hide magic testing button
@@ -683,7 +685,7 @@
break
for c in self.notebook.get_children():
c.get_data("pyobject").on_quit_event()
- self.quit()
+ gtk.main_quit()
return gtk.RESPONSE_CLOSE
#
@@ -732,13 +734,13 @@
# Toolbar and menu items (help)
#
def on_menu_meld_home_page_activate(self, button):
- gnomeglade.url_show("http://meld.sourceforge.net")
+ gnome.url_show("http://meld.sourceforge.net")
def on_menu_help_bug_activate(self, button):
- gnomeglade.url_show("http://bugzilla.gnome.org/buglist.cgi?product=meld")
+ gnome.url_show("http://bugzilla.gnome.org/buglist.cgi?product=meld")
def on_menu_users_manual_activate(self, button):
- gnomeglade.url_show("ghelp:///"+os.path.abspath(paths.help_dir("C/meld.xml") ))
+ gnome.url_show("ghelp:///"+os.path.abspath(paths.help_dir("C/meld.xml") ))
def on_menu_about_activate(self, *extra):
about = gtk.glade.XML(paths.share_dir("glade2/meldapp.glade"),"about").get_widget("about")
@@ -928,5 +930,5 @@
if tab:
tab.set_labels( options.label )
- app.main()
+ gtk.main()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]