diff options
author | Cristian García <cristian99garcia@gmail.com> | 2013-09-07 11:00:04 (GMT) |
---|---|---|
committer | Cristian García <cristian99garcia@gmail.com> | 2013-09-07 11:00:04 (GMT) |
commit | 62f75268b04a10a0ce69bf917e57f689f5c79a41 (patch) | |
tree | 0fc51ea8be16acdc8bad2d1bb7340b0f25c3c9f0 | |
parent | 79d5064cc4901d4f302fe7ac300323dcd165edfc (diff) |
Volviendo a dejar el tema de impresion como estaba en un principio
-rw-r--r-- | CristianEdit/CristianEdit.py | 81 |
1 files changed, 24 insertions, 57 deletions
diff --git a/CristianEdit/CristianEdit.py b/CristianEdit/CristianEdit.py index ab58a37..28f4857 100644 --- a/CristianEdit/CristianEdit.py +++ b/CristianEdit/CristianEdit.py @@ -408,76 +408,43 @@ class CristianEdit(Gtk.Plug): def imprimir(self, *args): """Imprimir el texto el documento actual.""" - def paginate_cb(self, operation, context, compositor): - print "Pagination progress: %.2f %%\n" % (compositor.get_pagination_progress () * 100.0) - if compositor.paginate (context): - print "Pagination progress: %.2f %%\n" % (compositor.get_pagination_progress () * 100.0) - operation.set_n_pages (compositor.get_n_pages ()) - return True - return False - - def draw_page_cb(self, operation, context, page_nr, compositor): - compositor.draw_page (context, page_nr) - - """ - #def begin_print(operation, context, compositor): - # while not compositor.paginate(context): - # pass - - # n_pages = compositor.get_n_pages() - # operation.set_n_pages(n_pages) - - def paginate_cb(self, operation, context, compositor): - print "Pagination progress: %.2f %%\n" % (compositor.get_pagination_progress () * 100.0) - if compositor.paginate (context): - print "Pagination progress: %.2f %%\n" % (compositor.get_pagination_progress () * 100.0) - operation.set_n_pages (compositor.get_n_pages ()) - return True - return False + def begin_print(operation, context, compositor): + while not compositor.paginate(context): + pass + + n_pages = compositor.get_n_pages() + operation.set_n_pages(n_pages) def draw_page(operation, context, page_nr, compositor): compositor.draw_page(context, page_nr) compositor = GtkSource.PrintCompositor.new_from_view(self.get_view()) - #compositor.set_wrap_mode(Gtk.WrapMode.CHAR) - #compositor.set_highlight_syntax(True) - #compositor.set_print_line_numbers(1) - #compositor.set_header_format(False, 'Imprimido en %A', None, '%F') - #compositor.set_footer_format(True, '%T', os.path.expanduser('~'), 'Página %N/%Q') - #compositor.set_print_header(True) - #compositor.set_print_footer(True) + compositor.set_wrap_mode(Gtk.WrapMode.CHAR) + compositor.set_highlight_syntax(True) + compositor.set_print_line_numbers(1) + compositor.set_header_format(False, 'Imprimido en %A', None, '%F') + compositor.set_footer_format(True, '%T', self.get_direccion(), 'Página %N/%Q') + compositor.set_print_header(True) + compositor.set_print_footer(True) operation = Gtk.PrintOperation() operation.set_job_name(os.path.basename(self.get_direccion())) - operation.set_show_progress(True) - #operation.connect('begin-print', begin_print, compositor) - operation.connect('paginate', paginate_cb, compositor) + operation.connect('begin-print', begin_print, compositor) operation.connect('draw-page', draw_page, compositor) operation.run(Gtk.PrintOperationAction.PRINT_DIALOG, None) - #if res == Gtk.PrintOperationResult.ERROR: - # dialog = Gtk.MessageDialog( - # window, - # Gtk.DialogFlags.DESTROY_WITH_PARENT, - # Gtk.MessageType.ERROR, - # Gtk.ButtonsType.OK, - # 'Error al imprimir el archivo: %s' % direccion) - - # dialog.run() - # dialog.destroy() - """ - compositor = GtkSource.PrintCompositor.new_from_view (self.get_view()) - operation = Gtk.PrintOperation () - operation.set_job_name (os.path.basename(self.get_direccion())) - operation.set_show_progress (True) - - # we do blocking pagination - operation.connect('paginate', paginate_cb, compositor) - operation.connect('draw-page', draw_page_cb, compositor) - - operation.run (Gtk.PrintOperationAction.PRINT_DIALOG, None) + if res == Gtk.PrintOperationResult.ERROR: + dialog = Gtk.MessageDialog( + window, + Gtk.DialogFlags.DESTROY_WITH_PARENT, + Gtk.MessageType.ERROR, + Gtk.ButtonsType.OK, + 'Error al imprimir el archivo: \n%s' % direccion) + + dialog.run() + dialog.destroy() def estado(self, *args): """Muestra un diálogo con los datos |