Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristian 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)
commit62f75268b04a10a0ce69bf917e57f689f5c79a41 (patch)
tree0fc51ea8be16acdc8bad2d1bb7340b0f25c3c9f0
parent79d5064cc4901d4f302fe7ac300323dcd165edfc (diff)
Volviendo a dejar el tema de impresion como estaba en un principio
-rw-r--r--CristianEdit/CristianEdit.py81
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