From 110557c3c720d15f554bde13c6bd85e620188c1b Mon Sep 17 00:00:00 2001 From: Gerald Britton Date: Thu, 14 May 2009 20:15:59 +0000 Subject: [PATCH] Add glade.py with Glade class and use instead of gtk.Builder throughout project svn: r12528 --- po/POTFILES.in | 38 +- src/ColumnOrder.py | 12 +- src/DataViews/GrampletView.py | 8 +- src/DateEdit.py | 10 +- src/DbManager.py | 20 +- src/DisplayState.py | 12 +- src/Editors/AddMedia.py | 16 +- src/Editors/_EditAddress.py | 12 +- src/Editors/_EditAttribute.py | 11 +- src/Editors/_EditChildRef.py | 10 +- src/Editors/_EditEvent.py | 11 +- src/Editors/_EditEventRef.py | 25 +- src/Editors/_EditFamily.py | 10 +- src/Editors/_EditLdsOrd.py | 13 +- src/Editors/_EditLocation.py | 19 +- src/Editors/_EditMedia.py | 11 +- src/Editors/_EditMediaRef.py | 10 +- src/Editors/_EditName.py | 10 +- src/Editors/_EditNote.py | 11 +- src/Editors/_EditPerson.py | 7 +- src/Editors/_EditPersonRef.py | 10 +- src/Editors/_EditPlace.py | 11 +- src/Editors/_EditRepoRef.py | 19 +- src/Editors/_EditRepository.py | 10 +- src/Editors/_EditSource.py | 12 +- src/Editors/_EditSourceRef.py | 18 +- src/Editors/_EditUrl.py | 18 +- src/GrampsCfg.py | 7 +- src/ManagedWindow.py | 1 + src/Merge/_MergePerson.py | 13 +- src/Merge/_MergePlace.py | 8 +- src/Merge/_MergeSource.py | 7 +- src/QuestionDialog.py | 53 +- src/Reorder.py | 12 +- src/ReportBase/_PaperMenu.py | 8 +- src/ReportBase/_StyleEditor.py | 17 +- src/ScratchPad.py | 10 +- src/Selectors/_BaseSelector.py | 10 +- src/TipOfDay.py | 11 +- src/glade.py | 221 ++++++ src/glade/Makefile.am | 10 +- src/glade/addmedia.glade | 2 +- src/glade/baseselector.glade | 2 +- src/glade/columnorder.glade | 2 +- src/glade/dateedit.glade | 2 +- src/glade/dbmanager.glade | 1 - src/glade/displaystate.glade | 2 +- src/glade/editaddress.glade | 2 +- src/glade/editattribute.glade | 2 +- src/glade/editchildref.glade | 2 +- src/glade/editevent.glade | 2 +- src/glade/editeventref.glade | 2 +- src/glade/editfamily.glade | 2 +- src/glade/editldsord.glade | 8 +- src/glade/editlocation.glade | 2 +- src/glade/editmedia.glade | 2 +- src/glade/editmediaref.glade | 2 +- src/glade/editname.glade | 6 +- src/glade/editnote.glade | 2 +- .../{edit_person.glade => editperson.glade} | 8 +- src/glade/editplace.glade | 2 +- src/glade/editreporef.glade | 2 +- src/glade/editrepository.glade | 2 +- src/glade/editsource.glade | 36 +- src/glade/editsourceref.glade | 2 +- src/glade/editurl.glade | 2 +- src/glade/grampletview.glade | 2 +- src/glade/grampscfg.glade | 2 +- src/glade/mergedata.glade | 8 +- .../{paper_settings.glade => papermenu.glade} | 2 +- src/glade/questiondialog.glade | 2 +- src/glade/scratchpad.glade | 2 +- src/glade/styleeditor.glade | 1 - src/glade/tipofday.glade | 2 +- src/plugins/BookReport.py | 22 +- src/plugins/Makefile.am | 2 +- src/plugins/{book.glade => bookreport.glade} | 11 +- src/plugins/docgen/GtkPrint.py | 14 +- .../{gtkprintpreview.glade => gtkprint.glade} | 167 +--- src/plugins/export/ExportCsv.py | 24 +- src/plugins/export/ExportFtree.py | 24 +- src/plugins/export/ExportGeneWeb.py | 26 +- src/plugins/export/ExportVCalendar.py | 26 +- src/plugins/export/ExportVCard.py | 28 +- src/plugins/export/Makefile.am | 11 +- .../{ExportCsv.glade => exportcsv.glade} | 2 +- .../{ExportFtree.glade => exportftree.glade} | 2 +- ...xportGeneWeb.glade => exportgeneweb.glade} | 13 +- ...tVCalendar.glade => exportvcalendar.glade} | 2 +- .../{ExportVCard.glade => exportvcard.glade} | 2 +- src/plugins/import/ImportGedcom.py | 18 +- src/plugins/import/Makefile.am | 2 +- ...{ImportGedcom.glade => importgedcom.glade} | 2 +- src/plugins/tool/ChangeNames.py | 16 +- src/plugins/tool/ChangeTypes.py | 18 +- src/plugins/tool/Check.py | 10 +- src/plugins/tool/Desbrowser.py | 19 +- src/plugins/tool/Eval.py | 27 +- src/plugins/tool/EventCmp.py | 20 +- src/plugins/tool/ExtractCity.py | 9 +- src/plugins/tool/FindDupes.py | 28 +- src/plugins/tool/Leak.py | 18 +- src/plugins/tool/Makefile.am | 16 +- src/plugins/tool/NotRelated.py | 21 +- src/plugins/tool/OwnerEditor.py | 22 +- src/plugins/tool/PHPGedViewConnector.py | 8 +- src/plugins/tool/PatchNames.py | 9 +- src/plugins/tool/RelCalc.py | 12 +- src/plugins/tool/RemoveUnused.py | 20 +- src/plugins/tool/SoundGen.py | 25 +- src/plugins/tool/Verify.py | 22 +- src/plugins/tool/changenames.glade | 113 +-- src/plugins/tool/changetype.glade | 231 ------ src/plugins/tool/changetypes.glade | 161 ++++ src/plugins/tool/check.glade | 88 +++ src/plugins/tool/desbrowse.glade | 144 ---- src/plugins/tool/desbrowser.glade | 114 +++ src/plugins/tool/eval.glade | 283 +++---- src/plugins/tool/eventcmp.glade | 4 +- .../tool/{merge.glade => finddupes.glade} | 6 +- src/plugins/tool/leak.glade | 178 ++--- .../{NotRelated.glade => notrelated.glade} | 195 ++--- src/plugins/tool/ownereditor.glade | 738 +++++++----------- src/plugins/tool/patchnames.glade | 251 +++--- src/plugins/tool/phpgedview.glade | 242 ++---- src/plugins/tool/relcalc.glade | 135 ++-- .../tool/{unused.glade => removeunused.glade} | 140 ++-- src/plugins/tool/soundex.glade | 198 ----- src/plugins/tool/soundgen.glade | 150 ++++ src/plugins/tool/summary.glade | 128 --- src/plugins/tool/verify.glade | 6 +- 131 files changed, 2002 insertions(+), 3103 deletions(-) create mode 100644 src/glade.py rename src/glade/{edit_person.glade => editperson.glade} (99%) rename src/glade/{paper_settings.glade => papermenu.glade} (99%) rename src/plugins/{book.glade => bookreport.glade} (97%) rename src/plugins/docgen/{gtkprintpreview.glade => gtkprint.glade} (50%) rename src/plugins/export/{ExportCsv.glade => exportcsv.glade} (99%) rename src/plugins/export/{ExportFtree.glade => exportftree.glade} (99%) rename src/plugins/export/{ExportGeneWeb.glade => exportgeneweb.glade} (97%) rename src/plugins/export/{ExportVCalendar.glade => exportvcalendar.glade} (99%) rename src/plugins/export/{ExportVCard.glade => exportvcard.glade} (99%) rename src/plugins/import/{ImportGedcom.glade => importgedcom.glade} (99%) delete mode 100644 src/plugins/tool/changetype.glade create mode 100644 src/plugins/tool/changetypes.glade create mode 100644 src/plugins/tool/check.glade delete mode 100644 src/plugins/tool/desbrowse.glade create mode 100644 src/plugins/tool/desbrowser.glade rename src/plugins/tool/{merge.glade => finddupes.glade} (99%) rename src/plugins/tool/{NotRelated.glade => notrelated.glade} (50%) rename src/plugins/tool/{unused.glade => removeunused.glade} (77%) delete mode 100644 src/plugins/tool/soundex.glade create mode 100644 src/plugins/tool/soundgen.glade delete mode 100644 src/plugins/tool/summary.glade diff --git a/po/POTFILES.in b/po/POTFILES.in index d6fe266f9..031bac253 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -772,8 +772,8 @@ src/widgets/validatedmaskedentry.py # # Glade files # -src/plugins/docgen/gtkprintpreview.glade -src/glade/edit_person.glade +src/plugins/docgen/gtkprint.glade +src/glade/editperson.glade src/glade/gramps.glade # widgets split off from gramps.glade @@ -803,16 +803,13 @@ src/glade/editattribute.glade src/glade/editaddress.glade src/glade/editmedia.glade src/glade/editmediaref.glade -src/glade/editaddress.glade src/glade/editeventref.glade src/glade/editldsord.glade -src/glade/editmedia.glade src/glade/editnote.glade src/glade/editplace.glade src/glade/editsourceref.glade src/glade/editname.glade src/glade/editevent.glade -src/glade/editurl.glade # end of widgets split off from gramps.glade @@ -820,28 +817,29 @@ src/glade/mergedata.glade src/glade/plugins.glade src/glade/rule.glade src/glade/scratchpad.glade -src/glade/paper_settings.glade -src/plugins/tool/NotRelated.glade -src/plugins/book.glade +src/glade/papermenu.glade +src/plugins/tool/notrelated.glade +src/plugins/bookreport.glade src/plugins/tool/changenames.glade -src/plugins/tool/changetype.glade -src/plugins/tool/desbrowse.glade +src/plugins/tool/changetypes.glade +src/plugins/tool/check.glade +src/plugins/tool/desbrowser.glade src/plugins/tool/eval.glade src/plugins/tool/eventcmp.glade -src/plugins/import/ImportGedcom.glade +src/plugins/import/importgedcom.glade src/plugins/tool/leak.glade -src/plugins/tool/merge.glade +src/plugins/tool/finddupes.glade src/plugins/tool/ownereditor.glade src/plugins/tool/patchnames.glade +src/plugins/tool/phpgedview.glade src/plugins/tool/relcalc.glade -src/plugins/tool/soundex.glade -src/plugins/tool/summary.glade -src/plugins/tool/unused.glade -src/plugins/export/ExportCsv.glade -src/plugins/export/ExportFtree.glade -src/plugins/export/ExportGeneWeb.glade -src/plugins/export/ExportVCard.glade -src/plugins/export/ExportVCalendar.glade +src/plugins/tool/soundgen.glade +src/plugins/tool/removeunused.glade +src/plugins/export/exportcsv.glade +src/plugins/export/exportftree.glade +src/plugins/export/exportgeneweb.glade +src/plugins/export/exportvcalendar.glade +src/plugins/export/exportvcard.glade src/plugins/tool/verify.glade # # Files to extract from and then merge into diff --git a/src/ColumnOrder.py b/src/ColumnOrder.py index e4064dca8..fc6bb4440 100644 --- a/src/ColumnOrder.py +++ b/src/ColumnOrder.py @@ -29,7 +29,6 @@ Handle the column ordering #------------------------------------------------------------------------- from gettext import gettext as _ import logging -import os #------------------------------------------------------------------------- # @@ -46,6 +45,8 @@ import gobject #------------------------------------------------------------------------- import const import ManagedWindow +from glade import Glade + #------------------------------------------------------------------------- # @@ -53,8 +54,6 @@ import ManagedWindow # #------------------------------------------------------------------------- __LOG = logging.getLogger(".ColumnOrder") -_GLADE_FILE = 'columnorder.glade' - class ColumnOrder(ManagedWindow.ManagedWindow): """ @@ -67,11 +66,8 @@ class ColumnOrder(ManagedWindow.ManagedWindow): """ ManagedWindow.ManagedWindow.__init__(self, uistate, [], self) - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.glade = gtk.Builder() - self.glade.add_from_file(glade_file) - - self.set_window(self.glade.get_object('columns'), None, win_name) + self.glade = Glade() + self.set_window(self.glade.toplevel, None, win_name) self.tree = self.glade.get_object('list') self.arglist = arglist diff --git a/src/DataViews/GrampletView.py b/src/DataViews/GrampletView.py index d122b6c0b..6567079d7 100644 --- a/src/DataViews/GrampletView.py +++ b/src/DataViews/GrampletView.py @@ -52,6 +52,7 @@ import ConfigParser import Utils from QuickReports import run_quick_report_by_name import GrampsDisplay +from glade import Glade #------------------------------------------------------------------------- # @@ -59,7 +60,6 @@ import GrampsDisplay # #------------------------------------------------------------------------- WIKI_HELP_PAGE = const.URL_MANUAL_PAGE + '_-_Gramplets' -_GLADE_FILE = 'grampletview.glade' #------------------------------------------------------------------------- # @@ -640,10 +640,8 @@ class GuiGramplet: self.tooltips = None # gtk tooltip widget self.tooltips_text = None - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.xml = gtk.Builder() - self.xml.add_from_file(glade_file) - self.gvwin = self.xml.get_object('gvwin') + self.xml = Glade() + self.gvwin = self.xml.toplevel self.mainframe = self.xml.get_object('gvgramplet') self.gvwin.remove(self.mainframe) diff --git a/src/DateEdit.py b/src/DateEdit.py index 18f6007f1..4cbbbb8bb 100644 --- a/src/DateEdit.py +++ b/src/DateEdit.py @@ -48,7 +48,6 @@ unambiguously built using UI controls such as menus and spin buttons. #------------------------------------------------------------------------- import logging __LOG = logging.getLogger(".DateEdit") -import os #------------------------------------------------------------------------- # @@ -69,6 +68,7 @@ import const import GrampsDisplay import ManagedWindow from Errors import ValidationError +from glade import Glade #------------------------------------------------------------------------- # @@ -100,7 +100,7 @@ CAL_TO_MONTHS_NAMES = { WIKI_HELP_PAGE = '%s_-_Entering_and_Editing_Data:_Detailed_-_part_1' % const.URL_MANUAL_PAGE WIKI_HELP_SEC = _('manual|Editing_Dates') -_GLADE_FILE = 'dateedit.glade' + #------------------------------------------------------------------------- # # DateEdit @@ -192,12 +192,10 @@ class DateEditorDialog(ManagedWindow.ManagedWindow): # Create self.date as a copy of the given Date object. self.date = Date(date) - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) + self.top = Glade() self.set_window( - self.top.get_object('date_edit'), + self.top.toplevel, self.top.get_object('title'), _('Date selection')) diff --git a/src/DbManager.py b/src/DbManager.py index ab2ca73c0..ec0c7aee2 100644 --- a/src/DbManager.py +++ b/src/DbManager.py @@ -76,10 +76,12 @@ import Config import Mime from DdTargets import DdTargets import RecentFiles +from glade import Glade _RETURN = gtk.gdk.keyval_from_name("Return") _KP_ENTER = gtk.gdk.keyval_from_name("KP_Enter") + #------------------------------------------------------------------------- # # constants @@ -90,7 +92,6 @@ NAME_FILE = "name.txt" META_NAME = "meta_data.db" ARCHIVE = "rev.gramps" ARCHIVE_V = "rev.gramps,v" -_GLADE_FILE = "dbmanager.glade" NAME_COL = 0 PATH_COL = 1 @@ -341,12 +342,9 @@ class DbManager(CLIDbManager): the GTK widgets that are needed. """ CLIDbManager.__init__(self, dbstate) - - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.glade = gtk.Builder() - self.glade.add_from_file(glade_file) - - self.top = self.glade.get_object('dbmanager') + self.glade = Glade() + self.top = self.glade.toplevel + if parent: self.top.set_transient_for(parent) @@ -1119,13 +1117,9 @@ def check_in(dbase, filename, callback, cursor_func = None): ci_cmd = [ "ci", '-x,v', "-q", "-f" ] archive_name = filename + ",v" - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.glade = gtk.Builder() - self.glade.add_from_file(glade_file) - - top = self.glade.get_object('comment') + self.glade = Glade(toplevel='comment') + self.top = self.glade.toplevel text = self.glade.get_object('description') - top.run() comment = text.get_text() top.destroy() diff --git a/src/DisplayState.py b/src/DisplayState.py index 79da1c622..36fec0422 100644 --- a/src/DisplayState.py +++ b/src/DisplayState.py @@ -57,9 +57,9 @@ from BasicUtils import name_displayer import const import ManagedWindow from gen.plug import PluginManager +from glade import Glade DISABLED = -1 -_GLADE_FILE = 'displaystate.glade' #------------------------------------------------------------------------- # @@ -83,7 +83,7 @@ class History(gen.utils.Callback): def clear(self): """ - Cleares the history, resetting the values back to their defaults + Clears the history, resetting the values back to their defaults """ self.history = [] self.mhistory = [] @@ -285,11 +285,9 @@ class WarnHandler(RotateHandler): def display(self, obj): obj.hide() - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.xml = gtk.Builder() - self.xml.add_from_file(glade_file) - top = xml.get_widget('scrollmsg') - msg = xml.get_widget('msg') + self.glade = Glade() + top = self.toplevel + msg = self.glade.get_object('msg') buf = msg.get_buffer() for i in self.get_formatted_log(): buf.insert_at_cursor(i + '\n') diff --git a/src/Editors/AddMedia.py b/src/Editors/AddMedia.py index 1f3a0a150..fe5b80fce 100644 --- a/src/Editors/AddMedia.py +++ b/src/Editors/AddMedia.py @@ -57,14 +57,7 @@ import Mime import GrampsDisplay import ManagedWindow from QuestionDialog import ErrorDialog, WarningDialog - -#------------------------------------------------------------------------- -# -# global variables -# -#------------------------------------------------------------------------- -_GLADE_FILE = 'addmedia.glade' - +from glade import Glade #------------------------------------------------------------------------- # @@ -94,12 +87,9 @@ class AddMediaObject(ManagedWindow.ManagedWindow): self.last_directory = Config.get(Config.ADDMEDIA_IMGDIR) self.relative_path = Config.get(Config.ADDMEDIA_RELPATH) - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.glade = gtk.Builder() - self.glade.add_from_file(glade_file) - + self.glade = Glade() self.set_window( - self.glade.get_object("imageSelect"), + self.glade.toplevel, self.glade.get_object('title'), _('Select a media object')) diff --git a/src/Editors/_EditAddress.py b/src/Editors/_EditAddress.py index 65fda4e7f..65544fb8c 100644 --- a/src/Editors/_EditAddress.py +++ b/src/Editors/_EditAddress.py @@ -32,7 +32,6 @@ mechanism for the user to edit address information. # #------------------------------------------------------------------------- from gettext import gettext as _ -import os #------------------------------------------------------------------------- # @@ -50,12 +49,10 @@ import const import Config from _EditSecondary import EditSecondary from gen.lib import NoteType - +from glade import Glade from DisplayTabs import SourceEmbedList, NoteTab from widgets import MonitoredDate, MonitoredEntry, PrivacyButton -_GLADE_FILE = 'editaddress.glade' - #------------------------------------------------------------------------- # # EditAddress class @@ -80,11 +77,8 @@ class EditAddress(EditSecondary): self.width_key = Config.ADDRESS_WIDTH self.height_key = Config.ADDRESS_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) - - self.set_window(self.top.get_object("addr_edit"), + self.top = Glade() + self.set_window(self.top.toplevel, self.top.get_object("title"), _('Address Editor')) diff --git a/src/Editors/_EditAttribute.py b/src/Editors/_EditAttribute.py index cd1c4d9ba..a6866d272 100644 --- a/src/Editors/_EditAttribute.py +++ b/src/Editors/_EditAttribute.py @@ -32,7 +32,6 @@ mechanism for the user to edit attribute information. # #------------------------------------------------------------------------- from gettext import gettext as _ -import os #------------------------------------------------------------------------- # @@ -50,12 +49,10 @@ import const import Config from _EditSecondary import EditSecondary from gen.lib import NoteType - +from glade import Glade from DisplayTabs import SourceEmbedList, NoteTab from widgets import MonitoredEntry, PrivacyButton, MonitoredDataType -_GLADE_FILE = 'editattribute.glade' - #------------------------------------------------------------------------- # # EditAttribute class @@ -81,11 +78,9 @@ class EditAttribute(EditSecondary): def _local_init(self): self.width_key = Config.ATTRIBUTE_WIDTH self.height_key = Config.ATTRIBUTE_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) + self.top = Glade() - self.set_window(self.top.get_object("attr_edit"), + self.set_window(self.top.toplevel, self.top.get_object('title'), _('Attribute Editor')) diff --git a/src/Editors/_EditChildRef.py b/src/Editors/_EditChildRef.py index bb7561d0b..06e7f9978 100644 --- a/src/Editors/_EditChildRef.py +++ b/src/Editors/_EditChildRef.py @@ -32,7 +32,6 @@ mechanism for the user to edit address information. # #------------------------------------------------------------------------- from gettext import gettext as _ -import os #------------------------------------------------------------------------- # @@ -51,7 +50,7 @@ from _EditSecondary import EditSecondary from gen.lib import NoteType import Errors import Config - +from glade import Glade from DisplayTabs import SourceEmbedList, NoteTab from widgets import MonitoredDataType, PrivacyButton from BasicUtils import name_displayer @@ -66,7 +65,6 @@ _RETURN = gtk.gdk.keyval_from_name("Return") _KP_ENTER = gtk.gdk.keyval_from_name("KP_Enter") _LEFT_BUTTON = 1 _RIGHT_BUTTON = 3 -_GLADE_FILE = 'editchildref.glade' #------------------------------------------------------------------------- # @@ -91,11 +89,9 @@ class EditChildRef(EditSecondary): def _local_init(self): self.width_key = Config.CHILD_REF_WIDTH self.height_key = Config.CHILD_REF_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) - self.set_window(self.top.get_object("cref_edit"), + self.top = Glade() + self.set_window(self.top.toplevel, self.top.get_object("title"), self.name, _('Child Reference Editor')) diff --git a/src/Editors/_EditEvent.py b/src/Editors/_EditEvent.py index 8ed5dad81..51f44f71a 100644 --- a/src/Editors/_EditEvent.py +++ b/src/Editors/_EditEvent.py @@ -27,7 +27,6 @@ # #------------------------------------------------------------------------- from TransUtils import sgettext as _ -import os #------------------------------------------------------------------------- # @@ -47,7 +46,7 @@ import gen.lib import GrampsDisplay from _EditPrimary import EditPrimary from ObjectEntries import PlaceEntry - +from glade import Glade from QuestionDialog import ErrorDialog from DisplayTabs import (SourceEmbedList, NoteTab, GalleryTab, EventBackRefList, AttrEmbedList) @@ -61,7 +60,6 @@ from widgets import (MonitoredEntry, PrivacyButton, #------------------------------------------------------------------------- WIKI_HELP_PAGE = '%s_-_Entering_and_Editing_Data:_Detailed_-_part_2' % const.URL_MANUAL_PAGE WIKI_HELP_SEC = _('manual|Editing_Information_About_Events') -_GLADE_FILE = 'editevent.glade' #------------------------------------------------------------------------- # @@ -102,11 +100,8 @@ class EditEvent(EditPrimary): self.width_key = Config.EVENT_WIDTH self.height_key = Config.EVENT_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) - - self.set_window(self.top.get_object("event_edit"), None, + self.top = Glade() + self.set_window(self.top.toplevel, None, self.get_menu_title()) self.place = self.top.get_object('place') diff --git a/src/Editors/_EditEventRef.py b/src/Editors/_EditEventRef.py index 89a4a3e40..b3b97c886 100644 --- a/src/Editors/_EditEventRef.py +++ b/src/Editors/_EditEventRef.py @@ -27,14 +27,6 @@ # #------------------------------------------------------------------------- from gettext import gettext as _ -import os - -#------------------------------------------------------------------------- -# -# GTK/Gnome modules -# -#------------------------------------------------------------------------- -import gtk #------------------------------------------------------------------------- # @@ -44,7 +36,7 @@ import gtk import const import Config import gen.lib - +from glade import Glade from DisplayTabs import (SourceEmbedList, NoteTab, GalleryTab, EventBackRefList, AttrEmbedList) from widgets import (PrivacyButton, MonitoredEntry, @@ -53,14 +45,6 @@ from _EditReference import RefTab, EditReference from ObjectEntries import PlaceEntry -#------------------------------------------------------------------------- -# -# Constants -# -#------------------------------------------------------------------------- - -_GLADE_FILE = 'editeventref.glade' - #------------------------------------------------------------------------- # # EditEventRef class @@ -77,11 +61,8 @@ class EditEventRef(EditReference): self.width_key = Config.EVENT_REF_WIDTH self.height_key = Config.EVENT_REF_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) - - self.set_window(self.top.get_object('event_eref_edit'), + self.top = Glade() + self.set_window(self.top.toplevel, self.top.get_object('eer_title'), _('Event Reference Editor')) self.define_warn_box(self.top.get_object("eer_warning")) diff --git a/src/Editors/_EditFamily.py b/src/Editors/_EditFamily.py index 51179c431..f951a7c59 100644 --- a/src/Editors/_EditFamily.py +++ b/src/Editors/_EditFamily.py @@ -30,7 +30,6 @@ from bsddb import db as bsddb_db from gettext import gettext as _ from DdTargets import DdTargets import pickle -import os #------------------------------------------------------------------------- # @@ -61,6 +60,7 @@ from BasicUtils import name_displayer import gen.lib import Errors import DateHandler +from glade import Glade from Editors import EditPrimary from ReportBase import ReportUtils @@ -80,7 +80,6 @@ _RETURN = gdk.keyval_from_name("Return") _KP_ENTER = gdk.keyval_from_name("KP_Enter") _LEFT_BUTTON = 1 _RIGHT_BUTTON = 3 -_GLADE_FILE = 'editfamily.glade' class ChildEmbedList(EmbeddedList): """ @@ -518,11 +517,8 @@ class EditFamily(EditPrimary): self.width_key = Config.FAMILY_WIDTH self.height_key = Config.FAMILY_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) - - self.set_window(self.top.get_object("family_editor"), None, self.get_menu_title()) + self.top = Glade() + self.set_window(self.top.toplevel, None, self.get_menu_title()) # HACK: how to prevent hidden items from showing # when you use show_all? diff --git a/src/Editors/_EditLdsOrd.py b/src/Editors/_EditLdsOrd.py index f8ed402c4..e3bb0b735 100644 --- a/src/Editors/_EditLdsOrd.py +++ b/src/Editors/_EditLdsOrd.py @@ -31,7 +31,6 @@ mechanism for the user to edit personal LDS information. # #------------------------------------------------------------------------- from gettext import gettext as _ -import os #------------------------------------------------------------------------- # @@ -50,10 +49,9 @@ import Config import gen.lib from BasicUtils import name_displayer import LdsUtils - +from glade import Glade from _EditSecondary import EditSecondary from ObjectEntries import PlaceEntry - from DisplayTabs import SourceEmbedList,NoteTab from widgets import (PrivacyButton, MonitoredDate, MonitoredMenu, MonitoredStrMenu) @@ -121,8 +119,6 @@ _DATA_MAP = { ], } -_GLADE_FILE = 'editldsord.glade' - #------------------------------------------------------------------------- # # EditLdsOrd class @@ -148,11 +144,8 @@ class EditLdsOrd(EditSecondary): self.width_key = Config.LDS_WIDTH self.height_key = Config.LDS_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) - - self.set_window(self.top.get_object("lds_person_edit"), + self.top = Glade() + self.set_window(self.top.toplevel, self.top.get_object('title'), _('LDS Ordinance Editor')) self.share_btn = self.top.get_object('share_place') diff --git a/src/Editors/_EditLocation.py b/src/Editors/_EditLocation.py index ae1d36762..6de8b6e7d 100644 --- a/src/Editors/_EditLocation.py +++ b/src/Editors/_EditLocation.py @@ -21,14 +21,6 @@ # $Id$ -#------------------------------------------------------------------------- -# -# GTK/Gnome modules -# -#------------------------------------------------------------------------- -import gtk -import os - #------------------------------------------------------------------------- # # gramps modules @@ -37,12 +29,10 @@ import os import const import Config from _EditSecondary import EditSecondary - +from glade import Glade from widgets import MonitoredEntry from gettext import gettext as _ -_GLADE_FILE = 'editlocation.glade' - #------------------------------------------------------------------------- # # LocationEditor class @@ -57,11 +47,8 @@ class EditLocation(EditSecondary): def _local_init(self): self.width_key = Config.LOCATION_WIDTH self.height_key = Config.LOCATION_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) - - self.set_window(self.top.get_object("loc_edit"), None, + self.top = Glade() + self.set_window(self.top.toplevel, None, _('Location Editor')) def _setup_fields(self): diff --git a/src/Editors/_EditMedia.py b/src/Editors/_EditMedia.py index 83aba5d91..eb34097aa 100644 --- a/src/Editors/_EditMedia.py +++ b/src/Editors/_EditMedia.py @@ -27,7 +27,6 @@ # #------------------------------------------------------------------------- from gettext import gettext as _ -import os #------------------------------------------------------------------------- # @@ -53,8 +52,7 @@ from DisplayTabs import (SourceEmbedList, AttrEmbedList, NoteTab, MediaBackRefList) from Editors.AddMedia import AddMediaObject from QuestionDialog import ErrorDialog - -_GLADE_FILE = 'editmedia.glade' +from glade import Glade #------------------------------------------------------------------------- # @@ -95,11 +93,8 @@ class EditMedia(EditPrimary): self.width_key = Config.MEDIA_WIDTH self.height_key = Config.MEDIA_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.glade = gtk.Builder() - self.glade.add_from_file(glade_file) - - self.set_window(self.glade.get_object('change_global'), + self.glade = Glade() + self.set_window(self.glade.toplevel, None, self.get_menu_title()) def _connect_signals(self): diff --git a/src/Editors/_EditMediaRef.py b/src/Editors/_EditMediaRef.py index d31373f9c..d9b7de0d6 100644 --- a/src/Editors/_EditMediaRef.py +++ b/src/Editors/_EditMediaRef.py @@ -28,7 +28,6 @@ # #------------------------------------------------------------------------- from TransUtils import sgettext as _ -import os #------------------------------------------------------------------------- # @@ -48,13 +47,12 @@ import Mime import ThumbNails import Utils from gen.lib import NoteType - +from glade import Glade from DisplayTabs import (SourceEmbedList, AttrEmbedList, MediaBackRefList, NoteTab) from widgets import MonitoredSpinButton, MonitoredEntry, PrivacyButton from _EditReference import RefTab, EditReference from AddMedia import AddMediaObject -_GLADE_FILE = 'editmediaref.glade' #------------------------------------------------------------------------- # @@ -74,11 +72,9 @@ class EditMediaRef(EditReference): def _local_init(self): self.width_key = Config.MEDIA_REF_WIDTH self.height_key = Config.MEDIA_REF_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) + self.top = Glade() - self.set_window(self.top.get_object('change_description'), + self.set_window(self.top.toplevel, self.top.get_object('title'), _('Media Reference Editor')) self.define_warn_box(self.top.get_object("warn_box")) diff --git a/src/Editors/_EditName.py b/src/Editors/_EditName.py index 2f6b7f45e..19d5af91c 100644 --- a/src/Editors/_EditName.py +++ b/src/Editors/_EditName.py @@ -27,7 +27,6 @@ # #------------------------------------------------------------------------- from gettext import gettext as _ -import os #------------------------------------------------------------------------- # @@ -49,8 +48,7 @@ from gen.lib import NoteType from DisplayTabs import GrampsTab,SourceEmbedList,NoteTab from widgets import (MonitoredEntry, MonitoredMenu, MonitoredDate, MonitoredDataType, PrivacyButton) - -_GLADE_FILE = 'editname.glade' +from glade import Glade #------------------------------------------------------------------------- # @@ -111,11 +109,9 @@ class EditName(EditSecondary): self.width_key = Config.NAME_WIDTH self.height_key = Config.NAME_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) + self.top = Glade() - self.set_window(self.top.get_object("name_edit"), + self.set_window(self.top.toplevel, self.top.get_object("title"), _("Name Editor")) diff --git a/src/Editors/_EditNote.py b/src/Editors/_EditNote.py index a2675ee4e..f7d36f9f3 100644 --- a/src/Editors/_EditNote.py +++ b/src/Editors/_EditNote.py @@ -28,8 +28,6 @@ # #------------------------------------------------------------------------- from gettext import gettext as _ -import os - import logging _LOG = logging.getLogger(".Editors.EditNote") @@ -56,8 +54,7 @@ from widgets import (MonitoredDataType, MonitoredCheckbox, MonitoredEntry, PrivacyButton) from gen.lib import Note from QuestionDialog import ErrorDialog - -_GLADE_FILE = 'editnote.glade' +from glade import Glade #------------------------------------------------------------------------- # @@ -170,11 +167,9 @@ class EditNote(EditPrimary): self.width_key = Config.NOTE_WIDTH self.height_key = Config.NOTE_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) + self.top = Glade() - win = self.top.get_object("edit_note") + win = self.top.toplevel self.set_window(win, None, self.get_menu_title()) diff --git a/src/Editors/_EditPerson.py b/src/Editors/_EditPerson.py index 481bb86bf..71b3fda9f 100644 --- a/src/Editors/_EditPerson.py +++ b/src/Editors/_EditPerson.py @@ -53,7 +53,7 @@ import gen.lib import widgets from BasicUtils import name_displayer import Errors - +from glade import Glade from gen.utils import set_birth_death_index from Editors._EditPrimary import EditPrimary @@ -136,10 +136,9 @@ class EditPerson(EditPrimary): self.load_obj = None self.load_rect = None - self.top = gtk.Builder() - self.top.add_from_file(const.PERSON_GLADE) + self.top = Glade() - self.set_window(self.top.get_object("edit_person"), None, + self.set_window(self.top.toplevel, None, self.get_menu_title()) self.obj_photo = self.top.get_object("personPix") diff --git a/src/Editors/_EditPersonRef.py b/src/Editors/_EditPersonRef.py index 78bb1c502..ffc5aa8e6 100644 --- a/src/Editors/_EditPersonRef.py +++ b/src/Editors/_EditPersonRef.py @@ -32,7 +32,6 @@ mechanism for the user to edit address information. # #------------------------------------------------------------------------- from gettext import gettext as _ -import os #------------------------------------------------------------------------- # @@ -53,8 +52,7 @@ from _EditSecondary import EditSecondary from gen.lib import NoteType from widgets import MonitoredEntry, PrivacyButton from DisplayTabs import SourceEmbedList, NoteTab - -_GLADE_FILE = 'editpersonref.glade' +from glade import Glade #------------------------------------------------------------------------- # @@ -79,11 +77,9 @@ class EditPersonRef(EditSecondary): self.width_key = Config.PERSON_REF_WIDTH self.height_key = Config.PERSON_REF_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) + self.top = Glade() - self.set_window(self.top.get_object("pref_edit"), + self.set_window(self.top.toplevel, self.top.get_object("title"), _('Person Reference Editor')) self.person_label = self.top.get_object('person') diff --git a/src/Editors/_EditPlace.py b/src/Editors/_EditPlace.py index 24b6959cd..b3d334190 100644 --- a/src/Editors/_EditPlace.py +++ b/src/Editors/_EditPlace.py @@ -27,8 +27,6 @@ # #------------------------------------------------------------------------- from gettext import gettext as _ -import os - import logging log = logging.getLogger(".") @@ -54,8 +52,7 @@ from widgets import MonitoredEntry, PrivacyButton from Errors import ValidationError from PlaceUtils import conv_lat_lon from QuestionDialog import ErrorDialog - -_GLADE_FILE = 'editplace.glade' +from glade import Glade #------------------------------------------------------------------------- # @@ -119,11 +116,9 @@ class EditPlace(EditPrimary): self.width_key = Config.PLACE_WIDTH self.height_key = Config.PLACE_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) + self.top = Glade() - self.set_window(self.top.get_object("place_editor"), None, + self.set_window(self.top.toplevel, None, self.get_menu_title()) tblmloc = self.top.get_object('table19') notebook = self.top.get_object('notebook3') diff --git a/src/Editors/_EditRepoRef.py b/src/Editors/_EditRepoRef.py index 35f9ab590..fc35b6562 100644 --- a/src/Editors/_EditRepoRef.py +++ b/src/Editors/_EditRepoRef.py @@ -27,14 +27,6 @@ # #------------------------------------------------------------------------- from gettext import gettext as _ -import os - -#------------------------------------------------------------------------- -# -# GTK/Gnome modules -# -#------------------------------------------------------------------------- -import gtk #------------------------------------------------------------------------- # @@ -49,8 +41,7 @@ from gen.lib import NoteType from DisplayTabs import NoteTab,AddrEmbedList,WebEmbedList,SourceBackRefList from widgets import MonitoredEntry, PrivacyButton, MonitoredDataType from _EditReference import RefTab, EditReference - -_GLADE_FILE = 'editreporef.glade' +from glade import Glade #------------------------------------------------------------------------- # @@ -68,12 +59,8 @@ class EditRepoRef(EditReference): self.width_key = Config.REPO_REF_WIDTH self.height_key = Config.REPO_REF_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) - - - self.set_window(self.top.get_object('repository_ref_edit'), + self.top = Glade() + self.set_window(self.top.toplevel, self.top.get_object('repo_title'), _('Repository Reference Editor')) diff --git a/src/Editors/_EditRepository.py b/src/Editors/_EditRepository.py index ecad58205..84a887225 100644 --- a/src/Editors/_EditRepository.py +++ b/src/Editors/_EditRepository.py @@ -27,7 +27,6 @@ # #------------------------------------------------------------------------- from gettext import gettext as _ -import os #------------------------------------------------------------------------- # @@ -49,8 +48,7 @@ from widgets import MonitoredEntry, MonitoredDataType, PrivacyButton from DisplayTabs import AddrEmbedList, WebEmbedList, NoteTab, SourceBackRefList from Editors._EditPrimary import EditPrimary from QuestionDialog import ErrorDialog - -_GLADE_FILE = 'editrepository.glade' +from glade import Glade class EditRepository(EditPrimary): @@ -78,11 +76,9 @@ class EditRepository(EditPrimary): self.width_key = Config.REPO_WIDTH self.height_key = Config.REPO_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.glade = gtk.Builder() - self.glade.add_from_file(glade_file) + self.glade = Glade() - self.set_window(self.glade.get_object("repository_editor"), None, + self.set_window(self.glade.toplevel, None, self.get_menu_title()) def build_menu_names(self, source): diff --git a/src/Editors/_EditSource.py b/src/Editors/_EditSource.py index 4bdb2a841..8e647464b 100644 --- a/src/Editors/_EditSource.py +++ b/src/Editors/_EditSource.py @@ -27,7 +27,6 @@ # #------------------------------------------------------------------------- from gettext import gettext as _ -import os import logging log = logging.getLogger(".") @@ -52,13 +51,13 @@ from DisplayTabs import (NoteTab, GalleryTab, DataEmbedList, SourceBackRefList, RepoEmbedList) from widgets import MonitoredEntry, PrivacyButton from QuestionDialog import ErrorDialog +from glade import Glade #------------------------------------------------------------------------- # -# Constants +# EditSource class # #------------------------------------------------------------------------- -_GLADE_FILE = "editsource.glade" class EditSource(EditPrimary): @@ -84,11 +83,8 @@ class EditSource(EditPrimary): self.height_key = Config.SOURCE_HEIGHT assert(self.obj) - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.glade = gtk.Builder() - self.glade.add_from_file(glade_file) - - self.set_window(self.glade.get_object("source_editor"), None, + self.glade = Glade() + self.set_window(self.glade.toplevel, None, self.get_menu_title()) def _connect_signals(self): diff --git a/src/Editors/_EditSourceRef.py b/src/Editors/_EditSourceRef.py index a8a8ac8ae..469c5a90e 100644 --- a/src/Editors/_EditSourceRef.py +++ b/src/Editors/_EditSourceRef.py @@ -27,14 +27,6 @@ # #------------------------------------------------------------------------- from gettext import gettext as _ -import os - -#------------------------------------------------------------------------- -# -# GTK/Gnome modules -# -#------------------------------------------------------------------------- -import gtk #------------------------------------------------------------------------- # @@ -44,15 +36,13 @@ import gtk import const import Config import gen.lib - +from glade import Glade from DisplayTabs import (NoteTab, GalleryTab, SourceBackRefList, DataEmbedList, RepoEmbedList) from widgets import (PrivacyButton, MonitoredEntry, MonitoredMenu, MonitoredDate) from _EditReference import RefTab, EditReference -_GLADE_FILE = 'editsourceref.glade' - #------------------------------------------------------------------------- # # EditSourceRef class @@ -69,11 +59,9 @@ class EditSourceRef(EditReference): self.width_key = Config.EVENT_REF_WIDTH self.height_key = Config.EVENT_REF_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) + self.top = Glade() - self.set_window(self.top.get_object('source_ref_edit'), + self.set_window(self.top.toplevel, self.top.get_object('source_title'), _('Source Reference Editor')) diff --git a/src/Editors/_EditUrl.py b/src/Editors/_EditUrl.py index 601b236d9..8153da0b0 100644 --- a/src/Editors/_EditUrl.py +++ b/src/Editors/_EditUrl.py @@ -27,14 +27,6 @@ # #------------------------------------------------------------------------- from gettext import gettext as _ -import os - -#------------------------------------------------------------------------- -# -# GTK/Gnome modules -# -#------------------------------------------------------------------------- -import gtk #------------------------------------------------------------------------- # @@ -45,8 +37,7 @@ import const import Config from _EditSecondary import EditSecondary from widgets import MonitoredEntry, PrivacyButton, MonitoredDataType - -_GLADE_FILE = 'editurl.glade' +from glade import Glade #------------------------------------------------------------------------- # @@ -64,13 +55,10 @@ class EditUrl(EditSecondary): self.width_key = Config.URL_WIDTH self.height_key = Config.URL_HEIGHT - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) - + self.top = Glade() self.jump = self.top.get_object('jump') - self.set_window(self.top.get_object("url_edit"), + self.set_window(self.top.toplevel, self.top.get_object("title"), _('Internet Address Editor')) diff --git a/src/GrampsCfg.py b/src/GrampsCfg.py index d81785e81..e5aa4824b 100644 --- a/src/GrampsCfg.py +++ b/src/GrampsCfg.py @@ -54,6 +54,7 @@ import ManagedWindow from widgets import MarkupLabel, BasicLabel from QuestionDialog import ErrorDialog, QuestionDialog2 from Errors import NameDisplayError +from glade import Glade geopresent = True try: @@ -69,7 +70,6 @@ if not const.VERSION.find('SVN') == -1: # Constants # #------------------------------------------------------------------------- -_GLADE_FILE = 'grampscfg.glade' _surname_styles = [ _("Father's surname"), @@ -1107,10 +1107,7 @@ class NameFormatEditDlg: self.fmt_str = fmt_str self.name = name self.valid = True - print "here" - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) + self.top = Glade() self.dlg = self.top.get_object('namefmt_edit') ManagedWindow.set_titles(self.dlg, None, _('Name Format Editor')) diff --git a/src/ManagedWindow.py b/src/ManagedWindow.py index daad24a4f..abed94b00 100644 --- a/src/ManagedWindow.py +++ b/src/ManagedWindow.py @@ -48,6 +48,7 @@ import gtk import const import Errors import Config +from glade import Glade #------------------------------------------------------------------------- # diff --git a/src/Merge/_MergePerson.py b/src/Merge/_MergePerson.py index c92f642c7..9219f46b8 100644 --- a/src/Merge/_MergePerson.py +++ b/src/Merge/_MergePerson.py @@ -43,6 +43,7 @@ from QuestionDialog import ErrorDialog import GrampsDisplay import ManagedWindow import gen.utils +from glade import Glade #------------------------------------------------------------------------- # @@ -51,6 +52,7 @@ import gen.utils #------------------------------------------------------------------------- WIKI_HELP_PAGE = '%s_-_Entering_and_Editing_Data:_Detailed_-_part_3' % const.URL_MANUAL_PAGE WIKI_HELP_SEC = _('manual|Merge_People') +_GLADE_FILE = 'mergedata.glade' sex = ( _("female"), _("male"), _("unknown")) @@ -59,10 +61,9 @@ class PersonCompare(ManagedWindow.ManagedWindow): def __init__(self, dbstate, uistate, person1, person2, update=None) : ManagedWindow.ManagedWindow.__init__(self, uistate, [], self.__class__) + self.glade = Glade(_GLADE_FILE, toplevel='mergedata') + window = self.glade.toplevel - self.glade = gtk.Builder() - self.glade.add_from_file(const.MERGE_GLADE) - window = self.glade.get_object('merge') window.show() self.text1 = self.glade.get_object('text1') self.text2 = self.glade.get_object('text2') @@ -284,9 +285,9 @@ class MergePeopleUI(ManagedWindow.ManagedWindow): ManagedWindow.ManagedWindow.__init__(self, uistate, [], self.__class__) - glade_xml = gtk.Builder() - glade_xml.add_from_file(const.MERGE_GLADE) - window = glade_xml.get_object('merge_people') + + glade_xml = Glade(_GLADE_FILE, toplevel='mergeperson') + window = glade_xml.toplevel self.set_window(window, glade_xml.get_object('people_title'), _("Merge People")) diff --git a/src/Merge/_MergePlace.py b/src/Merge/_MergePlace.py index 36025909b..e32d5b72d 100644 --- a/src/Merge/_MergePlace.py +++ b/src/Merge/_MergePlace.py @@ -44,6 +44,8 @@ from TransUtils import sgettext as _ import const import GrampsDisplay import ManagedWindow +from glade import Glade + #------------------------------------------------------------------------- # # GRAMPS constants @@ -51,6 +53,7 @@ import ManagedWindow #------------------------------------------------------------------------- WIKI_HELP_PAGE = '%s_-_Entering_and_Editing_Data:_Detailed_-_part_3' % const.URL_MANUAL_PAGE WIKI_HELP_SEC = _('manual|Merge_Places') +_GLADE_FILE = 'mergedata.glade' #------------------------------------------------------------------------- # @@ -72,9 +75,8 @@ class MergePlaces(ManagedWindow.ManagedWindow): self.p1 = self.db.get_place_from_handle(self.new_handle) self.p2 = self.db.get_place_from_handle(self.old_handle) - self.glade = gtk.Builder() - self.glade.add_from_file(const.MERGE_GLADE) - self.set_window(self.glade.get_object('merge_places'), + self.glade = Glade(_GLADE_FILE, toplevel='mergeplace') + self.set_window(self.glade.toplevel, self.glade.get_object('place_title'), _("Merge Places")) diff --git a/src/Merge/_MergeSource.py b/src/Merge/_MergeSource.py index 0df709d61..9da372707 100644 --- a/src/Merge/_MergeSource.py +++ b/src/Merge/_MergeSource.py @@ -42,6 +42,7 @@ from TransUtils import sgettext as _ import const import GrampsDisplay import ManagedWindow +from glade import Glade #------------------------------------------------------------------------- # @@ -50,6 +51,7 @@ import ManagedWindow #------------------------------------------------------------------------- WIKI_HELP_PAGE = '%s_-_Entering_and_Editing_Data:_Detailed_-_part_3' % const.URL_MANUAL_PAGE WIKI_HELP_SEC = _('manual|Merge_Sources') +_GLADE_FILE = 'mergedata.glade' #------------------------------------------------------------------------- # @@ -72,10 +74,9 @@ class MergeSources(ManagedWindow.ManagedWindow): self.s1 = self.db.get_source_from_handle(self.new_handle) self.s2 = self.db.get_source_from_handle(self.old_handle) - self.glade = gtk.Builder() - self.glade.add_from_file(const.MERGE_GLADE) + self.glade = Glade(_GLADE_FILE, toplevel='mergesource') - self.set_window(self.glade.get_object('merge_sources'), + self.set_window(self.glade.toplevel, self.glade.get_object('source_title'), _("Merge Sources")) diff --git a/src/QuestionDialog.py b/src/QuestionDialog.py index d19836362..9c6c950e4 100644 --- a/src/QuestionDialog.py +++ b/src/QuestionDialog.py @@ -43,8 +43,7 @@ from gtk.gdk import pixbuf_new_from_file #------------------------------------------------------------------------- import const import Config - -_GLADE_FILE = 'questiondialog.glade' +from glade import Glade try: ICON = pixbuf_new_from_file(const.ICON) @@ -53,11 +52,9 @@ except: class SaveDialog: def __init__(self,msg1,msg2,task1,task2,parent=None): - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.xml = gtk.Builder() - self.xml.add_from_file(glade_file) + self.xml = Glade(toplevel='savedialog') - self.top = self.xml.get_object('savedialog') + self.top = self.xml.toplevel self.top.set_icon(ICON) self.top.set_title("%s - GRAMPS" % msg1) @@ -86,11 +83,9 @@ class SaveDialog: class QuestionDialog: def __init__(self,msg1,msg2,label,task,parent=None): - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.xml = gtk.Builder() - self.xml.add_from_file(glade_file) + self.xml = Glade(toplevel='questiondialog') - self.top = self.xml.get_object('questiondialog') + self.top = self.xml.toplevel self.top.set_icon(ICON) self.top.set_title("%s - GRAMPS" % msg1) @@ -114,11 +109,9 @@ class QuestionDialog: class QuestionDialog2: def __init__(self,msg1,msg2,label_msg1,label_msg2,parent=None): - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.xml = gtk.Builder() - self.xml.add_from_file(glade_file) + self.xml = Glade(toplevel='questiondialog') - self.top = self.xml.get_object('questiondialog') + self.top = self.xml.toplevel self.top.set_icon(ICON) self.top.set_title("%s - GRAMPS" % msg1) @@ -146,11 +139,9 @@ class QuestionDialog2: class OptionDialog: def __init__(self,msg1,msg2,btnmsg1,task1,btnmsg2,task2,parent=None): - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.xml = gtk.Builder() - self.xml.add_from_file(glade_file) - - self.top = self.xml.get_object('optiondialog') + self.xml = Glade(toplevel='optiondialog') + + self.top = self.xml.toplevel self.top.set_icon(ICON) self.top.set_title("%s - GRAMPS" % msg1) @@ -250,11 +241,9 @@ class InfoDialog: Dialog to show selectable info in a scrolled window """ def __init__(self, msg1, infotext, parent=None): - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.xml = gtk.Builder() - self.xml.add_from_file(glade_file) - - self.top = self.xml.get_object('infodialog') + self.xml = Glade(toplevel='infodialog') + + self.top = self.xml.toplevel self.top.set_icon(ICON) self.top.set_title("%s - GRAMPS" % msg1) @@ -279,11 +268,9 @@ class InfoDialog: class MissingMediaDialog: def __init__(self,msg1,msg2,task1,task2,task3,parent=None): - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.xml = gtk.Builder() - self.xml.add_from_file(glade_file) - - self.top = self.xml.get_object('missmediadialog') + self.xml = Glade(toplevel='missmediadialog') + + self.top = self.xml.toplevel self.top.set_icon(ICON) self.top.set_title("%s - GRAMPS" % msg1) @@ -336,11 +323,9 @@ class MissingMediaDialog: class MessageHideDialog: def __init__(self, title, message, key, parent=None): - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.xml = gtk.Builder() - self.xml.add_from_file(glade_file) - - top = self.xml.get_object('hide_dialog') + self.xml = Glade(toplevel='hidedialog') + + self.top = self.xml.toplevel top.set_icon(ICON) top.set_title("%s - GRAMPS" % title) diff --git a/src/Reorder.py b/src/Reorder.py index 7be84212c..9115bb9c5 100644 --- a/src/Reorder.py +++ b/src/Reorder.py @@ -20,26 +20,20 @@ from gettext import gettext as _ -import gtk -import os - import const - from BasicUtils import name_displayer import ListModel import ManagedWindow +from glade import Glade PARENT_TITLES = [(_('Father'), -1, 200), (_('Mother'), -1, 200), ('', -1, 0)] FAMILY_TITLES = [(_('Spouse'), -1, 200), (_('Relationship'), -1, 200), ('', -1, 0)] -_GLADE_FILE = 'reorder.glade' class Reorder(ManagedWindow.ManagedWindow): def __init__(self, state, uistate, track, handle): - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - xml = gtk.Builder() - xml.add_from_file(glade_file) - top = xml.get_object('reorder') + xml = Glade() + top = xml.toplevel self.dbstate = state ManagedWindow.ManagedWindow.__init__(self, uistate, track, self) diff --git a/src/ReportBase/_PaperMenu.py b/src/ReportBase/_PaperMenu.py index 584d027ab..9d7fb7086 100644 --- a/src/ReportBase/_PaperMenu.py +++ b/src/ReportBase/_PaperMenu.py @@ -26,7 +26,6 @@ # #------------------------------------------------------------------------- from TransUtils import sgettext as _ -import os #------------------------------------------------------------------------- # @@ -44,6 +43,7 @@ import gobject import BaseDoc import const import Utils +from glade import Glade #------------------------------------------------------------------------- # @@ -61,7 +61,7 @@ except: # #------------------------------------------------------------------------- paper_sizes = [] -_GLADE_FILE = "paper_settings.glade" +_GLADE_FILE = "papermenu.glade" #------------------------------------------------------------------------- # @@ -147,9 +147,7 @@ class PaperFrame(gtk.HBox): def __init__(self,default_metric,default_name,default_orientation, margins=[2.54,2.54,2.54,2.54], custom=[29.7,21.0]): gtk.HBox.__init__(self) - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - glade_xml = gtk.Builder() - glade_xml.add_from_file(glade_file) + glade_xml = Glade() self.paper_table = glade_xml.get_object('paper_table') diff --git a/src/ReportBase/_StyleEditor.py b/src/ReportBase/_StyleEditor.py index f95316701..cdefdaab3 100644 --- a/src/ReportBase/_StyleEditor.py +++ b/src/ReportBase/_StyleEditor.py @@ -32,7 +32,6 @@ Paragraph/Font style editor # #------------------------------------------------------------------------ from TransUtils import sgettext as _ -import os import logging log = logging.getLogger(".") @@ -54,6 +53,7 @@ import const import BaseDoc import ListModel import ManagedWindow +from glade import Glade #------------------------------------------------------------------------ # @@ -85,11 +85,8 @@ class StyleListDisplay: self.sheetlist = stylesheetlist - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) - - self.window = self.top.get_object('styles') + self.top = Glade(toplevel='styles') + self.window = self.top.toplevel ManagedWindow.set_titles( self.window, self.top.get_object('title'), @@ -201,19 +198,17 @@ class StyleEditor: self.style = BaseDoc.StyleSheet(style) self.parent = parent - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.top = gtk.Builder() - self.top.add_from_file(glade_file) + self.top = Glade(toplevel='editor') + self.window = self.top.toplevel self.top.connect_signals({ "on_save_style_clicked" : self.on_save_style_clicked, "destroy_passed_object" : self.__close, }) - self.window = self.top.get_object("editor") self.pname = self.top.get_object('pname') self.pdescription = self.top.get_object('pdescription') - + ManagedWindow.set_titles( self.window, self.top.get_object('title'), _('Style editor')) diff --git a/src/ScratchPad.py b/src/ScratchPad.py index 5f4280436..b42f605b2 100644 --- a/src/ScratchPad.py +++ b/src/ScratchPad.py @@ -57,7 +57,7 @@ import DateHandler import GrampsDisplay import ManagedWindow from TransUtils import sgettext as _ - +from glade import Glade from DdTargets import DdTargets #------------------------------------------------------------------------- @@ -1200,11 +1200,9 @@ class ScratchPadWindow(ManagedWindow.ManagedWindow): self.width_key = Config.CLIPBOARD_WIDTH self.height_key = Config.CLIPBOARD_HEIGHT - self.glade_file = os.path.join(const.GLADE_DIR, "scratchpad.glade") - self.top = gtk.Builder() - self.top.add_from_file(self.glade_file) - self.set_window(self.top.get_object("scratch_pad"), - None, None, msg=_("Clipboard")) + + self.top = Glade() + self.set_window(self.top.toplevel, None, None, msg=_("Clipboard")) self._set_size() self.clear_all_btn = self.top.get_object("btn_clear_all") diff --git a/src/Selectors/_BaseSelector.py b/src/Selectors/_BaseSelector.py index bb6017e1b..bcd6a7a5d 100644 --- a/src/Selectors/_BaseSelector.py +++ b/src/Selectors/_BaseSelector.py @@ -28,7 +28,6 @@ #------------------------------------------------------------------------- import gtk import pango -import os #------------------------------------------------------------------------- # @@ -39,8 +38,7 @@ import const import ManagedWindow from Filters import SearchBar from DisplayModels import PeopleModel - -_GLADE_FILE = 'baseselector.glade' +from glade import Glade #------------------------------------------------------------------------- # @@ -77,11 +75,9 @@ class BaseSelector(ManagedWindow.ManagedWindow): self.db = dbstate.db - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - self.glade = gtk.Builder() - self.glade.add_from_file(glade_file) + self.glade = Glade() - window = self.glade.get_object('select_person') + window = self.glade.toplevel self.showall = self.glade.get_object('showall') title_label = self.glade.get_object('title') vbox = self.glade.get_object('select_person_vbox') diff --git a/src/TipOfDay.py b/src/TipOfDay.py index 5c9bf4446..1c02ab1d0 100644 --- a/src/TipOfDay.py +++ b/src/TipOfDay.py @@ -39,7 +39,6 @@ import os # GTK/GNOME modules # #------------------------------------------------------------------------- -import gtk #------------------------------------------------------------------------- # @@ -50,8 +49,7 @@ import const import Config import ManagedWindow from QuestionDialog import ErrorDialog - -_GLADE_FILE = 'tipofday.glade' +from glade import Glade #------------------------------------------------------------------------- # @@ -63,11 +61,8 @@ class TipOfDay(ManagedWindow.ManagedWindow): ManagedWindow.ManagedWindow.__init__(self, uistate, [], self) - glade_file = os.path.join(const.GLADE_DIR, _GLADE_FILE) - xml = gtk.Builder() - xml.add_from_file(glade_file) - - window = xml.get_object("tod_window") + xml = Glade() + window = xml.toplevel self.set_window(window, xml.get_object("title"), _("Tip of the Day"), diff --git a/src/glade.py b/src/glade.py new file mode 100644 index 000000000..011353e37 --- /dev/null +++ b/src/glade.py @@ -0,0 +1,221 @@ + # +# Gramps - a GTK+/GNOME based genealogy program +# +# Copyright (C) 2009 Gerald Britton +# +# 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 +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +# $Id: glade.py 10874 2009-03-03 18:00:00Z gbritton $ + +#------------------------------------------------------------------------ +# +# Glade +# +#------------------------------------------------------------------------ + +""" +Glade file operations + +This module exports the Glade class. + +""" + +#------------------------------------------------------------------------ +# +# Python modules +# +#------------------------------------------------------------------------ +import sys +import os +import gtk + +#------------------------------------------------------------------------ +# +# gramps modules +# +#------------------------------------------------------------------------ +import const + +#------------------------------------------------------------------------ +# +# Glade class. Derived from gtk.Builder +# +#------------------------------------------------------------------------ + +class Glade(gtk.Builder): + """ + Glade class: Manage glade files as gtk.Builder objects + """ + __slots__ = ['__toplevel', '__filename', '__dirname'] + + def __init__(self, filename=None, dirname=None, toplevel=None): + """ + Class Constructor: Returns a new instance of the Glade class + + @type filename: string + @param filename: The name of the glade file to be used. Defaults to None + @type dirname: string + @param dirname: The directory to search for the glade file. Defaults to + None which will cause a search for the file in the default + directory followed by the directory of the calling module. + @type toplevel: toplevel + @param toplevel: The toplevel object to search for in the glade file. + Defaults to None, which will cause a search for a toplevel + matching the file name. + @rtype: object reference + @return: reference to the newly-created Glade instance + """ + gtk.Builder.__init__(self) + + if isinstance(toplevel, gtk.Container): # if we have a Gtk object + self.__toplevel = toplevel # just remember it + return # and we're done + + filename_given = filename is not None + dirname_given = dirname is not None + + # if filename not given, use module name to derive it + + if not filename: + filename = sys._getframe(1).f_code.co_filename + filename = os.path.basename(filename) + filename = filename.rpartition('.')[0] + '.glade' + filename = filename.lstrip('_').lower() + + # if dirname not given, use current directory + + if not dirname: + dirname = sys._getframe(1).f_code.co_filename + dirname = os.path.dirname(dirname) + + # try to find the glade file + + if filename_given and dirname_given: # both given -- use them + path = os.path.join(dirname, filename) + + elif filename_given: # try default directory first + path = os.path.join(const.GLADE_DIR, filename) + if not os.path.exists(path): # then module directory + path = os.path.join(dirname, filename) + + elif dirname_given: # dirname given -- use it + path = os.path.join(dirname, filename) + + # neither filename nor dirname given. Try: + # 1. derived filename in default directory + # 2. derived filename in module directory + + else: + path = os.path.join(const.GLADE_DIR, filename) + if not os.path.exists(path): + path = os.path.join(dirname, filename) + + # try to build Gtk objects from glade file. Let exceptions happen + + self.add_from_file(path) + self.__filename, self.__dirname = os.path.split(path) + + # try to find the toplevel widget + + if toplevel: # toplevel is given + self.__toplevel = self.get_object(toplevel) + else: # toplevel not given + # first, use filename as possible toplevel widget name + self.__toplevel = self.get_object(filename.rpartition('.')[0]) + + # next try lowercase filename as possible widget name + if not self.__toplevel: + self.__toplevel = self.get_object( + filename.rpartition('.')[0].lower()) + + if not self.__toplevel: + # if no match found, search for first toplevel widget + for obj in self.get_objects(): + if hasattr(obj, 'get_toplevel'): + self.__toplevel = obj.get_toplevel() + break + else: + self.__toplevel = None + + def __get_filename(self): + """ + __get_filename: return filename of glade file + @rtype: string + @return: filename of glade file + """ + return self.__filename + + filename = property(__get_filename) + + def __get_dirname(self): + """ + __get_dirname: return directory where glade file found + @rtype: string + @return: directory where glade file found + """ + return self.__dirname + + dirname = property(__get_dirname) + + def __get_toplevel(self): + """ + __get_toplevel: return toplevel object + @rtype: object + @return: toplevel object + """ + return self.__toplevel + + def __set_toplevel(self, toplevel): + """ + __set_toplevel: set toplevel object + + @type toplevel: string + @param toplevel: The name of the toplevel object to use + """ + self.__toplevel = self.get_object(toplevel) + + toplevel = property(__get_toplevel, __set_toplevel) + + def get_child_object(self, value, toplevel=None): + """ + get_child_object: search for a child object, by name, within a given + toplevel. If no toplevel argument is supplied, use + the toplevel attribute for this instance + @type value: string + @param value: The name of the child object to find + @type toplevel: string + @param toplevel: The name of the toplevel object to us + @rtype: object + @return: child object + """ + + if not toplevel: + toplevel = self.__toplevel + if not toplevel: + raise ValueError, "Top level object required" + + if isinstance(toplevel, basestring): + toplevel = self.get_object(toplevel) + + queue = [toplevel] + while queue: + obj = queue.pop(0) + if obj.get_name() == value: + return obj + if hasattr(obj, 'get_children'): + queue += obj.get_children() + else: + return None diff --git a/src/glade/Makefile.am b/src/glade/Makefile.am index 9615dd97a..0e5e125a4 100644 --- a/src/glade/Makefile.am +++ b/src/glade/Makefile.am @@ -5,14 +5,13 @@ pkgdatadir = $(datadir)/@PACKAGE@/glade dist_pkgdata_DATA = \ gramps.glade\ - edit_person.glade\ + editperson.glade\ mergedata.glade\ plugins.glade\ rule.glade\ scratchpad.glade\ - paper_settings.glade \ + papermenu.glade \ grampletview.glade \ - gramps.glade \ baseselector.glade \ reorder.glade \ tipofday.glade \ @@ -36,13 +35,10 @@ dist_pkgdata_DATA = \ editaddress.glade \ editmedia.glade \ editmediaref.glade \ - editaddress.glade \ editeventref.glade \ editldsord.glade \ - editmedia.glade \ editnote.glade \ editplace.glade \ editsourceref.glade \ editname.glade \ - editevent.glade \ - editurl.glade + editevent.glade diff --git a/src/glade/addmedia.glade b/src/glade/addmedia.glade index 9819c96a6..f53c9e832 100644 --- a/src/glade/addmedia.glade +++ b/src/glade/addmedia.glade @@ -2,7 +2,7 @@ - + 650 450 dialog diff --git a/src/glade/baseselector.glade b/src/glade/baseselector.glade index c6d4555f3..61b9496fa 100644 --- a/src/glade/baseselector.glade +++ b/src/glade/baseselector.glade @@ -2,7 +2,7 @@ - + True center-on-parent 600 diff --git a/src/glade/columnorder.glade b/src/glade/columnorder.glade index 514e02b58..265d55335 100644 --- a/src/glade/columnorder.glade +++ b/src/glade/columnorder.glade @@ -2,7 +2,7 @@ - + True dialog False diff --git a/src/glade/dateedit.glade b/src/glade/dateedit.glade index 5ddc9e340..822605587 100644 --- a/src/glade/dateedit.glade +++ b/src/glade/dateedit.glade @@ -24,7 +24,7 @@ 1 10 - + dialog False diff --git a/src/glade/dbmanager.glade b/src/glade/dbmanager.glade index 3ec6e64c7..afdd32679 100644 --- a/src/glade/dbmanager.glade +++ b/src/glade/dbmanager.glade @@ -287,7 +287,6 @@ - False Revision comment - GRAMPS True center-on-parent diff --git a/src/glade/displaystate.glade b/src/glade/displaystate.glade index df8f28785..64aa6fee6 100644 --- a/src/glade/displaystate.glade +++ b/src/glade/displaystate.glade @@ -2,7 +2,7 @@ - + True GRAMPS center-always diff --git a/src/glade/editaddress.glade b/src/glade/editaddress.glade index 90359ace6..fde84eb9b 100644 --- a/src/glade/editaddress.glade +++ b/src/glade/editaddress.glade @@ -3,7 +3,7 @@ - + dialog False diff --git a/src/glade/editattribute.glade b/src/glade/editattribute.glade index 00b309a96..14e3b7b0e 100644 --- a/src/glade/editattribute.glade +++ b/src/glade/editattribute.glade @@ -2,7 +2,7 @@ - + dialog False diff --git a/src/glade/editchildref.glade b/src/glade/editchildref.glade index 40e87635a..95243dcec 100644 --- a/src/glade/editchildref.glade +++ b/src/glade/editchildref.glade @@ -2,7 +2,7 @@ - + 600 400 dialog diff --git a/src/glade/editevent.glade b/src/glade/editevent.glade index 1bd9dd7e8..6e5597cc0 100644 --- a/src/glade/editevent.glade +++ b/src/glade/editevent.glade @@ -3,7 +3,7 @@ - + dialog False diff --git a/src/glade/editeventref.glade b/src/glade/editeventref.glade index 4cf67ea11..2b1e99351 100644 --- a/src/glade/editeventref.glade +++ b/src/glade/editeventref.glade @@ -3,7 +3,7 @@ - + 600 dialog False diff --git a/src/glade/editfamily.glade b/src/glade/editfamily.glade index 97802f7b0..01cd46036 100644 --- a/src/glade/editfamily.glade +++ b/src/glade/editfamily.glade @@ -2,7 +2,7 @@ - + dialog False diff --git a/src/glade/editldsord.glade b/src/glade/editldsord.glade index 36c6cdfae..cf3fecc2b 100644 --- a/src/glade/editldsord.glade +++ b/src/glade/editldsord.glade @@ -3,7 +3,7 @@ - + 600 450 dialog @@ -403,19 +403,19 @@ - + - + - + diff --git a/src/glade/editlocation.glade b/src/glade/editlocation.glade index ae552c15e..3e6cb1679 100644 --- a/src/glade/editlocation.glade +++ b/src/glade/editlocation.glade @@ -2,7 +2,7 @@ - + 550 dialog False diff --git a/src/glade/editmedia.glade b/src/glade/editmedia.glade index bd4b6d0b4..6e1fc57c1 100644 --- a/src/glade/editmedia.glade +++ b/src/glade/editmedia.glade @@ -3,7 +3,7 @@ - + dialog False diff --git a/src/glade/editmediaref.glade b/src/glade/editmediaref.glade index d132f206e..b684dbdbe 100644 --- a/src/glade/editmediaref.glade +++ b/src/glade/editmediaref.glade @@ -2,7 +2,7 @@ - + 600 450 dialog diff --git a/src/glade/editname.glade b/src/glade/editname.glade index df190a65c..a07c4ac93 100644 --- a/src/glade/editname.glade +++ b/src/glade/editname.glade @@ -3,7 +3,7 @@ - + 600 dialog @@ -636,13 +636,13 @@ - + - + diff --git a/src/glade/editnote.glade b/src/glade/editnote.glade index d7c527f02..b647d2baf 100644 --- a/src/glade/editnote.glade +++ b/src/glade/editnote.glade @@ -3,7 +3,7 @@ - + 500 400 dialog diff --git a/src/glade/edit_person.glade b/src/glade/editperson.glade similarity index 99% rename from src/glade/edit_person.glade rename to src/glade/editperson.glade index 3c807e8dc..833db7688 100644 --- a/src/glade/edit_person.glade +++ b/src/glade/editperson.glade @@ -2,7 +2,7 @@ - + True 500 dialog @@ -114,7 +114,6 @@ True gtk-edit - 4 @@ -330,7 +329,6 @@ True gramps-unlock - 4 @@ -595,13 +593,13 @@ Title: A title used to refer to the person, such as 'Dr.' or 'Rev.' - + - + diff --git a/src/glade/editplace.glade b/src/glade/editplace.glade index ba9b09681..485a82add 100644 --- a/src/glade/editplace.glade +++ b/src/glade/editplace.glade @@ -3,7 +3,7 @@ - + dialog False diff --git a/src/glade/editreporef.glade b/src/glade/editreporef.glade index a17af239d..da77518ee 100644 --- a/src/glade/editreporef.glade +++ b/src/glade/editreporef.glade @@ -2,7 +2,7 @@ - + dialog False diff --git a/src/glade/editrepository.glade b/src/glade/editrepository.glade index c209b64f2..ea58dbdfa 100644 --- a/src/glade/editrepository.glade +++ b/src/glade/editrepository.glade @@ -2,7 +2,7 @@ - + dialog False diff --git a/src/glade/editsource.glade b/src/glade/editsource.glade index 7e289c3fa..c158a13ad 100644 --- a/src/glade/editsource.glade +++ b/src/glade/editsource.glade @@ -1,11 +1,11 @@ - + - + dialog False - + True @@ -32,7 +32,7 @@ GTK_FILL - + @@ -48,7 +48,7 @@ 1 2 GTK_FILL - + @@ -60,7 +60,7 @@ 1 2 - + @@ -73,7 +73,7 @@ 2 1 2 - + @@ -89,7 +89,7 @@ 4 5 GTK_FILL - + @@ -102,7 +102,7 @@ 2 4 5 - + @@ -115,7 +115,7 @@ 2 3 4 - + @@ -131,7 +131,7 @@ 3 4 GTK_FILL - + @@ -146,7 +146,7 @@ 2 3 GTK_FILL - + @@ -168,7 +168,7 @@ True True False - Indicates if the record is private + Indicates if the record is private none @@ -216,9 +216,9 @@ True True False - Abandon changes and close window + Abandon changes and close window True - + False @@ -234,9 +234,9 @@ True True False - Accept changes and close window + Accept changes and close window True - + False @@ -252,7 +252,7 @@ True False True - + False diff --git a/src/glade/editsourceref.glade b/src/glade/editsourceref.glade index d867ca89e..6323c112b 100644 --- a/src/glade/editsourceref.glade +++ b/src/glade/editsourceref.glade @@ -3,7 +3,7 @@ - + 600 dialog False diff --git a/src/glade/editurl.glade b/src/glade/editurl.glade index 90d1ce8b7..89f0152cf 100644 --- a/src/glade/editurl.glade +++ b/src/glade/editurl.glade @@ -2,7 +2,7 @@ - + 600 dialog False diff --git a/src/glade/grampletview.glade b/src/glade/grampletview.glade index 02e92b374..33d0cfb0f 100644 --- a/src/glade/grampletview.glade +++ b/src/glade/grampletview.glade @@ -2,7 +2,7 @@ - + window2 diff --git a/src/glade/grampscfg.glade b/src/glade/grampscfg.glade index 3c911e1d5..c42fc93b3 100644 --- a/src/glade/grampscfg.glade +++ b/src/glade/grampscfg.glade @@ -2,7 +2,7 @@ - + True True 400 diff --git a/src/glade/mergedata.glade b/src/glade/mergedata.glade index ba6ba120d..2196da00a 100644 --- a/src/glade/mergedata.glade +++ b/src/glade/mergedata.glade @@ -2,7 +2,7 @@ - + True 450 dialog @@ -233,7 +233,7 @@ place_help - + True 700 500 @@ -440,7 +440,7 @@ merge_help - + 500 dialog False @@ -948,7 +948,7 @@ source_help - + True 300 dialog diff --git a/src/glade/paper_settings.glade b/src/glade/papermenu.glade similarity index 99% rename from src/glade/paper_settings.glade rename to src/glade/papermenu.glade index 725686112..ff610e272 100644 --- a/src/glade/paper_settings.glade +++ b/src/glade/papermenu.glade @@ -2,7 +2,7 @@ - + Paper Settings diff --git a/src/glade/questiondialog.glade b/src/glade/questiondialog.glade index 2ddf4622d..10d19d648 100644 --- a/src/glade/questiondialog.glade +++ b/src/glade/questiondialog.glade @@ -728,7 +728,7 @@ button11 - + dialog False diff --git a/src/glade/scratchpad.glade b/src/glade/scratchpad.glade index c51f3054d..4410f2b0d 100644 --- a/src/glade/scratchpad.glade +++ b/src/glade/scratchpad.glade @@ -2,7 +2,7 @@ - + True Clipboard 500 diff --git a/src/glade/styleeditor.glade b/src/glade/styleeditor.glade index 374cd84b4..f18603830 100644 --- a/src/glade/styleeditor.glade +++ b/src/glade/styleeditor.glade @@ -3,7 +3,6 @@ - True 400 300 dialog diff --git a/src/glade/tipofday.glade b/src/glade/tipofday.glade index 6e2448c98..4a73904d6 100644 --- a/src/glade/tipofday.glade +++ b/src/glade/tipofday.glade @@ -2,7 +2,7 @@ - + True 8 window1 diff --git a/src/plugins/BookReport.py b/src/plugins/BookReport.py index c2a26c2aa..e344e7037 100644 --- a/src/plugins/BookReport.py +++ b/src/plugins/BookReport.py @@ -29,7 +29,6 @@ # Standard Python modules # #------------------------------------------------------------------------- -import os from gettext import gettext as _ #------------------------------------------------------------------------ @@ -39,6 +38,7 @@ from gettext import gettext as _ #------------------------------------------------------------------------ import logging log = logging.getLogger(".BookReport") +import os #------------------------------------------------------------------------- # @@ -59,7 +59,6 @@ except: #------------------------------------------------------------------------- import gtk import gobject -from gtk import RESPONSE_OK #------------------------------------------------------------------------- # @@ -75,6 +74,7 @@ from QuestionDialog import WarningDialog, ErrorDialog from gen.plug import PluginManager from gen.plug.menu import PersonOption, FilterOption, FamilyOption import ManagedWindow +from glade import Glade # Import from specific modules in ReportBase from ReportBase import CATEGORY_BOOK, book_categories @@ -570,11 +570,8 @@ class BookListDisplay: self.booklist = booklist self.dosave = dosave - base = os.path.dirname(__file__) - glade_file = os.path.join(base,"book.glade") - self.xml = gtk.Builder() - self.xml.add_from_source(glade_file) - self.top = self.xml.get_object('booklist') + self.xml = Glade() + self.top = self.xml.toplevel ManagedWindow.set_titles(self.top, self.xml.get_object('title'),_('Available Books')) @@ -683,12 +680,9 @@ class BookReportSelector(ManagedWindow.ManagedWindow): ManagedWindow.ManagedWindow.__init__(self, uistate, [], self.__class__) - base = os.path.dirname(__file__) - glade_file = os.path.join(base,"book.glade") + self.xml = Glade(toplevel="top") + window = self.xml.toplevel - self.xml = gtk.Builder() - self.xml.add_from_file(glade_file) - window = self.xml.get_object("top") title_label = self.xml.get_object('title') self.set_window(window, title_label, self.title) window.show() @@ -884,7 +878,7 @@ class BookReportSelector(ManagedWindow.ManagedWindow): item.get_translated_name(), self.track) response = item_dialog.window.run() - if response == RESPONSE_OK: + if response == gtk.RESPONSE_OK: subject = _get_subject(option_class, self.db) self.bk_model.model.set_value(the_iter, 2, subject) self.book.set_item(row, item) @@ -1134,7 +1128,7 @@ class BookReportDialog(DocReportDialog): this_style_name,style_sheet.get_cell_style(this_style_name)) response = self.window.run() - if response == RESPONSE_OK: + if response == gtk.RESPONSE_OK: try: self.make_report() except (IOError,OSError),msg: diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am index 1713e3214..fcac00a93 100644 --- a/src/plugins/Makefile.am +++ b/src/plugins/Makefile.am @@ -28,7 +28,7 @@ pkgpyexecdir = @pkgpyexecdir@/plugins pkgpythondir = @pkgpythondir@/plugins GLADEFILES = \ - book.glade + bookreport.glade GRAPHICS = diff --git a/src/plugins/book.glade b/src/plugins/bookreport.glade similarity index 97% rename from src/plugins/book.glade rename to src/plugins/bookreport.glade index 713a1bf67..d294ee2dd 100644 --- a/src/plugins/book.glade +++ b/src/plugins/bookreport.glade @@ -77,7 +77,6 @@ True gtk-clear - 4 @@ -99,7 +98,6 @@ True gtk-save - 4 @@ -121,7 +119,6 @@ True gtk-open - 4 @@ -143,7 +140,6 @@ True gtk-index - 4 @@ -288,7 +284,6 @@ True gtk-add - 4 @@ -310,7 +305,6 @@ True gtk-remove - 4 @@ -332,7 +326,6 @@ True gtk-go-up - 4 @@ -354,7 +347,6 @@ True gtk-go-down - 4 @@ -376,7 +368,6 @@ True gtk-preferences - 4 @@ -456,7 +447,7 @@ - + 300 normal False diff --git a/src/plugins/docgen/GtkPrint.py b/src/plugins/docgen/GtkPrint.py index 3d3da272a..859125955 100644 --- a/src/plugins/docgen/GtkPrint.py +++ b/src/plugins/docgen/GtkPrint.py @@ -31,7 +31,7 @@ #------------------------------------------------------------------------ from gettext import gettext as _ from math import radians -import os + ##try: ##from cStringIO import StringIO ##except: @@ -46,6 +46,7 @@ import BaseDoc import libcairodoc from gen.plug import PluginManager, DocGenPlugin import Errors +from glade import Glade #------------------------------------------------------------------------ # @@ -87,9 +88,6 @@ MARGIN = 6 ZOOM_FIT_WIDTH, ZOOM_FREE,) = range(3) -# glade file -_GLADE_FILE = 'gtkprintpreview.glade' - #------------------------------------------------------------------------ # # Converter functions @@ -201,13 +199,9 @@ class PrintPreview: def __build_window(self): """Build the window from Glade. """ - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - glade_xml = gtk.Builder() - glade_xml.add_from_file(glade_file) - self._window = glade_xml.get_object('window') + glade_xml = Glade() + self._window = glade_xml.toplevel #self._window.set_transient_for(parent) # remember active widgets for future use diff --git a/src/plugins/docgen/gtkprintpreview.glade b/src/plugins/docgen/gtkprint.glade similarity index 50% rename from src/plugins/docgen/gtkprintpreview.glade rename to src/plugins/docgen/gtkprint.glade index cc87a8dad..ee3a10dbf 100644 --- a/src/plugins/docgen/gtkprintpreview.glade +++ b/src/plugins/docgen/gtkprint.glade @@ -1,44 +1,27 @@ - - + + + Print Preview - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_CENTER True + center 800 600 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - True - False - + True - False - 0 True - GTK_ORIENTATION_HORIZONTAL - GTK_TOOLBAR_ICONS - True - True + icons True - Closes print preview window + Closes print preview window gtk-quit - True - True - False - + False @@ -48,12 +31,9 @@ False - Prints the current file + Prints the current file gtk-print - True - True - False - + False @@ -63,25 +43,19 @@ True - True - True - True False - False True False - Shows the first page - gtk-goto-first - True - True + Shows the first page True - + gtk-goto-first + False @@ -92,12 +66,10 @@ True False - Shows previous page - gtk-go-back - True - True + Shows previous page True - + gtk-go-back + False @@ -108,12 +80,10 @@ True False - Shows the next page - gtk-go-forward - True - True + Shows the next page True - + gtk-go-forward + False @@ -124,12 +94,10 @@ True False - Shows the last page - gtk-goto-last - True - True + Shows the last page True - + gtk-goto-last + False @@ -139,67 +107,38 @@ True - True - True - True False - False True - True - True - False True - False 6 True - True - True - 0 - - True - False 6 - + - 0 False - True + 0 True of 8 - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - 0 False - True + 1 @@ -207,32 +146,22 @@ False - False True - True - True - True False - False True - Zooms to fit the page width - + Zooms to fit the page width True - True - True - False - False - + False @@ -242,13 +171,9 @@ True - Zooms to fit the whole page + Zooms to fit the whole page gtk-zoom-fit - True - True - False - False - + False @@ -258,12 +183,9 @@ True - Zooms the page in + Zooms the page in gtk-zoom-in - True - True - False - + False @@ -273,12 +195,9 @@ True - Zooms the page out + Zooms the page out gtk-zoom-out - True - True - False - + False @@ -287,36 +206,34 @@ - 0 False False + 0 True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - + False + automatic + automatic + in + True - GTK_SHADOW_NONE + none True - + - 0 - True - True + 1 diff --git a/src/plugins/export/ExportCsv.py b/src/plugins/export/ExportCsv.py index 86644932e..e6576c189 100644 --- a/src/plugins/export/ExportCsv.py +++ b/src/plugins/export/ExportCsv.py @@ -34,13 +34,6 @@ import csv import cStringIO import codecs -#------------------------------------------------------------------------- -# -# GNOME/GTK modules -# -#------------------------------------------------------------------------- -import gtk - #------------------------------------------------------------------------ # # Set up logging @@ -61,13 +54,7 @@ from QuestionDialog import ErrorDialog from gen.plug import PluginManager, ExportPlugin import gen.proxy import DateHandler - -#------------------------------------------------------------------------- -# -# Constants -# -#------------------------------------------------------------------------- -_GLADE_FILE = "ExportCsv.glade" +from glade import Glade #------------------------------------------------------------------------- # @@ -179,12 +166,7 @@ class CSVWriterOptionBox: self.translate_headers = 1 def get_option_box(self): - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - self.topDialog = gtk.Builder() - self.topDialog.add_from_file(glade_file) + self.topDialog = Glade() self.filters = self.topDialog.get_object("filter") all = GenericFilter() @@ -223,7 +205,7 @@ class CSVWriterOptionBox: the_box = self.topDialog.get_object('vbox1') the_parent = self.topDialog.get_object('dialog-vbox1') the_parent.remove(the_box) - self.topDialog.get_object("csvExport").destroy() + self.topDialog.toplevel.destroy() return the_box def parse_options(self): diff --git a/src/plugins/export/ExportFtree.py b/src/plugins/export/ExportFtree.py index bc1759b84..6fc21b044 100644 --- a/src/plugins/export/ExportFtree.py +++ b/src/plugins/export/ExportFtree.py @@ -39,13 +39,6 @@ from gettext import gettext as _ import logging log = logging.getLogger(".WriteFtree") -#------------------------------------------------------------------------- -# -# GNOME/GTK modules -# -#------------------------------------------------------------------------- -import gtk - #------------------------------------------------------------------------- # # GRAMPS modules @@ -56,13 +49,7 @@ from Filters import GenericFilter, Rules, build_filter_model import Errors from QuestionDialog import ErrorDialog from gen.plug import PluginManager, ExportPlugin - -#------------------------------------------------------------------------- -# -# Constants -# -#------------------------------------------------------------------------- -_GLADE_FILE = "ExportFtree.glade" +from glade import Glade #------------------------------------------------------------------------- # @@ -83,12 +70,7 @@ class FtreeWriterOptionBox: self.restrict = True def get_option_box(self): - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - self.top = gtk.Builder() - self.top.add_from_file(glade_file) + self.top = Glade() self.filters = self.top.get_object("filter") @@ -128,7 +110,7 @@ class FtreeWriterOptionBox: the_box = self.top.get_object("vbox1") the_parent = self.top.get_object('dialog-vbox1') the_parent.remove(the_box) - self.top.get_object("top").destroy() + self.top.toplevel.destroy() return the_box def parse_options(self): diff --git a/src/plugins/export/ExportGeneWeb.py b/src/plugins/export/ExportGeneWeb.py index f002df0d9..f72d5d87c 100644 --- a/src/plugins/export/ExportGeneWeb.py +++ b/src/plugins/export/ExportGeneWeb.py @@ -32,13 +32,6 @@ import os from gettext import gettext as _ -#------------------------------------------------------------------------- -# -# GNOME/GTK modules -# -#------------------------------------------------------------------------- -import gtk - #------------------------------------------------------------------------ # # Set up logging @@ -58,17 +51,11 @@ from Filters import GenericFilter, Rules, build_filter_model import Utils from QuestionDialog import ErrorDialog from gen.plug import PluginManager, ExportPlugin +from glade import Glade #------------------------------------------------------------------------- # -# Constants -# -#------------------------------------------------------------------------- -_GLADE_FILE = "ExportGeneWeb.glade" - -#------------------------------------------------------------------------- -# -# +# GeneWebWriterOptionBox class # #------------------------------------------------------------------------- class GeneWebWriterOptionBox: @@ -83,12 +70,7 @@ class GeneWebWriterOptionBox: def get_option_box(self): self.restrict = 1 - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - self.topDialog = gtk.Builder() - self.topDialog.add_from_file(glade_file) + self.topDialog = Glade() self.topDialog.connect_signals({ "on_restrict_toggled": self.on_restrict_toggled }) @@ -132,7 +114,7 @@ class GeneWebWriterOptionBox: the_box = self.topDialog.get_object('vbox1') the_parent = self.topDialog.get_object('dialog-vbox1') the_parent.remove(the_box) - self.topDialog.get_object("genewebExport").destroy() + self.topDialog.toplevel.destroy() return the_box def on_restrict_toggled(self, restrict): diff --git a/src/plugins/export/ExportVCalendar.py b/src/plugins/export/ExportVCalendar.py index 87f7aa808..41fdcd062 100644 --- a/src/plugins/export/ExportVCalendar.py +++ b/src/plugins/export/ExportVCalendar.py @@ -33,13 +33,6 @@ import sys from time import localtime from gettext import gettext as _ -#------------------------------------------------------------------------- -# -# GNOME/GTK modules -# -#------------------------------------------------------------------------- -import gtk - #------------------------------------------------------------------------ # # Set up logging @@ -59,17 +52,11 @@ from gen.lib import Date, EventType import Errors from QuestionDialog import ErrorDialog from gen.plug import PluginManager, ExportPlugin +from glade import Glade #------------------------------------------------------------------------- # -# Constants -# -#------------------------------------------------------------------------- -_GLADE_FILE = "ExportVCalendar.glade" - -#------------------------------------------------------------------------- -# -# +# CalendarWriterOptionBox class # #------------------------------------------------------------------------- class CalendarWriterOptionBox: @@ -81,12 +68,7 @@ class CalendarWriterOptionBox: def __init__(self, person): self.person = person - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - self.topDialog = gtk.Builder() - self.topDialog.add_from_file(glade_file) + self.topDialog = Glade() self.copy = 0 def get_option_box(self): @@ -128,7 +110,7 @@ class CalendarWriterOptionBox: the_box = self.topDialog.get_object('vbox1') the_parent = self.topDialog.get_object('dialog-vbox1') the_parent.remove(the_box) - self.topDialog.get_object("calendarExport").destroy() + self.topDialog.toplevel.destroy() return the_box def parse_options(self): diff --git a/src/plugins/export/ExportVCard.py b/src/plugins/export/ExportVCard.py index 5a7ce05c8..261a037cc 100644 --- a/src/plugins/export/ExportVCard.py +++ b/src/plugins/export/ExportVCard.py @@ -28,8 +28,8 @@ # Standard Python Modules # #------------------------------------------------------------------------- -import os import sys +import os from gettext import gettext as _ #------------------------------------------------------------------------ @@ -40,13 +40,6 @@ from gettext import gettext as _ import logging log = logging.getLogger(".ExportVCard") -#------------------------------------------------------------------------- -# -# GNOME/GTK modules -# -#------------------------------------------------------------------------- -import gtk - #------------------------------------------------------------------------- # # GRAMPS modules @@ -57,17 +50,11 @@ from gen.lib import Date import Errors from QuestionDialog import ErrorDialog from gen.plug import PluginManager, ExportPlugin +from glade import Glade #------------------------------------------------------------------------- # -# Constants -# -#------------------------------------------------------------------------- -_GLADE_FILE = "ExportVCard.glade" - -#------------------------------------------------------------------------- -# -# +# CardWriterOptionBox class # #------------------------------------------------------------------------- class CardWriterOptionBox: @@ -81,12 +68,7 @@ class CardWriterOptionBox: def get_option_box(self): - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - self.topDialog = gtk.Builder() - self.topDialog.add_from_file(glade_file) + self.topDialog = Glade() self.filters = self.topDialog.get_object("filter") self.copy = 0 @@ -127,7 +109,7 @@ class CardWriterOptionBox: the_box = self.topDialog.get_object('vbox1') the_parent = self.topDialog.get_object('dialog-vbox1') the_parent.remove(the_box) - self.topDialog.get_object("vcardExport").destroy() + self.topDialog.toplevel.destroy() return the_box def parse_options(self): diff --git a/src/plugins/export/Makefile.am b/src/plugins/export/Makefile.am index 1f2a7ba15..89c41b761 100644 --- a/src/plugins/export/Makefile.am +++ b/src/plugins/export/Makefile.am @@ -20,11 +20,12 @@ pkgpyexecdir = @pkgpyexecdir@/plugins/export pkgpythondir = @pkgpythondir@/plugins/export GLADEFILES = \ - ExportCsv.glade \ - ExportFtree.glade \ - ExportGeneWeb.glade \ - ExportVCalendar.glade \ - ExportVCard.glade + exportcsv.glade \ + exportftree.glade \ + exportgeneweb.glade \ + exportvcalendar.glade \ + exportvcard.glade + GRAPHICS = diff --git a/src/plugins/export/ExportCsv.glade b/src/plugins/export/exportcsv.glade similarity index 99% rename from src/plugins/export/ExportCsv.glade rename to src/plugins/export/exportcsv.glade index c84ff44ec..5b220fdc8 100644 --- a/src/plugins/export/ExportCsv.glade +++ b/src/plugins/export/exportcsv.glade @@ -2,7 +2,7 @@ - + True True 400 diff --git a/src/plugins/export/ExportFtree.glade b/src/plugins/export/exportftree.glade similarity index 99% rename from src/plugins/export/ExportFtree.glade rename to src/plugins/export/exportftree.glade index 951593c0c..690202b63 100644 --- a/src/plugins/export/ExportFtree.glade +++ b/src/plugins/export/exportftree.glade @@ -2,7 +2,7 @@ - + True True 480 diff --git a/src/plugins/export/ExportGeneWeb.glade b/src/plugins/export/exportgeneweb.glade similarity index 97% rename from src/plugins/export/ExportGeneWeb.glade rename to src/plugins/export/exportgeneweb.glade index 8aee966d0..cc2323f27 100644 --- a/src/plugins/export/ExportGeneWeb.glade +++ b/src/plugins/export/exportgeneweb.glade @@ -2,7 +2,7 @@ - + True True 400 @@ -131,6 +131,9 @@ + + + 1 @@ -210,6 +213,12 @@ + + + + + + False @@ -235,7 +244,7 @@ True False True - + False diff --git a/src/plugins/export/ExportVCalendar.glade b/src/plugins/export/exportvcalendar.glade similarity index 99% rename from src/plugins/export/ExportVCalendar.glade rename to src/plugins/export/exportvcalendar.glade index 3c2115723..1ca6e7172 100644 --- a/src/plugins/export/ExportVCalendar.glade +++ b/src/plugins/export/exportvcalendar.glade @@ -2,7 +2,7 @@ - + True True 400 diff --git a/src/plugins/export/ExportVCard.glade b/src/plugins/export/exportvcard.glade similarity index 99% rename from src/plugins/export/ExportVCard.glade rename to src/plugins/export/exportvcard.glade index 9d001e243..330980f9e 100644 --- a/src/plugins/export/ExportVCard.glade +++ b/src/plugins/export/exportvcard.glade @@ -2,7 +2,7 @@ - + True True 400 diff --git a/src/plugins/import/ImportGedcom.py b/src/plugins/import/ImportGedcom.py index 635d77fbf..daaaa01b3 100644 --- a/src/plugins/import/ImportGedcom.py +++ b/src/plugins/import/ImportGedcom.py @@ -27,9 +27,7 @@ # python modules # #------------------------------------------------------------------------ -import os from gettext import gettext as _ -import gtk #------------------------------------------------------------------------ # @@ -49,6 +47,7 @@ from GrampsDbUtils._GedcomParse import GedcomParser from GrampsDbUtils._GedcomStageOne import StageOne from QuestionDialog import ErrorDialog, DBErrorDialog from gen.plug import PluginManager, ImportPlugin +from glade import Glade try: import Config @@ -57,13 +56,6 @@ except ImportError: LOG.warn("No Config module available using defaults.") DEFAULT_SOURCE = False -#------------------------------------------------------------------------- -# -# Constants -# -#------------------------------------------------------------------------- -_GLADE_FILE = "ImportGedcom.glade" - #------------------------------------------------------------------------- # # importData @@ -91,14 +83,10 @@ def importData(database, filename, callback=None): ifile.close() if not gramps and ansel: - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - top = gtk.Builder() - top.add_from_file(glade_file) + top = Glade() code = top.get_object('codeset') code.set_active(0) - dialog = top.get_object('encoding') + dialog = top.toplevel dialog.run() enc = ['ANSEL', 'ANSEL', 'ANSI', 'ASCII', 'UTF-8'] code_set = enc[ code.get_active()] diff --git a/src/plugins/import/Makefile.am b/src/plugins/import/Makefile.am index 21aa3c8fe..00d8a163e 100644 --- a/src/plugins/import/Makefile.am +++ b/src/plugins/import/Makefile.am @@ -19,7 +19,7 @@ pkgpyexecdir = @pkgpyexecdir@/plugins/import pkgpythondir = @pkgpythondir@/plugins/import GLADEFILES = \ - ImportGedcom.glade + importgedcom.glade GRAPHICS = diff --git a/src/plugins/import/ImportGedcom.glade b/src/plugins/import/importgedcom.glade similarity index 99% rename from src/plugins/import/ImportGedcom.glade rename to src/plugins/import/importgedcom.glade index 65f0b97fb..922369e8d 100644 --- a/src/plugins/import/ImportGedcom.glade +++ b/src/plugins/import/importgedcom.glade @@ -375,7 +375,7 @@ - + 400 GRAMPS - GEDCOM Encoding center-on-parent diff --git a/src/plugins/tool/ChangeNames.py b/src/plugins/tool/ChangeNames.py index 331b9cc72..cbe1a0b0a 100644 --- a/src/plugins/tool/ChangeNames.py +++ b/src/plugins/tool/ChangeNames.py @@ -23,13 +23,6 @@ """Tools/Database Processing/Fix Capitalization of Family Names""" -#------------------------------------------------------------------------- -# -# python modules -# -#------------------------------------------------------------------------- -import os - #------------------------------------------------------------------------- # # gnome/gtk @@ -52,6 +45,8 @@ from QuestionDialog import OkDialog from PluginUtils import Tool from gen.plug import PluginManager from TransUtils import sgettext as _ +from glade import Glade + #------------------------------------------------------------------------- # # constants @@ -177,11 +172,8 @@ class ChangeNames(Tool.BatchTool, ManagedWindow.ManagedWindow): def display(self): - base = os.path.dirname(__file__) - glade_file = os.path.join(base,"changenames.glade") - self.top = gtk.Builder() - self.top.add_from_file(glade_file) - window = self.top.get_object('top') + self.top = Glade() + window = self.top.toplevel self.top.connect_signals({ "destroy_passed_object" : self.close, "on_ok_clicked" : self.on_ok_clicked, diff --git a/src/plugins/tool/ChangeTypes.py b/src/plugins/tool/ChangeTypes.py index 676e53102..65fd17e4b 100644 --- a/src/plugins/tool/ChangeTypes.py +++ b/src/plugins/tool/ChangeTypes.py @@ -28,17 +28,9 @@ # standard python modules # #------------------------------------------------------------------------ -import os from gettext import gettext as _ from gettext import ngettext -#------------------------------------------------------------------------ -# -# GNOME/GTK modules -# -#------------------------------------------------------------------------ -import gtk - #------------------------------------------------------------------------ # # GRAMPS modules @@ -52,6 +44,7 @@ from gen.lib import EventType from QuestionDialog import OkDialog from PluginUtils import Tool from gen.plug import PluginManager +from glade import Glade #------------------------------------------------------------------------- # @@ -84,12 +77,7 @@ class ChangeTypes(Tool.BatchTool, ManagedWindow.ManagedWindow): def init_gui(self): # Draw dialog and make it handle everything - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - self.glade = gtk.Builder() - self.glade.add_from_file(glade_file) + self.glade = Glade() self.auto1 = self.glade.get_object("original") self.auto2 = self.glade.get_object("new") @@ -108,7 +96,7 @@ class ChangeTypes(Tool.BatchTool, ManagedWindow.ManagedWindow): etype.set_from_xml_str(self.options.handler.options_dict['totype']) self.auto2.child.set_text(str(etype)) - window = self.glade.get_object('top') + window = self.glade.toplevel self.set_window(window,self.glade.get_object('title'),self.title) self.glade.connect_signals({ diff --git a/src/plugins/tool/Check.py b/src/plugins/tool/Check.py index e4f0eba36..e640ab069 100644 --- a/src/plugins/tool/Check.py +++ b/src/plugins/tool/Check.py @@ -64,6 +64,7 @@ from PluginUtils import Tool from gen.plug import PluginManager from QuestionDialog import OkDialog, MissingMediaDialog from BasicUtils import name_displayer as _nd +from glade import Glade #------------------------------------------------------------------------- # @@ -1628,14 +1629,9 @@ class Report(ManagedWindow.ManagedWindow): ManagedWindow.ManagedWindow.__init__(self, uistate, [], self) - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - topDialog = gtk.Builder() - topDialog.add_from_file(glade_file) + topDialog = Glade() topDialog.get_object("close").connect('clicked',self.close) - window = topDialog.get_object ("summary") + window = topDialog.toplevel textwindow = topDialog.get_object("textwindow") textwindow.get_buffer().set_text(text) diff --git a/src/plugins/tool/Desbrowser.py b/src/plugins/tool/Desbrowser.py index ded77bdf7..76a0ffa74 100644 --- a/src/plugins/tool/Desbrowser.py +++ b/src/plugins/tool/Desbrowser.py @@ -23,13 +23,6 @@ """Tools/Analysis and Exploration/Interactive Descendant Browser""" -#------------------------------------------------------------------------ -# -# standard python modules -# -#------------------------------------------------------------------------ -import os - #------------------------------------------------------------------------ # # GTK/GNOME modules @@ -49,6 +42,8 @@ from gen.plug import PluginManager import GrampsDisplay import ManagedWindow from TransUtils import sgettext as _ +from glade import Glade + #------------------------------------------------------------------------ # # Constants @@ -56,7 +51,6 @@ from TransUtils import sgettext as _ #------------------------------------------------------------------------ WIKI_HELP_PAGE = '%s_-_Tools' % const.URL_MANUAL_PAGE WIKI_HELP_SEC = _('manual|Interactive_Descendant_Browser...') -_GLADE_FILE = "desbrowse.glade" class DesBrowse(Tool.ActivePersonTool, ManagedWindow.ManagedWindow): @@ -74,18 +68,13 @@ class DesBrowse(Tool.ActivePersonTool, ManagedWindow.ManagedWindow): ManagedWindow.ManagedWindow.__init__(self, uistate, [], self) - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - self.glade = gtk.Builder() - self.glade.add_from_file(glade_file) + self.glade = Glade() self.glade.connect_signals({ "destroy_passed_object" : self.close, "on_help_clicked" : self.on_help_clicked, }) - window = self.glade.get_object("top") + window = self.glade.toplevel self.set_window(window,self.glade.get_object('title'), self.active_name) diff --git a/src/plugins/tool/Eval.py b/src/plugins/tool/Eval.py index 78edef1ad..34c64f52a 100644 --- a/src/plugins/tool/Eval.py +++ b/src/plugins/tool/Eval.py @@ -29,18 +29,10 @@ Provide a python evaluation window # standard python modules # #------------------------------------------------------------------------ -import os import cStringIO import sys from gettext import gettext as _ -#------------------------------------------------------------------------ -# -# GNOME/GTK modules -# -#------------------------------------------------------------------------ -import gtk - #------------------------------------------------------------------------ # # GRAMPS modules @@ -49,13 +41,7 @@ import gtk from PluginUtils import Tool from gen.plug import PluginManager import ManagedWindow - -#------------------------------------------------------------------------- -# -# Constants -# -#------------------------------------------------------------------------- -_GLADE_FILE = "eval.glade" +from glade import Glade #------------------------------------------------------------------------- # @@ -69,16 +55,11 @@ class Eval(Tool.Tool,ManagedWindow.ManagedWindow): Tool.Tool.__init__(self,dbstate, options_class, name) ManagedWindow.ManagedWindow.__init__(self,uistate,[],self.__class__) - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) + self.glade = Glade() - self.glade = gtk.Builder() - self.glade.add_from_file(glade_file) - - window = self.glade.get_object("top") + window = self.glade.toplevel self.dbuf = self.glade.get_object("display").get_buffer() - self.ebuf = self.glade.get_object("eval").get_buffer() + self.ebuf = self.glade.get_object("ebuf").get_buffer() self.error = self.glade.get_object("error").get_buffer() self.glade.connect_signals({ diff --git a/src/plugins/tool/EventCmp.py b/src/plugins/tool/EventCmp.py index 12cef1b82..c74180e49 100644 --- a/src/plugins/tool/EventCmp.py +++ b/src/plugins/tool/EventCmp.py @@ -29,7 +29,6 @@ # #------------------------------------------------------------------------ import os -import sys #------------------------------------------------------------------------ # @@ -57,6 +56,7 @@ from ReportBase import ReportUtils import GrampsDisplay import ManagedWindow from TransUtils import sgettext as _ +from glade import Glade #------------------------------------------------------------------------- @@ -121,14 +121,9 @@ class EventComparison(Tool.Tool,ManagedWindow.ManagedWindow): Tool.Tool.__init__(self,dbstate, options_class, name) ManagedWindow.ManagedWindow.__init__(self, uistate, [], self) - - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) self.qual = 0 - self.filterDialog = gtk.Builder() - self.filterDialog.add_from_file(glade_file) + self.filterDialog = Glade(toplevel="filters") self.filterDialog.connect_signals({ "on_apply_clicked" : self.on_apply_clicked, "on_editor_clicked" : self.filter_editor_clicked, @@ -137,7 +132,7 @@ class EventComparison(Tool.Tool,ManagedWindow.ManagedWindow): "destroy_passed_object" : self.close }) - window = self.filterDialog.get_object("filters") + window = self.filterDialog.toplevel window.show() self.filters = self.filterDialog.get_object("filter_list") self.label = _('Event comparison filter selection') @@ -228,19 +223,14 @@ class DisplayChart(ManagedWindow.ManagedWindow): self.row_data = [] self.save_form = None - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - self.topDialog = gtk.Builder() - self.topDialog.add_from_file(glade_file) + self.topDialog = Glade() self.topDialog.connect_signals({ "on_write_table" : self.on_write_table, "destroy_passed_object" : self.close, "on_help_clicked" : self.on_help_clicked, }) - window = self.topDialog.get_object("view") + window = self.topDialog.toplevel window.show() self.set_window(window, self.topDialog.get_object('title'), _('Event Comparison Results')) diff --git a/src/plugins/tool/ExtractCity.py b/src/plugins/tool/ExtractCity.py index 8edd6113f..7c20b88c8 100644 --- a/src/plugins/tool/ExtractCity.py +++ b/src/plugins/tool/ExtractCity.py @@ -30,7 +30,6 @@ # #------------------------------------------------------------------------- import re -import os from gettext import gettext as _ #------------------------------------------------------------------------- @@ -52,6 +51,7 @@ import GrampsDisplay from PluginUtils import Tool from gen.plug import PluginManager import Utils +from glade import Glade CITY_STATE_ZIP = re.compile("((\w|\s)+)\s*,\s*((\w|\s)+)\s*(,\s*((\d|-)+))", re.UNICODE) CITY_STATE = re.compile("((?:\w|\s)+(?:-(?:\w|\s)+)*),((?:\w|\s)+)", re.UNICODE) @@ -512,11 +512,8 @@ class ExtractCity(Tool.BatchTool, ManagedWindow.ManagedWindow): def display(self): - base = os.path.dirname(__file__) - glade_file = os.path.join(base, "changenames.glade") - self.top = gtk.Builder() - self.top.add_from_file(glade_file) - window = self.top.get_object('top') + self.top = Glade("changenames.glade") + window = self.top.toplevel self.top.connect_signals({ "destroy_passed_object" : self.close, "on_ok_clicked" : self.on_ok_clicked, diff --git a/src/plugins/tool/FindDupes.py b/src/plugins/tool/FindDupes.py index 2af666ba4..de3c77f9f 100644 --- a/src/plugins/tool/FindDupes.py +++ b/src/plugins/tool/FindDupes.py @@ -23,13 +23,6 @@ """Tools/Database Processing/Find Possible Duplicate People""" -#------------------------------------------------------------------------- -# -# standard python models -# -#------------------------------------------------------------------------- -import os - #------------------------------------------------------------------------- # # GNOME libraries @@ -57,6 +50,8 @@ from PluginUtils import Tool from gen.plug import PluginManager from QuestionDialog import ErrorDialog, RunDatabaseRepair from TransUtils import sgettext as _ +from glade import Glade + #------------------------------------------------------------------------- # # Constants @@ -109,12 +104,7 @@ class Merge(Tool.Tool,ManagedWindow.ManagedWindow): self.update = callback self.use_soundex = 1 - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - top = gtk.Builder() - top.add_from_file(glade_file) + top = Glade() # retrieve options threshold = self.options.handler.options_dict['threshold'] @@ -134,7 +124,7 @@ class Merge(Tool.Tool,ManagedWindow.ManagedWindow): self.menu.set_model(my_menu) self.menu.set_active(0) - window = top.get_object('dialog') + window = top.toplevel window.show() self.set_window(window, top.get_object('title'), _('Find Possible Duplicate People')) @@ -551,14 +541,8 @@ class ShowMatches(ManagedWindow.ManagedWindow): self.dbstate = dbstate self.uistate = uistate - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - top = gtk.Builder() - top.add_from_file(glade_file) - - window = top.get_object("mergelist") + top = Glade(toplevel="mergelist") + window = top.toplevel window.show() self.set_window(window, top.get_object('title'), _('Potential Merges')) diff --git a/src/plugins/tool/Leak.py b/src/plugins/tool/Leak.py index 390114c38..6b3504d6f 100644 --- a/src/plugins/tool/Leak.py +++ b/src/plugins/tool/Leak.py @@ -30,7 +30,6 @@ Show uncollected objects in a window. # standard python modules # #------------------------------------------------------------------------ -import os from gettext import gettext as _ from bsddb.db import DBError @@ -52,13 +51,7 @@ from PluginUtils import Tool from gen.plug import PluginManager import ManagedWindow from QuestionDialog import InfoDialog - -#------------------------------------------------------------------------- -# -# Constants -# -#------------------------------------------------------------------------- -_GLADE_FILE = "leak.glade" +from glade import Glade #------------------------------------------------------------------------- # @@ -72,14 +65,9 @@ class Leak(Tool.Tool,ManagedWindow.ManagedWindow): Tool.Tool.__init__(self,dbstate, options_class, name) ManagedWindow.ManagedWindow.__init__(self,uistate,[],self.__class__) - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) + self.glade = Glade() - self.glade = gtk.Builder() - self.glade.add_from_file(glade_file) - - self.window = self.glade.get_object("top") + self.window = self.glade.toplevel self.scroll = self.glade.get_object("scrolledwindow1") #add a listview to the scrollable self.list = gtk.TreeView() diff --git a/src/plugins/tool/Makefile.am b/src/plugins/tool/Makefile.am index ddce2a769..68bf48846 100644 --- a/src/plugins/tool/Makefile.am +++ b/src/plugins/tool/Makefile.am @@ -38,20 +38,22 @@ pkgpythondir = @pkgpythondir@/plugins/tool GLADEFILES = \ changenames.glade \ - changetype.glade \ - desbrowse.glade \ + changetypes.glade \ + check.glade \ + desbrowser.glade \ eval.glade \ eventcmp.glade \ + finddupes.glade \ leak.glade \ - merge.glade \ - NotRelated.glade \ + notrelated.glade \ ownereditor.glade \ patchnames.glade \ + phpgedview.glade \ relcalc.glade \ - soundex.glade \ - summary.glade \ - unused.glade \ + removeunused.glade \ + soundgen.glade \ verify.glade + dist_pkgdata_DATA = $(GLADEFILES) diff --git a/src/plugins/tool/NotRelated.py b/src/plugins/tool/NotRelated.py index 4d474432e..bca37ea30 100644 --- a/src/plugins/tool/NotRelated.py +++ b/src/plugins/tool/NotRelated.py @@ -23,13 +23,6 @@ "Find people who are not related to the selected person" -#------------------------------------------------------------------------ -# -# standard python modules -# -#------------------------------------------------------------------------ -import os - #------------------------------------------------------------------------ # # GNOME/GTK modules @@ -53,6 +46,7 @@ import ManagedWindow import Utils import GrampsDisplay from TransUtils import sgettext as _ +from glade import Glade #------------------------------------------------------------------------- # @@ -61,10 +55,10 @@ from TransUtils import sgettext as _ #------------------------------------------------------------------------- WIKI_HELP_PAGE = '%s_-_Tools' % const.URL_MANUAL_PAGE WIKI_HELP_SEC = _('manual|Not_Related...') -_GLADE_FILE = "NotRelated.glade" + #------------------------------------------------------------------------ # -# +# NotRelated class # #------------------------------------------------------------------------ class NotRelated(Tool.ActivePersonTool, ManagedWindow.ManagedWindow) : @@ -83,19 +77,14 @@ class NotRelated(Tool.ActivePersonTool, ManagedWindow.ManagedWindow) : self.uistate = uistate self.db = dbstate.db - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - topDialog = gtk.Builder() - topDialog.add_from_file(glade_file) + topDialog = Glade() topDialog.connect_signals({ "destroy_passed_object" : self.close, "on_help_clicked" : self.on_help_clicked, }) - window = topDialog.get_object("top") + window = topDialog.toplevel title = topDialog.get_object("title") self.set_window(window, title, self.title) diff --git a/src/plugins/tool/OwnerEditor.py b/src/plugins/tool/OwnerEditor.py index 353cb274c..f4cd21cf7 100644 --- a/src/plugins/tool/OwnerEditor.py +++ b/src/plugins/tool/OwnerEditor.py @@ -23,13 +23,6 @@ """Tools/Database Processing/Edit Database Owner Information""" -#------------------------------------------------------------------------- -# -# python modules -# -#------------------------------------------------------------------------- -import os - #------------------------------------------------------------------------- # # gnome/gtk @@ -51,6 +44,7 @@ import ManagedWindow from PluginUtils import Tool from gen.plug import PluginManager from TransUtils import sgettext as _ +from glade import Glade #------------------------------------------------------------------------- # @@ -95,15 +89,11 @@ class OwnerEditor(Tool.Tool, ManagedWindow.ManagedWindow): self.display() def display(self): - base = os.path.dirname(__file__) - glade_file = os.path.join(base, "ownereditor.glade") - # get the main window from glade - topDialog = gtk.Builder() - topDialog.add_from_file(glade_file) + topDialog = Glade() # set gramps style title for the window - window = topDialog.get_object("top") + window = topDialog.toplevel self.set_window(window, topDialog.get_object("title"), _("Database Owner Editor")) @@ -122,10 +112,8 @@ class OwnerEditor(Tool.Tool, ManagedWindow.ManagedWindow): }) # fetch the popup menu - popup_menu = gtk.Builder() - popup_menu.add_from_file(glade_file) - self.menu = popup_menu.get_object("popup-menu") - popup_menu.connect_signals({"on_menu_activate": self.on_menu_activate}) + self.menu = topDialog.get_object("popup_menu") + topDialog.connect_signals({"on_menu_activate": self.on_menu_activate}) # get current db owner and attach it to the entries of the window self.owner = self.db.get_researcher() diff --git a/src/plugins/tool/PHPGedViewConnector.py b/src/plugins/tool/PHPGedViewConnector.py index 8163c1fb1..f6ecf8fa8 100644 --- a/src/plugins/tool/PHPGedViewConnector.py +++ b/src/plugins/tool/PHPGedViewConnector.py @@ -29,6 +29,7 @@ import gtk import os from tempfile import mkstemp from gettext import gettext as _ +from glade import Glade # # Interface to phpGedView # @@ -279,10 +280,7 @@ class phpGedViewImporter: self.url = None self.connector = None - base = os.path.dirname(__file__) - glade_file = os.path.join(base, "phpgedview.glade") - top = gtk.Builder() - top.add_from_file(glade_file) + top = Glade("phpgedview.glade") self.url_entry = top.get_object('url_entry') self.version_label = top.get_object('version_label') self.version_label.set_text("") @@ -296,7 +294,7 @@ class phpGedViewImporter: self.ok_button.connect("activate", self.on_next_pressed_cb) self.ok_button.connect("button_release_event", self.on_next_pressed_cb) self.progressbar = top.get_object('progressbar') - self.dialog = top.get_object('importer') + self.dialog = top.toplevel self.dialog.show() def filter_url(self, url): diff --git a/src/plugins/tool/PatchNames.py b/src/plugins/tool/PatchNames.py index baf9a09fc..9df3b8320 100644 --- a/src/plugins/tool/PatchNames.py +++ b/src/plugins/tool/PatchNames.py @@ -28,7 +28,6 @@ # python modules # #------------------------------------------------------------------------- -import os import re #------------------------------------------------------------------------- @@ -53,6 +52,7 @@ import ManagedWindow import GrampsDisplay import gen.lib from TransUtils import sgettext as _ +from glade import Glade #------------------------------------------------------------------------- # @@ -199,11 +199,8 @@ class PatchNames(Tool.BatchTool, ManagedWindow.ManagedWindow): def display(self): - base = os.path.dirname(__file__) - glade_file = os.path.join(base, "patchnames.glade") - self.top = gtk.Builder() - self.top.add_from_file(glade_file) - window = self.top.get_object('top') + self.top = Glade() + window = self.top.toplevel self.top.connect_signals({ "destroy_passed_object" : self.close, "on_ok_clicked" : self.on_ok_clicked, diff --git a/src/plugins/tool/RelCalc.py b/src/plugins/tool/RelCalc.py index 541d23403..e1f4ae5bd 100644 --- a/src/plugins/tool/RelCalc.py +++ b/src/plugins/tool/RelCalc.py @@ -28,7 +28,6 @@ # Standard python modules # #------------------------------------------------------------------------- -import os from gettext import gettext as _ #------------------------------------------------------------------------- @@ -50,13 +49,13 @@ from DisplayModels import PeopleModel from QuestionDialog import ErrorDialog from PluginUtils import Tool from gen.plug import PluginManager +from glade import Glade #------------------------------------------------------------------------- # # Constants # #------------------------------------------------------------------------- -_GLADE_FILE = "relcalc.glade" column_names = [ _('Name'), @@ -91,19 +90,14 @@ class RelCalc(Tool.Tool, ManagedWindow.ManagedWindow): self.relationship = pmgr.get_relationship_calculator() self.relationship.connect_db_signals(dbstate) - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - self.glade = gtk.Builder() - self.glade.add_from_file(glade_file) + self.glade = Glade() name = '' if self.person: name = name_displayer.display(self.person) self.title = _('Relationship calculator: %(person_name)s' ) % {'person_name' : name} - window = self.glade.get_object('relcalc') + window = self.glade.toplevel self.titlelabel = self.glade.get_object('title') self.set_window(window, self.titlelabel, _('Relationship to %(person_name)s' diff --git a/src/plugins/tool/RemoveUnused.py b/src/plugins/tool/RemoveUnused.py index b56f06f44..1ecfbdd8a 100644 --- a/src/plugins/tool/RemoveUnused.py +++ b/src/plugins/tool/RemoveUnused.py @@ -29,7 +29,6 @@ # python modules # #------------------------------------------------------------------------- -import os from gettext import gettext as _ #------------------------------------------------------------------------ @@ -60,14 +59,7 @@ from DateHandler import displayer as _dd from BasicUtils import UpdateCallback from PluginUtils import Tool from gen.plug import PluginManager - -#------------------------------------------------------------------------- -# -# Constants -# -#------------------------------------------------------------------------- -_GLADE_FILE = "unused.glade" - +from glade import Glade #------------------------------------------------------------------------- # @@ -137,14 +129,8 @@ class RemoveUnused(Tool.Tool,ManagedWindow.ManagedWindow,UpdateCallback): self.init_gui() def init_gui(self): - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - - self.top = gtk.Builder() - self.top.add_from_file(glade_file) - window = self.top.get_object("unused") + self.top = Glade() + window = self.top.toplevel self.set_window(window,self.top.get_object('title'),self.title) self.events_box = self.top.get_object('events_box') diff --git a/src/plugins/tool/SoundGen.py b/src/plugins/tool/SoundGen.py index b00e6077f..2c237c7ad 100644 --- a/src/plugins/tool/SoundGen.py +++ b/src/plugins/tool/SoundGen.py @@ -23,20 +23,6 @@ """Tools/Utilities/Generate SoundEx Codes""" -#------------------------------------------------------------------------ -# -# standard python modules -# -#------------------------------------------------------------------------ -import os - -#------------------------------------------------------------------------ -# -# GNOME/GTK modules -# -#------------------------------------------------------------------------ -import gtk - #------------------------------------------------------------------------ # # GRAMPS modules @@ -50,6 +36,7 @@ import AutoComp from TransUtils import sgettext as _ from PluginUtils import Tool from gen.plug import PluginManager +from glade import Glade #------------------------------------------------------------------------- # @@ -58,7 +45,6 @@ from gen.plug import PluginManager #------------------------------------------------------------------------- WIKI_HELP_PAGE = '%s_-_Tools' % const.URL_MANUAL_PAGE WIKI_HELP_SEC = _('manual|Generate_SoundEx_codes') -_GLADE_FILE = "soundex.glade" #------------------------------------------------------------------------- # @@ -73,18 +59,13 @@ class SoundGen(Tool.Tool, ManagedWindow.ManagedWindow): Tool.Tool.__init__(self, dbstate, options_class, name) ManagedWindow.ManagedWindow.__init__(self,uistate,[],self.__class__) - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - self.glade = gtk.Builder() - self.glade.add_from_file(glade_file) + self.glade = Glade() self.glade.connect_signals({ "destroy_passed_object" : self.close, "on_help_clicked" : self.on_help_clicked, }) - window = self.glade.get_object("soundEx") + window = self.glade.toplevel self.set_window(window,self.glade.get_object('title'),self.label) self.value = self.glade.get_object("value") diff --git a/src/plugins/tool/Verify.py b/src/plugins/tool/Verify.py index 953989e12..8aac32865 100644 --- a/src/plugins/tool/Verify.py +++ b/src/plugins/tool/Verify.py @@ -61,6 +61,8 @@ from BasicUtils import UpdateCallback from PluginUtils import Tool from gen.plug import PluginManager from TransUtils import sgettext as _ +from glade import Glade + #------------------------------------------------------------------------- # # Constants @@ -68,7 +70,6 @@ from TransUtils import sgettext as _ #------------------------------------------------------------------------- WIKI_HELP_PAGE = '%s_-_Tools' % const.URL_MANUAL_PAGE WIKI_HELP_SEC = _('manual|Verify_the_Data...') -_GLADE_FILE = "verify.glade" #------------------------------------------------------------------------- # @@ -247,19 +248,14 @@ class Verify(Tool.Tool, ManagedWindow, UpdateCallback): def init_gui(self): # Draw dialog and make it handle everything self.vr = None - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - self.top = gtk.Builder() - self.top.add_from_file(glade_file) + self.top = Glade() self.top.connect_signals({ "destroy_passed_object" : self.close, "on_help_clicked" : self.on_help_clicked, "on_verify_ok_clicked" : self.on_apply_clicked }) - window = self.top.get_object('verify_settings') + window = self.top.toplevel self.set_window(window,self.top.get_object('title'),self.label) for option in self.options.handler.options_dict: @@ -413,14 +409,8 @@ class VerifyResults(ManagedWindow): ManagedWindow.__init__(self,uistate,track,self.__class__) self.dbstate = dbstate - - glade_file = os.path.join( - os.path.split(__file__)[0], - _GLADE_FILE) - - self.top = gtk.Builder() - self.top.add_from_file(glade_file) - window = self.top.get_object("verify_result") + self.top = Glade(toplevel="verify_result") + window = self.top.toplevel self.set_window(window,self.top.get_object('title'),self.title) self.top.connect_signals({ diff --git a/src/plugins/tool/changenames.glade b/src/plugins/tool/changenames.glade index a7fc513d0..c12cc7f72 100644 --- a/src/plugins/tool/changenames.glade +++ b/src/plugins/tool/changenames.glade @@ -1,142 +1,101 @@ - - + + + True - - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False 500 450 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - True - False - + - 6 True - False - 0 + 6 True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - 6 False False + 6 + 0 True + 10 Below is a list of the family names that GRAMPS can convert to correct capitalization. Select the names you wish GRAMPS to convert. - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 10 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - 0 False False + 1 True True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT + automatic + automatic + in True True - True - False - False - True - False - False - False - 0 - True - True + 2 True - GTK_BUTTONBOX_END 6 + end - True - True - True gtk-cancel + True + True + True + False True - GTK_RELIEF_NORMAL - True - + + + False + False + 0 + - True - True - True _Accept changes and close + True + True + True + False True - GTK_RELIEF_NORMAL - True - + + + False + False + 1 + - 6 False - True + 6 + 3 diff --git a/src/plugins/tool/changetype.glade b/src/plugins/tool/changetype.glade deleted file mode 100644 index 8090cecfd..000000000 --- a/src/plugins/tool/changetype.glade +++ /dev/null @@ -1,231 +0,0 @@ - - - - - True - - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - False - False - - - - True - False - 8 - - - True - GTK_BUTTONBOX_END - - - True - True - True - gtk-cancel - True - GTK_RELIEF_NORMAL - True - - - - - - True - True - True - gtk-ok - True - GTK_RELIEF_NORMAL - True - - - - - - 0 - False - True - GTK_PACK_END - - - - - 10 - True - False - 0 - - - True - - False - False - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 10 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - True - This tool will rename all events of one type to a different type. Once completed, this cannot be undone by the regular Undo function. - False - False - GTK_JUSTIFY_LEFT - True - False - 0.5 - 0.5 - 12 - 12 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - 12 - True - 2 - 2 - False - 6 - 12 - - - True - _Original event type: - True - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - fill - - - - - - True - _New event type: - True - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - fill - - - - - - True - False - True - True - - - 1 - 2 - 1 - 2 - fill - fill - - - - - True - False - True - True - - - 1 - 2 - 0 - 1 - fill - - - - - 0 - True - True - - - - - 0 - True - True - - - - - - button5 - button3 - - - diff --git a/src/plugins/tool/changetypes.glade b/src/plugins/tool/changetypes.glade new file mode 100644 index 000000000..ef83b88a2 --- /dev/null +++ b/src/plugins/tool/changetypes.glade @@ -0,0 +1,161 @@ + + + + + + True + dialog + False + + + + True + 8 + + + True + 10 + + + True + 10 + center + + + False + False + 0 + + + + + True + 12 + 12 + This tool will rename all events of one type to a different type. Once completed, this cannot be undone by the regular Undo function. + True + + + False + False + 1 + + + + + True + 12 + 2 + 2 + 12 + 6 + + + True + 0 + _Original event type: + True + + + GTK_FILL + + + + + + True + 0 + _New event type: + True + + + 1 + 2 + GTK_FILL + + + + + + True + + + 1 + 2 + 1 + 2 + GTK_FILL + GTK_FILL + + + + + True + + + 1 + 2 + GTK_FILL + + + + + 2 + + + + + 1 + + + + + True + end + + + gtk-cancel + True + True + True + False + True + + + + False + False + 0 + + + + + gtk-ok + True + True + True + False + True + + + + False + False + 1 + + + + + False + end + 0 + + + + + + button5 + button3 + + + diff --git a/src/plugins/tool/check.glade b/src/plugins/tool/check.glade new file mode 100644 index 000000000..5138d0c3c --- /dev/null +++ b/src/plugins/tool/check.glade @@ -0,0 +1,88 @@ + + + + + + True + 450 + 400 + dialog + False + + + + True + + + True + 6 + 6 + + + True + center + + + False + False + 8 + 0 + + + + + True + True + automatic + automatic + out + + + True + True + + + + + 1 + + + + + 1 + + + + + True + end + + + gtk-close + True + True + True + False + True + + + + False + False + 0 + + + + + False + end + 0 + + + + + + close + + + diff --git a/src/plugins/tool/desbrowse.glade b/src/plugins/tool/desbrowse.glade deleted file mode 100644 index c7be996ab..000000000 --- a/src/plugins/tool/desbrowse.glade +++ /dev/null @@ -1,144 +0,0 @@ - - - - - True - - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - 450 - 400 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - False - - - - True - False - 0 - - - True - GTK_BUTTONBOX_END - - - True - True - True - gtk-close - True - GTK_RELIEF_NORMAL - True - - - - - - True - True - True - gtk-help - True - GTK_RELIEF_NORMAL - True - - - - - - 0 - False - True - GTK_PACK_END - - - - - True - False - 0 - - - True - - False - False - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 0 - - - 10 - False - False - - - - - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - True - True - False - False - True - - - - - 0 - True - True - - - - - True - <i>Double-click on the row to edit personal information</i> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - 0 - True - True - - - - - - button1 - button2 - - - diff --git a/src/plugins/tool/desbrowser.glade b/src/plugins/tool/desbrowser.glade new file mode 100644 index 000000000..135b0bd91 --- /dev/null +++ b/src/plugins/tool/desbrowser.glade @@ -0,0 +1,114 @@ + + + + + + True + 450 + 400 + dialog + False + + + + True + + + True + + + True + center + + + False + False + 10 + 0 + + + + + True + False + automatic + automatic + in + + + True + + + + + 1 + + + + + True + <i>Double-click on the row to edit personal information</i> + True + + + False + False + 2 + + + + + 1 + + + + + True + end + + + gtk-close + True + True + True + False + True + + + + False + False + 0 + + + + + gtk-help + True + True + True + False + True + + + + False + False + 1 + + + + + False + end + 0 + + + + + + button1 + button2 + + + diff --git a/src/plugins/tool/eval.glade b/src/plugins/tool/eval.glade index 21fdc7829..3572a16df 100644 --- a/src/plugins/tool/eval.glade +++ b/src/plugins/tool/eval.glade @@ -1,135 +1,51 @@ - - + + + True - - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False 450 500 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST + dialog False - + True - False - 0 - - - True - GTK_BUTTONBOX_END - - - True - True - True - gtk-clear - True - GTK_RELIEF_NORMAL - True - - - - - - True - True - True - gtk-close - True - GTK_RELIEF_NORMAL - True - - - - - - True - True - True - gtk-execute - True - GTK_RELIEF_NORMAL - True - - - - - - 0 - False - True - GTK_PACK_END - - - 6 True - False + 6 6 True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - 0 False False + 0 - 6 True + 6 6 2 - False - 6 6 + 6 True True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT + automatic + automatic + in - + True True - True - False - True - GTK_JUSTIFY_LEFT - GTK_WRAP_NONE - True - 0 - 0 - 0 - 0 - 0 - 0 @@ -144,26 +60,14 @@ True True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT + automatic + automatic + in True True False - False - True - GTK_JUSTIFY_LEFT - GTK_WRAP_NONE - True - 0 - 0 - 0 - 0 - 0 - 0 @@ -172,79 +76,49 @@ 2 3 4 - fill + GTK_FILL True - <b>Evaluation Window</b> - False - True - GTK_JUSTIFY_LEFT - False - False 0 - 0.5 - 0 - 0 + <b>Evaluation Window</b> + True - 0 2 - 0 - 1 - fill - + GTK_FILL + True - <b>Output Window</b> - False - True - GTK_JUSTIFY_LEFT - False - False 0 - 0.5 - 0 - 0 + <b>Output Window</b> + True - 0 2 2 3 - fill - + GTK_FILL + True True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT + automatic + automatic + in True True False - False - True - GTK_JUSTIFY_LEFT - GTK_WRAP_NONE - True - 0 - 0 - 0 - 0 - 0 - 0 @@ -253,57 +127,112 @@ 2 5 6 - fill + GTK_FILL True - <b>Error Window</b> - False - True - GTK_JUSTIFY_LEFT - False - False 0 - 0.5 - 0 - 0 + <b>Error Window</b> + True - 0 2 4 5 - fill - + GTK_FILL + + + + + + + + + + - 0 - True - True + 1 - 6 True - GTK_BUTTONBOX_END + 6 6 + end - 0 False - True + 2 - 0 - True - True + 1 + + + + + True + end + + + gtk-clear + True + True + True + False + True + + + + False + False + 0 + + + + + gtk-close + True + True + True + False + True + + + + False + False + 1 + + + + + gtk-execute + True + True + True + False + True + + + + False + False + 2 + + + + + False + end + 0 diff --git a/src/plugins/tool/eventcmp.glade b/src/plugins/tool/eventcmp.glade index d5ddd3fff..4d470c75b 100644 --- a/src/plugins/tool/eventcmp.glade +++ b/src/plugins/tool/eventcmp.glade @@ -8,7 +8,7 @@ - + 500 400 dialog @@ -70,7 +70,7 @@ True False True - + False diff --git a/src/plugins/tool/merge.glade b/src/plugins/tool/finddupes.glade similarity index 99% rename from src/plugins/tool/merge.glade rename to src/plugins/tool/finddupes.glade index 96ed88819..d284807a2 100644 --- a/src/plugins/tool/merge.glade +++ b/src/plugins/tool/finddupes.glade @@ -182,7 +182,7 @@ button13 - + 350 dialog False @@ -315,7 +315,7 @@ True False True - + False @@ -331,7 +331,7 @@ True False True - + False diff --git a/src/plugins/tool/leak.glade b/src/plugins/tool/leak.glade index 3c4ad2dfd..3706fc7bd 100644 --- a/src/plugins/tool/leak.glade +++ b/src/plugins/tool/leak.glade @@ -1,178 +1,132 @@ - - + + + True - - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False 450 500 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - False + dialog False - + True - False - 0 - - - True - GTK_BUTTONBOX_END - - - True - True - True - gtk-refresh - True - GTK_RELIEF_NORMAL - True - - - - - - True - True - True - gtk-close - True - GTK_RELIEF_NORMAL - True - - - - - - 0 - False - True - GTK_PACK_END - - - 6 True - False + 6 6 True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - 0 False False + 0 - 6 True + 6 2 - 1 - False - 6 6 + 6 True - <b>Uncollected Objects</b> - False - True - GTK_JUSTIFY_LEFT - False - False 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 + <b>Uncollected Objects</b> + True - 0 - 1 - 0 - 1 - fill - + GTK_FILL + True True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT + automatic + automatic + in - 0 - 1 1 2 - expand|shrink|fill - expand|shrink|fill + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL - 0 - True - True + 1 - 6 True - GTK_BUTTONBOX_END + 6 6 + end - 0 False - True + 2 - 0 - True - True + 1 + + + + + True + end + + + gtk-refresh + True + True + True + False + True + + + + False + False + 0 + + + + + gtk-close + True + True + True + False + True + + + + False + False + 1 + + + + + False + end + 0 diff --git a/src/plugins/tool/NotRelated.glade b/src/plugins/tool/notrelated.glade similarity index 50% rename from src/plugins/tool/NotRelated.glade rename to src/plugins/tool/notrelated.glade index 00cc76a9d..bfc44dbe4 100644 --- a/src/plugins/tool/NotRelated.glade +++ b/src/plugins/tool/notrelated.glade @@ -1,13 +1,15 @@ - + + + - + ToDo @@ -17,162 +19,75 @@ - - - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False + 450 400 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - False + dialog False - + True - False - 0 - - - True - GTK_BUTTONBOX_END - - - True - True - True - gtk-close - True - GTK_RELIEF_NORMAL - True - - - - - - True - True - True - gtk-help - True - GTK_RELIEF_NORMAL - True - - - - - - 0 - False - True - GTK_PACK_END - - - 6 True - False + 6 6 True - - False - False - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 + center - 8 False False + 8 + 0 True True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_OUT - GTK_CORNER_TOP_LEFT + automatic + automatic + out True True - True - False - False - True - False - False - False - 0 - True - True + 1 - 0 - True - True + 1 - 6 True + 6 0 - 0.5 - GTK_SHADOW_IN + in - 6 True - 0.5 - 0.5 - 1 - 1 - 0 - 0 + 6 12 - 0 True - False 3 True - False - True - True - model1 + @@ -181,24 +96,21 @@ - 0 - True - True + 0 + gtk-apply True True - gtk-apply + False True - GTK_RELIEF_NORMAL - True - 0 False False + 1 @@ -209,26 +121,57 @@ True _Marker - True True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 + True - 0 False - True + 2 + + + + + True + end + + + gtk-close + True + True + True + False + True + + + + False + False + 0 + + + + + gtk-help + True + True + True + False + True + + + + False + False + 1 + + + + + False + end + 0 diff --git a/src/plugins/tool/ownereditor.glade b/src/plugins/tool/ownereditor.glade index 46f6ff99a..83c76be62 100644 --- a/src/plugins/tool/ownereditor.glade +++ b/src/plugins/tool/ownereditor.glade @@ -1,109 +1,255 @@ - - - - - - - gtk-go-back - copy_from_db_to_preferences - Copy from DB to Preferences - - - - - - gtk-go-forward - copy_from_preferences_to_db - Copy from Preferences to DB - - - - - - - - - - - - - - - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_CENTER - False + + + + + center 500 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - True - False - + True - True - False - + - 6 True - False - 0 + 6 - + True - GTK_BUTTONBOX_END - 0 + + + False + False + 6 + 2 + + + + + True + 6 + 8 + 2 + 6 + 6 - + True - True - True - gtk-cancel - True - GTK_RELIEF_NORMAL - True - + 0 + Name: + + GTK_FILL + + - + True - True - True - gtk-ok - True - GTK_RELIEF_NORMAL - True - + 0 + Address: + + 1 + 2 + GTK_FILL + + - + True - True - True - gtk-help - True - GTK_RELIEF_NORMAL - True - + 0 + City: + + 2 + 3 + GTK_FILL + + + + + + True + 0 + State/Province: + + + 3 + 4 + GTK_FILL + + + + + + True + 0 + Country: + + + 4 + 5 + GTK_FILL + + + + + + True + 0 + ZIP/Postal Code: + + + 5 + 6 + GTK_FILL + + + + + + True + 0 + Phone: + + + 6 + 7 + GTK_FILL + + + + + + True + 0 + Email: + + + 7 + 8 + GTK_FILL + + + + + + True + True + + + + 1 + 2 + + + + + + True + True + + + + 1 + 2 + 1 + 2 + + + + + + True + True + + + + 1 + 2 + 2 + 3 + + + + + + True + True + + + + 1 + 2 + 3 + 4 + + + + + + True + True + + + + 1 + 2 + 4 + 5 + + + + + + True + True + + + + 1 + 2 + 5 + 6 + + + + + + True + True + + + + 1 + 2 + 6 + 7 + + + + + + True + True + + + + 1 + 2 + 7 + 8 + + - 0 False - True - GTK_PACK_END + 3 @@ -111,426 +257,69 @@ True + False 3 - False - True - GTK_PACK_END + end + 1 - + True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 6 - False - False - - - - - 6 - True - 8 - 2 - False - 6 - 6 + end - - True - Name: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - fill - - - - - - True - Address: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - fill - - - - - - True - City: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 2 - 3 - fill - - - - - - True - State/Province: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 3 - 4 - fill - - - - - - True - Country: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 4 - 5 - fill - - - - - - True - ZIP/Postal Code: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 5 - 6 - fill - - - - - - True - Phone: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 6 - 7 - fill - - - - - - True - Email: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 7 - 8 - fill - - - - - + + gtk-cancel True True - True - True - 0 - - True - - False + True + False + True + - 1 - 2 - 0 - 1 - + False + False + 0 - + + gtk-ok True True - True - True - 0 - - True - - False + True + False + True + - 1 - 2 - 1 - 2 - + False + False + 1 - + + gtk-help True True - True - True - 0 - - True - - False + True + False + True + - 1 - 2 - 2 - 3 - - - - - - True - True - True - True - 0 - - True - - False - - - 1 - 2 - 3 - 4 - - - - - - True - True - True - True - 0 - - True - - False - - - 1 - 2 - 4 - 5 - - - - - - True - True - True - True - 0 - - True - - False - - - 1 - 2 - 5 - 6 - - - - - - True - True - True - True - 0 - - True - - False - - - 1 - 2 - 6 - 7 - - - - - - True - True - True - True - 0 - - True - - False - - - 1 - 2 - 7 - 8 - + False + False + 2 - 0 False - True + end + 0 @@ -538,10 +327,5 @@ - - - - - - + diff --git a/src/plugins/tool/patchnames.glade b/src/plugins/tool/patchnames.glade index f58b638a1..8d2791214 100644 --- a/src/plugins/tool/patchnames.glade +++ b/src/plugins/tool/patchnames.glade @@ -1,94 +1,142 @@ - - + + + True - - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False 500 450 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST + dialog False - + True - False - 0 + + + True + 6 + + + True + + + False + False + 6 + 0 + + + + + True + 10 + Below is a list of the nicknames, titles and family name prefixes that GRAMPS can extract from the +current database. If you accept the changes, GRAMPS will modify the entries +that have been selected. + + + False + False + 1 + + + + + True + True + automatic + automatic + in + + + True + True + + + + + 2 + + + + + True + 6 + end + + + False + 6 + 3 + + + + + 1 + + True - GTK_BUTTONBOX_END + end - True - True - True gtk-help + True + True + True + False True - GTK_RELIEF_NORMAL - True - + + + False + False + 0 + - True - True - True gtk-cancel + True + True + True + False True - GTK_RELIEF_NORMAL - True - + + + False + False + 1 + True - True True - GTK_RELIEF_NORMAL - True - + True + False + True - 0.5 - 0.5 0 0 - 0 - 0 - 0 - 0 True - False 2 True gtk-ok - 4 - 0.5 - 0.5 - 0 - 0 - 0 False False + 0 @@ -96,19 +144,11 @@ True _Accept and close True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - 0 False False + 1 @@ -116,105 +156,18 @@ + + False + False + 2 + - 0 False False - GTK_PACK_END - - - - - 6 - True - False - 0 - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - 6 - False - False - - - - - True - Below is a list of the nicknames, titles and family name prefixes that GRAMPS can extract from the -current database. If you accept the changes, GRAMPS will modify the entries -that have been selected. - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 10 - - - 0 - False - False - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - True - True - True - False - False - True - - - - - 0 - True - True - - - - - True - GTK_BUTTONBOX_END - 6 - - - 6 - False - True - - - - - 0 - True - True + end + 0 diff --git a/src/plugins/tool/phpgedview.glade b/src/plugins/tool/phpgedview.glade index 9a981585d..8c125ad1b 100644 --- a/src/plugins/tool/phpgedview.glade +++ b/src/plugins/tool/phpgedview.glade @@ -1,8 +1,10 @@ - + + + @@ -11,111 +13,49 @@ - + True phpGedView import - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_MOUSE - False - True + mouse True - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True + dialog True - False - 0 - - - True - GTK_BUTTONBOX_END - - - True - True - True - gtk-cancel - True - GTK_RELIEF_NORMAL - True - - - - - True - True - True - gtk-apply - True - GTK_RELIEF_NORMAL - True - - - - - - 0 - False - True - GTK_PACK_END - - - 12 True + 12 7 2 - False - 9 9 + 9 True <b>phpGedView import</b> - False True - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 0 + center - 0 2 - 0 - 1 - fill - + GTK_FILL + True True - True - True - 0 - http:// - True - * - False 25 + http:// 1 2 1 2 - + @@ -123,20 +63,14 @@ True True False - True - 0 - - True - * - False 1 2 4 5 - fill - + GTK_FILL + @@ -145,19 +79,14 @@ True False False - 0 - - True - * - False 1 2 5 6 - fill - + GTK_FILL + @@ -176,152 +105,143 @@ 2 3 4 - fill - fill + GTK_FILL + GTK_FILL True - File: - False - False - GTK_JUSTIFY_LEFT - False - False 0 - 0.5 - 0 - 0 + File: - 0 - 1 3 4 + GTK_FILL + 7 - fill - True - Username: - False - False - GTK_JUSTIFY_LEFT - False - False 0 - 0.5 - 0 - 0 + Username: - 0 - 1 4 5 + GTK_FILL + 7 - fill - True - Password: - False - False - GTK_JUSTIFY_LEFT - False - False 0 - 0.5 - 0 - 0 + Password: - 0 - 1 5 6 + GTK_FILL + 7 - fill - True - - False - False - GTK_JUSTIFY_LEFT - False - False 0 - 0.5 - 0 - 0 - 0 2 2 3 + GTK_FILL + 7 - fill - True - URL: - False - False - GTK_JUSTIFY_LEFT - False - False 0 - 0.5 - 0 - 0 + URL: - 0 - 1 1 2 + GTK_FILL + 7 - fill - True - GTK_PROGRESS_LEFT_TO_RIGHT - 0 0.10000000149 - 1 2 6 7 - fill - + GTK_FILL + + + + 5 - True - True + 2 + + + + + True + end + + + gtk-cancel + True + True + True + False + True + + + False + False + 0 + + + + + gtk-apply + True + True + True + False + True + + + + False + False + 1 + + + + + False + end + 0 diff --git a/src/plugins/tool/relcalc.glade b/src/plugins/tool/relcalc.glade index d78b39686..56d905a36 100644 --- a/src/plugins/tool/relcalc.glade +++ b/src/plugins/tool/relcalc.glade @@ -1,150 +1,107 @@ - + + True - - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False 600 400 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - False + dialog False - + True - False 8 - - - True - GTK_BUTTONBOX_END - - - True - True - True - gtk-close - True - GTK_RELIEF_NORMAL - True - - - - - 0 - False - True - GTK_PACK_END - - - 6 True - False + 6 6 True - - False - False - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 6 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 + center - 5 False False + 5 + 0 True True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT + automatic + automatic + in True - Select a person to determine the relationship True - True + Select a person to determine the relationship True - False - True - False - False - False - 0 - True - True + 1 True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT + False + automatic + automatic + in 75 True True False - False - True - GTK_JUSTIFY_LEFT - GTK_WRAP_WORD - True - 0 - 0 - 0 - 0 - 0 - 0 + word - 0 False - True + 2 - 0 - True - True + 1 + + + + + True + end + + + gtk-close + True + True + True + False + True + + + False + False + 0 + + + + + False + end + 0 diff --git a/src/plugins/tool/unused.glade b/src/plugins/tool/removeunused.glade similarity index 77% rename from src/plugins/tool/unused.glade rename to src/plugins/tool/removeunused.glade index 7615a23fb..298a814ed 100644 --- a/src/plugins/tool/unused.glade +++ b/src/plugins/tool/removeunused.glade @@ -1,13 +1,14 @@ - - + + + True 500 300 - GDK_WINDOW_TYPE_HINT_DIALOG + dialog False - + True @@ -24,6 +25,7 @@ False False 6 + 0 @@ -36,74 +38,98 @@ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Search for events - True - - - - True True + False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Search for sources True + False + False + 0 + + + + + Search for sources + True + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True + + + False + False 1 + Search for places True True + False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Search for places True + False + False 2 + Search for media True True + False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Search for media True + False + False 3 + Search for repositories True True + False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Search for repositories True + False + False 4 + Search for notes True True + False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Search for notes True + False + False 5 + + 0 + @@ -111,14 +137,19 @@ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + gtk-find True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - gtk-find True - + + + False + False + 0 + @@ -137,9 +168,9 @@ True True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN + automatic + automatic + in True @@ -157,37 +188,49 @@ True 6 - GTK_BUTTONBOX_SPREAD + spread - True - True - True _Mark all - True - - - - True True True - _Unmark all + False True + False + False + 0 + + + + + _Unmark all + True + True + True + False + True + + + False + False 1 + In_vert marks True True True - In_vert marks + False True + False + False 2 @@ -218,50 +261,49 @@ True - GTK_BUTTONBOX_END + end + gtk-remove True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - gtk-remove True - + + + False + False + 0 + + gtk-close True True True - gtk-close + False True - + + False + False 1 False - GTK_PACK_END + end + 0 - events_box - sources_box - places_box - media_box - repos_box - notes_box - find_button - mark_button - unmark_button - invert_button remove_button closebutton1 diff --git a/src/plugins/tool/soundex.glade b/src/plugins/tool/soundex.glade deleted file mode 100644 index ad06d7bfd..000000000 --- a/src/plugins/tool/soundex.glade +++ /dev/null @@ -1,198 +0,0 @@ - - - - - True - - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - False - - - - True - False - 8 - - - True - GTK_BUTTONBOX_END - - - True - Close Window - True - True - gtk-close - True - GTK_RELIEF_NORMAL - True - - - - - - True - True - True - gtk-help - True - GTK_RELIEF_NORMAL - True - - - - - - 0 - False - True - GTK_PACK_END - - - - - True - False - 0 - - - True - - False - False - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 6 - - - 0 - False - False - - - - - 12 - True - 2 - 2 - False - 6 - 12 - - - True - Name: - False - False - GTK_JUSTIFY_CENTER - False - False - 0 - 0.5 - 0 - 0 - - - 0 - 1 - 0 - 1 - fill - - - - - - True - SoundEx code: - False - False - GTK_JUSTIFY_CENTER - False - False - 1 - 0.5 - 0 - 0 - - - 0 - 1 - 1 - 2 - fill - - - - - - True - - False - False - GTK_JUSTIFY_CENTER - False - False - 0 - 0.5 - 0 - 0 - - - 1 - 2 - 1 - 2 - fill - - - - - - True - - - 1 - 2 - 0 - 1 - fill - fill - - - - - 0 - True - True - - - - - 0 - True - True - - - - - - button3 - button4 - - - diff --git a/src/plugins/tool/soundgen.glade b/src/plugins/tool/soundgen.glade new file mode 100644 index 000000000..14d90b690 --- /dev/null +++ b/src/plugins/tool/soundgen.glade @@ -0,0 +1,150 @@ + + + + + + True + dialog + False + + + + True + 8 + + + True + + + True + 6 + center + + + False + False + 0 + + + + + True + 12 + 2 + 2 + 12 + 6 + + + True + 0 + Name: + center + + + GTK_FILL + + + + + + True + 1 + SoundEx code: + center + + + 1 + 2 + GTK_FILL + + + + + + True + 0 + center + + + 1 + 2 + 1 + 2 + GTK_FILL + + + + + + True + + + 1 + 2 + GTK_FILL + GTK_FILL + + + + + 1 + + + + + 1 + + + + + True + end + + + gtk-close + True + True + True + False + Close Window + True + + + + False + False + 0 + + + + + gtk-help + True + True + True + False + True + + + + False + False + 1 + + + + + False + end + 0 + + + + + + button3 + button4 + + + diff --git a/src/plugins/tool/summary.glade b/src/plugins/tool/summary.glade deleted file mode 100644 index 0a74b41bd..000000000 --- a/src/plugins/tool/summary.glade +++ /dev/null @@ -1,128 +0,0 @@ - - - - - True - - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - 450 - 400 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - False - False - - - - True - False - 0 - - - True - GTK_BUTTONBOX_END - - - True - True - True - gtk-close - True - GTK_RELIEF_NORMAL - True - - - - - - 0 - False - True - GTK_PACK_END - - - - - 6 - True - False - 6 - - - True - - False - False - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 8 - False - False - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_OUT - GTK_CORNER_TOP_LEFT - - - True - True - True - False - True - GTK_JUSTIFY_LEFT - GTK_WRAP_NONE - True - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 0 - True - True - - - - - 0 - True - True - - - - - - close - - - diff --git a/src/plugins/tool/verify.glade b/src/plugins/tool/verify.glade index 422e7ac98..355e967ff 100644 --- a/src/plugins/tool/verify.glade +++ b/src/plugins/tool/verify.glade @@ -2,7 +2,7 @@ - + dialog @@ -654,7 +654,7 @@ True False True - + False @@ -670,7 +670,7 @@ True False True - + False