Updated bug checks
svn: r1138
This commit is contained in:
parent
1f8ebeb12c
commit
f26621be69
32
gramps/TODO
32
gramps/TODO
@ -1,19 +1,14 @@
|
||||
* Allow for multiple notes. A tabbed interface would be really useful,
|
||||
since there are no titles for notes. Not all objects would necessarily
|
||||
need multiple notes. Determine which ones should and shouldn't.
|
||||
GRAMPS programming task list. These are tasks that would be nice if
|
||||
someone would take over.
|
||||
|
||||
Note that most of the development effort is targeted at GNOME 2.
|
||||
|
||||
* Drag and drop should display the icon we are dragging instead of just
|
||||
the default icon. Nautilus does this very effectively, and GTK has
|
||||
support for this.
|
||||
* Provide an "import" of a gramps package. Not too difficult to do this,
|
||||
since there is already a ReadTarFile class which will unpackage the
|
||||
file. Needs have an interface built around it.
|
||||
* Catch uncaught exceptions at the top level, notifiy the user, and
|
||||
store the results in a file that can be emailed. Have the start of
|
||||
this with the gramps.err file, but most users don't realize that
|
||||
this file has been created. Some type of notification is needed.
|
||||
* Speed up the reading of the database. The python XML routines are not
|
||||
as fast as I would like, and it can take a minute or so to read a
|
||||
large database. This is way too slow.
|
||||
* Finish the generic load of revision control interfaces to allow a
|
||||
revision control plugin system. Most of the work is already done.
|
||||
* Extend the gramps package exporting to export to a ISO-9660 CD-ROM
|
||||
@ -26,6 +21,19 @@
|
||||
call to generate the zip file using the hard coded path of /usr/bin/zip.
|
||||
Python 2.0 provides a zip interface, so this may need to hold off until
|
||||
the move is made to Python 2.0.
|
||||
* Sort all lists
|
||||
* Startup tips.
|
||||
* And a whole lot more....
|
||||
* Captialize/Decapitalize names
|
||||
* FIND by ID
|
||||
* Better copy/paste handling
|
||||
* Re-instate alternate names in the name list. This was dropped due to the
|
||||
need to provide indexing tables to support ZODB.
|
||||
* Provide an interface to GtkSpell, so that an integrated spelling checking
|
||||
would be provided.
|
||||
* Look at providing a backend interface to gnome-db, allowing real database
|
||||
backends to be pluged into GRAMPS. Maybe replace the ZODB interface.
|
||||
* Integrate gnome-print into GRAMPS. Currently an interface does not exist
|
||||
to gnome-print in the gnome-python interface. This would allow print preview
|
||||
and direct document printing.
|
||||
* More report formats
|
||||
* Look at integrating the layout engine from GraphViz, so that more complicated
|
||||
layout schemes could be used.
|
||||
|
2
gramps/configure
vendored
2
gramps/configure
vendored
@ -1567,7 +1567,7 @@ INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
|
||||
|
||||
|
||||
|
||||
RELEASE=pl1
|
||||
RELEASE=pl2
|
||||
|
||||
VERSIONSTRING=$VERSION
|
||||
if test x"$RELEASE" != "x"
|
||||
|
@ -1,5 +1,5 @@
|
||||
%define ver 0.8.0
|
||||
%define rel pl1
|
||||
%define rel pl2
|
||||
%define prefix /usr
|
||||
|
||||
Summary: Genealogical Research and Analysis Management Programming System.
|
||||
|
@ -205,8 +205,10 @@ class ChooseParents:
|
||||
self.father_list.sort()
|
||||
self.mother_list.thaw()
|
||||
self.father_list.thaw()
|
||||
self.father_list.moveto(self.father_list.selection[0],0)
|
||||
self.mother_list.moveto(self.mother_list.selection[0],0)
|
||||
if self.father_list.selection:
|
||||
self.father_list.moveto(self.father_list.selection[0],0)
|
||||
if self.mother_list.selection:
|
||||
self.mother_list.moveto(self.mother_list.selection[0],0)
|
||||
|
||||
if self.type == "Partners":
|
||||
self.mlabel.set_label(_("Parent"))
|
||||
|
@ -3,6 +3,24 @@
|
||||
#
|
||||
# Copyright (C) 2000 Donald N. Allingham
|
||||
#
|
||||
# Modified August 2002 by Gary Shao
|
||||
#
|
||||
# Changed reference to convert variable of Gramps const module to
|
||||
# a string variable Convert. If Gramps system is present, this is
|
||||
# set to the value of const.convert, else it is set to the fixed
|
||||
# value "convert"
|
||||
# NOTE: this means the module expects to be able to make a system
|
||||
# call to a program called "convert" if the PIL module is not present.
|
||||
# The convert program is part of the ImageMagick application, which
|
||||
# should be installed prior to using this module if PIL is not
|
||||
# available.
|
||||
#
|
||||
# Corrected a bug in the fmt_scale_data method of ImgManip class
|
||||
# under the PIL case. Call to tostring method of image class
|
||||
# requires that the format name be in lower case (it uses the
|
||||
# format name internally to construct the name of the encoder
|
||||
# function to call, which is in lower case).
|
||||
#
|
||||
# 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
|
||||
@ -19,8 +37,15 @@
|
||||
#
|
||||
|
||||
import os
|
||||
import const
|
||||
import string
|
||||
import sys
|
||||
|
||||
try:
|
||||
import const
|
||||
except:
|
||||
Convert = "convert"
|
||||
else:
|
||||
Convert = const.convert
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -33,12 +58,16 @@ try:
|
||||
PIL.Image.init()
|
||||
no_pil = 0
|
||||
except:
|
||||
import popen2
|
||||
import GDK
|
||||
import GTK
|
||||
import gtk
|
||||
import GdkImlib
|
||||
no_pil = 1
|
||||
try:
|
||||
import popen2
|
||||
import GDK
|
||||
import GTK
|
||||
import gtk
|
||||
import GdkImlib
|
||||
no_pil = 1
|
||||
except:
|
||||
raise "ImgLibException", "Error: No imaging library available"
|
||||
|
||||
|
||||
class ImgManip:
|
||||
def __init__(self,source):
|
||||
@ -53,15 +82,15 @@ class ImgManip:
|
||||
def fmt_thumbnail(self,dest,width,height,cnv):
|
||||
w = int(width)
|
||||
h = int(height)
|
||||
cmd = "%s -geometry %dx%d '%s' '%s:%s'" % (const.convert,w,h,self.src,cnv,dest)
|
||||
cmd = "%s -geometry %dx%d '%s' '%s:%s'" % (Convert,w,h,self.src,cnv,dest)
|
||||
os.system(cmd)
|
||||
|
||||
def fmt_convert(self,dest,cnv):
|
||||
cmd = "%s '%s' '%s:%s'" % (const.convert,self.src,cnv,dest)
|
||||
cmd = "%s '%s' '%s:%s'" % (Convert,self.src,cnv,dest)
|
||||
os.system(cmd)
|
||||
|
||||
def fmt_data(self,cnv):
|
||||
cmd = "%s '%s' '%s:-'" % (const.convert,self.src,cnv)
|
||||
cmd = "%s '%s' '%s:-'" % (Convert,self.src,cnv)
|
||||
r,w = popen2.popen2(cmd)
|
||||
buf = r.read()
|
||||
r.close()
|
||||
@ -69,7 +98,7 @@ class ImgManip:
|
||||
return buf
|
||||
|
||||
def fmt_scale_data(self,x,y,cnv):
|
||||
cmd = "%s -geometry %dx%d '%s' '%s:-'" % (const.convert,x,y,self.src,cnv)
|
||||
cmd = "%s -geometry %dx%d '%s' '%s:-'" % (Convert,x,y,self.src,cnv)
|
||||
r,w = popen2.popen2(cmd)
|
||||
buf = r.read()
|
||||
r.close()
|
||||
@ -114,7 +143,8 @@ class ImgManip:
|
||||
if im.mode != 'RGB':
|
||||
im.draft('RGB',im.size)
|
||||
im = im.convert("RGB")
|
||||
return im.tostring(string.upper(pil),"RGB")
|
||||
#return im.tostring(string.upper(pil),"RGB")
|
||||
return im.tostring(pil,"RGB")
|
||||
|
||||
def jpg_thumbnail(self,dest,width,height):
|
||||
self.fmt_thumbnail(dest,width,height,"jpeg")
|
||||
@ -155,8 +185,6 @@ class ImgManip:
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
import sys
|
||||
|
||||
img = ImgManip(sys.argv[1])
|
||||
img.jpg_thumbnail("foo.jpg",50,50)
|
||||
img.png_thumbnail("foo.png",50,50)
|
||||
|
@ -3,6 +3,37 @@
|
||||
#
|
||||
# Copyright (C) 2000 Donald N. Allingham
|
||||
#
|
||||
# Modified September 2002 by Gary Shao
|
||||
#
|
||||
# Added line_break() method to TextDoc class to allow breaking a line
|
||||
# in a paragraph (in those document generators that support it).
|
||||
#
|
||||
# Added start_listing() and end_listing() methods to TextDoc class to
|
||||
# allow displaying text blocks without automatic filling and justification.
|
||||
# Creating a new listing element seems called for because many document
|
||||
# generator implementation have to use a different mechanism for text
|
||||
# that is not going to be automatically filled and justified than that
|
||||
# used for normal paragraphs. Examples are <pre> tags in HTML, using
|
||||
# the Verbatim environment in LaTeX, and using the Preformatted class
|
||||
# in reportlab for generating PDF.
|
||||
#
|
||||
# Added another option, FONT_MONOSPACE, for use as a font face. This
|
||||
# calls for a fixed-width font (e.g. Courier). It is intended primarily
|
||||
# for supporting the display of text where alignment by character position
|
||||
# may be important, such as in code source or column-aligned data.
|
||||
# Especially useful in styles for the new listing element discussed above.
|
||||
#
|
||||
# Added start_italic() and end_italic() methods to TextDoc class to
|
||||
# complement the emphasis of text in a paragraph by bolding with the
|
||||
# ability to italicize segments of text in a paragraph.
|
||||
#
|
||||
# Added the show_link() method to TextDoc to enable the creation of
|
||||
# hyperlinks in HTML output. Only produces active links in HTML, while
|
||||
# link will be represented as text in other generator output. (active
|
||||
# links are technically possible in PDF documents, but the reportlab
|
||||
# modules the PDF generator is based on does not support them at this
|
||||
# time)
|
||||
#
|
||||
# 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
|
||||
@ -51,6 +82,7 @@ except:
|
||||
#-------------------------------------------------------------------------
|
||||
FONT_SANS_SERIF = 0
|
||||
FONT_SERIF = 1
|
||||
FONT_MONOSPACE = 2
|
||||
|
||||
PAPER_PORTRAIT = 0
|
||||
PAPER_LANDSCAPE = 1
|
||||
@ -600,7 +632,7 @@ class ParagraphStyle:
|
||||
|
||||
def set_alignment(self,align):
|
||||
"""
|
||||
Sets the pargraph alignment.
|
||||
Sets the paragraph alignment.
|
||||
|
||||
align - PARA_ALIGN_LEFT, PARA_ALIGN_RIGHT, PARA_ALIGN_CENTER, or
|
||||
PARA_ALIGN_JUSTIFY
|
||||
@ -797,7 +829,7 @@ class StyleSheet:
|
||||
Adds a paragraph style to the style sheet.
|
||||
|
||||
name - name of the ParagraphStyle
|
||||
style - PargraphStyle instance to be added.
|
||||
style - ParagraphStyle instance to be added.
|
||||
"""
|
||||
self.style_list[name] = ParagraphStyle(style)
|
||||
|
||||
@ -1006,6 +1038,10 @@ class TextDoc:
|
||||
"Closes the document"
|
||||
pass
|
||||
|
||||
def line_break(self):
|
||||
"Forces a line break within a paragraph"
|
||||
pass
|
||||
|
||||
def page_break(self):
|
||||
"Forces a page break, creating a new page"
|
||||
pass
|
||||
@ -1016,12 +1052,23 @@ class TextDoc:
|
||||
def end_bold(self):
|
||||
pass
|
||||
|
||||
def start_listing(self,style_name):
|
||||
"""
|
||||
Starts a new listing block, using the specified style name.
|
||||
|
||||
style_name - name of the ParagraphStyle to use for the block.
|
||||
"""
|
||||
pass
|
||||
|
||||
def end_listing(self):
|
||||
pass
|
||||
|
||||
def start_paragraph(self,style_name,leader=None):
|
||||
"""
|
||||
Starts a new pargraph, using the specified style name.
|
||||
Starts a new paragraph, using the specified style name.
|
||||
|
||||
style_name - name of the PargraphStyle to use for the paragraph.
|
||||
leader - Leading text for a pargraph. Typically ssed for numbering.
|
||||
style_name - name of the ParagraphStyle to use for the paragraph.
|
||||
leader - Leading text for a paragraph. Typically used for numbering.
|
||||
"""
|
||||
pass
|
||||
|
||||
|
@ -92,7 +92,7 @@ startup = 1
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
progName = "GRAMPS"
|
||||
version = "0.8.0-pl1"
|
||||
version = "0.8.0-pl2"
|
||||
copyright = "© 2001-2002 Donald N. Allingham"
|
||||
authors = ["Donald N. Allingham", "David Hampton","Donald A. Peterson"]
|
||||
comments = _("GRAMPS (Genealogical Research and Analysis "
|
||||
|
@ -72,14 +72,14 @@
|
||||
from TextDoc import *
|
||||
import ImgManip
|
||||
|
||||
try:
|
||||
import Plugins
|
||||
import intl
|
||||
_ = intl.gettext
|
||||
except:
|
||||
withGramps = 0
|
||||
else:
|
||||
withGramps = 1
|
||||
#try:
|
||||
# import Plugins
|
||||
# import intl
|
||||
# _ = intl.gettext
|
||||
#except:
|
||||
# withGramps = 0
|
||||
#else:
|
||||
# withGramps = 1
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
@ -129,9 +129,11 @@ class RTFDoc(TextDoc):
|
||||
self.f.write('{\\f2\\fmodern\\fcharset0\\fprq0 Courier New;}}\n')
|
||||
self.f.write('{\colortbl\n')
|
||||
self.color_map = {}
|
||||
index = 1
|
||||
index = 2
|
||||
self.color_map[(0,0,0)] = 0
|
||||
self.f.write('\\red0\\green0\\blue0;')
|
||||
self.color_map[(0,0,255)] = 1
|
||||
self.f.write('\\red0\\green0\\blue255;')
|
||||
for style_name in self.style_list.keys():
|
||||
style = self.style_list[style_name]
|
||||
fgcolor = style.get_font().get_color()
|
||||
@ -587,22 +589,23 @@ class RTFDoc(TextDoc):
|
||||
#
|
||||
#--------------------------------------------------------------------
|
||||
def show_link(self, text, href):
|
||||
self.write_text("%s (" % text)
|
||||
self.start_italic()
|
||||
self.write_text(href)
|
||||
self.end_italic()
|
||||
self.write_text(") ")
|
||||
#self.write_text("%s (" % text)
|
||||
#self.start_italic()
|
||||
#self.write_text(href)
|
||||
#self.end_italic()
|
||||
#self.write_text(") ")
|
||||
self.text = self.text + '{\\field{\\*\\fldinst{\ul\cf1 HYPERLINK "%s" }} {\\fldrslt{\ul\cf1 %s}}}' % (href, text)
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
# Register the document generator with the system if in Gramps
|
||||
#
|
||||
#------------------------------------------------------------------------
|
||||
if withGramps:
|
||||
Plugins.register_text_doc(
|
||||
name=_("Rich Text Format (RTF)"),
|
||||
classref=RTFDoc,
|
||||
table=1,
|
||||
paper=1,
|
||||
style=1
|
||||
)
|
||||
#if withGramps:
|
||||
# Plugins.register_text_doc(
|
||||
# name=_("Rich Text Format (RTF)"),
|
||||
# classref=RTFDoc,
|
||||
# table=1,
|
||||
# paper=1,
|
||||
# style=1
|
||||
# )
|
||||
|
@ -922,7 +922,7 @@ class Gramps:
|
||||
if family.getFather() == None:
|
||||
for child in family.getChildList():
|
||||
child.removeAltFamily(family)
|
||||
self.db.removeFamily(family)
|
||||
self.db.deleteFamily(family)
|
||||
else:
|
||||
family.setMother(None)
|
||||
|
||||
|
@ -179,7 +179,7 @@ class DescendantReportDialog(TextReportDialog):
|
||||
#
|
||||
#------------------------------------------------------------------------
|
||||
def report(database,person):
|
||||
DescendantReportDialog(person,database)
|
||||
DescendantReportDialog(database,person)
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user