[gnome-games] retro-runner: Use video filter from gsettings
- From: Adrien Plazas <aplazas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games] retro-runner: Use video filter from gsettings
- Date: Wed, 22 Feb 2017 18:49:48 +0000 (UTC)
commit a34f351195ee0da43659f0b200db7737b1e9f565
Author: theawless <theawless gmail com>
Date: Tue Feb 21 01:06:30 2017 +0530
retro-runner: Use video filter from gsettings
Load video filter from gsettings and update when it is changed.
https://bugzilla.gnome.org/show_bug.cgi?id=777987
src/retro/retro-runner.vala | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/src/retro/retro-runner.vala b/src/retro/retro-runner.vala
index c37facf..62e3447 100644
--- a/src/retro/retro-runner.vala
+++ b/src/retro/retro-runner.vala
@@ -50,6 +50,7 @@ public class Games.RetroRunner : Object, Runner {
private RetroCoreSource core_source;
private Uid uid;
private InputCapabilities input_capabilities;
+ private Settings settings;
private bool _running;
private bool running {
@@ -108,6 +109,10 @@ public class Games.RetroRunner : Object, Runner {
this.input_capabilities = null;
}
+ construct {
+ settings = new Settings ("org.gnome.Games");
+ }
+
~RetroRunner () {
if (!is_initialized)
return;
@@ -188,6 +193,8 @@ public class Games.RetroRunner : Object, Runner {
return;
video = new Retro.CairoDisplay ();
+ settings.changed["video-filter"].connect (on_video_filter_changed);
+ on_video_filter_changed ();
widget = new Gtk.EventBox ();
widget.add (video);
@@ -223,6 +230,8 @@ public class Games.RetroRunner : Object, Runner {
if (!is_initialized)
return;
+ settings.changed["video-filter"].disconnect (on_video_filter_changed);
+
core = null;
video = null;
audio = null;
@@ -236,6 +245,12 @@ public class Games.RetroRunner : Object, Runner {
should_save = false;
}
+ private void on_video_filter_changed () {
+ var filter_name = settings.get_string ("video-filter");
+ var filter = Retro.VideoFilter.from_string (filter_name);
+ video.set_filter (filter);
+ }
+
private void prepare_core () throws Error {
string module_path;
if (core_descriptor != null) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]