diff --git a/po/POTFILES.in b/po/POTFILES.in index 329512b36..cbdf83b5e 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -296,7 +296,8 @@ src/plugins/import/ImportGrdb.py src/plugins/import/ImportProGen.py src/plugins/import/ImportVCard.py -# plugins/lib directory +# plugins/lib directory +src/plugins/lib/libcairodoc.py src/plugins/lib/libholiday.py src/plugins/lib/libmapservice.py src/plugins/lib/libgrampsxml.py diff --git a/src/plugins/docgen/GtkPrint.py b/src/plugins/docgen/GtkPrint.py index aa349d13b..2379a59a2 100644 --- a/src/plugins/docgen/GtkPrint.py +++ b/src/plugins/docgen/GtkPrint.py @@ -43,7 +43,7 @@ import os # #------------------------------------------------------------------------ import BaseDoc -from CairoDoc import CairoDoc +import libcairodoc from gen.plug import PluginManager, DocGenPlugin import Errors @@ -509,7 +509,7 @@ class PrintPreview: # GtkPrint class # #------------------------------------------------------------------------ -class GtkPrint(CairoDoc): +class GtkPrint(libcairodoc.CairoDoc): """Print document via GtkPrint* interface. Requires Gtk+ 2.10. diff --git a/src/plugins/docgen/Makefile.am b/src/plugins/docgen/Makefile.am index 49c27c9f9..b01f9f470 100644 --- a/src/plugins/docgen/Makefile.am +++ b/src/plugins/docgen/Makefile.am @@ -7,7 +7,6 @@ pkgdatadir = $(datadir)/@PACKAGE@/plugins/docgen pkgdata_PYTHON = \ AsciiDoc.py \ - CairoDoc.py \ GtkPrint.py \ HtmlDoc.py \ LaTeXDoc.py \ diff --git a/src/plugins/docgen/PdfDoc.py b/src/plugins/docgen/PdfDoc.py index 0d81d4b86..92f2a23ce 100644 --- a/src/plugins/docgen/PdfDoc.py +++ b/src/plugins/docgen/PdfDoc.py @@ -36,7 +36,7 @@ from gettext import gettext as _ # Gramps modules # #------------------------------------------------------------------------ -from CairoDoc import CairoDoc +import libcairodoc from gen.plug import PluginManager, DocGenPlugin import Utils @@ -71,7 +71,7 @@ DPI = 72.0 # PdfDoc class # #------------------------------------------------------------------------ -class PdfDoc(CairoDoc): +class PdfDoc(libcairodoc.CairoDoc): """Render the document into PDF file using Cairo. """ def run(self): diff --git a/src/plugins/lib/Makefile.am b/src/plugins/lib/Makefile.am index 62e2c7c66..98c80551d 100644 --- a/src/plugins/lib/Makefile.am +++ b/src/plugins/lib/Makefile.am @@ -6,6 +6,7 @@ pkgdatadir = $(datadir)/@PACKAGE@/plugins/lib pkgdata_PYTHON = \ + libcairodoc.py\ libgrampsxml.py\ libholiday.py\ libmapservice.py diff --git a/src/plugins/docgen/CairoDoc.py b/src/plugins/lib/libcairodoc.py similarity index 98% rename from src/plugins/docgen/CairoDoc.py rename to src/plugins/lib/libcairodoc.py index fadbf1842..19e8db930 100644 --- a/src/plugins/docgen/CairoDoc.py +++ b/src/plugins/lib/libcairodoc.py @@ -3,6 +3,7 @@ # # Copyright (C) 2007 Zsolt Foldvari # Copyright (C) 2009 Benny Malengier +# Copyright (C) 2009 Brian Matherly # # 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 @@ -29,6 +30,7 @@ # Python modules # #------------------------------------------------------------------------ +from gettext import gettext as _ from math import radians from xml.sax.saxutils import escape @@ -39,6 +41,7 @@ from xml.sax.saxutils import escape #------------------------------------------------------------------------ import BaseDoc from ReportBase import ReportUtils +from gen.plug import PluginManager, Plugin #------------------------------------------------------------------------ # @@ -46,7 +49,7 @@ from ReportBase import ReportUtils # #------------------------------------------------------------------------ import logging -log = logging.getLogger(".CairoDoc") +log = logging.getLogger(".libcairodoc") #------------------------------------------------------------------------- # @@ -1483,3 +1486,20 @@ class CairoDoc(BaseDoc.BaseDoc, BaseDoc.TextDoc, BaseDoc.DrawDoc): cr.stroke() self._pages[page_nr].draw(cr, layout, width, dpi_x, dpi_y) + +#------------------------------------------------------------------------ +# +# register_plugin +# +#------------------------------------------------------------------------ +def register_plugin(): + PluginManager.get_instance().register_plugin( + Plugin( + name = __name__, + description = _("Provides a library for using Cairo to " + "generate documents."), + module_name = __name__ + ) + ) + +register_plugin() \ No newline at end of file