[gnome-games/wip/exalm/unified-window: 24/26] preferences-subpage-keyboard: Simplify layout
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games/wip/exalm/unified-window: 24/26] preferences-subpage-keyboard: Simplify layout
- Date: Fri, 10 Apr 2020 18:12:54 +0000 (UTC)
commit fe14008b7d369897160acdd231ac3c6c587bfc5f
Author: Alexander Mikhaylenko <alexm gnome org>
Date: Fri Apr 10 19:40:27 2020 +0500
preferences-subpage-keyboard: Simplify layout
data/ui/keyboard-mapper.ui | 1 +
data/ui/keyboard-tester.ui | 1 +
data/ui/preferences-subpage-keyboard.ui | 176 +++++++++++++++++--------------
src/ui/preferences-subpage-keyboard.vala | 39 ++-----
4 files changed, 110 insertions(+), 107 deletions(-)
---
diff --git a/data/ui/keyboard-mapper.ui b/data/ui/keyboard-mapper.ui
index 07d37535..34d88b54 100644
--- a/data/ui/keyboard-mapper.ui
+++ b/data/ui/keyboard-mapper.ui
@@ -3,6 +3,7 @@
<requires lib="gtk+" version="3.24"/>
<template class="GamesKeyboardMapper" parent="GtkBin">
<property name="visible">True</property>
+ <property name="vexpand">True</property>
<child>
<object class="GamesGamepadView" id="gamepad_view">
<property name="visible">True</property>
diff --git a/data/ui/keyboard-tester.ui b/data/ui/keyboard-tester.ui
index 811efaa2..c9f51e7e 100644
--- a/data/ui/keyboard-tester.ui
+++ b/data/ui/keyboard-tester.ui
@@ -3,6 +3,7 @@
<requires lib="gtk+" version="3.24"/>
<template class="GamesKeyboardTester" parent="GtkBin">
<property name="visible">True</property>
+ <property name="vexpand">True</property>
<child>
<object class="GamesGamepadView" id="gamepad_view">
<property name="visible">True</property>
diff --git a/data/ui/preferences-subpage-keyboard.ui b/data/ui/preferences-subpage-keyboard.ui
index fd196990..dc142fad 100644
--- a/data/ui/preferences-subpage-keyboard.ui
+++ b/data/ui/preferences-subpage-keyboard.ui
@@ -1,110 +1,128 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="3.24"/>
- <template class="GamesPreferencesSubpageKeyboard" parent="GtkBox">
+ <template class="GamesPreferencesSubpageKeyboard" parent="GtkBin">
<property name="visible">True</property>
<property name="can-focus">True</property>
- <property name="orientation">vertical</property>
<child>
- <object class="HdyHeaderBar" id="header_bar">
+ <object class="GtkStack" id="stack">
<property name="visible">True</property>
- <style>
- <class name="titlebar"/>
- </style>
+ <property name="transition-type">crossfade</property>
<child>
- <object class="GtkButton" id="back_button">
+ <object class="GtkBox" id="tester_box">
<property name="visible">True</property>
- <signal name="clicked" handler="on_back_clicked"/>
- <style>
- <class name="image-button"/>
- </style>
- <child internal-child="accessible">
- <object class="AtkObject" id="a11y-back">
- <property name="accessible-name" translatable="yes">Back</property>
- </object>
- </child>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkImage" id="back_image">
+ <object class="HdyHeaderBar">
<property name="visible">True</property>
- <property name="icon-name">go-previous-symbolic</property>
- <property name="icon-size">1</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="pack-type">start</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="cancel_button">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Cancel</property>
- <signal name="clicked" handler="on_cancel_clicked"/>
- </object>
- <packing>
- <property name="pack-type">end</property>
- </packing>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkStack" id="gamepad_view_stack">
- <property name="visible">True</property>
- <property name="vexpand">True</property>
- </object>
- </child>
- <child>
- <object class="GtkStack" id="action_bar_stack">
- <property name="visible">True</property>
- <child>
- <object class="GtkActionBar" id="tester_action_bar">
- <property name="visible">True</property>
- <child>
- <object class="GtkButton" id="reset_button">
- <property name="visible">True</property>
- <property name="label" translatable="yes" context="Keyboard configuration factory
reset">Reset</property>
- <signal name="clicked" handler="on_reset_clicked"/>
+ <property name="show-close-button">True</property>
+ <property name="title" translatable="true">Testing Keyboard</property>
<style>
- <class name="destructive-action"/>
+ <class name="titlebar"/>
</style>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <signal name="clicked" handler="on_back_clicked"/>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="a11y-back">
+ <property name="accessible-name" translatable="yes">Back</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">go-previous-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack-type">start</property>
+ </packing>
+ </child>
</object>
- <packing>
- <property name="pack-type">end</property>
- </packing>
</child>
<child>
- <object class="GtkButton" id="configure_button">
+ <object class="GtkActionBar">
<property name="visible">True</property>
- <property name="label" translatable="yes">Configure</property>
- <signal name="clicked" handler="on_configure_clicked"/>
- <style>
- <class name="suggested-action"/>
- </style>
+ <child>
+ <object class="GtkButton" id="reset_button">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes" context="Keyboard configuration factory
reset">Reset</property>
+ <signal name="clicked" handler="on_reset_clicked"/>
+ <style>
+ <class name="destructive-action"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack-type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Configure</property>
+ <signal name="clicked" handler="on_configure_clicked"/>
+ <style>
+ <class name="suggested-action"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack-type">start</property>
+ </packing>
+ </child>
</object>
- <packing>
- <property name="pack-type">start</property>
- </packing>
</child>
</object>
</child>
<child>
- <object class="GtkActionBar" id="mapper_action_bar">
+ <object class="GtkBox" id="mapper_box">
<property name="visible">True</property>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkButton" id="skip_button">
+ <object class="HdyHeaderBar">
<property name="visible">True</property>
- <property name="label" translatable="yes">Skip</property>
- <signal name="clicked" handler="on_skip_clicked"/>
+ <property name="title" translatable="true">Configuring Keyboard</property>
+ <style>
+ <class name="titlebar"/>
+ <class name="selection-mode"/>
+ </style>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Cancel</property>
+ <signal name="clicked" handler="on_cancel_clicked"/>
+ </object>
+ <packing>
+ <property name="pack-type">end</property>
+ </packing>
+ </child>
</object>
- <packing>
- <property name="pack-type">start</property>
- </packing>
</child>
- <child type="center">
- <object class="GtkLabel">
+ <child>
+ <object class="GtkActionBar">
<property name="visible">True</property>
- <property name="ellipsize">end</property>
- <property name="label" bind-source="GamesPreferencesSubpageKeyboard"
bind-property="info-message" bind-flags="bidirectional"/>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Skip</property>
+ <signal name="clicked" handler="on_skip_clicked"/>
+ </object>
+ <packing>
+ <property name="pack-type">start</property>
+ </packing>
+ </child>
+ <child type="center">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="ellipsize">end</property>
+ <property name="label" bind-source="GamesPreferencesSubpageKeyboard"
bind-property="info-message" bind-flags="bidirectional"/>
+ </object>
+ </child>
</object>
</child>
</object>
diff --git a/src/ui/preferences-subpage-keyboard.vala b/src/ui/preferences-subpage-keyboard.vala
index 7b57dc89..b2b6951c 100644
--- a/src/ui/preferences-subpage-keyboard.vala
+++ b/src/ui/preferences-subpage-keyboard.vala
@@ -1,7 +1,7 @@
// This file is part of GNOME Games. License: GPL-3.0+.
[GtkTemplate (ui = "/org/gnome/Games/ui/preferences-subpage-keyboard.ui")]
-private class Games.PreferencesSubpageKeyboard : Gtk.Box, PreferencesSubpage {
+private class Games.PreferencesSubpageKeyboard : Gtk.Bin, PreferencesSubpage {
private const GamepadInput[] KEYBOARD_GAMEPAD_INPUTS = {
{ EventCode.EV_KEY, EventCode.BTN_EAST },
{ EventCode.EV_KEY, EventCode.BTN_SOUTH },
@@ -33,23 +33,13 @@ private class Games.PreferencesSubpageKeyboard : Gtk.Box, PreferencesSubpage {
get { return _state; }
set {
_state = value;
- back_button.visible = (state == State.TEST);
- cancel_button.visible = (state == State.CONFIGURE);
- header_bar.show_close_button = (state == State.TEST);
allow_back = (state == State.TEST);
- if (state == State.CONFIGURE)
- header_bar.get_style_context ().add_class ("selection-mode");
- else
- header_bar.get_style_context ().remove_class ("selection-mode");
-
switch (value) {
case State.TEST:
reset_button.set_sensitive (!mapping_manager.is_default ());
- header_bar.title = _("Testing Keyboard");
- gamepad_view_stack.visible_child = tester;
- action_bar_stack.visible_child = tester_action_bar;
+ stack.visible_child = tester_box;
tester.start ();
mapper.stop ();
@@ -57,9 +47,7 @@ private class Games.PreferencesSubpageKeyboard : Gtk.Box, PreferencesSubpage {
break;
case State.CONFIGURE:
- header_bar.title = _("Configuring Keyboard");
- gamepad_view_stack.visible_child = mapper;
- action_bar_stack.visible_child = mapper_action_bar;
+ stack.visible_child = mapper_box;
tester.stop ();
mapper.start ();
@@ -74,21 +62,13 @@ private class Games.PreferencesSubpageKeyboard : Gtk.Box, PreferencesSubpage {
public string info_message { get; set; }
[GtkChild]
- private Hdy.HeaderBar header_bar;
- [GtkChild]
- private Gtk.Stack gamepad_view_stack;
- [GtkChild]
- private Gtk.Stack action_bar_stack;
+ private Gtk.Stack stack;
[GtkChild]
- private Gtk.ActionBar tester_action_bar;
+ private Gtk.Box tester_box;
[GtkChild]
- private Gtk.ActionBar mapper_action_bar;
+ private Gtk.Box mapper_box;
[GtkChild]
private Gtk.Button reset_button;
- [GtkChild]
- private Gtk.Button back_button;
- [GtkChild]
- private Gtk.Button cancel_button;
private KeyboardMapper mapper;
private KeyboardTester tester;
@@ -96,11 +76,14 @@ private class Games.PreferencesSubpageKeyboard : Gtk.Box, PreferencesSubpage {
construct {
mapper = new KeyboardMapper (GamepadViewConfiguration.get_default (),
KEYBOARD_GAMEPAD_INPUTS);
- gamepad_view_stack.add (mapper);
tester = new KeyboardTester (GamepadViewConfiguration.get_default ());
- gamepad_view_stack.add (tester);
mapping_manager = new KeyboardMappingManager ();
+ tester_box.add (tester);
+ tester_box.reorder_child (tester, 1);
+ mapper_box.add (mapper);
+ mapper_box.reorder_child (mapper, 1);
+
tester.mapping = mapping_manager.mapping;
mapping_manager.changed.connect (() => {
tester.mapping = mapping_manager.mapping;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]