edit-calendar-page: Port remove to AdwButtonRow
Also puts the remove button in its own PreferencesGroup so that the row can be showed separately from the rest of the list.
This commit is contained in:
committed by
Georges Basile Stavracas Neto
parent
6a27049c93
commit
967e8cf494
@@ -36,7 +36,7 @@ struct _GcalEditCalendarPage
|
||||
AdwActionRow *calendar_url_row;
|
||||
AdwSwitchRow *default_row;
|
||||
AdwEntryRow *name_entry;
|
||||
GtkWidget *remove_button;
|
||||
GtkWidget *remove_group;
|
||||
|
||||
GcalCalendar *calendar;
|
||||
|
||||
@@ -200,7 +200,7 @@ setup_calendar (GcalEditCalendarPage *self,
|
||||
|
||||
adw_switch_row_set_active (self->default_row, source == default_source);
|
||||
gtk_widget_set_visible (GTK_WIDGET (self->default_row), !gcal_calendar_is_read_only (calendar));
|
||||
gtk_widget_set_visible (self->remove_button, e_source_get_removable (source));
|
||||
gtk_widget_set_visible (self->remove_group, e_source_get_removable (source));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -232,8 +232,8 @@ update_calendar (GcalEditCalendarPage *self)
|
||||
*/
|
||||
|
||||
static void
|
||||
on_remove_button_clicked_cb (GtkButton *button,
|
||||
GcalEditCalendarPage *self)
|
||||
on_remove_button_row_activated_cb (GtkButton *button,
|
||||
GcalEditCalendarPage *self)
|
||||
{
|
||||
GcalCalendarManagementPage *page;
|
||||
|
||||
@@ -390,9 +390,9 @@ gcal_edit_calendar_page_class_init (GcalEditCalendarPageClass *klass)
|
||||
gtk_widget_class_bind_template_child (widget_class, GcalEditCalendarPage, calendar_visible_row);
|
||||
gtk_widget_class_bind_template_child (widget_class, GcalEditCalendarPage, default_row);
|
||||
gtk_widget_class_bind_template_child (widget_class, GcalEditCalendarPage, name_entry);
|
||||
gtk_widget_class_bind_template_child (widget_class, GcalEditCalendarPage, remove_button);
|
||||
gtk_widget_class_bind_template_child (widget_class, GcalEditCalendarPage, remove_group);
|
||||
|
||||
gtk_widget_class_bind_template_callback (widget_class, on_remove_button_clicked_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, on_remove_button_row_activated_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, on_settings_button_clicked_cb);
|
||||
}
|
||||
|
||||
|
||||
@@ -113,18 +113,20 @@
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup" id="remove_group">
|
||||
|
||||
<!-- Remove button -->
|
||||
<child>
|
||||
<object class="GtkButton" id="remove_button">
|
||||
<property name="label" translatable="yes">_Remove Calendar</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-top">24</property>
|
||||
<object class="AdwButtonRow" id="remove_button_row">
|
||||
<property name="title" translatable="yes">_Remove Calendar</property>
|
||||
<property name="use-underline">true</property>
|
||||
<signal name="clicked" handler="on_remove_button_clicked_cb" object="GcalEditCalendarPage" swapped="no" />
|
||||
<signal name="activated" handler="on_remove_button_row_activated_cb" object="GcalEditCalendarPage" swapped="no" />
|
||||
<style>
|
||||
<class name="destructive-action" />
|
||||
<class name="pill"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
Reference in New Issue
Block a user