[gtk] fishbowl: Fix the lock button



commit 018795127eb717474add53c3c0b84c04860ac4e4
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri May 24 00:11:23 2019 +0000

    fishbowl: Fix the lock button

 demos/gtk-demo/fishbowl.c  | 10 ++++++++++
 demos/gtk-demo/fishbowl.ui | 14 ++++----------
 2 files changed, 14 insertions(+), 10 deletions(-)
---
diff --git a/demos/gtk-demo/fishbowl.c b/demos/gtk-demo/fishbowl.c
index 0f926c8fd1..d2f0c399a7 100644
--- a/demos/gtk-demo/fishbowl.c
+++ b/demos/gtk-demo/fishbowl.c
@@ -234,6 +234,15 @@ prev_button_clicked_cb (GtkButton *source,
   set_widget_type (fishbowl, new_index);
 }
 
+void
+changes_toggled_cb (GtkToggleButton *button,
+                    gpointer         user_data)
+{
+  if (gtk_toggle_button_get_active (button))
+    gtk_button_set_icon_name (GTK_BUTTON (button), "changes-prevent");
+  else
+    gtk_button_set_icon_name (GTK_BUTTON (button), "changes-allow");
+}
 
 GtkWidget *
 do_fishbowl (GtkWidget *do_widget)
@@ -261,6 +270,7 @@ do_fishbowl (GtkWidget *do_widget)
       gtk_builder_add_callback_symbols (builder,
                                         "next_button_clicked_cb", G_CALLBACK (next_button_clicked_cb),
                                         "prev_button_clicked_cb", G_CALLBACK (prev_button_clicked_cb),
+                                        "changes_toggled_cb", G_CALLBACK (changes_toggled_cb),
                                         NULL);
       gtk_builder_connect_signals (builder, NULL);
       window = GTK_WIDGET (gtk_builder_get_object (builder, "window"));
diff --git a/demos/gtk-demo/fishbowl.ui b/demos/gtk-demo/fishbowl.ui
index 34136b2946..5d09b3477a 100644
--- a/demos/gtk-demo/fishbowl.ui
+++ b/demos/gtk-demo/fishbowl.ui
@@ -2,6 +2,8 @@
 <interface>
   <object class="GtkWindow" id="window">
     <property name="title" translatable="yes">Fishbowl</property>
+    <property name="default-width">400</property>
+    <property name="default-height">400</property>
     <child type="titlebar">
       <object class="GtkHeaderBar" id="">
         <property name="show-title-buttons">1</property>
@@ -46,17 +48,9 @@
         </child>
         <child type="end">
           <object class="GtkToggleButton" id="changes_allow">
-            <property name="visible" bind-source="changes_allow" bind-property="active" 
bind-flags="invert-boolean"/>
             <property name="icon-name">changes-allow</property>
             <property name="relief">none</property>
-          </object>
-        </child>
-        <child type="end">
-          <object class="GtkToggleButton" id="changes_prevent">
-            <property name="active" bind-source="changes_allow" bind-property="active" 
bind-flags="bidirectional|invert-boolean"/>
-            <property name="visible" bind-source="changes_prevent" bind-property="active" 
bind-flags="invert-boolean"/>
-            <property name="icon-name">changes-prevent</property>
-            <property name="relief">none</property>
+            <signal name="notify::active" handler="changes_toggled_cb"/>
           </object>
         </child>
       </object>
@@ -65,7 +59,7 @@
       <object class="GtkFishbowl" id="bowl">
         <property name="visible">True</property>
         <property name="animating">True</property>
-        <property name="benchmark" bind-source="changes_allow" bind-property="active" 
bind-flags="invert-boolean"/>
+        <property name="benchmark" bind-source="changes_allow" bind-property="active" 
bind-flags="invert-boolean | sync-create"/>
       </object>
     </child>
   </object>


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