*
*/
+#include <libintl.h>
+
#include "hildon-date-button.h"
#include "hildon-date-selector.h"
#include "hildon-touch-selector.h"
+#include "hildon-picker-button-private.h"
+
+#define _(String) \
+ dgettext("hildon-libs", String)
+
+#define c_(String) \
+ dgettext("hildon-common-strings", String)
/**
* SECTION:hildon-date-button
HILDON_TOUCH_SELECTOR (date_selector));
}
+static GtkWidget *
+hildon_date_button_new_full (HildonSizeType size,
+ HildonButtonArrangement arrangement,
+ GtkWidget *selector)
+{
+ return g_object_new (HILDON_TYPE_DATE_BUTTON,
+ "title", _("wdgt_ti_date"),
+ "arrangement", arrangement,
+ "size", size,
+ "touch-selector", selector,
+ NULL);
+}
+
/**
* hildon_date_button_new:
* @size: One of #HildonSizeType
hildon_date_button_new (HildonSizeType size,
HildonButtonArrangement arrangement)
{
- return g_object_new (HILDON_TYPE_DATE_BUTTON,
- "title", "Date",
- "arrangement", arrangement,
- "size", size,
- NULL);
+ GtkWidget *selector = hildon_date_selector_new ();
+ return hildon_date_button_new_full (size, arrangement, selector);
+}
+
+/**
+ * hildon_date_button_new_with_year_range:
+ * @size: One of #HildonSizeType
+ * @arrangement: one of #HildonButtonArrangement
+ * @min_year: the minimum available year or -1 to ignore
+ * @max_year: the maximum available year or -1 to ignore
+ *
+ * Creates a new #HildonDateButton with a specific valid range of years.
+ * See hildon_date_selector_new_with_year_range() for details on the range.
+ *
+ * Returns: a new #HildonDateButton
+ *
+ * Since: 2.2
+ **/
+GtkWidget *
+hildon_date_button_new_with_year_range (HildonSizeType size,
+ HildonButtonArrangement arrangement,
+ gint min_year,
+ gint max_year)
+{
+ GtkWidget *selector;
+ selector = hildon_date_selector_new_with_year_range (min_year, max_year);
+ return hildon_date_button_new_full (size, arrangement, selector);
}
/**
selector = hildon_picker_button_get_selector (HILDON_PICKER_BUTTON (button));
+ g_return_if_fail (HILDON_IS_TOUCH_SELECTOR (selector));
+
hildon_date_selector_get_date (HILDON_DATE_SELECTOR (selector), year, month, day);
}
selector = hildon_picker_button_get_selector (HILDON_PICKER_BUTTON (button));
+ g_return_if_fail (HILDON_IS_TOUCH_SELECTOR (selector));
+
+ hildon_picker_button_disable_value_changed (HILDON_PICKER_BUTTON (button), TRUE);
hildon_date_selector_select_current_date (HILDON_DATE_SELECTOR (selector),
year, month, day);
+ hildon_picker_button_disable_value_changed (HILDON_PICKER_BUTTON (button), FALSE);
+
date = hildon_touch_selector_get_current_text (HILDON_TOUCH_SELECTOR (selector));
hildon_button_set_value (HILDON_BUTTON (button), date);
g_free (date);
+
+ hildon_picker_button_value_changed (HILDON_PICKER_BUTTON (button));
}