* src/docgen/PdfDoc.py: add the ability to open the document in the
default viewer * src/docgen/AbiWord2Doc.py: add the ability to open the document in AbiWord * src/docgen/OpenOfficeDoc.py: fixed the search for default viewer * src/docgen/RTFDoc.py: add the ability to open the document in the default viewer * src/docgen/HtmlDoc.py: add the ability to open the document in the default viewer * src/docgen/KwordDoc.py: add comment svn: r2575
This commit is contained in:
parent
ca0ac5c951
commit
e047ea7aba
@ -31,6 +31,7 @@ Provides a BaseDoc based interface to the AbiWord document format.
|
||||
#-------------------------------------------------------------------------
|
||||
import base64
|
||||
import string
|
||||
import os
|
||||
|
||||
import BaseDoc
|
||||
import Errors
|
||||
@ -175,6 +176,14 @@ class AbiWordDoc(BaseDoc.BaseDoc):
|
||||
self.f.write('</abiword>\n')
|
||||
self.f.close()
|
||||
|
||||
if self.print_req:
|
||||
import grampslib
|
||||
|
||||
apptype = 'application/x-abiword'
|
||||
prog = grampslib.default_application_command(apptype)
|
||||
os.environ["FILE"] = self.filename
|
||||
os.system ('%s "$FILE" &' % prog)
|
||||
|
||||
def add_photo(self,name,pos,x_cm,y_cm):
|
||||
|
||||
try:
|
||||
@ -297,4 +306,20 @@ class AbiWordDoc(BaseDoc.BaseDoc):
|
||||
def end_cell(self):
|
||||
self.f.write('</cell>\n')
|
||||
|
||||
Plugins.register_text_doc(_("AbiWord"),AbiWordDoc,1,1,1,".abw")
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
# Register plugins
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
|
||||
try:
|
||||
import grampslib
|
||||
import Utils
|
||||
|
||||
prog = grampslib.default_application_command("application/x-abiword")
|
||||
if Utils.search_for(prog):
|
||||
print_label=_("Open in AbiWord")
|
||||
except:
|
||||
print_label = None
|
||||
|
||||
Plugins.register_text_doc(_("AbiWord"),AbiWordDoc,1,1,1,".abw", print_label)
|
||||
|
@ -333,6 +333,14 @@ class HtmlDoc(BaseDoc.BaseDoc):
|
||||
self.f.close()
|
||||
self.write_support_files()
|
||||
|
||||
if self.print_req:
|
||||
import grampslib
|
||||
|
||||
apptype = 'text/html'
|
||||
prog = grampslib.default_application_command(apptype)
|
||||
os.environ["FILE"] = self.filename
|
||||
os.system ('%s "$FILE" &' % prog)
|
||||
|
||||
def write_support_files(self):
|
||||
if self.map:
|
||||
for name in self.map.keys():
|
||||
@ -457,4 +465,21 @@ class HtmlDoc(BaseDoc.BaseDoc):
|
||||
self.empty = 0
|
||||
self.f.write(text)
|
||||
|
||||
Plugins.register_text_doc(_("HTML"),HtmlDoc,1,0,1,".html")
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
# Register the document generator with the GRAMPS plugin system
|
||||
#
|
||||
#------------------------------------------------------------------------
|
||||
|
||||
try:
|
||||
import grampslib
|
||||
import Utils
|
||||
|
||||
prog = grampslib.default_application_command("text/html")
|
||||
desc = grampslib.default_application_name("text/html")
|
||||
if Utils.search_for(prog):
|
||||
print_label=_("Open in %s") % desc
|
||||
except:
|
||||
print_label = None
|
||||
|
||||
Plugins.register_text_doc(_("HTML"),HtmlDoc,1,0,1,".html", print_label)
|
||||
|
@ -476,4 +476,10 @@ class KwordDoc(BaseDoc.BaseDoc):
|
||||
|
||||
self.text = self.text + text
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
# Register the document generator with the GRAMPS plugin system
|
||||
#
|
||||
#------------------------------------------------------------------------
|
||||
|
||||
Plugins.register_text_doc(_("KWord"),KwordDoc,1,1,1,".kwd")
|
||||
|
@ -967,16 +967,21 @@ class OpenOfficeDoc(BaseDoc.BaseDoc):
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
print_label = None
|
||||
if os.access ("/usr/bin/oowriter", os.X_OK):
|
||||
print_label = _("Open in OpenOffice.org")
|
||||
try:
|
||||
import grampslib
|
||||
import Utils
|
||||
|
||||
apptype = 'application/vnd.sun.xml.writer'
|
||||
prog = grampslib.default_application_command(apptype)
|
||||
|
||||
if Utils.search_for(prog):
|
||||
print_label = _("Open in OpenOffice.org")
|
||||
except:
|
||||
pass
|
||||
|
||||
Plugins.register_text_doc(_("OpenOffice.org Writer"),OpenOfficeDoc,1,1,1,
|
||||
".sxw",print_label)
|
||||
Plugins.register_book_doc(_("OpenOffice.org Writer"),OpenOfficeDoc,1,1,1,".sxw")
|
||||
|
||||
print_label = None
|
||||
if os.access ("/usr/bin/oodraw", os.X_OK):
|
||||
print_label = _("Open in OpenOffice.org")
|
||||
|
||||
Plugins.register_draw_doc(_("OpenOffice.org Draw"),OpenOfficeDoc,1,1,".sxd",
|
||||
print_label);
|
||||
|
@ -175,7 +175,14 @@ class PdfDoc(BaseDoc.BaseDoc):
|
||||
except:
|
||||
import DisplayTrace
|
||||
DisplayTrace.DisplayTrace()
|
||||
# raise Errors.ReportError(_("Could not create %s") % self.filename)
|
||||
|
||||
if self.print_req:
|
||||
import grampslib
|
||||
|
||||
apptype = 'application/pdf'
|
||||
prog = grampslib.default_application_command(apptype)
|
||||
os.environ["FILE"] = self.filename
|
||||
os.system ('%s "$FILE" &' % prog)
|
||||
|
||||
def page_break(self):
|
||||
self.story.append(PageBreak())
|
||||
@ -565,12 +572,24 @@ def make_color(c):
|
||||
#
|
||||
#------------------------------------------------------------------------
|
||||
|
||||
try:
|
||||
import grampslib
|
||||
import Utils
|
||||
|
||||
prog = grampslib.default_application_command("application/pdf")
|
||||
desc = grampslib.default_application_name("application/pdf")
|
||||
if Utils.search_for(prog):
|
||||
print_label=_("Open in %s") % desc
|
||||
except:
|
||||
print_label = None
|
||||
|
||||
Plugins.register_draw_doc(
|
||||
_("PDF"),
|
||||
PdfDoc,
|
||||
1,
|
||||
1,
|
||||
".pdf"
|
||||
".pdf",
|
||||
print_label
|
||||
)
|
||||
|
||||
Plugins.register_text_doc(
|
||||
@ -579,7 +598,8 @@ Plugins.register_text_doc(
|
||||
table=1,
|
||||
paper=1,
|
||||
style=1,
|
||||
ext=".pdf"
|
||||
ext=".pdf",
|
||||
print_report_label=print_label
|
||||
)
|
||||
|
||||
Plugins.register_book_doc(
|
||||
|
@ -26,6 +26,7 @@
|
||||
#
|
||||
#------------------------------------------------------------------------
|
||||
import string
|
||||
import os
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
@ -124,6 +125,14 @@ class RTFDoc(BaseDoc.BaseDoc):
|
||||
self.f.write('}\n')
|
||||
self.f.close()
|
||||
|
||||
if self.print_req:
|
||||
import grampslib
|
||||
|
||||
apptype = 'application/rtf'
|
||||
prog = grampslib.default_application_command(apptype)
|
||||
os.environ["FILE"] = self.filename
|
||||
os.system ('%s "$FILE" &' % prog)
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
#
|
||||
# Force a section page break
|
||||
@ -402,4 +411,20 @@ class RTFDoc(BaseDoc.BaseDoc):
|
||||
self.text = self.text.replace('<super>','{{\*\updnprop5801}\up10 ')
|
||||
self.text = self.text.replace('</super>','}')
|
||||
|
||||
Plugins.register_text_doc(_("Rich Text Format (RTF)"),RTFDoc,1,1,1,".rtf")
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
# Register the document generator with the GRAMPS plugin system
|
||||
#
|
||||
#------------------------------------------------------------------------
|
||||
try:
|
||||
import grampslib
|
||||
import Utils
|
||||
|
||||
prog = grampslib.default_application_command("application/rtf")
|
||||
desc = grampslib.default_application_name("application/rtf")
|
||||
if Utils.search_for(prog):
|
||||
print_label=_("Open in %s") % desc
|
||||
except:
|
||||
print_label = None
|
||||
|
||||
Plugins.register_text_doc(_("Rich Text Format (RTF)"),RTFDoc,1,1,1,".rtf", print_label)
|
||||
|
Loading…
Reference in New Issue
Block a user