[gnome-games] games-page: Propagate gamepad cancel signal



commit d51062c81606745e277df4af36a0a5a211bb65cb
Author: Neville <nevilleantony98 gmail com>
Date:   Mon Jun 29 18:54:00 2020 +0530

    games-page: Propagate gamepad cancel signal
    
    This can be useful for widgets that make use of GamesPage to handle
    the cancel input while in GamesPage.
    
    This will be used to listen to cancel signal from CollectionSubpage to
    go back from CollectionSubpage to CollectionsPage in CollectionView.

 data/ui/games-page.ui  | 1 +
 src/ui/games-page.vala | 6 ++++++
 2 files changed, 7 insertions(+)
---
diff --git a/data/ui/games-page.ui b/data/ui/games-page.ui
index b5fb1a3c..dfa2a74a 100644
--- a/data/ui/games-page.ui
+++ b/data/ui/games-page.ui
@@ -37,5 +37,6 @@
   <object class="GamesGamepadBrowse" id="gamepad_browse">
     <signal name="browse" handler="on_gamepad_browse"/>
     <signal name="accept" handler="on_gamepad_accept"/>
+    <signal name="cancel" handler="on_gamepad_cancel"/>
   </object>
 </interface>
diff --git a/src/ui/games-page.vala b/src/ui/games-page.vala
index ea6685f6..2f1987f6 100644
--- a/src/ui/games-page.vala
+++ b/src/ui/games-page.vala
@@ -4,6 +4,7 @@
 private class Games.GamesPage : Gtk.Bin {
        public signal void game_activated (Game game);
        public signal void selected_items_changed ();
+       public signal bool gamepad_cancel_clicked ();
 
        private string[] filtering_terms;
        public bool is_selection_mode { get; set; }
@@ -197,6 +198,11 @@ private class Games.GamesPage : Gtk.Bin {
                return true;
        }
 
+       [GtkCallback]
+       private bool on_gamepad_cancel () {
+               return gamepad_cancel_clicked ();
+       }
+
        [GtkCallback]
        private void on_child_activated (Gtk.FlowBoxChild child) {
                var game_view = child as GameIconView;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]