[gnome-games/wip/exalm/platform-preferences: 15/16] ui: Add PreferencesPagePlatform
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games/wip/exalm/platform-preferences: 15/16] ui: Add PreferencesPagePlatform
- Date: Sun, 17 Mar 2019 12:34:01 +0000 (UTC)
commit 3e8b478dc010bff92ecb9ed8ef425c4be7ee6b3f
Author: Alexander Mikhaylenko <exalm7659 gmail com>
Date: Wed Mar 13 09:35:27 2019 +0500
ui: Add PreferencesPagePlatform
data/org.gnome.Games.gresource.xml | 1 +
data/ui/preferences-page-platforms.ui | 20 ++++++++++++++++++++
data/ui/preferences-window.ui | 5 +++++
src/meson.build | 1 +
src/ui/preferences-page-platforms.vala | 30 ++++++++++++++++++++++++++++++
5 files changed, 57 insertions(+)
---
diff --git a/data/org.gnome.Games.gresource.xml b/data/org.gnome.Games.gresource.xml
index f985c3f9..eb85cbf3 100644
--- a/data/org.gnome.Games.gresource.xml
+++ b/data/org.gnome.Games.gresource.xml
@@ -32,6 +32,7 @@
<file preprocess="xml-stripblanks">ui/media-selector.ui</file>
<file preprocess="xml-stripblanks">ui/preferences-page.ui</file>
<file preprocess="xml-stripblanks">ui/preferences-page-controllers.ui</file>
+ <file preprocess="xml-stripblanks">ui/preferences-page-platforms.ui</file>
<file preprocess="xml-stripblanks">ui/preferences-page-platforms-generic-row.ui</file>
<file preprocess="xml-stripblanks">ui/preferences-page-platforms-retro-row.ui</file>
<file preprocess="xml-stripblanks">ui/preferences-page-plugins.ui</file>
diff --git a/data/ui/preferences-page-platforms.ui b/data/ui/preferences-page-platforms.ui
new file mode 100644
index 00000000..a718ecbb
--- /dev/null
+++ b/data/ui/preferences-page-platforms.ui
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.16 -->
+ <template class="GamesPreferencesPagePlatforms" parent="GamesPreferencesPage">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkFrame">
+ <property name="visible">true</property>
+ <property name="shadow-type">in</property>
+ <child>
+ <object class="GtkListBox" id="list_box">
+ <property name="selection-mode">none</property>
+ <property name="visible">true</property>
+ <signal name="row-activated" handler="on_row_activated"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/data/ui/preferences-window.ui b/data/ui/preferences-window.ui
index da6c1c34..3bd1f54f 100644
--- a/data/ui/preferences-window.ui
+++ b/data/ui/preferences-window.ui
@@ -126,6 +126,11 @@
<property name="visible">True</property>
</object>
</child>
+ <child>
+ <object class="GamesPreferencesPagePlatforms" id="platforms_page">
+ <property name="visible">True</property>
+ </object>
+ </child>
</object>
</child>
</object>
diff --git a/src/meson.build b/src/meson.build
index 3bc8bff9..f4c60705 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -163,6 +163,7 @@ vala_sources = [
'ui/platforms-view.vala',
'ui/preferences-page.vala',
'ui/preferences-page-controllers.vala',
+ 'ui/preferences-page-platforms.vala',
'ui/preferences-page-platforms-generic-row.vala',
'ui/preferences-page-platforms-retro-row.vala',
'ui/preferences-page-platforms-row.vala',
diff --git a/src/ui/preferences-page-platforms.vala b/src/ui/preferences-page-platforms.vala
new file mode 100644
index 00000000..9dc33d1c
--- /dev/null
+++ b/src/ui/preferences-page-platforms.vala
@@ -0,0 +1,30 @@
+// This file is part of GNOME Games. License: GPL-3.0+.
+
+[GtkTemplate (ui = "/org/gnome/Games/ui/preferences-page-platforms.ui")]
+private class Games.PreferencesPagePlatforms : PreferencesPage {
+ [GtkChild]
+ private Gtk.ListBox list_box;
+
+ construct {
+ title = _("Platforms");
+
+ var register = PlatformRegister.get_register ();
+ var platforms = register.get_all_platforms ();
+
+ foreach (var platform in platforms) {
+ var row = platform.get_row ();
+ row.show ();
+
+ list_box.add (row);
+ }
+ }
+
+ [GtkCallback]
+ private void on_row_activated (Gtk.ListBoxRow row) {
+ assert (row is PreferencesPagePlatformsRow);
+
+ var platforms_row = row as PreferencesPagePlatformsRow;
+
+ platforms_row.on_activated ();
+ }
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]