date-selector: setup date entries' text

They still are useless.
This commit is contained in:
Georges Basile Stavracas Neto
2014-12-23 12:01:39 -05:00
committed by Erick Pérez Castellanos
parent b386be95d6
commit 55c0681763
+64 -2
View File
@@ -105,10 +105,33 @@ set_date (GcalDateSelector *selector,
/* rebuild the date label */ /* rebuild the date label */
label = g_date_time_format (dt, priv->mask); label = g_date_time_format (dt, priv->mask);
gtk_label_set_label (GTK_LABEL (priv->date_label), label);
g_date_time_unref (dt); gtk_label_set_label (GTK_LABEL (priv->date_label), label);
g_free (label); g_free (label);
/* set date entries' text */
/* day entry */
label = g_strdup_printf ("%d", day);
gtk_entry_set_text (GTK_ENTRY (priv->entries[DAY]), label);
g_free (label);
/* month entry */
label = g_strdup_printf ("%d", month + 1);
gtk_entry_set_text (GTK_ENTRY (priv->entries[MONTH]), label);
g_free (label);
/* year entry */
if (priv->have_long_year)
label = g_strdup_printf ("%d", year);
else
label = g_strdup_printf ("%d", year % 100);
gtk_entry_set_text (GTK_ENTRY (priv->entries[YEAR]), label);
g_free (label);
g_date_time_unref (dt);
} }
static void static void
@@ -140,6 +163,7 @@ gcal_date_selector_init (GcalDateSelector *self)
priv->day = 1; priv->day = 1;
priv->month = 1; priv->month = 1;
priv->year = 1970; priv->year = 1970;
priv->have_long_year = FALSE;
setlocale (LC_ALL,""); setlocale (LC_ALL,"");
priv->mask = nl_langinfo (D_FMT); priv->mask = nl_langinfo (D_FMT);
@@ -185,8 +209,12 @@ gcal_date_selector_init (GcalDateSelector *self)
/* year */ /* year */
case 'y': case 'y':
priv->year_pos = d_index++;
break;
case 'Y': case 'Y':
priv->year_pos = d_index++; priv->year_pos = d_index++;
priv->have_long_year = TRUE;
break; break;
} }
} }
@@ -201,6 +229,7 @@ gcal_date_selector_constructed (GObject *object)
GSettings *settings; GSettings *settings;
gchar *clock_format; gchar *clock_format;
gchar *entry_name;
priv = gcal_date_selector_get_instance_private (GCAL_DATE_SELECTOR (object)); priv = gcal_date_selector_get_instance_private (GCAL_DATE_SELECTOR (object));
@@ -237,9 +266,42 @@ gcal_date_selector_constructed (GObject *object)
priv->calendar = (GtkWidget*) gtk_builder_get_object (builder, "calendar"); priv->calendar = (GtkWidget*) gtk_builder_get_object (builder, "calendar");
g_object_ref (priv->calendar); g_object_ref (priv->calendar);
/**
* Date entries
*
* day entry
*/
entry_name = g_strdup_printf ("entry%d", priv->day_pos);
priv->entries[DAY] = (GtkWidget*) gtk_builder_get_object (builder, entry_name);
gtk_entry_set_max_length (GTK_ENTRY (priv->entries[DAY]), 2);
g_object_ref (priv->entries[DAY]);
g_free (entry_name);
/* month entry */
entry_name = g_strdup_printf ("entry%d", priv->month_pos);
priv->entries[MONTH] = (GtkWidget*) gtk_builder_get_object (builder, entry_name);
gtk_entry_set_max_length (GTK_ENTRY (priv->entries[MONTH]), 2);
g_object_ref (priv->entries[MONTH]);
g_free (entry_name);
/* year entry */
entry_name = g_strdup_printf ("entry%d", priv->year_pos);
priv->entries[YEAR] = (GtkWidget*) gtk_builder_get_object (builder, entry_name);
g_object_ref (priv->entries[YEAR]);
if (! priv->have_long_year)
gtk_entry_set_max_length (GTK_ENTRY (priv->entries[YEAR]), 2);
g_free (entry_name);
/* signals and properties */ /* signals and properties */
gtk_container_add (GTK_CONTAINER (priv->popover), grid); gtk_container_add (GTK_CONTAINER (priv->popover), grid);
g_object_bind_property (priv->popover, "visible", object, "active", G_BINDING_BIDIRECTIONAL); g_object_bind_property (priv->popover, "visible", object, "active", G_BINDING_BIDIRECTIONAL);
g_object_unref (builder);
} }
/* Public API */ /* Public API */