date-chooser: Add the show-events property
This allows showing events from the timeline via a dot.
This commit is contained in:
committed by
Georges Basile Stavracas Neto
parent
b5d8575445
commit
6cb57b0ad5
@@ -57,6 +57,7 @@ struct _GcalDateChooser
|
|||||||
gboolean show_day_names;
|
gboolean show_day_names;
|
||||||
gboolean show_week_numbers;
|
gboolean show_week_numbers;
|
||||||
gboolean show_selected_week;
|
gboolean show_selected_week;
|
||||||
|
gboolean show_events;
|
||||||
|
|
||||||
GcalRangeTree *events;
|
GcalRangeTree *events;
|
||||||
|
|
||||||
@@ -84,6 +85,7 @@ enum
|
|||||||
PROP_SHOW_DAY_NAMES,
|
PROP_SHOW_DAY_NAMES,
|
||||||
PROP_SHOW_WEEK_NUMBERS,
|
PROP_SHOW_WEEK_NUMBERS,
|
||||||
PROP_SHOW_SELECTED_WEEK,
|
PROP_SHOW_SELECTED_WEEK,
|
||||||
|
PROP_SHOW_EVENTS,
|
||||||
NUM_PROPERTIES
|
NUM_PROPERTIES
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -477,6 +479,10 @@ calendar_set_property (GObject *obj,
|
|||||||
gcal_date_chooser_set_show_selected_week (self, g_value_get_boolean (value));
|
gcal_date_chooser_set_show_selected_week (self, g_value_get_boolean (value));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PROP_SHOW_EVENTS:
|
||||||
|
gcal_date_chooser_set_show_events (self, g_value_get_boolean (value));
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, property_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, property_id, pspec);
|
||||||
break;
|
break;
|
||||||
@@ -513,6 +519,10 @@ calendar_get_property (GObject *obj,
|
|||||||
g_value_set_boolean (value, self->show_selected_week);
|
g_value_set_boolean (value, self->show_selected_week);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PROP_SHOW_EVENTS:
|
||||||
|
g_value_set_boolean (value, self->show_events);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, property_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, property_id, pspec);
|
||||||
break;
|
break;
|
||||||
@@ -637,6 +647,12 @@ gcal_date_chooser_class_init (GcalDateChooserClass *class)
|
|||||||
TRUE,
|
TRUE,
|
||||||
G_PARAM_READWRITE);
|
G_PARAM_READWRITE);
|
||||||
|
|
||||||
|
properties[PROP_SHOW_EVENTS] = g_param_spec_boolean ("show-events",
|
||||||
|
"Show Events",
|
||||||
|
"If TRUE, events are displayed",
|
||||||
|
TRUE,
|
||||||
|
G_PARAM_READWRITE);
|
||||||
|
|
||||||
g_object_class_install_properties (object_class, NUM_PROPERTIES, properties);
|
g_object_class_install_properties (object_class, NUM_PROPERTIES, properties);
|
||||||
|
|
||||||
signals[DAY_SELECTED] = g_signal_new ("day-selected",
|
signals[DAY_SELECTED] = g_signal_new ("day-selected",
|
||||||
@@ -694,6 +710,7 @@ gcal_date_chooser_init (GcalDateChooser *self)
|
|||||||
self->show_day_names = TRUE;
|
self->show_day_names = TRUE;
|
||||||
self->show_week_numbers = TRUE;
|
self->show_week_numbers = TRUE;
|
||||||
self->show_selected_week = TRUE;
|
self->show_selected_week = TRUE;
|
||||||
|
self->show_events = TRUE;
|
||||||
|
|
||||||
self->date = g_date_time_new_now_local ();
|
self->date = g_date_time_new_now_local ();
|
||||||
g_date_time_get_ymd (self->date, &self->this_year, NULL, NULL);
|
g_date_time_get_ymd (self->date, &self->this_year, NULL, NULL);
|
||||||
@@ -793,6 +810,12 @@ gcal_date_chooser_init (GcalDateChooser *self)
|
|||||||
{
|
{
|
||||||
self->days[row][col] = gcal_date_chooser_day_new ();
|
self->days[row][col] = gcal_date_chooser_day_new ();
|
||||||
|
|
||||||
|
g_object_bind_property (self,
|
||||||
|
"show-events",
|
||||||
|
self->days[row][col],
|
||||||
|
"has-dot",
|
||||||
|
G_BINDING_SYNC_CREATE);
|
||||||
|
|
||||||
g_signal_connect_object (self->days[row][col],
|
g_signal_connect_object (self->days[row][col],
|
||||||
"clicked",
|
"clicked",
|
||||||
G_CALLBACK (day_selected_cb),
|
G_CALLBACK (day_selected_cb),
|
||||||
@@ -915,6 +938,26 @@ gcal_date_chooser_get_show_selected_week (GcalDateChooser *self)
|
|||||||
return self->show_selected_week;
|
return self->show_selected_week;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
gcal_date_chooser_set_show_events (GcalDateChooser *self,
|
||||||
|
gboolean setting)
|
||||||
|
{
|
||||||
|
if (self->show_events == setting)
|
||||||
|
return;
|
||||||
|
|
||||||
|
self->show_events = setting;
|
||||||
|
|
||||||
|
calendar_update_selected_day_display (self);
|
||||||
|
|
||||||
|
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_SHOW_EVENTS]);
|
||||||
|
}
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
gcal_date_chooser_get_show_events (GcalDateChooser *self)
|
||||||
|
{
|
||||||
|
return self->show_events;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gcal_date_chooser_set_date (GcalDateChooser *self,
|
gcal_date_chooser_set_date (GcalDateChooser *self,
|
||||||
GDateTime *date)
|
GDateTime *date)
|
||||||
|
|||||||
@@ -53,6 +53,11 @@ gboolean gcal_date_chooser_get_show_selected_week (GcalDateChoose
|
|||||||
void gcal_date_chooser_set_show_selected_week (GcalDateChooser *self,
|
void gcal_date_chooser_set_show_selected_week (GcalDateChooser *self,
|
||||||
gboolean setting);
|
gboolean setting);
|
||||||
|
|
||||||
|
gboolean gcal_date_chooser_get_show_events (GcalDateChooser *self);
|
||||||
|
|
||||||
|
void gcal_date_chooser_set_show_events (GcalDateChooser *self,
|
||||||
|
gboolean setting);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __GCAL_DATE_CHOOSER_H__ */
|
#endif /* __GCAL_DATE_CHOOSER_H__ */
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
<property name="margin-end">12</property>
|
<property name="margin-end">12</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GcalDateChooser" id="date_chooser">
|
<object class="GcalDateChooser" id="date_chooser">
|
||||||
|
<property name="show_events">False</property>
|
||||||
<property name="show_selected_week">False</property>
|
<property name="show_selected_week">False</property>
|
||||||
<property name="show_week_numbers">True</property>
|
<property name="show_week_numbers">True</property>
|
||||||
<signal name="day-selected" handler="calendar_day_selected" object="GcalDateSelector" swapped="yes"/>
|
<signal name="day-selected" handler="calendar_day_selected" object="GcalDateSelector" swapped="yes"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user