[gnome-calendar/gbsneto/gtk4: 11/29] event-editor/reminders: Port to GTK4




commit 352b46fe5756ec269cb6acb904b801bcbe77e57d
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Fri Jan 14 11:35:58 2022 -0300

    event-editor/reminders: Port to GTK4

 src/gui/event-editor/gcal-reminders-section.c  | 21 ++++++-----
 src/gui/event-editor/gcal-reminders-section.ui | 49 ++++++--------------------
 2 files changed, 22 insertions(+), 48 deletions(-)
---
diff --git a/src/gui/event-editor/gcal-reminders-section.c b/src/gui/event-editor/gcal-reminders-section.c
index e53df842..c714634e 100644
--- a/src/gui/event-editor/gcal-reminders-section.c
+++ b/src/gui/event-editor/gcal-reminders-section.c
@@ -132,16 +132,19 @@ create_alarm (guint minutes)
 static void
 clear_alarms (GcalRemindersSection *self)
 {
-  g_autoptr (GList) children = NULL;
-  GList *l;
+  GtkWidget *child;
 
   g_ptr_array_set_size (self->alarms, 0);
 
-  children = gtk_container_get_children (GTK_CONTAINER (self->alarms_listbox));
-  for (l = children; l != NULL; l = l->next)
+  child = gtk_widget_get_first_child (GTK_WIDGET (self->alarms_listbox));
+  while (child)
     {
-      if (l->data != self->new_alarm_row)
-        gtk_widget_destroy (l->data);
+      GtkWidget *next = gtk_widget_get_next_sibling (child);
+
+      if (child != GTK_WIDGET (self->new_alarm_row))
+        gtk_list_box_remove (self->alarms_listbox, child);
+
+      child = next;
     }
 }
 
@@ -201,7 +204,7 @@ setup_alarms (GcalRemindersSection *self)
 
       /* Add the row */
       row = create_alarm_row (self, alarm);
-      gtk_container_add (GTK_CONTAINER (self->alarms_listbox), row);
+      gtk_list_box_append (self->alarms_listbox, row);
     }
 
   GCAL_EXIT;
@@ -273,7 +276,7 @@ on_remove_alarm_cb (GcalAlarmRow         *alarm_row,
         }
     }
 
-  gtk_container_remove (GTK_CONTAINER (self->alarms_listbox), GTK_WIDGET (alarm_row));
+  gtk_list_box_remove (self->alarms_listbox, GTK_WIDGET (alarm_row));
 
   GCAL_EXIT;
 }
@@ -304,7 +307,7 @@ on_add_alarm_button_clicked_cb (GtkWidget            *button,
   alarm = create_alarm (minutes);
 
   row = create_alarm_row (self, alarm);
-  gtk_container_add (GTK_CONTAINER (self->alarms_listbox), row);
+  gtk_list_box_append (self->alarms_listbox, row);
 
   g_ptr_array_add (self->alarms, alarm);
 
diff --git a/src/gui/event-editor/gcal-reminders-section.ui b/src/gui/event-editor/gcal-reminders-section.ui
index 6286e25c..b3d5e047 100644
--- a/src/gui/event-editor/gcal-reminders-section.ui
+++ b/src/gui/event-editor/gcal-reminders-section.ui
@@ -1,13 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <template class="GcalRemindersSection" parent="GtkBox">
-    <property name="can_focus">False</property>
     <property name="orientation">vertical</property>
 
     <child>
       <object class="GtkListBox" id="alarms_listbox">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
         <property name="selection_mode">none</property>
         <signal name="row-activated" handler="on_alarms_listbox_row_activated_cb" 
object="GcalRemindersSection" swapped="no" />
 
@@ -17,14 +14,15 @@
 
         <child>
           <object class="GtkListBoxRow" id="new_alarm_row">
-            <property name="visible">True</property>
 
             <child>
               <object class="GtkLabel">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="expand">True</property>
-                <property name="margin">12</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
+                <property name="margin-top">12</property>
+                <property name="margin-bottom">12</property>
+                <property name="margin-start">12</property>
+                <property name="margin-end">12</property>
                 <property name="label" translatable="yes">Add a Reminder…</property>
               </object>
             </child>
@@ -38,91 +36,64 @@
   </template>
 
   <object class="GtkPopoverMenu" id="alarms_popover">
-    <property name="can_focus">False</property>
     <property name="width_request">175</property>
-    <property name="relative-to">new_alarm_row</property>
     <child>
       <object class="GtkBox">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="border_width">12</property>
+        <property name="margin-top">12</property>
+        <property name="margin-bottom">12</property>
+        <property name="margin-start">12</property>
+        <property name="margin-end">12</property>
         <property name="orientation">vertical</property>
         <child>
           <object class="GtkModelButton" id="five_minutes_button">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
             <property name="text" translatable="yes">5 minutes</property>
             <signal name="clicked" handler="on_add_alarm_button_clicked_cb" object="GcalRemindersSection" 
swapped="no" />
           </object>
         </child>
         <child>
           <object class="GtkModelButton" id="ten_minutes_button">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
             <property name="text" translatable="yes">10 minutes</property>
             <signal name="clicked" handler="on_add_alarm_button_clicked_cb" object="GcalRemindersSection" 
swapped="no" />
           </object>
         </child>
         <child>
           <object class="GtkModelButton" id="fifteen_minutes_button">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
             <property name="text" translatable="yes">15 minutes</property>
             <signal name="clicked" handler="on_add_alarm_button_clicked_cb" object="GcalRemindersSection" 
swapped="no" />
           </object>
         </child>
         <child>
           <object class="GtkModelButton" id="thirty_minutes_button">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
             <property name="text" translatable="yes">30 minutes</property>
             <signal name="clicked" handler="on_add_alarm_button_clicked_cb" object="GcalRemindersSection" 
swapped="no" />
           </object>
         </child>
         <child>
           <object class="GtkModelButton" id="one_hour_button">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
             <property name="text" translatable="yes">1 hour</property>
             <signal name="clicked" handler="on_add_alarm_button_clicked_cb" object="GcalRemindersSection" 
swapped="no" />
           </object>
         </child>
         <child>
           <object class="GtkModelButton" id="one_day_button">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
             <property name="text" translatable="yes">1 day</property>
             <signal name="clicked" handler="on_add_alarm_button_clicked_cb" object="GcalRemindersSection" 
swapped="no" />
           </object>
         </child>
         <child>
           <object class="GtkModelButton" id="two_days_button">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
             <property name="text" translatable="yes">2 days</property>
             <signal name="clicked" handler="on_add_alarm_button_clicked_cb" object="GcalRemindersSection" 
swapped="no" />
           </object>
         </child>
         <child>
           <object class="GtkModelButton" id="three_days_button">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
             <property name="text" translatable="yes">3 days</property>
             <signal name="clicked" handler="on_add_alarm_button_clicked_cb" object="GcalRemindersSection" 
swapped="no" />
           </object>
         </child>
         <child>
           <object class="GtkModelButton" id="one_week_button">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
             <property name="text" translatable="yes">1 week</property>
             <signal name="clicked" handler="on_add_alarm_button_clicked_cb" object="GcalRemindersSection" 
swapped="no" />
           </object>


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