diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2015-09-27 15:05:13 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2015-09-27 15:05:13 +0200 |
commit | 16fe2e5d0525422ba6ca5db9e92a93d17caae302 (patch) | |
tree | d6f1a9ed22335f6d0b457ccdd560b7525fb38d14 /src/themes/theme.vala | |
parent | 10af7615316fd91eef61cc66a8ede38a2bff3fdc (diff) |
Imported Upstream version 0.6.6upstream/0.6.6
Diffstat (limited to 'src/themes/theme.vala')
-rw-r--r-- | src/themes/theme.vala | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/themes/theme.vala b/src/themes/theme.vala index a7dd4f8..98e8994 100644 --- a/src/themes/theme.vala +++ b/src/themes/theme.vala @@ -115,6 +115,42 @@ public class Theme : GLib.Object { return true; } + + ///////////////////////////////////////////////////////////////////// + /// Exports the theme directory to an importable archive. + ///////////////////////////////////////////////////////////////////// + + public void export(string file) { + + var archive = new ArchiveWriter(); + bool success = true; + + if (!archive.open(file)) { + warning("Cannot open file " + file + " for writing!"); + success = false; + } else if (!archive.add(this.directory)) { + warning("Cannot append directory " + this.directory + " to archive!"); + success = false; + } + + archive.close(); + + if (success) { + var message = _("Successfully exported the theme \"%s\"!").printf(this.name); + var dialog = new Gtk.MessageDialog(null, Gtk.DialogFlags.MODAL, + Gtk.MessageType.INFO, Gtk.ButtonsType.CLOSE, message); + dialog.run(); + dialog.destroy(); + + } else { + var message = _("An error occured while exporting the theme \"%s\"! Please check the console output.").printf(this.name); + var dialog = new Gtk.MessageDialog(null, Gtk.DialogFlags.MODAL, + Gtk.MessageType.ERROR, Gtk.ButtonsType.CLOSE, message); + dialog.run(); + dialog.destroy(); + } + } + ///////////////////////////////////////////////////////////////////// /// Loads all images of the theme. ///////////////////////////////////////////////////////////////////// |