Fixed WebPage dialog box

svn: r689
This commit is contained in:
Don Allingham 2002-01-08 03:33:39 +00:00
parent e31320fa17
commit ce2f013381
4 changed files with 46 additions and 104 deletions

View File

@ -194,9 +194,9 @@ class HtmlDoc(TextDoc):
font_size = font.get_size() font_size = font.get_size()
font_color = '#%02x%02x%02x' % font.get_color() font_color = '#%02x%02x%02x' % font.get_color()
align = style.get_alignment_text() align = style.get_alignment_text()
text_indent = fl2txt("%.2f",style.get_first_indent()) text_indent = "%.2f" % style.get_first_indent()
right_margin = fl2txt("%.2f",style.get_right_margin()) right_margin = "%.2f" % style.get_right_margin()
left_margin = fl2txt("%.2f",style.get_left_margin()) left_margin = "%.2f" % style.get_left_margin()
top = bottom = left = right = 'none' top = bottom = left = right = 'none'
if style.get_top_border(): if style.get_top_border():

View File

@ -140,12 +140,9 @@ class ReportDialog:
frame_pad = 5 frame_pad = 5
border_pad = 5 border_pad = 5
def __init__(self,database,person,filename="basicreport.glade"): def __init__(self,database,person):
"""Initialize a dialog to request that the user select options """Initialize a dialog to request that the user select options
for a basic report. The glade filename is optional. If for a basic report."""
provided it must reference a glade file that is either be a
superset of the basic dialog, or the subclass must override
most of the setup_xxx and parse_xxx functions."""
# Save info about who the report is about. # Save info about who the report is about.
self.db = database self.db = database
@ -169,10 +166,10 @@ class ReportDialog:
# Set up and run the dialog. These calls are not in top down # Set up and run the dialog. These calls are not in top down
# order when looking at the dialog box as there is some # order when looking at the dialog box as there is some
# interaction between the various frames. # interaction between the various frames.
self.add_user_options()
self.setup_title() self.setup_title()
self.setup_header() self.setup_header()
self.setup_target_frame() self.setup_target_frame()
self.setup_format_frame()
self.setup_style_frame() self.setup_style_frame()
self.setup_output_notebook() self.setup_output_notebook()
self.setup_paper_frame() self.setup_paper_frame()
@ -180,6 +177,11 @@ class ReportDialog:
self.setup_report_options_frame() self.setup_report_options_frame()
self.setup_other_frames() self.setup_other_frames()
self.window.show_all() self.window.show_all()
self.setup_format_frame()
def add_user_options(self):
pass
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #
# Customization hooks for subclasses # Customization hooks for subclasses
@ -395,6 +397,9 @@ class ReportDialog:
# Save Frame # Save Frame
frame = GtkFrame(_("Save As")) frame = GtkFrame(_("Save As"))
frame.set_border_width(ReportDialog.frame_pad) frame.set_border_width(ReportDialog.frame_pad)
hid = self.get_stylesheet_savefile()
if hid[-4:]==".xml":
hid = hid[0:-4]
self.target_fileentry = GnomeFileEntry(hid,_("Save As")) self.target_fileentry = GnomeFileEntry(hid,_("Save As"))
hbox = GtkHBox() hbox = GtkHBox()
@ -406,10 +411,6 @@ class ReportDialog:
else: else:
label = GtkLabel(_("Filename")) label = GtkLabel(_("Filename"))
hbox.pack_start(label,0,0,5) hbox.pack_start(label,0,0,5)
hid = self.get_stylesheet_savefile()
if hid[-4:]==".xml":
hid = hid[0:-4]
hbox.add(self.target_fileentry) hbox.add(self.target_fileentry)
frame.add(hbox) frame.add(hbox)
@ -419,7 +420,6 @@ class ReportDialog:
if (self.get_target_is_directory()): if (self.get_target_is_directory()):
import _gnomeui import _gnomeui
_gnomeui.gnome_file_entry_set_directory(self.target_fileentry._o, 1) _gnomeui.gnome_file_entry_set_directory(self.target_fileentry._o, 1)
self.topDialog.get_widget("saveas").set_text(_("Directory"))
target_filename = self.target_fileentry.children()[0].entry target_filename = self.target_fileentry.children()[0].entry
target_filename.set_text(self.get_default_directory()) target_filename.set_text(self.get_default_directory())
@ -812,11 +812,11 @@ class ReportDialog:
# #
#------------------------------------------------------------------------ #------------------------------------------------------------------------
class TextReportDialog(ReportDialog): class TextReportDialog(ReportDialog):
def __init__(self,database,person,filename="basicreport.glade"): def __init__(self,database,person):
"""Initialize a dialog to request that the user select options """Initialize a dialog to request that the user select options
for a basic text report. See the ReportDialog class for more for a basic text report. See the ReportDialog class for more
information.""" information."""
ReportDialog.__init__(self,database,person,filename) ReportDialog.__init__(self,database,person)
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #

View File

@ -66,11 +66,6 @@ def ancestors_of(p1,list):
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
class Merge: class Merge:
#---------------------------------------------------------------------
#
#
#
#---------------------------------------------------------------------
def __init__(self,database,callback): def __init__(self,database,callback):
self.db = database self.db = database
self.map = {} self.map = {}
@ -113,31 +108,18 @@ class Merge:
}) })
def on_merge_ok_clicked(self,obj): def on_merge_ok_clicked(self,obj):
active = self.menu.get_menu().get_active().get_data("v") active = self.menu.get_menu().get_active().get_data("v")
self.use_soundex = self.soundex_obj.get_active() self.use_soundex = self.soundex_obj.get_active()
utils.destroy_passed_object(obj) utils.destroy_passed_object(obj)
self.find_potentials(active) self.find_potentials(active)
self.show() self.show()
#---------------------------------------------------------------------
#
#
#
#---------------------------------------------------------------------
def progress_update(self,val): def progress_update(self,val):
self.progress.set_value(val) self.progress.set_value(val)
while events_pending(): while events_pending():
mainiteration() mainiteration()
#---------------------------------------------------------------------
#
#
#
#---------------------------------------------------------------------
def find_potentials(self,thresh): def find_potentials(self,thresh):
top = GladeXML(self.glade_file,"message") top = GladeXML(self.glade_file,"message")
self.topWin = top.get_widget("message") self.topWin = top.get_widget("message")
self.progress = top.get_widget("progressbar1") self.progress = top.get_widget("progressbar1")
@ -199,11 +181,6 @@ class Merge:
self.topWin.destroy() self.topWin.destroy()
self.dellist = {} self.dellist = {}
#---------------------------------------------------------------------
#
#
#
#---------------------------------------------------------------------
def show(self): def show(self):
top = GladeXML(self.glade_file,"mergelist") top = GladeXML(self.glade_file,"mergelist")
self.window = top.get_widget("mergelist") self.window = top.get_widget("mergelist")
@ -266,11 +243,6 @@ class Merge:
self.update(1) self.update(1)
utils.destroy_passed_object(obj) utils.destroy_passed_object(obj)
#---------------------------------------------------------------------
#
#
#
#---------------------------------------------------------------------
def list_reduce(self,list1,list2): def list_reduce(self,list1,list2):
value = 0 value = 0
for name in list1: for name in list1:
@ -292,33 +264,18 @@ class Merge:
else: else:
return min(value,1) return min(value,1)
#-----------------------------------------------------------------
#
#
#
#-----------------------------------------------------------------
def gen_key(self,val): def gen_key(self,val):
if self.use_soundex: if self.use_soundex:
return soundex.soundex(val) return soundex.soundex(val)
else: else:
return val return val
#-----------------------------------------------------------------
#
#
#
#-----------------------------------------------------------------
def name_compare(self,s1,s2): def name_compare(self,s1,s2):
if self.use_soundex: if self.use_soundex:
return soundex.compare(s1,s2) return soundex.compare(s1,s2)
else: else:
return s1 == s2 return s1 == s2
#-----------------------------------------------------------------
#
#
#
#-----------------------------------------------------------------
def date_match(self,date1,date2): def date_match(self,date1,date2):
if date1.getDate() == "" or date2.getDate() == "": if date1.getDate() == "" or date2.getDate() == "":
return 0 return 0
@ -341,11 +298,6 @@ class Merge:
else: else:
return -1 return -1
#-----------------------------------------------------------------
#
#
#
#-----------------------------------------------------------------
def range_compare(self,date1,date2): def range_compare(self,date1,date2):
if date1.isRange() and date2.isRange(): if date1.isRange() and date2.isRange():
if date1.get_start_date() >= date2.get_start_date() and \ if date1.get_start_date() >= date2.get_start_date() and \
@ -372,11 +324,6 @@ class Merge:
else: else:
return -1 return -1
#-----------------------------------------------------------------
#
#
#
#-----------------------------------------------------------------
def name_match(self,name,name1): def name_match(self,name,name1):
if not name1 or not name: if not name1 or not name:
@ -404,11 +351,6 @@ class Merge:
else: else:
return self.list_reduce(list2,list1) return self.list_reduce(list2,list1)
#---------------------------------------------------------------------
#
#
#
#---------------------------------------------------------------------
def place_match(self,p1,p2): def place_match(self,p1,p2):
if p1 == p2: if p1 == p2:
return 1 return 1
@ -445,11 +387,6 @@ class Merge:
else: else:
return min(value,1) return min(value,1)
#---------------------------------------------------------------------
#
#
#
#---------------------------------------------------------------------
def compare_people(self,p1,p2): def compare_people(self,p1,p2):
name1 = p1.getPrimaryName() name1 = p1.getPrimaryName()

View File

@ -1,4 +1,4 @@
#
# Gramps - a GTK+/GNOME based genealogy program # Gramps - a GTK+/GNOME based genealogy program
# #
# Copyright (C) 2000 Donald N. Allingham # Copyright (C) 2000 Donald N. Allingham
@ -777,8 +777,28 @@ class WebReport(Report):
#------------------------------------------------------------------------ #------------------------------------------------------------------------
class WebReportDialog(ReportDialog): class WebReportDialog(ReportDialog):
def __init__(self,database,person): def __init__(self,database,person):
ReportDialog.__init__(self,database,person,"webpage.glade") ReportDialog.__init__(self,database,person)
def add_user_options(self):
self.use_link = GtkCheckButton(_("Include a link to the index page"))
self.use_link.set_active(1)
self.no_private = GtkCheckButton(_("Do not include records marked private"))
self.no_private.set_active(1)
self.restrict_living = GtkCheckButton(_("Restrict information on living people"))
self.no_images = GtkCheckButton(_("Do not use images"))
self.no_living_images = GtkCheckButton(_("Do not use images for living people"))
self.no_comments = GtkCheckButton(_("Do not include comments and text in source information"))
self.add_option('',self.use_link)
self.add_option('',self.no_private)
self.add_option('',self.restrict_living)
self.add_option('',self.no_images)
self.add_option('',self.no_living_images)
self.add_option('',self.no_comments)
self.no_images.connect('toggled',self.on_nophotos_toggled)
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #
# Customization hooks # Customization hooks
@ -936,21 +956,6 @@ class WebReportDialog(ReportDialog):
page.""" page."""
self.output_notebook.set_page(1) self.output_notebook.set_page(1)
def setup_other_frames(self):
"""Set up the privacy frame of the dialog. This sole purpose of
this function is to grab a pointer for later use in a callback
routine."""
self.restrict_photos_check = self.topDialog.get_widget("restrict_photos")
def connect_signals(self):
"""Connect the signal handlers for this dialog. This routine
uses the parent routine to connect the common handlers, and
the connects its own unique handler."""
ReportDialog.connect_signals(self)
self.topDialog.signal_autoconnect({
"on_nophotos_toggled" : self.on_nophotos_toggled,
})
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #
# Functions related to retrieving data from the dialog window # Functions related to retrieving data from the dialog window
@ -965,17 +970,17 @@ class WebReportDialog(ReportDialog):
"""Parse the report options frame of the dialog. Save the """Parse the report options frame of the dialog. Save the
user selected choices for later use.""" user selected choices for later use."""
ReportDialog.parse_report_options_frame(self) ReportDialog.parse_report_options_frame(self)
self.include_link = self.topDialog.get_widget("include_link").get_active() self.include_link = self.use_link.get_active()
def parse_other_frames(self): def parse_other_frames(self):
"""Parse the privacy options frame of the dialog. Save the """Parse the privacy options frame of the dialog. Save the
user selected choices for later use.""" user selected choices for later use."""
self.restrict = self.topDialog.get_widget("restrict").get_active() self.restrict = self.restrict_living.get_active()
self.private = self.topDialog.get_widget("private").get_active() self.private = self.no_private.get_active()
self.srccomments = self.topDialog.get_widget("srccomments").get_active() self.srccomments = self.no_comments.get_active()
if (self.topDialog.get_widget("nophotos").get_active() == 1): if self.no_images.get_active() == 1:
self.photos = 0 self.photos = 0
elif (self.restrict_photos_check.get_active() == 1): elif self.no_living_images.get_active() == 1:
self.photos = 1 self.photos = 1
else: else:
self.photos = 2 self.photos = 2
@ -991,9 +996,9 @@ class WebReportDialog(ReportDialog):
no sense to worry about restricting which photos are included, no sense to worry about restricting which photos are included,
now does it?""" now does it?"""
if obj.get_active(): if obj.get_active():
self.restrict_photos_check.set_sensitive(0) self.no_living_images.set_sensitive(0)
else: else:
self.restrict_photos_check.set_sensitive(1) self.no_living_images.set_sensitive(1)
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #