* src/DisplayTrace.py: identify more linux versions
* src/gramps_main.py: fix callbacks for reports * src/plugins/ReorderIds.py: handle integers larger that 32bit * src/Plugins.py: keep a separate lists for formats that support the book format * src/docgen/PdfDoc.py: register as a format supporting books * src/docgen/OpenOfficeDoc.py: register as a format supporting books * src/plugins/BookReport.py: Support different lists for books svn: r1804
This commit is contained in:
parent
e4a1d75f14
commit
693b991573
@ -76,6 +76,7 @@ _expect = []
|
|||||||
_attempt = []
|
_attempt = []
|
||||||
_loaddir = []
|
_loaddir = []
|
||||||
_textdoc = []
|
_textdoc = []
|
||||||
|
_bookdoc = []
|
||||||
_drawdoc = []
|
_drawdoc = []
|
||||||
_failmsg = []
|
_failmsg = []
|
||||||
_bkitems = []
|
_bkitems = []
|
||||||
@ -486,6 +487,18 @@ def register_text_doc(name,classref, table, paper, style, ext):
|
|||||||
return
|
return
|
||||||
_textdoc.append((name,classref,table,paper,style,ext))
|
_textdoc.append((name,classref,table,paper,style,ext))
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Text document registration
|
||||||
|
#
|
||||||
|
#-------------------------------------------------------------------------
|
||||||
|
def register_book_doc(name,classref, table, paper, style, ext):
|
||||||
|
"""Register a text document generator"""
|
||||||
|
for n in _bookdoc:
|
||||||
|
if n[0] == name:
|
||||||
|
return
|
||||||
|
_bookdoc.append((name,classref,table,paper,style,ext))
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Drawing document registration
|
# Drawing document registration
|
||||||
@ -654,6 +667,36 @@ def get_text_doc_menu(main_menu,tables,callback,obj=None):
|
|||||||
index = index + 1
|
index = index + 1
|
||||||
main_menu.set_menu(myMenu)
|
main_menu.set_menu(myMenu)
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# get_text_doc_menu
|
||||||
|
#
|
||||||
|
#-------------------------------------------------------------------------
|
||||||
|
def get_book_menu(main_menu,tables,callback,obj=None):
|
||||||
|
|
||||||
|
index = 0
|
||||||
|
myMenu = gtk.Menu()
|
||||||
|
_bookdoc.sort()
|
||||||
|
for item in _bookdoc:
|
||||||
|
if tables and item[2] == 0:
|
||||||
|
continue
|
||||||
|
name = item[0]
|
||||||
|
menuitem = gtk.MenuItem(name)
|
||||||
|
menuitem.set_data("name",item[1])
|
||||||
|
menuitem.set_data("styles",item[4])
|
||||||
|
menuitem.set_data("paper",item[3])
|
||||||
|
menuitem.set_data("ext",item[5])
|
||||||
|
menuitem.set_data("obj",obj)
|
||||||
|
if callback:
|
||||||
|
menuitem.connect("activate",callback)
|
||||||
|
menuitem.show()
|
||||||
|
myMenu.append(menuitem)
|
||||||
|
if name == GrampsCfg.output_preference:
|
||||||
|
myMenu.set_active(index)
|
||||||
|
callback(menuitem)
|
||||||
|
index = index + 1
|
||||||
|
main_menu.set_menu(myMenu)
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# get_text_doc_list
|
# get_text_doc_list
|
||||||
@ -666,6 +709,18 @@ def get_text_doc_list():
|
|||||||
l.append(item[0])
|
l.append(item[0])
|
||||||
return l
|
return l
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# get_text_doc_list
|
||||||
|
#
|
||||||
|
#-------------------------------------------------------------------------
|
||||||
|
def get_book_doc_list():
|
||||||
|
l = []
|
||||||
|
_bookdoc.sort()
|
||||||
|
for item in _bookdoc:
|
||||||
|
l.append(item[0])
|
||||||
|
return l
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# get_draw_doc_list
|
# get_draw_doc_list
|
||||||
|
@ -616,3 +616,4 @@ class OpenOfficeDoc(TextDoc.TextDoc):
|
|||||||
self.f.close()
|
self.f.close()
|
||||||
|
|
||||||
Plugins.register_text_doc(_("OpenOffice.org Writer"),OpenOfficeDoc,1,1,1,".sxw")
|
Plugins.register_text_doc(_("OpenOffice.org Writer"),OpenOfficeDoc,1,1,1,".sxw")
|
||||||
|
Plugins.register_book_doc(_("OpenOffice.org Writer"),OpenOfficeDoc,1,1,1,".sxw")
|
||||||
|
@ -323,3 +323,12 @@ Plugins.register_text_doc(
|
|||||||
style=1,
|
style=1,
|
||||||
ext=".pdf"
|
ext=".pdf"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Plugins.register_book_doc(
|
||||||
|
name=_("PDF"),
|
||||||
|
classref=PdfDoc,
|
||||||
|
table=1,
|
||||||
|
paper=1,
|
||||||
|
style=1,
|
||||||
|
ext=".pdf"
|
||||||
|
)
|
||||||
|
@ -861,8 +861,8 @@ class BookReportDialog(Report.ReportDialog):
|
|||||||
"""Build a menu of document types that are appropriate for
|
"""Build a menu of document types that are appropriate for
|
||||||
this text report. This menu will be generated based upon
|
this text report. This menu will be generated based upon
|
||||||
whether the document requires table support, etc."""
|
whether the document requires table support, etc."""
|
||||||
Plugins.get_text_doc_menu(self.format_menu, self.doc_uses_tables(),
|
Plugins.get_book_menu(self.format_menu, self.doc_uses_tables(),
|
||||||
self.doc_type_changed)
|
self.doc_type_changed)
|
||||||
|
|
||||||
def make_document(self):
|
def make_document(self):
|
||||||
"""Create a document of the type requested by the user."""
|
"""Create a document of the type requested by the user."""
|
||||||
|
Loading…
Reference in New Issue
Block a user