event-widget: use custom class for background colors
This commit is contained in:
+9
-21
@@ -65,8 +65,6 @@ enum
|
|||||||
|
|
||||||
static guint signals[NUM_SIGNALS] = { 0, };
|
static guint signals[NUM_SIGNALS] = { 0, };
|
||||||
|
|
||||||
static void gcal_event_widget_constructed (GObject *object);
|
|
||||||
|
|
||||||
static void gcal_event_widget_set_property (GObject *object,
|
static void gcal_event_widget_set_property (GObject *object,
|
||||||
guint property_id,
|
guint property_id,
|
||||||
const GValue *value,
|
const GValue *value,
|
||||||
@@ -116,7 +114,6 @@ gcal_event_widget_class_init(GcalEventWidgetClass *klass)
|
|||||||
GtkWidgetClass *widget_class;
|
GtkWidgetClass *widget_class;
|
||||||
|
|
||||||
object_class = G_OBJECT_CLASS (klass);
|
object_class = G_OBJECT_CLASS (klass);
|
||||||
object_class->constructed = gcal_event_widget_constructed;
|
|
||||||
object_class->set_property = gcal_event_widget_set_property;
|
object_class->set_property = gcal_event_widget_set_property;
|
||||||
object_class->get_property = gcal_event_widget_get_property;
|
object_class->get_property = gcal_event_widget_get_property;
|
||||||
object_class->finalize = gcal_event_widget_finalize;
|
object_class->finalize = gcal_event_widget_finalize;
|
||||||
@@ -220,19 +217,6 @@ gcal_event_widget_init(GcalEventWidget *self)
|
|||||||
gtk_widget_set_can_focus (GTK_WIDGET (self), TRUE);
|
gtk_widget_set_can_focus (GTK_WIDGET (self), TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
gcal_event_widget_constructed (GObject *object)
|
|
||||||
{
|
|
||||||
GcalEventWidgetPrivate *priv;
|
|
||||||
|
|
||||||
priv = gcal_event_widget_get_instance_private (GCAL_EVENT_WIDGET (object));
|
|
||||||
|
|
||||||
if (G_OBJECT_CLASS (gcal_event_widget_parent_class)->constructed != NULL)
|
|
||||||
G_OBJECT_CLASS (gcal_event_widget_parent_class)->constructed (object);
|
|
||||||
|
|
||||||
gtk_widget_override_background_color (GTK_WIDGET (object), 0, priv->color);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gcal_event_widget_set_property (GObject *object,
|
gcal_event_widget_set_property (GObject *object,
|
||||||
guint property_id,
|
guint property_id,
|
||||||
@@ -271,11 +255,6 @@ gcal_event_widget_set_property (GObject *object,
|
|||||||
if (priv->color == NULL)
|
if (priv->color == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
gtk_widget_override_background_color (
|
|
||||||
GTK_WIDGET (object),
|
|
||||||
gtk_widget_get_state_flags (GTK_WIDGET (object)),
|
|
||||||
priv->color);
|
|
||||||
|
|
||||||
if (INTENSITY (priv->color->red,
|
if (INTENSITY (priv->color->red,
|
||||||
priv->color->green,
|
priv->color->green,
|
||||||
priv->color->blue) > 0.5)
|
priv->color->blue) > 0.5)
|
||||||
@@ -736,7 +715,11 @@ gcal_event_widget_new_from_data (GcalEventData *data)
|
|||||||
ECalComponentId *id;
|
ECalComponentId *id;
|
||||||
ECalComponentText e_summary;
|
ECalComponentText e_summary;
|
||||||
ESourceSelectable *extension;
|
ESourceSelectable *extension;
|
||||||
|
|
||||||
|
GQuark color_id;
|
||||||
GdkRGBA color;
|
GdkRGBA color;
|
||||||
|
gchar *custom_css_class;
|
||||||
|
|
||||||
ECalComponentDateTime dt;
|
ECalComponentDateTime dt;
|
||||||
icaltimetype *date;
|
icaltimetype *date;
|
||||||
gboolean start_is_date, end_is_date;
|
gboolean start_is_date, end_is_date;
|
||||||
@@ -776,6 +759,11 @@ gcal_event_widget_new_from_data (GcalEventData *data)
|
|||||||
gdk_rgba_parse (&color, e_source_selectable_get_color (extension));
|
gdk_rgba_parse (&color, e_source_selectable_get_color (extension));
|
||||||
gcal_event_widget_set_color (event, &color);
|
gcal_event_widget_set_color (event, &color);
|
||||||
|
|
||||||
|
color_id = g_quark_from_string (e_source_selectable_get_color (extension));
|
||||||
|
custom_css_class = g_strdup_printf ("color-%d", color_id);
|
||||||
|
gtk_style_context_add_class (gtk_widget_get_style_context (widget), custom_css_class);
|
||||||
|
g_free (custom_css_class);
|
||||||
|
|
||||||
/* start date */
|
/* start date */
|
||||||
e_cal_component_get_dtstart (priv->component, &dt);
|
e_cal_component_get_dtstart (priv->component, &dt);
|
||||||
date = gcal_dup_icaltime (dt.value);
|
date = gcal_dup_icaltime (dt.value);
|
||||||
|
|||||||
Reference in New Issue
Block a user