diff --git a/src/ReportBase/_BookFormatComboBox.py b/src/ReportBase/_BookFormatComboBox.py index a21cb19e9..ec1a9558d 100644 --- a/src/ReportBase/_BookFormatComboBox.py +++ b/src/ReportBase/_BookFormatComboBox.py @@ -66,7 +66,7 @@ class BookFormatComboBox(gtk.ComboBox): self.data.append(item) name = item[0] self.store.append(row=[name]) - if item[6] == active: + if item[5] == active: active_index = index elif not active and name == out_pref: active_index = index @@ -85,8 +85,8 @@ class BookFormatComboBox(gtk.ComboBox): def get_ext(self): return self.data[self.get_active()][4] - def get_printable(self): - return self.data[self.get_active()][5] + def is_file_output(self): + return len(self.get_ext()) > 0 def get_clname(self): - return self.data[self.get_active()][6] + return self.data[self.get_active()][5] diff --git a/src/ReportBase/_DocReportDialog.py b/src/ReportBase/_DocReportDialog.py index 35773fbb3..ecddf6fc8 100644 --- a/src/ReportBase/_DocReportDialog.py +++ b/src/ReportBase/_DocReportDialog.py @@ -94,7 +94,7 @@ class DocReportDialog(ReportDialog): self.options.set_document(self.doc) - if self.print_report.get_active(): + if self.open_with_app.get_active(): self.doc.open_requested() def doc_type_changed(self, obj): @@ -104,14 +104,10 @@ class DocReportDialog(ReportDialog): file format. For example, a HTML document doesn't need any paper size/orientation options, but it does need a template file. Those chances are made here.""" - - label = obj.get_printable() - if label: - self.print_report.set_label (label) - self.print_report.set_sensitive (True) + if obj.is_file_output(): + self.open_with_app.set_sensitive (True) else: - self.print_report.set_label (_("Open with default viewer")) - self.print_report.set_sensitive (False) + self.open_with_app.set_sensitive (False) # Is this to be a printed report or an electronic report # (i.e. a set of web pages) @@ -129,15 +125,20 @@ class DocReportDialog(ReportDialog): self.notebook.insert_page(self.html_table,self.html_label,0) self.html_table.show_all() - fname = self.target_fileentry.get_full_path(0) - (spath,ext) = os.path.splitext(fname) - - ext_val = obj.get_ext() - if ext_val: - fname = spath + ext_val + if obj.is_file_output(): + fname = self.target_fileentry.get_full_path(0) + (spath, ext) = os.path.splitext(fname) + + ext_val = obj.get_ext() + if ext_val: + fname = spath + ext_val + else: + fname = spath + self.target_fileentry.set_filename(fname) + self.target_fileentry.set_sensitive(True) else: - fname = spath - self.target_fileentry.set_filename(fname) + self.target_fileentry.set_filename("") + self.target_fileentry.set_sensitive(False) # Does this report format use styles? if self.style_button: @@ -159,8 +160,8 @@ class DocReportDialog(ReportDialog): yoptions=gtk.SHRINK) self.row += 1 - self.print_report = gtk.CheckButton (_("Print a copy")) - self.tbl.attach(self.print_report,2,4,self.row,self.row+1, + self.open_with_app = gtk.CheckButton(_("Open with default viewer")) + self.tbl.attach(self.open_with_app, 2, 4, self.row, self.row+1, yoptions=gtk.SHRINK) self.row += 1 diff --git a/src/ReportBase/_DrawFormatComboBox.py b/src/ReportBase/_DrawFormatComboBox.py index 261869e84..949f0f9a7 100644 --- a/src/ReportBase/_DrawFormatComboBox.py +++ b/src/ReportBase/_DrawFormatComboBox.py @@ -56,7 +56,7 @@ class DrawFormatComboBox(gtk.ComboBox): self.store.append(row=[name]) #if callback: # menuitem.connect("activate",callback) - if item[6] == active: + if item[5] == active: active_index = index elif not active and name == out_pref: active_index = index @@ -78,8 +78,8 @@ class DrawFormatComboBox(gtk.ComboBox): def get_ext(self): return self.__drawdoc_list[self.get_active()][4] - def get_printable(self): - return self.__drawdoc_list[self.get_active()][5] + def is_file_output(self): + return len(self.get_ext()) > 0 def get_clname(self): - return self.__drawdoc_list[self.get_active()][6] + return self.__drawdoc_list[self.get_active()][5] diff --git a/src/ReportBase/_GraphvizReportDialog.py b/src/ReportBase/_GraphvizReportDialog.py index 8262b0079..10a8e564d 100644 --- a/src/ReportBase/_GraphvizReportDialog.py +++ b/src/ReportBase/_GraphvizReportDialog.py @@ -46,7 +46,6 @@ import gobject # GRAMPS modules # #------------------------------------------------------------------------------- -import Mime import Utils import BaseDoc import Config @@ -892,19 +891,8 @@ class GraphvizFormatComboBox(gtk.ComboBox): def get_format_str(self): return _FORMATS[self.get_active()]["type"] - def get_printable(self): - _apptype = _FORMATS[self.get_active()]["mime"] - print_label = None - try: - mprog = Mime.get_application(_apptype) - if Utils.search_for(mprog[0]): - print_label = _("Open in %(program_name)s") % { 'program_name': - mprog[1] } - else: - print_label = None - except: - print_label = None - return print_label + def is_file_output(self): + return True def get_clname(self): return _FORMATS[self.get_active()]["type"] @@ -1083,8 +1071,8 @@ class GraphvizReportDialog(ReportDialog): yoptions=gtk.SHRINK) self.row += 1 - self.print_report = gtk.CheckButton(_("Open with application")) - self.tbl.attach(self.print_report, 2, 4, self.row, self.row+1, + self.open_with_app = gtk.CheckButton(_("Open with default viewer")) + self.tbl.attach(self.open_with_app, 2, 4, self.row, self.row+1, yoptions=gtk.SHRINK) self.row += 1 @@ -1122,8 +1110,7 @@ class GraphvizReportDialog(ReportDialog): paper size/orientation options, but it does need a template file. Those chances are made here. """ - self.print_report.set_label (_("Open with default application")) - self.print_report.set_sensitive(True) + self.open_with_app.set_sensitive(True) fname = self.target_fileentry.get_full_path(0) (spath, ext) = os.path.splitext(fname) @@ -1144,7 +1131,7 @@ class GraphvizReportDialog(ReportDialog): self.options.set_document(self.doc) - if self.print_report.get_active(): + if self.open_with_app.get_active(): self.doc.open_requested() def on_ok_clicked(self, obj): diff --git a/src/ReportBase/_TextFormatComboBox.py b/src/ReportBase/_TextFormatComboBox.py index 3e4ea677d..9fc929085 100644 --- a/src/ReportBase/_TextFormatComboBox.py +++ b/src/ReportBase/_TextFormatComboBox.py @@ -52,7 +52,7 @@ class TextFormatComboBox(gtk.ComboBox): for item in self.__text_doc_list: name = item[0] self.store.append(row=[name]) - if item[6] == active: + if item[5] == active: active_index = index elif not active and name == out_pref: active_index = index @@ -74,8 +74,8 @@ class TextFormatComboBox(gtk.ComboBox): def get_ext(self): return self.__text_doc_list[self.get_active()][4] - def get_printable(self): - return self.__text_doc_list[self.get_active()][5] + def is_file_output(self): + return len(self.get_ext()) > 0 def get_clname(self): - return self.__text_doc_list[self.get_active()][6] + return self.__text_doc_list[self.get_active()][5] diff --git a/src/gen/plug/_manager.py b/src/gen/plug/_manager.py index 1373f8faf..a19cf2c71 100644 --- a/src/gen/plug/_manager.py +++ b/src/gen/plug/_manager.py @@ -461,8 +461,7 @@ class PluginManager(gen.utils.Callback): self.__cl_list.append( (name, category, report_class, options_class, translated_name, unsupported, require_active) ) - def register_text_doc(self, name, classref, paper, style, ext, - print_report_label=None, clname=''): + def register_text_doc(self, name, classref, paper, style, ext, clname=''): """ Register a text document generator. """ @@ -478,11 +477,10 @@ class PluginManager(gen.utils.Callback): clname = ext[1:] self.__textdoc_list.append( (name, classref, paper, style, - ext, print_report_label, clname) ) + ext, clname) ) self.__mod2text[classref.__module__] = name - def register_book_doc(self, name, classref, paper, style, ext, - print_report_label=None, clname=''): + def register_book_doc(self, name, classref, paper, style, ext, clname=''): """ Register a text document generator. """ @@ -496,11 +494,10 @@ class PluginManager(gen.utils.Callback): if not clname: clname = ext[1:] - self.__bookdoc_list.append( (name, classref, paper, style, ext, - print_report_label, clname) ) + self.__bookdoc_list.append( (name, classref, paper, style, ext, + clname) ) - def register_draw_doc(self, name, classref, paper, style, ext, - print_report_label=None, clname=''): + def register_draw_doc(self, name, classref, paper, style, ext, clname=''): """ Register a drawing document generator. """ @@ -514,7 +511,7 @@ class PluginManager(gen.utils.Callback): if not clname: clname = ext[1:] self.__drawdoc_list.append( (name, classref, paper, style, ext, - print_report_label, clname) ) + clname) ) self.__mod2text[classref.__module__] = name def register_quick_report(self, name, category, run_func, translated_name, diff --git a/src/plugins/BookReport.py b/src/plugins/BookReport.py index f330cc542..c97adaa2c 100644 --- a/src/plugins/BookReport.py +++ b/src/plugins/BookReport.py @@ -1134,8 +1134,8 @@ class BookReportDialog(DocReportDialog): self.rptlist.append(obj) self.doc.open(self.target_path) - if self.print_report.get_active(): - self.doc.open_requested () + if self.open_with_app.get_active(): + self.doc.open_requested() def make_report(self): """The actual book report. Start it out, then go through the item list diff --git a/src/plugins/docgen/AsciiDoc.py b/src/plugins/docgen/AsciiDoc.py index f716d4501..dfcce4a65 100644 --- a/src/plugins/docgen/AsciiDoc.py +++ b/src/plugins/docgen/AsciiDoc.py @@ -37,10 +37,8 @@ from gettext import gettext as _ import BaseDoc from gen.plug import PluginManager import Errors -import Mime import Utils - #------------------------------------------------------------------------ # # Constants @@ -372,6 +370,5 @@ class AsciiDoc(BaseDoc.BaseDoc,BaseDoc.TextDoc): #------------------------------------------------------------------------ print_label = None pmgr = PluginManager.get_instance() -pmgr.register_text_doc(_("Plain Text"), AsciiDoc, 1, 1, ".txt", - _("Open with default viewer")) +pmgr.register_text_doc(_("Plain Text"), AsciiDoc, 1, 1, ".txt") diff --git a/src/plugins/docgen/GtkPrint.py b/src/plugins/docgen/GtkPrint.py index bcca2fc29..bf5c3e61f 100644 --- a/src/plugins/docgen/GtkPrint.py +++ b/src/plugins/docgen/GtkPrint.py @@ -620,6 +620,6 @@ class GtkPrint(CairoDoc): # #------------------------------------------------------------------------ pmgr = PluginManager.get_instance() -pmgr.register_text_doc(_('Print...'), GtkPrint, 1, 1, "", None) -pmgr.register_draw_doc(_('Print...'), GtkPrint, 1, 1, "", None) -pmgr.register_book_doc(_('Print...'), GtkPrint, 1, 1, "", None) +pmgr.register_text_doc(_('Print...'), GtkPrint, 1, 1, "") +pmgr.register_draw_doc(_('Print...'), GtkPrint, 1, 1, "") +pmgr.register_book_doc(_('Print...'), GtkPrint, 1, 1, "") diff --git a/src/plugins/docgen/HtmlDoc.py b/src/plugins/docgen/HtmlDoc.py index 17159cd9e..dbb96f2a1 100644 --- a/src/plugins/docgen/HtmlDoc.py +++ b/src/plugins/docgen/HtmlDoc.py @@ -44,10 +44,8 @@ import const import Errors import BaseDoc from QuestionDialog import ErrorDialog, WarningDialog -import Mime import Utils - #------------------------------------------------------------------------ # # Constant regular expressions @@ -477,7 +475,5 @@ class HtmlDoc(BaseDoc.BaseDoc,BaseDoc.TextDoc): # Register the document generator with the GRAMPS plugin system # #------------------------------------------------------------------------ -print_label = None pmgr = PluginManager.get_instance() -pmgr.register_text_doc(_('HTML'), HtmlDoc, 0, 1, ".html", - _("Open with default viewer")) +pmgr.register_text_doc(_('HTML'), HtmlDoc, 0, 1, ".html") diff --git a/src/plugins/docgen/LaTeXDoc.py b/src/plugins/docgen/LaTeXDoc.py index c118d379b..4e9cab1ab 100644 --- a/src/plugins/docgen/LaTeXDoc.py +++ b/src/plugins/docgen/LaTeXDoc.py @@ -43,11 +43,8 @@ import BaseDoc from gen.plug import PluginManager import ImgManip import Errors -import Mime import Utils -_apptype = 'text/x-tex' - #------------------------------------------------------------------------ # # Convert from roman to arabic numbers @@ -646,17 +643,5 @@ class LaTeXDoc(BaseDoc.BaseDoc,BaseDoc.TextDoc): # Register plugins # #------------------------------------------------------------------------ -print_label = None pmgr = PluginManager.get_instance() -try: - mprog = Mime.get_application(_apptype) - - if Utils.search_for(mprog[0]): - print_label = _("Open in %(program_name)s") % { 'program_name': - mprog[1]} - else: - print_label = None -except: - print_label = None - -pmgr.register_text_doc(_('LaTeX'), LaTeXDoc, 1, 0, ".tex", print_label) +pmgr.register_text_doc(_('LaTeX'), LaTeXDoc, 1, 0, ".tex") diff --git a/src/plugins/docgen/ODFDoc.py b/src/plugins/docgen/ODFDoc.py index f04fe6a69..e7f2947f7 100644 --- a/src/plugins/docgen/ODFDoc.py +++ b/src/plugins/docgen/ODFDoc.py @@ -50,7 +50,6 @@ from gen.plug import PluginManager from ReportBase import ReportUtils import ImgManip import FontScale -import Mime import Utils import Errors @@ -1144,12 +1143,7 @@ class ODFDoc(BaseDoc.BaseDoc, BaseDoc.TextDoc, BaseDoc.DrawDoc): # Register plugins # #-------------------------------------------------------------------------- -print_label = _("Open with default viewer") pmgr = PluginManager.get_instance() - -pmgr.register_text_doc(_('Open Document Text'), - ODFDoc, 1, 1, ".odt", print_label) -pmgr.register_book_doc(_("Open Document Text"), - ODFDoc, 1, 1, ".odt", print_label) -pmgr.register_draw_doc(_("Open Document Text"), - ODFDoc, 1, 1, ".odt", print_label); +pmgr.register_text_doc(_('Open Document Text'), ODFDoc, 1, 1, ".odt") +pmgr.register_book_doc(_("Open Document Text"), ODFDoc, 1, 1, ".odt") +pmgr.register_draw_doc(_("Open Document Text"), ODFDoc, 1, 1, ".odt") diff --git a/src/plugins/docgen/PSDrawDoc.py b/src/plugins/docgen/PSDrawDoc.py index 5fffe621a..b7a713f18 100644 --- a/src/plugins/docgen/PSDrawDoc.py +++ b/src/plugins/docgen/PSDrawDoc.py @@ -37,7 +37,6 @@ import BaseDoc import Errors from Utils import gformat -import Mime import Utils def lrgb(grp): @@ -345,5 +344,4 @@ class PSDrawDoc(BaseDoc.BaseDoc,BaseDoc.DrawDoc): self.f.write('grestore\n') pmgr = PluginManager.get_instance() -pmgr.register_draw_doc(_("PostScript"), PSDrawDoc, 1, 1, ".ps", - _("Open with default viewer")) +pmgr.register_draw_doc(_("PostScript"), PSDrawDoc, 1, 1, ".ps") diff --git a/src/plugins/docgen/PdfDoc.py b/src/plugins/docgen/PdfDoc.py index 6e08c9cd2..8b9b266da 100644 --- a/src/plugins/docgen/PdfDoc.py +++ b/src/plugins/docgen/PdfDoc.py @@ -39,7 +39,6 @@ from gettext import gettext as _ from CairoDoc import CairoDoc from gen.plug import PluginManager import Utils -import Mime #------------------------------------------------------------------------ # @@ -136,12 +135,10 @@ class PdfDoc(CairoDoc): def register_docgen(): """Register the docgen with the GRAMPS plugin system. """ - mtype = _('PDF document') - print_label = _("Open with default viewer") - + doc_name = _('PDF document') pmgr = PluginManager.get_instance() - pmgr.register_text_doc(mtype, PdfDoc, 1, 1, ".pdf", print_label) - pmgr.register_draw_doc(mtype, PdfDoc, 1, 1, ".pdf", print_label) - pmgr.register_book_doc(mtype, PdfDoc, 1, 1, ".pdf", print_label) + pmgr.register_text_doc(doc_name, PdfDoc, 1, 1, ".pdf") + pmgr.register_draw_doc(doc_name, PdfDoc, 1, 1, ".pdf") + pmgr.register_book_doc(doc_name, PdfDoc, 1, 1, ".pdf") register_docgen() \ No newline at end of file diff --git a/src/plugins/docgen/RTFDoc.py b/src/plugins/docgen/RTFDoc.py index 65b0d8d95..e105965b2 100644 --- a/src/plugins/docgen/RTFDoc.py +++ b/src/plugins/docgen/RTFDoc.py @@ -38,11 +38,8 @@ import BaseDoc from gen.plug import PluginManager import ImgManip import Errors -import Mime import Utils -mime_type = "application/rtf" - #------------------------------------------------------------------------ # # RTF uses a unit called "twips" for its measurements. According to the @@ -441,5 +438,4 @@ class RTFDoc(BaseDoc.BaseDoc,BaseDoc.TextDoc): # #------------------------------------------------------------------------ pmgr = PluginManager.get_instance() -pmgr.register_text_doc(_('RTF document'), RTFDoc, 1, 1, ".rtf", - _("Open with default viewer")) +pmgr.register_text_doc(_('RTF document'), RTFDoc, 1, 1, ".rtf") diff --git a/src/plugins/docgen/SvgDrawDoc.py b/src/plugins/docgen/SvgDrawDoc.py index a95f56cc3..aa1c725cc 100644 --- a/src/plugins/docgen/SvgDrawDoc.py +++ b/src/plugins/docgen/SvgDrawDoc.py @@ -264,4 +264,4 @@ def units(val): #------------------------------------------------------------------------- pmgr = PluginManager.get_instance() pmgr.register_draw_doc(_("SVG (Scalable Vector Graphics)"), SvgDrawDoc, 1, 1, - ".svg", _("Open with default viewer")) + ".svg")