From 47eae76c0b2c9e4b001bb97759a1379a1575215c Mon Sep 17 00:00:00 2001 From: Zwarf Date: Tue, 25 Apr 2023 15:38:59 +0200 Subject: [PATCH 01/16] Design change towards suggestions of GNOME Circle --- copyright | 6 +- data/icons/meson.build | 4 + data/icons/view-sidebar-start-symbolic.svg | 8 + meson.build | 2 +- src/picplanner.gresource.xml | 1 + src/time-picker/time-picker.c | 25 +- src/time-picker/time-picker.ui | 52 +- src/window/picplanner-window-old.c | 710 +++++++++++++++++++++ src/window/picplanner-window-old.ui | 294 +++++++++ src/window/picplanner-window.c | 30 - src/window/picplanner-window.ui | 349 +++++----- 11 files changed, 1226 insertions(+), 255 deletions(-) create mode 100644 data/icons/view-sidebar-start-symbolic.svg create mode 100644 src/window/picplanner-window-old.c create mode 100644 src/window/picplanner-window-old.ui diff --git a/copyright b/copyright index e668ced..1168a65 100644 --- a/copyright +++ b/copyright @@ -15,4 +15,8 @@ License: GPL-3+ Files: data/icons/map-symbolic.svg Copyright: GNOME -License: GPL-3+ \ No newline at end of file +License: GPL-3+ + +Files: data/icons/view-sidebar-start-symbolic.svg +Copyright: GNOME +License: GPL-3+ diff --git a/data/icons/meson.build b/data/icons/meson.build index a457cb5..b44b0d5 100644 --- a/data/icons/meson.build +++ b/data/icons/meson.build @@ -55,4 +55,8 @@ install_data( install_data( 'map-symbolic.svg', install_dir: join_paths(get_option('datadir'), 'icons') +) +install_data( + 'view-sidebar-start-symbolic.svg', + install_dir: join_paths(get_option('datadir'), 'icons') ) \ No newline at end of file diff --git a/data/icons/view-sidebar-start-symbolic.svg b/data/icons/view-sidebar-start-symbolic.svg new file mode 100644 index 0000000..2d8bbec --- /dev/null +++ b/data/icons/view-sidebar-start-symbolic.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/meson.build b/meson.build index 546b970..31bbfa7 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('picplanner', 'c', - version: '0.3.2', + version: '0.4.0', meson_version: '>= 0.50.0', default_options: [ 'warning_level=2', 'c_std=gnu11', diff --git a/src/picplanner.gresource.xml b/src/picplanner.gresource.xml index 7db69b9..6ba2c34 100644 --- a/src/picplanner.gresource.xml +++ b/src/picplanner.gresource.xml @@ -21,5 +21,6 @@ ../data/icons/azimuth-symbolic.svg ../data/icons/elevation-symbolic.svg ../data/icons/map-symbolic.svg + ../data/icons/view-sidebar-start-symbolic.svg diff --git a/src/time-picker/time-picker.c b/src/time-picker/time-picker.c index 36b9057..41f574d 100644 --- a/src/time-picker/time-picker.c +++ b/src/time-picker/time-picker.c @@ -31,6 +31,7 @@ struct _TimePicker GtkWidget *spin_button_hour; GtkWidget *spin_button_minute; + GtkWidget *time_button; }; G_DEFINE_TYPE (TimePicker, time_picker, GTK_TYPE_BOX) @@ -121,6 +122,17 @@ input_changed (GtkWidget *self, { (void) self; + + char *time_button_text; + + time_button_text = g_strdup_printf ("%02.f:%02.f", + gtk_spin_button_get_value (GTK_SPIN_BUTTON (time_picker->spin_button_hour)), + gtk_spin_button_get_value (GTK_SPIN_BUTTON (time_picker->spin_button_minute))); + + gtk_menu_button_set_label (GTK_MENU_BUTTON (time_picker->time_button), time_button_text); + + g_free (time_button_text); + g_signal_emit (time_picker, signal_change, 0, NULL); @@ -151,6 +163,7 @@ time_spin_button_text (GtkSpinButton *self) /* * Change the text of the button which presents the calender after a date was selected. * Furthermore the behavior of the popup is controlled. + * TODO: combine with input_changed function */ static void day_selected (GtkCalendar *self, @@ -158,7 +171,6 @@ day_selected (GtkCalendar *self, { (void) self; GDateTime *date_selected; - GtkPopover *popover; char *button_text; date_selected = gtk_calendar_get_date (GTK_CALENDAR (time_picker->calendar)); @@ -173,14 +185,6 @@ day_selected (GtkCalendar *self, gtk_menu_button_set_label (GTK_MENU_BUTTON (time_picker->calendar_button), button_text); - /* - * Close Popover after the day was selected - * TODO: Popdown happens automatically if a month is chosen which has less days then - * the day number previously selected. - */ - popover = GTK_POPOVER(time_picker->calendar_popover); - gtk_popover_popdown (popover); - g_free (button_text); g_date_time_unref (date_selected); @@ -220,6 +224,7 @@ time_picker_class_init (TimePickerClass *class) gtk_widget_class_bind_template_child (widget_class, TimePicker, calendar_button); gtk_widget_class_bind_template_child (widget_class, TimePicker, spin_button_hour); gtk_widget_class_bind_template_child (widget_class, TimePicker, spin_button_minute); + gtk_widget_class_bind_template_child (widget_class, TimePicker, time_button); gtk_widget_class_bind_template_callback (widget_class, day_selected); gtk_widget_class_bind_template_callback (widget_class, time_spin_button_text); @@ -236,4 +241,4 @@ TimePicker * time_picker_new () { return g_object_new (TIME_PICKER_TYPE, NULL); -} \ No newline at end of file +} diff --git a/src/time-picker/time-picker.ui b/src/time-picker/time-picker.ui index 6e87059..f7e8add 100644 --- a/src/time-picker/time-picker.ui +++ b/src/time-picker/time-picker.ui @@ -18,27 +18,9 @@ -