edit-dialog : correct time row visibility

The revealer widget in edit dialog's event time interval row uses to hide the
time selector widgets when the event is checked as all-day and also reveal the
widgets when not checked as all-day.

Sometimes edit dialog may turn on the visibility of the time selector
widgets when the revealer's animation already starts, causing a flickering of the widgets.

We remove the revealer widget and leave edit dialog to toggle the
visibility of time selector widgets when needed.

https://bugzilla.gnome.org/show_bug.cgi?id=771572
This commit is contained in:
Abdullahi Usman
2017-08-22 21:01:20 -03:00
committed by Georges Basile Stavracas Neto
parent d9a775e2fe
commit e56bbc78a8
2 changed files with 27 additions and 55 deletions
+2 -20
View File
@@ -286,14 +286,6 @@
<property name="width">4</property> <property name="width">4</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkRevealer">
<property name="visible">True</property>
<property name="margin-top">12</property>
<property name="reveal_child" bind-source="all_day_check" bind-property="active" bind-flags="default|invert-boolean|sync-create" />
<property name="sensitive" bind-source="GcalEditDialog" bind-property="writable" bind-flags="default" />
<signal name="notify::child-revealed" handler="update_revealer_visibility_cb" swapped="no" />
<signal name="notify::reveal-child" handler="update_revealer_visibility_cb" swapped="no" />
<child> <child>
<object class="GtkLabel" id="times_label"> <object class="GtkLabel" id="times_label">
<property name="visible">True</property> <property name="visible">True</property>
@@ -303,21 +295,11 @@
<class name="dim-label"/> <class name="dim-label"/>
</style> </style>
</object> </object>
</child>
</object>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">2</property> <property name="top_attach">2</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkRevealer">
<property name="visible">True</property>
<property name="margin-top">12</property>
<property name="reveal_child" bind-source="all_day_check" bind-property="active" bind-flags="default|invert-boolean|sync-create" />
<property name="sensitive" bind-source="GcalEditDialog" bind-property="writable" bind-flags="default" />
<signal name="notify::child-revealed" handler="update_revealer_visibility_cb" swapped="no" />
<signal name="notify::reveal-child" handler="update_revealer_visibility_cb" swapped="no" />
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
@@ -329,6 +311,7 @@
<object class="GcalTimeSelector" id="start_time_selector"> <object class="GcalTimeSelector" id="start_time_selector">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="sensitive" bind-source="GcalEditDialog" bind-property="writable" bind-flags="default" />
<signal name="notify::time" handler="sync_datetimes" object="GcalEditDialog" swapped="yes" /> <signal name="notify::time" handler="sync_datetimes" object="GcalEditDialog" swapped="yes" />
</object> </object>
</child> </child>
@@ -343,14 +326,13 @@
<object class="GcalTimeSelector" id="end_time_selector"> <object class="GcalTimeSelector" id="end_time_selector">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="sensitive" bind-source="GcalEditDialog" bind-property="writable" bind-flags="default" />
<signal name="notify::time" handler="sync_datetimes" object="GcalEditDialog" swapped="yes" /> <signal name="notify::time" handler="sync_datetimes" object="GcalEditDialog" swapped="yes" />
</object> </object>
</child> </child>
</object> </object>
</child> </child>
</object> </object>
</child>
</object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">2</property> <property name="top_attach">2</property>
-10
View File
@@ -356,15 +356,6 @@ fix_reminders_label_height_cb (GtkWidget *summary_label,
gtk_widget_set_size_request (reminders_label, -1, allocation->height); gtk_widget_set_size_request (reminders_label, -1, allocation->height);
} }
static void
update_revealer_visibility_cb (GtkRevealer *revealer)
{
if (gtk_revealer_get_reveal_child (revealer))
gtk_widget_set_visible (GTK_WIDGET (revealer), TRUE);
else if (!gtk_revealer_get_child_revealed (revealer))
gtk_widget_set_visible (GTK_WIDGET (revealer), FALSE);
}
static void static void
sync_datetimes (GcalEditDialog *self, sync_datetimes (GcalEditDialog *self,
GParamSpec *pspec, GParamSpec *pspec,
@@ -626,7 +617,6 @@ gcal_edit_dialog_class_init (GcalEditDialogClass *klass)
gtk_widget_class_bind_template_callback (widget_class, sync_datetimes); gtk_widget_class_bind_template_callback (widget_class, sync_datetimes);
gtk_widget_class_bind_template_callback (widget_class, update_summary); gtk_widget_class_bind_template_callback (widget_class, update_summary);
gtk_widget_class_bind_template_callback (widget_class, update_location); gtk_widget_class_bind_template_callback (widget_class, update_location);
gtk_widget_class_bind_template_callback (widget_class, update_revealer_visibility_cb);
} }
static void static void