[gnome-boxes] screenshot: make get_screenshot_filename () reusable
- From: Marc-Andre Lureau <malureau src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-boxes] screenshot: make get_screenshot_filename () reusable
- Date: Mon, 13 Aug 2012 12:21:18 +0000 (UTC)
commit 7e9b161e901eb31960ee844340824ae33217e366
Author: Marc-Andrà Lureau <marcandre lureau gmail com>
Date: Sun Aug 5 14:51:00 2012 +0200
screenshot: make get_screenshot_filename () reusable
https://bugzilla.gnome.org/show_bug.cgi?id=681246
src/machine.vala | 20 ++++++++++++--------
src/util.vala | 4 ++++
2 files changed, 16 insertions(+), 8 deletions(-)
---
diff --git a/src/machine.vala b/src/machine.vala
index 9001854..9352da7 100644
--- a/src/machine.vala
+++ b/src/machine.vala
@@ -178,7 +178,7 @@ private abstract class Boxes.Machine: Boxes.CollectionItem, Boxes.IPropertiesPro
}
public string get_screenshot_filename () {
- return get_user_pkgcache (config.uuid + "-screenshot.png");
+ return Boxes.get_screenshot_filename (config.uuid);
}
public virtual async Gdk.Pixbuf? take_screenshot () throws GLib.Error {
@@ -232,6 +232,14 @@ private abstract class Boxes.Machine: Boxes.CollectionItem, Boxes.IPropertiesPro
return state == MachineState.RUNNING;
}
+ private void save_pixbuf_as_screenshot (Gdk.Pixbuf? pixbuf) {
+ try {
+ pixbuf.save (get_screenshot_filename (), "png");
+ } catch (GLib.Error error) {
+ warning (error.message);
+ }
+ }
+
public void set_screenshot (Gdk.Pixbuf? large_screenshot, bool save) {
if (large_screenshot != null) {
var pw = large_screenshot.get_width ();
@@ -245,15 +253,11 @@ private abstract class Boxes.Machine: Boxes.CollectionItem, Boxes.IPropertiesPro
pixbuf = draw_vm (small_screenshot, SCREENSHOT_WIDTH, SCREENSHOT_HEIGHT);
machine_actor.set_screenshot (large_screenshot); // high resolution
+ if (save)
+ save_pixbuf_as_screenshot (small_screenshot);
- if (save) {
- try {
- small_screenshot.save (get_screenshot_filename (), "png");
- } catch (GLib.Error error) {
- }
- }
} else if (pixbuf == null) {
- pixbuf = draw_fallback_vm (SCREENSHOT_WIDTH, SCREENSHOT_HEIGHT);
+ pixbuf = draw_fallback_vm ();
machine_actor.set_screenshot (pixbuf);
}
}
diff --git a/src/util.vala b/src/util.vala
index 98576a6..2871e54 100644
--- a/src/util.vala
+++ b/src/util.vala
@@ -74,6 +74,10 @@ namespace Boxes {
return Path.build_filename (dir, file_name);
}
+ public string get_screenshot_filename (string prefix) {
+ return get_user_pkgcache (prefix + "-screenshot.png");
+ }
+
public void ensure_directory (string dir) {
try {
var file = GLib.File.new_for_path (dir);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]