gcal-month-view: fixed days number drawing
Updated GcalMonthViewPrivate:days_delay on every day update
This commit is contained in:
+16
-4
@@ -229,11 +229,21 @@ gcal_month_view_set_property (GObject *object,
|
|||||||
switch (property_id)
|
switch (property_id)
|
||||||
{
|
{
|
||||||
case PROP_DATE:
|
case PROP_DATE:
|
||||||
if (priv->date != NULL)
|
{
|
||||||
g_free (priv->date);
|
icaltimetype *first_of_month;
|
||||||
|
|
||||||
priv->date = g_value_dup_boxed (value);
|
if (priv->date != NULL)
|
||||||
break;
|
g_free (priv->date);
|
||||||
|
|
||||||
|
priv->date = g_value_dup_boxed (value);
|
||||||
|
|
||||||
|
first_of_month = gcal_dup_icaltime (priv->date);
|
||||||
|
first_of_month->day = 1;
|
||||||
|
priv->days_delay = icaltime_day_of_week (*first_of_month) - 1;
|
||||||
|
g_free (first_of_month);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||||
break;
|
break;
|
||||||
@@ -520,6 +530,7 @@ gcal_month_view_draw (GtkWidget *widget,
|
|||||||
|
|
||||||
priv = gcal_month_view_get_instance_private (GCAL_MONTH_VIEW (widget));
|
priv = gcal_month_view_get_instance_private (GCAL_MONTH_VIEW (widget));
|
||||||
|
|
||||||
|
/* fonts and colors selection */
|
||||||
context = gtk_widget_get_style_context (widget);
|
context = gtk_widget_get_style_context (widget);
|
||||||
state = gtk_widget_get_state_flags (widget);
|
state = gtk_widget_get_state_flags (widget);
|
||||||
|
|
||||||
@@ -557,6 +568,7 @@ gcal_month_view_draw (GtkWidget *widget,
|
|||||||
|
|
||||||
gtk_style_context_restore (context);
|
gtk_style_context_restore (context);
|
||||||
|
|
||||||
|
/* calculations */
|
||||||
days = priv->days_delay + icaltime_days_in_month (priv->date->month, priv->date->year);
|
days = priv->days_delay + icaltime_days_in_month (priv->date->month, priv->date->year);
|
||||||
shown_rows = ceil (days / 7.0);
|
shown_rows = ceil (days / 7.0);
|
||||||
february_gap = shown_rows == 4 ? 1 : 0;
|
february_gap = shown_rows == 4 ? 1 : 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user