views/week: Add 'can-expand' property

This commit is contained in:
Georges Basile Stavracas Neto
2025-04-04 21:00:29 -03:00
parent f653dcd9e6
commit c0dfe588ae
2 changed files with 27 additions and 0 deletions
+25
View File
@@ -97,6 +97,7 @@ struct _GcalWeekHeader
* Used for checking if the header is in collapsed state or expand state * Used for checking if the header is in collapsed state or expand state
* false is collapse state true is expand state * false is collapse state true is expand state
*/ */
gboolean can_expand;
gboolean expanded; gboolean expanded;
GDateTime *active_date; GDateTime *active_date;
@@ -127,6 +128,7 @@ typedef enum
enum enum
{ {
PROP_0, PROP_0,
PROP_CAN_EXPAND,
PROP_EXPANDED, PROP_EXPANDED,
N_PROPS, N_PROPS,
}; };
@@ -511,6 +513,12 @@ update_overflow (GcalWeekHeader *self)
} }
gtk_widget_set_visible (GTK_WIDGET (self->expand_button), show_expand); gtk_widget_set_visible (GTK_WIDGET (self->expand_button), show_expand);
if (self->can_expand != show_expand)
{
self->can_expand = show_expand;
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_CAN_EXPAND]);
}
} }
static void static void
@@ -1485,6 +1493,10 @@ gcal_week_header_get_property (GObject *object,
switch (prop_id) switch (prop_id)
{ {
case PROP_CAN_EXPAND:
g_value_set_boolean (value, self->can_expand);
break;
case PROP_EXPANDED: case PROP_EXPANDED:
g_value_set_boolean (value, self->expanded); g_value_set_boolean (value, self->expanded);
break; break;
@@ -1508,6 +1520,7 @@ gcal_week_header_set_property (GObject *object,
gcal_week_header_set_expanded (self, g_value_get_boolean (value)); gcal_week_header_set_expanded (self, g_value_get_boolean (value));
break; break;
case PROP_CAN_EXPAND:
default: default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
} }
@@ -1528,6 +1541,10 @@ gcal_week_header_class_init (GcalWeekHeaderClass *kclass)
widget_class->size_allocate = gcal_week_header_size_allocate; widget_class->size_allocate = gcal_week_header_size_allocate;
widget_class->snapshot = gcal_week_header_snapshot; widget_class->snapshot = gcal_week_header_snapshot;
properties[PROP_CAN_EXPAND] = g_param_spec_boolean ("can-expand", NULL, NULL,
FALSE,
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
properties[PROP_EXPANDED] = g_param_spec_boolean ("expanded", NULL, NULL, properties[PROP_EXPANDED] = g_param_spec_boolean ("expanded", NULL, NULL,
FALSE, FALSE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
@@ -1849,6 +1866,14 @@ gcal_week_header_set_date (GcalWeekHeader *self,
update_weather_infos (self); update_weather_infos (self);
} }
gboolean
gcal_week_header_get_can_expand (GcalWeekHeader *self)
{
g_assert (GCAL_IS_WEEK_HEADER (self));
return self->can_expand;
}
gboolean gboolean
gcal_week_header_get_expanded (GcalWeekHeader *self) gcal_week_header_get_expanded (GcalWeekHeader *self)
{ {
+2
View File
@@ -52,6 +52,8 @@ void gcal_week_header_clear_marks (GcalWeekHeader
void gcal_week_header_set_date (GcalWeekHeader *self, void gcal_week_header_set_date (GcalWeekHeader *self,
GDateTime *date); GDateTime *date);
gboolean gcal_week_header_get_can_expand (GcalWeekHeader *self);
gboolean gcal_week_header_get_expanded (GcalWeekHeader *self); gboolean gcal_week_header_get_expanded (GcalWeekHeader *self);
void gcal_week_header_set_expanded (GcalWeekHeader *self, void gcal_week_header_set_expanded (GcalWeekHeader *self,
gboolean expanded); gboolean expanded);