diff --git a/src/EditPerson.py b/src/EditPerson.py index c505aa394..3c20c6186 100644 --- a/src/EditPerson.py +++ b/src/EditPerson.py @@ -51,6 +51,8 @@ import Sources _ = intl.gettext +_DEFHTTP = "http://gramps.sourceforge.net" + #------------------------------------------------------------------------- # # Constants - quite frequently, data needs to be attached to a widget. @@ -301,6 +303,7 @@ class EditPerson: else: self.web_url.set_sensitive(0) self.web_url.set_label("") + self.web_url.set_url(_DEFHTTP) self.web_description.set_text("") #--------------------------------------------------------------------- @@ -565,10 +568,19 @@ def on_web_list_select_row(obj,row,b,c): epo = obj.get_data(EDITPERSON) url = obj.get_row_data(row) - epo.web_url.set_label(url.get_path()) - epo.web_url.set_url(url.get_path()) - epo.web_url.set_sensitive(0) - epo.web_description.set_text(url.get_description()) + if url == None: + epo.web_url.set_label("") + epo.web_url.set_url(_DEFHTTP) + epo.web_url.set_sensitive(0) + epo.web_description.set_text("") + else: + path = url.get_path() + if path == "": + path = _DEFHTTP + epo.web_url.set_label(path) + epo.web_url.set_url(path) + epo.web_url.set_sensitive(1) + epo.web_description.set_text(url.get_description()) #------------------------------------------------------------------------- # diff --git a/src/EditPlace.py b/src/EditPlace.py index 4d73c6b5c..3aba04ee4 100644 --- a/src/EditPlace.py +++ b/src/EditPlace.py @@ -50,13 +50,15 @@ import Sources _ = intl.gettext +_DEFHTTP = "http://gramps.sourceforge.net" + #------------------------------------------------------------------------- # # Constants # #------------------------------------------------------------------------- -INDEX = "i" -PLACE = "p" +_INDEX = "i" +_PLACE = "p" class EditPlace: @@ -134,18 +136,18 @@ class EditPlace: }) self.top = self.top_window.get_widget("placeEditor") - self.top.set_data(PLACE,self) + self.top.set_data(_PLACE,self) if self.place.getId() == "": self.top_window.get_widget("add_photo").set_sensitive(0) self.top_window.get_widget("delete_photo").set_sensitive(0) - self.web_list.set_data(PLACE,self) - self.web_list.set_data(INDEX,-1) + self.web_list.set_data(_PLACE,self) + self.web_list.set_data(_INDEX,-1) self.redraw_url_list() - self.loc_list.set_data(PLACE,self) - self.loc_list.set_data(INDEX,-1) + self.loc_list.set_data(_PLACE,self) + self.loc_list.set_data(_INDEX,-1) self.redraw_location_list() #------------------------------------------------------------------------- @@ -171,6 +173,7 @@ class EditPlace: else: self.web_url.set_sensitive(0) self.web_url.set_label("") + self.web_url.set_url(_DEFHTTP) self.web_description.set_text("") #--------------------------------------------------------------------- @@ -216,7 +219,7 @@ class EditPlace: #----------------------------------------------------------------------------- def on_place_apply_clicked(obj): - edit = obj.get_data(PLACE) + edit = obj.get_data(_PLACE) title = edit.title.get_text() city = edit.city.get_text() county = edit.county.get_text() @@ -274,7 +277,7 @@ def on_place_apply_clicked(obj): # #------------------------------------------------------------------------- def on_switch_page(obj,a,page): - src = obj.get_data(PLACE) + src = obj.get_data(_PLACE) if page == 3 and src.not_loaded: src.not_loaded = 0 src.load_images() @@ -285,7 +288,7 @@ def on_switch_page(obj,a,page): # #------------------------------------------------------------------------- def on_photo_select_icon(obj,iconNumber,event): - obj.get_data(PLACE).selectedIcon = iconNumber + obj.get_data(_PLACE).selectedIcon = iconNumber #------------------------------------------------------------------------- # @@ -293,7 +296,8 @@ def on_photo_select_icon(obj,iconNumber,event): # #------------------------------------------------------------------------- def on_delete_photo_clicked(obj): - epo = obj.get_data(PLACE) + epo = obj.get_data(_PLACE) + print epo icon = epo.selectedIcon if icon != -1: @@ -307,7 +311,7 @@ def on_delete_photo_clicked(obj): #------------------------------------------------------------------------- def on_add_photo_clicked(obj): - edit_place = obj.get_data(PLACE) + edit_place = obj.get_data(_PLACE) image_select = libglade.GladeXML(const.imageselFile,"imageSelect") edit_place.isel = image_select @@ -320,7 +324,7 @@ def on_add_photo_clicked(obj): edit_place.fname = image_select.get_widget("fname") edit_place.add_image = image_select.get_widget("image") edit_place.external = image_select.get_widget("private") - image_select.get_widget("imageSelect").set_data(PLACE,edit_place) + image_select.get_widget("imageSelect").set_data(_PLACE,edit_place) image_select.get_widget("imageSelect").show() #------------------------------------------------------------------------- @@ -329,7 +333,7 @@ def on_add_photo_clicked(obj): # #------------------------------------------------------------------------- def on_savephoto_clicked(obj): - edit_place_obj = obj.get_data(PLACE) + edit_place_obj = obj.get_data(_PLACE) image_select = edit_place_obj.isel filename = image_select.get_widget("photosel").get_full_path(0) @@ -366,7 +370,7 @@ def on_savephoto_clicked(obj): #------------------------------------------------------------------------- def on_photolist_button_press_event(obj,event): - myobj = obj.get_data(PLACE) + myobj = obj.get_data(_PLACE) icon = myobj.selectedIcon if icon == -1: return @@ -476,7 +480,7 @@ def on_apply_clicked(obj): # #------------------------------------------------------------------------- def on_name_changed(obj): - edit_person = obj.get_data(PLACE) + edit_person = obj.get_data(_PLACE) file = edit_person.fname.get_text() if os.path.isfile(file): image = RelImage.scale_image(file,const.thumbScale) @@ -488,9 +492,9 @@ def on_name_changed(obj): # #------------------------------------------------------------------------- def on_update_url_clicked(obj): - row = obj.get_data(INDEX) + row = obj.get_data(_INDEX) if row >= 0: - UrlEditor(obj.get_data(PLACE),obj.get_row_data(row)) + UrlEditor(obj.get_data(_PLACE),obj.get_row_data(row)) #------------------------------------------------------------------------- # @@ -498,9 +502,9 @@ def on_update_url_clicked(obj): # #------------------------------------------------------------------------- def on_update_loc_clicked(obj): - row = obj.get_data(INDEX) + row = obj.get_data(_INDEX) if row >= 0: - LocationEditor(obj.get_data(PLACE),obj.get_row_data(row)) + LocationEditor(obj.get_data(_PLACE),obj.get_row_data(row)) #------------------------------------------------------------------------- # @@ -508,7 +512,7 @@ def on_update_loc_clicked(obj): # #------------------------------------------------------------------------- def on_delete_url_clicked(obj): - epo = obj.get_data(PLACE) + epo = obj.get_data(_PLACE) if utils.delete_selected(obj,epo.ulist): epo.lists_changed = 1 epo.redraw_url_list() @@ -519,7 +523,7 @@ def on_delete_url_clicked(obj): # #------------------------------------------------------------------------- def on_delete_loc_clicked(obj): - epo = obj.get_data(PLACE) + epo = obj.get_data(_PLACE) if utils.delete_selected(obj,epo.llist): epo.lists_changed = 1 epo.redraw_location_list() @@ -530,7 +534,7 @@ def on_delete_loc_clicked(obj): # #------------------------------------------------------------------------- def on_add_url_clicked(obj): - UrlEditor(obj.get_data(PLACE),None) + UrlEditor(obj.get_data(_PLACE),None) #------------------------------------------------------------------------- # @@ -538,7 +542,7 @@ def on_add_url_clicked(obj): # #------------------------------------------------------------------------- def on_add_loc_clicked(obj): - LocationEditor(obj.get_data(PLACE),None) + LocationEditor(obj.get_data(_PLACE),None) #------------------------------------------------------------------------- # @@ -546,7 +550,7 @@ def on_add_loc_clicked(obj): # #------------------------------------------------------------------------- def on_source_clicked(obj): - epo = obj.get_data(PLACE) + epo = obj.get_data(_PLACE) Sources.SourceEditor(epo.sref,epo.db,epo.source_field) #------------------------------------------------------------------------- @@ -614,14 +618,24 @@ def on_url_edit_ok_clicked(obj): # #------------------------------------------------------------------------- def on_web_list_select_row(obj,row,b,c): - obj.set_data(INDEX,row) + obj.set_data(_INDEX,row) - epo = obj.get_data(PLACE) + epo = obj.get_data(_PLACE) url = obj.get_row_data(row) - epo.web_url.set_label(url.get_path()) - epo.web_url.set_url(url.get_path()) - epo.web_description.set_text(url.get_description()) + if url == None: + epo.web_url.set_label("") + epo.web_url.set_url(_DEFHTTP) + epo.web_url.set_sensitive(0) + epo.web_description.set_text("") + else: + path = url.get_path() + if path == "": + path = _DEFHTTP + epo.web_url.set_label(path) + epo.web_url.set_url(path) + epo.web_url.set_sensitive(1) + epo.web_description.set_text(url.get_description()) #------------------------------------------------------------------------- # @@ -631,9 +645,9 @@ def on_web_list_select_row(obj,row,b,c): # #------------------------------------------------------------------------- def on_loc_list_select_row(obj,row,b,c): - obj.set_data(INDEX,row) + obj.set_data(_INDEX,row) - epo = obj.get_data(PLACE) + epo = obj.get_data(_PLACE) loc = obj.get_row_data(row) epo.loc_city.set_text(loc.get_city()) diff --git a/src/Find.py b/src/Find.py index 2869716e2..33ba6395c 100644 --- a/src/Find.py +++ b/src/Find.py @@ -18,20 +18,28 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +"""interface for opening a find person dialog for gramps +""" + +__author__ = 'Don Allingham' + import libglade import const import utils import string -OBJECT = "o" +_OBJECT = "o" -#------------------------------------------------------------------------- -# -# -# -#------------------------------------------------------------------------- class Find: + """Opens find person dialog for gramps""" + def __init__(self,clist,task): + """Opens a dialog box instance that allows users to + search for a person. + + clist - GtkCList containing the people information + task - function to call to change the active person""" + self.clist = clist self.task = task self.xml = libglade.GladeXML(const.gladeFile,"find") @@ -41,10 +49,11 @@ class Find: "on_prev_clicked" : on_prev_clicked, }) self.top = self.xml.get_widget("find") - self.top.set_data(OBJECT,self) + self.top.set_data(_OBJECT,self) self.entry = self.xml.get_widget("entry1") def find_next(self): + """Advances to the next person that matches the dialog text""" text = self.entry.get_text() row = self.clist.selection[0] if row == None or text == "": @@ -62,6 +71,7 @@ class Find: row = row + 1 def find_prev(self): + """Advances to the previous person that matches the dialog text""" text = self.entry.get_text() row = self.clist.selection[0] if row == None or text == "": @@ -77,20 +87,12 @@ class Find: return row = row - 1 -#------------------------------------------------------------------------- -# -# -# -#------------------------------------------------------------------------- -def on_next_clicked(obj): - f = obj.get_data(OBJECT) - f.find_next() -#------------------------------------------------------------------------- -# -# -# -#------------------------------------------------------------------------- + +def on_next_clicked(obj): + """Callback for dialog box that causes the next person to be found""" + obj.get_data(_OBJECT).find_next() + def on_prev_clicked(obj): - f = obj.get_data(OBJECT) - f.find_prev() + """Callback for dialog box that causes the previous person to be found""" + obj.get_data(_OBJECT).find_prev() diff --git a/src/places.glade b/src/places.glade index 7c0e619ad..4a5c054f1 100644 --- a/src/places.glade +++ b/src/places.glade @@ -1164,18 +1164,18 @@ GnomeIconList - photo_list + photolist True select_icon on_photolist_select_icon - sourceEditor + placeEditor Thu, 31 May 2001 14:39:53 GMT button_press_event on_photolist_button_press_event - sourceEditor + placeEditor Thu, 31 May 2001 14:40:04 GMT GTK_SELECTION_SINGLE