[ease] [general] Move PDFExporter functionality to Document
- From: Nate Stedman <natesm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ease] [general] Move PDFExporter functionality to Document
- Date: Sat, 24 Jul 2010 22:32:47 +0000 (UTC)
commit 5c6c45f48be55d6db88591243eac09a50aaf1b86
Author: Nate Stedman <natesm gmail com>
Date: Sat Jul 24 18:31:57 2010 -0400
[general] Move PDFExporter functionality to Document
- PDFExporter class removed
- Document gains export_to_pdf
Makefile.am | 1 -
src/ease-document.vala | 51 ++++++++++++++++++++++++++++
src/ease-editor-window.vala | 2 +-
src/ease-pdf-exporter.vala | 77 -------------------------------------------
4 files changed, 52 insertions(+), 79 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 791988f..442396f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -36,7 +36,6 @@ ease_SOURCES = \
src/ease-json-parser.vala \
src/ease-media-element.vala \
src/ease-open-dialog.vala \
- src/ease-pdf-exporter.vala \
src/ease-player.vala \
src/ease-scrollable-embed.vala \
src/ease-selection-rectangle.vala \
diff --git a/src/ease-document.vala b/src/ease-document.vala
index cec3a96..757e5da 100644
--- a/src/ease-document.vala
+++ b/src/ease-document.vala
@@ -163,6 +163,57 @@ public class Ease.Document : SlideSet
}
/**
+ * Exports this as a PDF file.
+ *
+ * @param win The window that dialogs should be modal for.
+ */
+ public void export_to_pdf(Gtk.Window win)
+ {
+ string path;
+
+ var dialog = new Gtk.FileChooserDialog(_("Export to PDF"),
+ win,
+ Gtk.FileChooserAction.SAVE,
+ "gtk-save",
+ Gtk.ResponseType.ACCEPT,
+ "gtk-cancel",
+ Gtk.ResponseType.CANCEL,
+ null);
+
+ if (dialog.run() == Gtk.ResponseType.ACCEPT)
+ {
+ // clean up the file dialog
+ path = dialog.get_filename();
+ dialog.destroy();
+ }
+ else
+ {
+ dialog.destroy();
+ return;
+ }
+
+ try
+ {
+ // create a PDF surface
+ var surface = new Cairo.PdfSurface(path, width, height);
+ var context = new Cairo.Context(surface);
+
+ foreach (var s in slides)
+ {
+ s.cairo_render(context);
+ context.show_page();
+ }
+
+ surface.flush();
+ surface.finish();
+ }
+ catch (Error e)
+ {
+ error_dialog(_("Error Exporting to PDF"), e.message);
+ }
+ }
+
+ /**
* Exports this Document to an HTML file.
*
* @param window The window that the progress dialog should be modal for.
diff --git a/src/ease-editor-window.vala b/src/ease-editor-window.vala
index ed525f2..499938b 100644
--- a/src/ease-editor-window.vala
+++ b/src/ease-editor-window.vala
@@ -434,7 +434,7 @@ public class Ease.EditorWindow : Gtk.Window
[CCode (instance_pos = -1)]
public void export_to_pdf(Gtk.Widget sender)
{
- PDFExporter.export(document, this);
+ document.export_to_pdf(this);
}
[CCode (instance_pos = -1)]
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]