From da9ffa1b77f2f25bad46e6a907b8cb66bca48ac8 Mon Sep 17 00:00:00 2001 From: Robert Schroll Date: Mon, 4 Jun 2012 17:17:28 -0400 Subject: [PATCH] Always exit through PresentationController.quit() This ensures that the metadata will always be saved. --- src/classes/metadata/pdf.vala | 7 +++++++ src/classes/presentation_controller.vala | 10 +++++----- src/classes/window/presentation.vala | 2 +- src/classes/window/presenter.vala | 2 +- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/classes/metadata/pdf.vala b/src/classes/metadata/pdf.vala index 88257491..1db6a8cf 100644 --- a/src/classes/metadata/pdf.vala +++ b/src/classes/metadata/pdf.vala @@ -189,6 +189,13 @@ namespace pdfpc.Metadata { } } + /* + * Called on quit + */ + public void quit() { + this.save_to_disk(); + } + /** * Save the metadata to disk, if needed (i.e. if the user did something * with the notes or the skips) diff --git a/src/classes/presentation_controller.vala b/src/classes/presentation_controller.vala index 710749de..72e7b9cf 100644 --- a/src/classes/presentation_controller.vala +++ b/src/classes/presentation_controller.vala @@ -193,6 +193,11 @@ namespace pdfpc { this.fillActionNames(); } + public void quit() { + this.metadata.quit(); + Gtk.main_quit(); + } + public void set_overview(Window.Overview o) { this.overview = o; } @@ -841,11 +846,6 @@ namespace pdfpc { } } - protected void quit() { - this.metadata.save_to_disk(); - Gtk.main_quit(); - } - /** * Parse the given time string to a Time object */ diff --git a/src/classes/window/presentation.vala b/src/classes/window/presentation.vala index e2557414..18e50ce4 100644 --- a/src/classes/window/presentation.vala +++ b/src/classes/window/presentation.vala @@ -48,7 +48,7 @@ namespace pdfpc.Window { base( screen_num ); this.destroy.connect( (source) => { - Gtk.main_quit(); + presentation_controller.quit(); } ); this.presentation_controller = presentation_controller; diff --git a/src/classes/window/presenter.vala b/src/classes/window/presenter.vala index 13b68cd0..ddb84b5f 100644 --- a/src/classes/window/presenter.vala +++ b/src/classes/window/presenter.vala @@ -141,7 +141,7 @@ namespace pdfpc.Window { base( screen_num ); this.destroy.connect( (source) => { - Gtk.main_quit(); + presentation_controller.quit(); } ); this.presentation_controller = presentation_controller;