* src/plugins/AncestorChart2.py: Add hotkeys to check button labels.

Add scale, compress, and title options support to the book dialog.
* src/plugins/book.glade: Reduce minimum window height to 600 pixels.
* src/plugins/WriteCD.py (on_ok_clicked): Correct indentation.
* src/GrampsCfg.py (loadConfig, save_data): Correctly parse gconf key.


svn: r2656
This commit is contained in:
Alex Roitman 2004-01-19 17:40:39 +00:00
parent 7bcb47a436
commit 380e178acc
5 changed files with 80 additions and 28 deletions

View File

@ -1,3 +1,10 @@
2004-01-19 Alex Roitman <shura@alex.neuro.umn.edu>
* src/plugins/AncestorChart2.py: Add hotkeys to check button labels.
Add scale, compress, and title options support to the book dialog.
* src/plugins/book.glade: Reduce minimum window height to 600 pixels.
* src/plugins/WriteCD.py (on_ok_clicked): Correct indentation.
* src/GrampsCfg.py (loadConfig, save_data): Correctly parse gconf key.
2004-01-17 Don Allingham <dallingham@users.sourceforge.net> 2004-01-17 Don Allingham <dallingham@users.sourceforge.net>
* src/plugins/AncestorChart2.py: more multipage improvements * src/plugins/AncestorChart2.py: more multipage improvements
* src/plugins/Makefile.am: export AncestorChart2.py * src/plugins/Makefile.am: export AncestorChart2.py

View File

@ -1,7 +1,7 @@
# #
# Gramps - a GTK+/GNOME based genealogy program # Gramps - a GTK+/GNOME based genealogy program
# #
# Copyright (C) 2000-2003 Donald N. Allingham # Copyright (C) 2000-2004 Donald N. Allingham
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
@ -251,7 +251,8 @@ def loadConfig(call):
gnome_toolbar_str = get_string("/desktop/gnome/interface/toolbar_style","BOTH") gnome_toolbar_str = get_string("/desktop/gnome/interface/toolbar_style","BOTH")
try: try:
gnome_toolbar = eval("gtk.TOOLBAR_%s" % gnome_toolbar_str.upper()) gnome_toolbar = eval("gtk.TOOLBAR_%s" %
gnome_toolbar_str.replace('-','_').upper())
except: except:
gnome_toolbar = 2 gnome_toolbar = 2
@ -876,7 +877,8 @@ class GrampsPreferences:
save_toolbar = self.top.get_widget("tooloptmenu").get_history() save_toolbar = self.top.get_widget("tooloptmenu").get_history()
gnome_toolbar_str = get_string("/desktop/gnome/interface/toolbar_style",'BOTH') gnome_toolbar_str = get_string("/desktop/gnome/interface/toolbar_style",'BOTH')
try: try:
gnome_toolbar = eval("gtk.TOOLBAR_%s" % gnome_toolbar_str.upper()) gnome_toolbar = eval("gtk.TOOLBAR_%s" %
gnome_toolbar_str.replace('-','_').upper())
except: except:
gnome_toolbar = 2 gnome_toolbar = 2

View File

@ -1,7 +1,7 @@
# #
# Gramps - a GTK+/GNOME based genealogy program # Gramps - a GTK+/GNOME based genealogy program
# #
# Copyright (C) 2000-2003 Donald N. Allingham # Copyright (C) 2000-2004 Donald N. Allingham
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
@ -18,6 +18,8 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# #
# $Id$
"Graphical Reports/Ancestor Chart" "Graphical Reports/Ancestor Chart"
#------------------------------------------------------------------------ #------------------------------------------------------------------------
@ -178,8 +180,8 @@ class AncestorChart:
self.start = person self.start = person
self.max_generations = max self.max_generations = max
self.output = output self.output = output
self.box_width = 0 self.box_width = 0
self.box_height = 0 self.box_height = 0
self.lines = 0 self.lines = 0
self.display = display self.display = display
self.newpage = newpage self.newpage = newpage
@ -188,8 +190,8 @@ class AncestorChart:
if output: if output:
self.doc.open(output) self.doc.open(output)
self.standalone = output self.standalone = output
self.font = self.doc.style_list["AC-Normal"].get_font() self.font = self.doc.style_list["AC2-Normal"].get_font()
self.tfont = self.doc.style_list["AC-Title"].get_font() self.tfont = self.doc.style_list["AC2-Title"].get_font()
self.filter(self.start,1) self.filter(self.start,1)
@ -318,13 +320,13 @@ class AncestorChart:
g = BaseDoc.GraphicsStyle() g = BaseDoc.GraphicsStyle()
g.set_height(self.box_height) g.set_height(self.box_height)
g.set_width(self.box_width) g.set_width(self.box_width)
g.set_paragraph_style("AC-Normal") g.set_paragraph_style("AC2-Normal")
g.set_shadow(1,0.2/self.scale) g.set_shadow(1,0.2/self.scale)
g.set_fill_color((255,255,255)) g.set_fill_color((255,255,255))
self.doc.add_draw_style("box",g) self.doc.add_draw_style("box",g)
g = BaseDoc.GraphicsStyle() g = BaseDoc.GraphicsStyle()
g.set_paragraph_style("AC-Title") g.set_paragraph_style("AC2-Title")
g.set_color((255,255,255)) g.set_color((255,255,255))
g.set_fill_color((255,255,255)) g.set_fill_color((255,255,255))
g.set_line_width(0) g.set_line_width(0)
@ -418,7 +420,7 @@ def _make_default_style(default_style):
p = BaseDoc.ParagraphStyle() p = BaseDoc.ParagraphStyle()
p.set_font(f) p.set_font(f)
p.set_description(_('The basic style used for the text display.')) p.set_description(_('The basic style used for the text display.'))
default_style.add_style("AC-Normal",p) default_style.add_style("AC2-Normal",p)
f = BaseDoc.FontStyle() f = BaseDoc.FontStyle()
f.set_size(16) f.set_size(16)
@ -427,7 +429,7 @@ def _make_default_style(default_style):
p.set_font(f) p.set_font(f)
p.set_alignment(BaseDoc.PARA_ALIGN_CENTER) p.set_alignment(BaseDoc.PARA_ALIGN_CENTER)
p.set_description(_('The basic style used for the title display.')) p.set_description(_('The basic style used for the title display.'))
default_style.add_style("AC-Title",p) default_style.add_style("AC2-Title",p)
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #
@ -446,11 +448,11 @@ class AncestorChartDialog(Report.DrawReportDialog):
self.title.set_text(self.get_header(self.person.getPrimaryName().getName())) self.title.set_text(self.get_header(self.person.getPrimaryName().getName()))
self.title.show() self.title.show()
self.add_option(_('Title'),self.title) self.add_option(_('Title'),self.title)
self.compress = gtk.CheckButton(_('Compress chart')) self.compress = gtk.CheckButton(_('Co_mpress chart'))
self.compress.set_active(1) self.compress.set_active(1)
self.compress.show() self.compress.show()
self.add_option('',self.compress) self.add_option('',self.compress)
self.scale = gtk.CheckButton(_('Scale to fit on a single page')) self.scale = gtk.CheckButton(_('Sc_ale to fit on a single page'))
self.scale.set_active(1) self.scale.set_active(1)
self.scale.show() self.scale.show()
self.add_option('',self.scale) self.add_option('',self.scale)
@ -527,7 +529,10 @@ _style_name = "default"
_person_id = "" _person_id = ""
_max_gen = 10 _max_gen = 10
_disp_format = [ "$n", "%s $b" % _BORN, "%s $d" % _DIED ] _disp_format = [ "$n", "%s $b" % _BORN, "%s $d" % _DIED ]
_options = ( _person_id, _max_gen, _disp_format ) _scale = 1
_compress = 1
_title = None
_options = ( _person_id, _max_gen, _disp_format, _scale, _compress, _title )
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #
@ -550,11 +555,20 @@ class AncestorChartBareDialog(Report.BareReportDialog):
self.max_gen = int(self.options[1]) self.max_gen = int(self.options[1])
self.disp_format = string.join(self.options[2],'\n') self.disp_format = string.join(self.options[2],'\n')
self.do_scale = int(self.options[3])
self.do_compress = int(self.options[4])
if self.options[5] is not None:
self.the_title = self.options[5]
else:
self.the_title = self.get_the_title()
self.new_person = None self.new_person = None
self.generations_spinbox.set_value(self.max_gen) self.generations_spinbox.set_value(self.max_gen)
self.extra_textbox.get_buffer().set_text( self.extra_textbox.get_buffer().set_text(
self.disp_format,len(self.disp_format)) self.disp_format,len(self.disp_format))
self.scale.set_active(self.do_scale)
self.compress.set_active(self.do_compress)
self.title.set_text(self.the_title)
self.window.run() self.window.run()
@ -563,11 +577,29 @@ class AncestorChartBareDialog(Report.BareReportDialog):
# Customization hooks # Customization hooks
# #
#------------------------------------------------------------------------ #------------------------------------------------------------------------
def add_user_options(self):
self.title=gtk.Entry()
self.title.set_text(self.get_the_title())
self.title.show()
self.add_option(_('Title'),self.title)
self.compress = gtk.CheckButton(_('Co_mpress chart'))
self.compress.set_active(1)
self.compress.show()
self.add_option('',self.compress)
self.scale = gtk.CheckButton(_('Sc_ale to fit on a single page'))
self.scale.set_active(1)
self.scale.show()
self.add_option('',self.scale)
def get_title(self): def get_title(self):
"""The window title for this dialog""" """The window title for this dialog"""
return "%s - GRAMPS Book" % (_("Ancestor Chart")) return "%s - GRAMPS Book" % (_("Ancestor Chart"))
def get_header(self, name): def get_the_title(self):
"""The header line at the top of the dialog contents."""
return _("Ancestor Chart for %s") % self.person.getPrimaryName().getName()
def get_header(self,name):
"""The header line at the top of the dialog contents""" """The header line at the top of the dialog contents"""
return _("Ancestor Chart for GRAMPS Book") return _("Ancestor Chart for GRAMPS Book")
@ -587,6 +619,13 @@ class AncestorChartBareDialog(Report.BareReportDialog):
def make_default_style(self): def make_default_style(self):
_make_default_style(self.default_style) _make_default_style(self.default_style)
def parse_report_options_frame (self):
# Call base class
Report.BareReportDialog.parse_report_options_frame (self)
self.do_scale = self.scale.get_active()
self.do_compress = self.compress.get_active()
self.the_title = self.title.get_text()
def on_cancel(self, obj): def on_cancel(self, obj):
pass pass
@ -600,7 +639,8 @@ class AncestorChartBareDialog(Report.BareReportDialog):
if self.new_person: if self.new_person:
self.person = self.new_person self.person = self.new_person
self.options = ( self.person.getId(), self.max_gen, self.report_text ) self.options = ( self.person.getId(), self.max_gen, self.report_text,
self.do_scale, self.do_compress, self.the_title )
self.style_name = self.selected_style.get_name() self.style_name = self.selected_style.get_name()
#------------------------------------------------------------------------ #------------------------------------------------------------------------
@ -616,8 +656,12 @@ def write_book_item(database,person,doc,options,newpage=0):
person = database.getPerson(options[0]) person = database.getPerson(options[0])
max_gen = int(options[1]) max_gen = int(options[1])
disp_format = options[2] disp_format = options[2]
scale = int(options[3])
compress = int(options[4])
title = options[5]
return AncestorChart(database, person, max_gen, return AncestorChart(database, person, max_gen,
disp_format, doc, None, newpage ) disp_format, doc, None,
scale, compress, title, newpage )
except Errors.ReportError, msg: except Errors.ReportError, msg:
(m1,m2) = msg.messages() (m1,m2) = msg.messages()
ErrorDialog(m1,m2) ErrorDialog(m1,m2)
@ -799,4 +843,3 @@ register_book_item(
_style_file, _style_file,
_make_default_style _make_default_style
) )

View File

@ -259,13 +259,13 @@ class PackageWriter:
"keep the reference to the missing file, or select a new file." "keep the reference to the missing file, or select a new file."
) % { 'file_name' : oldfile }, ) % { 'file_name' : oldfile },
remove_clicked, leave_clicked, select_clicked) remove_clicked, leave_clicked, select_clicked)
missmedia_action = mmd.default_action missmedia_action = mmd.default_action
elif missmedia_action == 1: elif missmedia_action == 1:
remove_clicked() remove_clicked()
elif missmedia_action == 2: elif missmedia_action == 2:
leave_clicked() leave_clicked()
elif missmedia_action == 3: elif missmedia_action == 3:
select_clicked() select_clicked()
# Write XML now # Write XML now
g = gnome.vfs.create('burn:///%s/data.gramps' % base,gnome.vfs.OPEN_WRITE ) g = gnome.vfs.create('burn:///%s/data.gramps' % base,gnome.vfs.OPEN_WRITE )

View File

@ -6,7 +6,7 @@
<widget class="GtkWindow" id="top"> <widget class="GtkWindow" id="top">
<property name="width_request">600</property> <property name="width_request">600</property>
<property name="height_request">700</property> <property name="height_request">600</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="title" translatable="yes">Book</property> <property name="title" translatable="yes">Book</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="type">GTK_WINDOW_TOPLEVEL</property>
@ -410,7 +410,7 @@
<widget class="GtkVBox" id="vbox8"> <widget class="GtkVBox" id="vbox8">
<property name="visible">True</property> <property name="visible">True</property>
<property name="homogeneous">False</property> <property name="homogeneous">False</property>
<property name="spacing">8</property> <property name="spacing">2</property>
<child> <child>
<widget class="GtkButton" id="button52"> <widget class="GtkButton" id="button52">