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_week_numbers;
|
||||
gboolean show_selected_week;
|
||||
gboolean show_events;
|
||||
|
||||
GcalRangeTree *events;
|
||||
|
||||
@@ -84,6 +85,7 @@ enum
|
||||
PROP_SHOW_DAY_NAMES,
|
||||
PROP_SHOW_WEEK_NUMBERS,
|
||||
PROP_SHOW_SELECTED_WEEK,
|
||||
PROP_SHOW_EVENTS,
|
||||
NUM_PROPERTIES
|
||||
};
|
||||
|
||||
@@ -477,6 +479,10 @@ calendar_set_property (GObject *obj,
|
||||
gcal_date_chooser_set_show_selected_week (self, g_value_get_boolean (value));
|
||||
break;
|
||||
|
||||
case PROP_SHOW_EVENTS:
|
||||
gcal_date_chooser_set_show_events (self, g_value_get_boolean (value));
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, property_id, pspec);
|
||||
break;
|
||||
@@ -513,6 +519,10 @@ calendar_get_property (GObject *obj,
|
||||
g_value_set_boolean (value, self->show_selected_week);
|
||||
break;
|
||||
|
||||
case PROP_SHOW_EVENTS:
|
||||
g_value_set_boolean (value, self->show_events);
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, property_id, pspec);
|
||||
break;
|
||||
@@ -637,6 +647,12 @@ gcal_date_chooser_class_init (GcalDateChooserClass *class)
|
||||
TRUE,
|
||||
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);
|
||||
|
||||
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_week_numbers = TRUE;
|
||||
self->show_selected_week = TRUE;
|
||||
self->show_events = TRUE;
|
||||
|
||||
self->date = g_date_time_new_now_local ();
|
||||
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 ();
|
||||
|
||||
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],
|
||||
"clicked",
|
||||
G_CALLBACK (day_selected_cb),
|
||||
@@ -915,6 +938,26 @@ gcal_date_chooser_get_show_selected_week (GcalDateChooser *self)
|
||||
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
|
||||
gcal_date_chooser_set_date (GcalDateChooser *self,
|
||||
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,
|
||||
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
|
||||
|
||||
#endif /* __GCAL_DATE_CHOOSER_H__ */
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
<property name="margin-end">12</property>
|
||||
<child>
|
||||
<object class="GcalDateChooser" id="date_chooser">
|
||||
<property name="show_events">False</property>
|
||||
<property name="show_selected_week">False</property>
|
||||
<property name="show_week_numbers">True</property>
|
||||
<signal name="day-selected" handler="calendar_day_selected" object="GcalDateSelector" swapped="yes"/>
|
||||
|
||||
Reference in New Issue
Block a user