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
This commit is contained in:
Brian Matherly 2009-03-16 04:22:12 +00:00
parent be898d84a9
commit 0214b842cd
16 changed files with 62 additions and 114 deletions

View File

@ -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]

View File

@ -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

View File

@ -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]

View File

@ -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):

View File

@ -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]

View File

@ -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,

View File

@ -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

View File

@ -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")

View File

@ -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, "")

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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()

View File

@ -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")

View File

@ -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")