* src/StartupDialog.py: fix close

* src/plugins/Desbrowser.py: Use ActivPersonTool
	* src/PluginUtils/_Tool.py: active person tool added


svn: r6412
This commit is contained in:
Don Allingham
2006-04-22 04:48:40 +00:00
parent 64b7cb7ad1
commit 3ee48954ea
6 changed files with 41 additions and 20 deletions

View File

@@ -44,7 +44,6 @@ from PluginUtils import Tool, register_tool
# GTK/GNOME modules
#
#------------------------------------------------------------------------
import gobject
import gtk
import gtk.glade
import GrampsDisplay
@@ -55,28 +54,26 @@ import ManagedWindow
#
#
#------------------------------------------------------------------------
class DesBrowse(Tool.Tool, ManagedWindow.ManagedWindow):
class DesBrowse(Tool.ActivePersonTool, ManagedWindow.ManagedWindow):
def __init__(self, dbstate, uistate, options_class, name, callback=None):
Tool.Tool.__init__(self, dbstate, options_class, name)
Tool.ActivePersonTool.__init__(self, dbstate, options_class, name)
if self.fail:
return
ManagedWindow.ManagedWindow.__init__(self, uistate, [], self)
self.dbstate = dbstate
self.active = dbstate.get_active_person()
self.callback = callback
if not self.active:
ErrorDialog(_('Active person has not been set'),
_('You must select an active person for this '
'tool to work properly.'))
return
base = os.path.dirname(__file__)
glade_file = base + os.sep + "desbrowse.glade"
self.glade = gtk.glade.XML(glade_file,"top","gramps")
self.glade.signal_autoconnect({
"destroy_passed_object" : self.close,
"destroy_passed_object" : self.close_window,
"on_help_clicked" : self.on_help_clicked,
})
self.window = self.glade.get_widget("top")
@@ -96,6 +93,9 @@ class DesBrowse(Tool.Tool, ManagedWindow.ManagedWindow):
self.window.show()
def close_window(self,obj):
self.close()
def make_new_model(self):
self.model = gtk.TreeStore(str, object)
self.tree.set_model(self.model)
@@ -129,7 +129,8 @@ class DesBrowse(Tool.Tool, ManagedWindow.ManagedWindow):
if iter:
person_handle = store.get_value(node, 1)
person = self.db.get_person_from_handle(person_handle)
EditPerson(self.parent, person, self.db, self.this_callback)
EditPerson(self.dbstate, self.uistate, self.track, person,
self.this_callback)
def this_callback(self, epo, val):
self.callback(epo, val)