[gnome-games] runner: Add preview_savestate()
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games] runner: Add preview_savestate()
- Date: Fri, 9 Aug 2019 13:39:43 +0000 (UTC)
commit 71c3dbff3869d43bccf57529b6b407cb2f860599
Author: Yetizone <andreii lisita gmail com>
Date: Thu Aug 8 13:08:41 2019 +0300
runner: Add preview_savestate()
src/command/command-runner.vala | 3 +++
src/core/runner.vala | 1 +
src/dummy/dummy-runner.vala | 3 +++
src/retro/retro-runner.vala | 20 ++++++++++++++++++++
4 files changed, 27 insertions(+)
---
diff --git a/src/command/command-runner.vala b/src/command/command-runner.vala
index 3fb10edf..cf220943 100644
--- a/src/command/command-runner.vala
+++ b/src/command/command-runner.vala
@@ -59,6 +59,9 @@ public class Games.CommandRunner : Object, Runner {
public void preview_current_state () {
}
+ public void preview_savestate (Savestate savestate) {
+ }
+
public void start () throws Error {
string? working_directory = null;
string[]? envp = null;
diff --git a/src/core/runner.vala b/src/core/runner.vala
index b704d3a4..abdd6bab 100644
--- a/src/core/runner.vala
+++ b/src/core/runner.vala
@@ -21,6 +21,7 @@ public interface Games.Runner : Object {
public abstract void capture_current_state_pixbuf ();
public abstract void preview_current_state ();
+ public abstract void preview_savestate (Savestate savestate);
public abstract bool try_create_savestate (bool is_automatic);
public abstract void load_savestate (Savestate savestate) throws Error;
diff --git a/src/dummy/dummy-runner.vala b/src/dummy/dummy-runner.vala
index 6565820e..634ace0e 100644
--- a/src/dummy/dummy-runner.vala
+++ b/src/dummy/dummy-runner.vala
@@ -46,6 +46,9 @@ private class Games.DummyRunner : Object, Runner {
public void preview_current_state () {
}
+ public void preview_savestate (Savestate savestate) {
+ }
+
public void start () throws Error {
}
diff --git a/src/retro/retro-runner.vala b/src/retro/retro-runner.vala
index 6801a884..3b14d812 100644
--- a/src/retro/retro-runner.vala
+++ b/src/retro/retro-runner.vala
@@ -45,9 +45,11 @@ public class Games.RetroRunner : Object, Runner {
private InputCapabilities input_capabilities;
private Settings settings;
private Title game_title;
+
private Savestate[] game_savestates;
private Savestate latest_savestate;
private Savestate tmp_live_savestate;
+ private Savestate previewed_savestate;
private Gdk.Pixbuf current_state_pixbuf;
@@ -158,6 +160,24 @@ public class Games.RetroRunner : Object, Runner {
view.set_pixbuf (current_state_pixbuf);
}
+ public void preview_savestate (Savestate savestate) {
+ previewed_savestate = savestate;
+
+ var screenshot_path = savestate.get_screenshot_path ();
+ Gdk.Pixbuf pixbuf = null;
+
+ // Treat errors locally because loading the savestate screenshot is not
+ // a critical operation
+ try {
+ pixbuf = new Gdk.Pixbuf.from_file (screenshot_path);
+ }
+ catch (Error e) {
+ warning ("Couldn't load %s: %s", screenshot_path, e.message);
+ }
+
+ view.set_pixbuf (pixbuf);
+ }
+
public virtual Gtk.Widget? get_extra_widget () {
return null;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]