From 0214b842cd1ad7664c4da6b58be7d4fd5b4c1676 Mon Sep 17 00:00:00 2001 From: Brian Matherly Date: Mon, 16 Mar 2009 04:22:12 +0000 Subject: [PATCH] Remove the "print_label" construct from the reports. The only label is "Open with default viewer". No need to check the mime type or to look for the default application because Gramps uses the host OS to figure it out for the user. svn: r12351 --- src/ReportBase/_BookFormatComboBox.py | 8 +++--- src/ReportBase/_DocReportDialog.py | 37 +++++++++++++------------ src/ReportBase/_DrawFormatComboBox.py | 8 +++--- src/ReportBase/_GraphvizReportDialog.py | 25 ++++------------- src/ReportBase/_TextFormatComboBox.py | 8 +++--- src/gen/plug/_manager.py | 17 +++++------- src/plugins/BookReport.py | 4 +-- src/plugins/docgen/AsciiDoc.py | 5 +--- src/plugins/docgen/GtkPrint.py | 6 ++-- src/plugins/docgen/HtmlDoc.py | 6 +--- src/plugins/docgen/LaTeXDoc.py | 17 +----------- src/plugins/docgen/ODFDoc.py | 12 ++------ src/plugins/docgen/PSDrawDoc.py | 4 +-- src/plugins/docgen/PdfDoc.py | 11 +++----- src/plugins/docgen/RTFDoc.py | 6 +--- src/plugins/docgen/SvgDrawDoc.py | 2 +- 16 files changed, 62 insertions(+), 114 deletions(-) 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")