fixed add button in object selector.
svn: r5898
This commit is contained in:
parent
80a0ab047d
commit
18f908c9bd
@ -1,3 +1,8 @@
|
|||||||
|
2006-02-08 Richard Taylor <rjt-gramps@thegrindstone.me.uk>
|
||||||
|
* src/ObjectSelector/_FilterFrameBase.py,
|
||||||
|
src/ObjectSelector/_ObjectSelectorWindow.py,
|
||||||
|
src/ObjectSelector/_PersonFrame.py: fixed add button in object selector.
|
||||||
|
|
||||||
2006-02-08 Richard Taylor <rjt-gramps@thegrindstone.me.uk>
|
2006-02-08 Richard Taylor <rjt-gramps@thegrindstone.me.uk>
|
||||||
* src/EditFamily.py, src/Models/_FastFilterModel.py,
|
* src/EditFamily.py, src/Models/_FastFilterModel.py,
|
||||||
src/Models/_FastModel.py, src/ObjectSelector/_FilterFrameBase.py,
|
src/Models/_FastModel.py, src/ObjectSelector/_FilterFrameBase.py,
|
||||||
|
@ -66,7 +66,8 @@ class FilterFrameBase(gtk.Frame):
|
|||||||
clear_button = gtk.Button(stock=gtk.STOCK_CLEAR)
|
clear_button = gtk.Button(stock=gtk.STOCK_CLEAR)
|
||||||
clear_button.connect('clicked',self.on_clear)
|
clear_button.connect('clicked',self.on_clear)
|
||||||
|
|
||||||
button_box = gtk.HBox()
|
button_box = gtk.HButtonBox()
|
||||||
|
button_box.set_layout(gtk.BUTTONBOX_SPREAD)
|
||||||
button_box.pack_start(apply_button,False,False)
|
button_box.pack_start(apply_button,False,False)
|
||||||
button_box.pack_start(clear_button,False,False)
|
button_box.pack_start(clear_button,False,False)
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ class _ObjectTypeWidgets(object):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.frame = None
|
self.frame = None
|
||||||
self.sel_label = None
|
self.sel_label = None
|
||||||
self.selected_id = None
|
self.selected_obj = None
|
||||||
self.new_button = None
|
self.new_button = None
|
||||||
|
|
||||||
def show(self):
|
def show(self):
|
||||||
@ -55,8 +55,8 @@ class _ObjectTypeWidgets(object):
|
|||||||
self.sel_label.hide_all()
|
self.sel_label.hide_all()
|
||||||
self.new_button.hide()
|
self.new_button.hide()
|
||||||
|
|
||||||
def set_selected_id(self,id):
|
def set_selected_obj(self,obj):
|
||||||
self.selected_id = id
|
self.selected_obj = obj
|
||||||
|
|
||||||
OBJECT_LIST = [ObjectTypes.PERSON, ObjectTypes.FAMILY,
|
OBJECT_LIST = [ObjectTypes.PERSON, ObjectTypes.FAMILY,
|
||||||
ObjectTypes.SOURCE, ObjectTypes.EVENT,
|
ObjectTypes.SOURCE, ObjectTypes.EVENT,
|
||||||
@ -217,12 +217,12 @@ class ObjectSelectorWindow(gtk.Window,ManagedWindow):
|
|||||||
# connect signals
|
# connect signals
|
||||||
self._object_frames[object_type].frame.connect(
|
self._object_frames[object_type].frame.connect(
|
||||||
'selection-changed',
|
'selection-changed',
|
||||||
lambda widget,text,handle,label: label.set_text(text),
|
lambda widget,text,selected_object,label: label.set_text(text),
|
||||||
self._object_frames[object_type].sel_label)
|
self._object_frames[object_type].sel_label)
|
||||||
|
|
||||||
self._object_frames[object_type].frame.connect(
|
self._object_frames[object_type].frame.connect(
|
||||||
'selection-changed',
|
'selection-changed',
|
||||||
lambda widget,text,handle,current_object: current_object.set_selected_id(handle),
|
lambda widget,text,selected_object,current_object: current_object.set_selected_obj(selected_object),
|
||||||
self._object_frames[object_type])
|
self._object_frames[object_type])
|
||||||
|
|
||||||
self._object_frames[object_type].frame.connect(
|
self._object_frames[object_type].frame.connect(
|
||||||
@ -310,14 +310,17 @@ class ObjectSelectorWindow(gtk.Window,ManagedWindow):
|
|||||||
self._current_object_type = selected_object_type
|
self._current_object_type = selected_object_type
|
||||||
|
|
||||||
# Set the add button sensitivity
|
# Set the add button sensitivity
|
||||||
if self._object_frames[selected_object_type].selected_id:
|
if self._object_frames[selected_object_type].selected_obj:
|
||||||
self._add_button.set_sensitive(True)
|
self._add_button.set_sensitive(True)
|
||||||
else:
|
else:
|
||||||
self._add_button.set_sensitive(False)
|
self._add_button.set_sensitive(False)
|
||||||
|
|
||||||
|
|
||||||
def on_add(self,widget=None,object=None):
|
def on_add(self,widget=None,object=None):
|
||||||
self.emit('add-object',object)
|
if object is None:
|
||||||
|
self.emit('add-object',self._object_frames[self._current_object_type].selected_obj)
|
||||||
|
else:
|
||||||
|
self.emit('add-object',object)
|
||||||
|
|
||||||
def on_selection_changed(self,widget,text,handle):
|
def on_selection_changed(self,widget,text,handle):
|
||||||
if handle:
|
if handle:
|
||||||
|
@ -46,7 +46,7 @@ class PersonFrame(ObjectFrameBase):
|
|||||||
'selection-changed' : (gobject.SIGNAL_RUN_LAST,
|
'selection-changed' : (gobject.SIGNAL_RUN_LAST,
|
||||||
gobject.TYPE_NONE,
|
gobject.TYPE_NONE,
|
||||||
(gobject.TYPE_STRING,
|
(gobject.TYPE_STRING,
|
||||||
gobject.TYPE_STRING)),
|
gobject.TYPE_PYOBJECT)),
|
||||||
|
|
||||||
'add-object': (gobject.SIGNAL_RUN_LAST,
|
'add-object': (gobject.SIGNAL_RUN_LAST,
|
||||||
gobject.TYPE_NONE,
|
gobject.TYPE_NONE,
|
||||||
@ -74,16 +74,15 @@ class PersonFrame(ObjectFrameBase):
|
|||||||
(person,rowref) = model.get_value(iter,0)
|
(person,rowref) = model.get_value(iter,0)
|
||||||
if len(rowref) > 1 or model.is_list():
|
if len(rowref) > 1 or model.is_list():
|
||||||
if person:
|
if person:
|
||||||
self.emit('selection-changed', "%s [%s]" % (
|
self.emit('selection-changed', "%s [%s]" % (display_name(person),
|
||||||
display_name(person),
|
person.get_gramps_id()),
|
||||||
person.get_gramps_id()),
|
person)
|
||||||
person.get_handle())
|
|
||||||
else:
|
else:
|
||||||
self.emit('selection-changed',"No Selection","")
|
self.emit('selection-changed',"No Selection",None)
|
||||||
else:
|
else:
|
||||||
self.emit('selection-changed',"No Selection","")
|
self.emit('selection-changed',"No Selection",None)
|
||||||
else:
|
else:
|
||||||
self.emit('selection-changed',"No Selection","")
|
self.emit('selection-changed',"No Selection",None)
|
||||||
|
|
||||||
|
|
||||||
self._tree_frame.get_selection().connect('changed',handle_selection)
|
self._tree_frame.get_selection().connect('changed',handle_selection)
|
||||||
|
Loading…
Reference in New Issue
Block a user