From a53787457e3afff84c174fde59ae54f7f8b79a55 Mon Sep 17 00:00:00 2001 From: Christopher Davis Date: Wed, 20 Jul 2022 12:40:58 -0400 Subject: [PATCH] window: Use two today buttons instead of moving This fixes an issue that caused flickering as the window approached a size where it could fold. --- src/gui/gcal-window.c | 25 ------------------------- src/gui/gcal-window.ui | 14 ++++++++++++-- 2 files changed, 12 insertions(+), 27 deletions(-) diff --git a/src/gui/gcal-window.c b/src/gui/gcal-window.c index 5e56bde2..96afef5a 100644 --- a/src/gui/gcal-window.c +++ b/src/gui/gcal-window.c @@ -110,7 +110,6 @@ struct _GcalWindow /* header_bar widets */ GtkWidget *calendars_button; GtkWidget *menu_button; - GtkWidget *today_button; GtkWidget *views_switcher; GcalEventEditorDialog *event_editor; @@ -653,26 +652,6 @@ event_activated (GcalView *view, gcal_event_widget_show_preview (event_widget, event_preview_cb, user_data); } -static void -on_folded_notify_cb (AdwLeaflet *leaflet, - GParamSpec *pspec, - GcalWindow *self) -{ - if (adw_leaflet_get_folded (leaflet)) - { - gtk_header_bar_remove (GTK_HEADER_BAR (self->header_bar), self->today_button); - - gtk_action_bar_pack_start (GTK_ACTION_BAR (self->action_bar), self->today_button); - } - else - { - gtk_action_bar_remove (GTK_ACTION_BAR (self->action_bar), self->today_button); - - gtk_header_bar_pack_start (GTK_HEADER_BAR (self->header_bar), self->today_button); - } -} - - static void on_toast_dismissed_cb (AdwToast *toast, GcalWindow *self) @@ -1050,7 +1029,6 @@ gcal_window_class_init (GcalWindowClass *klass) gtk_widget_class_bind_template_child (widget_class, GcalWindow, action_bar); gtk_widget_class_bind_template_child (widget_class, GcalWindow, quick_add_popover); gtk_widget_class_bind_template_child (widget_class, GcalWindow, calendar_management_dialog); - gtk_widget_class_bind_template_child (widget_class, GcalWindow, today_button); gtk_widget_class_bind_template_child (widget_class, GcalWindow, overlay); gtk_widget_class_bind_template_child (widget_class, GcalWindow, views_stack); gtk_widget_class_bind_template_child (widget_class, GcalWindow, views_switcher); @@ -1059,9 +1037,6 @@ gcal_window_class_init (GcalWindowClass *klass) gtk_widget_class_bind_template_callback (widget_class, view_changed); - /* Layout related */ - gtk_widget_class_bind_template_callback (widget_class, on_folded_notify_cb); - /* Event creation related */ gtk_widget_class_bind_template_callback (widget_class, edit_event); gtk_widget_class_bind_template_callback (widget_class, create_event_detailed_cb); diff --git a/src/gui/gcal-window.ui b/src/gui/gcal-window.ui index 7130460b..0ef04001 100644 --- a/src/gui/gcal-window.ui +++ b/src/gui/gcal-window.ui @@ -100,7 +100,6 @@ False - False @@ -147,6 +146,17 @@ + + + win.today + + + Today + calendar-today-symbolic + + + + @@ -169,7 +179,7 @@ True - + win.today