[gnome-calendar] calendars-page: Use switch to toggle visibility



commit efa29b19d5ba1d96792a469df1a75a64dd7446dd
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Sun Jun 23 22:27:57 2019 -0300

    calendars-page: Use switch to toggle visibility

 data/ui/calendar-row.ui                           | 16 ++++++++++++++++
 src/gui/calendar-management/gcal-calendars-page.c |  5 +++++
 2 files changed, 21 insertions(+)
---
diff --git a/data/ui/calendar-row.ui b/data/ui/calendar-row.ui
index d2770a40..b1893648 100644
--- a/data/ui/calendar-row.ui
+++ b/data/ui/calendar-row.ui
@@ -53,6 +53,22 @@
             <property name="top_attach">0</property>
           </packing>
         </child>
+
+        <!-- Visibility switch -->
+        <child>
+          <object class="GtkSwitch" id="switch">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="hexpand">True</property>
+            <property name="halign">end</property>
+            <property name="valign">center</property>
+          </object>
+          <packing>
+            <property name="left_attach">2</property>
+            <property name="top_attach">0</property>
+            <property name="height">2</property>
+          </packing>
+        </child>
       </object>
     </child>
   </object>
diff --git a/src/gui/calendar-management/gcal-calendars-page.c 
b/src/gui/calendar-management/gcal-calendars-page.c
index b4daebe7..01832de7 100644
--- a/src/gui/calendar-management/gcal-calendars-page.c
+++ b/src/gui/calendar-management/gcal-calendars-page.c
@@ -79,6 +79,7 @@ make_calendar_row (GcalCalendarsPage *self,
   GtkWidget *top_label;
   GtkWidget *icon;
   GtkWidget *row;
+  GtkWidget *sw;
 
   manager = gcal_context_get_manager (self->context);
   get_source_parent_name_color (manager, gcal_calendar_get_source (calendar), &parent_name, NULL);
@@ -113,6 +114,10 @@ make_calendar_row (GcalCalendarsPage *self,
                            icon,
                            0);
 
+  /* visibility switch */
+  sw = GTK_WIDGET (gtk_builder_get_object (builder, "switch"));
+  g_object_bind_property (calendar, "visible", sw, "active", G_BINDING_BIDIRECTIONAL | 
G_BINDING_SYNC_CREATE);
+
   /* parent source name label */
   bottom_label = GTK_WIDGET (gtk_builder_get_object (builder, "subtitle"));
   gtk_label_set_label (GTK_LABEL (bottom_label), parent_name);


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