+2008-08-28 Alejandro Pinheiro <apinheiro@igalia.com>
+ * src/hildon-touch-selector.h
+ (hildon_touch_selector_set_active_iter): renamed, now is
+ hildon_touch_selector_select_iter
+ (hildon_touch_selector_get_active_iter): renamed, now is
+ hildon_touch_selector_get_selected
+ (hildon_touch_selector_unselect_iter): added
+ * src/hildon-touch-selector.c
+ Update after API modification (methods renamed)
+ (hildon_touch_selector_select_iter): remove gtk_tree_view_set_cursor in
+ order to avoid problems selecting multiple elements on the column
+ (hildon_touch_selector_unselect_iter): added the implementation
+ * src/hildon-time-selector.c
+ * src/hildon-date-selector.c
+ * src/hildon-touch-selector-entry.c
+ Update methods calls after hildon-touch-selector.h API modification (methods
+ renamed)
+
2008-08-29 Alberto Garcia <agarcia@igalia.com>
* src/hildon-stackable-window.c
hildon_date_selector_get_date (selector, NULL, NULL, ¤t_day);
- hildon_touch_selector_get_active_iter (HILDON_TOUCH_SELECTOR (selector),
- selector->priv->month_column, &iter);
+ hildon_touch_selector_get_selected (HILDON_TOUCH_SELECTOR (selector),
+ selector->priv->month_column, &iter);
gtk_tree_model_get (selector->priv->month_model,
&iter, COLUMN_INT, ¤t_month, -1);
- hildon_touch_selector_get_active_iter (HILDON_TOUCH_SELECTOR (selector),
- selector->priv->year_column, &iter);
+ hildon_touch_selector_get_selected (HILDON_TOUCH_SELECTOR (selector),
+ selector->priv->year_column, &iter);
gtk_tree_model_get (selector->priv->year_model,
&iter, COLUMN_INT, ¤t_year, -1);
gtk_tree_model_iter_nth_child (selector->priv->year_model, &iter, NULL,
year - selector->priv->creation_year +
INIT_YEAR);
- hildon_touch_selector_set_active_iter (HILDON_TOUCH_SELECTOR (selector),
- selector->priv->year_column, &iter,
- FALSE);
+ hildon_touch_selector_select_iter (HILDON_TOUCH_SELECTOR (selector),
+ selector->priv->year_column, &iter,
+ FALSE);
gtk_tree_model_iter_nth_child (selector->priv->month_model, &iter, NULL,
month);
- hildon_touch_selector_set_active_iter (HILDON_TOUCH_SELECTOR (selector),
- selector->priv->month_column, &iter,
- FALSE);
+ hildon_touch_selector_select_iter (HILDON_TOUCH_SELECTOR (selector),
+ selector->priv->month_column, &iter,
+ FALSE);
gtk_tree_model_iter_nth_child (selector->priv->day_model, &iter, NULL,
day - 1);
- hildon_touch_selector_set_active_iter (HILDON_TOUCH_SELECTOR (selector),
- selector->priv->day_column, &iter,
- FALSE);
+ hildon_touch_selector_select_iter (HILDON_TOUCH_SELECTOR (selector),
+ selector->priv->day_column, &iter,
+ FALSE);
return TRUE;
}
GtkTreeIter iter;
if (year != NULL) {
- hildon_touch_selector_get_active_iter (HILDON_TOUCH_SELECTOR (selector),
- selector->priv->year_column, &iter);
+ hildon_touch_selector_get_selected (HILDON_TOUCH_SELECTOR (selector),
+ selector->priv->year_column, &iter);
gtk_tree_model_get (selector->priv->year_model,
&iter, COLUMN_INT, year, -1);
}
if (month != NULL) {
- hildon_touch_selector_get_active_iter (HILDON_TOUCH_SELECTOR (selector),
- selector->priv->month_column, &iter);
+ hildon_touch_selector_get_selected (HILDON_TOUCH_SELECTOR (selector),
+ selector->priv->month_column, &iter);
gtk_tree_model_get (selector->priv->month_model,
&iter, COLUMN_INT, month, -1);
}
if (day != NULL) {
- if (hildon_touch_selector_get_active_iter (HILDON_TOUCH_SELECTOR (selector),
- selector->priv->day_column, &iter))
+ if (hildon_touch_selector_get_selected (HILDON_TOUCH_SELECTOR (selector),
+ selector->priv->day_column, &iter))
{
gtk_tree_model_get (selector->priv->day_model,
&iter, COLUMN_INT, day, -1);
gtk_tree_model_iter_nth_child (selector->priv->day_model, &iter, NULL,
day - 1);
- hildon_touch_selector_set_active_iter (HILDON_TOUCH_SELECTOR (selector),
- selector->priv->day_column, &iter,
- FALSE);
+ hildon_touch_selector_select_iter (HILDON_TOUCH_SELECTOR (selector),
+ selector->priv->day_column, &iter,
+ FALSE);
}
selector = HILDON_TIME_SELECTOR (touch_selector);
if (num_column == COLUMN_AMPM) {
- hildon_touch_selector_get_active_iter (HILDON_TOUCH_SELECTOR (selector),
- COLUMN_AMPM, &iter);
+ hildon_touch_selector_get_selected (HILDON_TOUCH_SELECTOR (selector),
+ COLUMN_AMPM, &iter);
gtk_tree_model_get (selector->priv->ampm_model, &iter, COLUMN_INT, &pm, -1);
selector->priv->pm = pm;
gtk_tree_model_iter_nth_child (selector->priv->ampm_model, &iter, NULL, pm);
- hildon_touch_selector_set_active_iter (HILDON_TOUCH_SELECTOR (selector),
- COLUMN_AMPM, &iter, FALSE);
+ hildon_touch_selector_select_iter (HILDON_TOUCH_SELECTOR (selector),
+ COLUMN_AMPM, &iter, FALSE);
}
/* ------------------------------ PUBLIC METHODS ---------------------------- */
gtk_tree_model_iter_nth_child (selector->priv->hours_model, &iter, NULL,
hours_item);
- hildon_touch_selector_set_active_iter (HILDON_TOUCH_SELECTOR (selector),
- COLUMN_HOURS, &iter, FALSE);
+ hildon_touch_selector_select_iter (HILDON_TOUCH_SELECTOR (selector),
+ COLUMN_HOURS, &iter, FALSE);
gtk_tree_model_iter_nth_child (selector->priv->minutes_model, &iter, NULL,
minutes);
- hildon_touch_selector_set_active_iter (HILDON_TOUCH_SELECTOR (selector),
- COLUMN_MINUTES, &iter, FALSE);
+ hildon_touch_selector_select_iter (HILDON_TOUCH_SELECTOR (selector),
+ COLUMN_MINUTES, &iter, FALSE);
return TRUE;
}
GtkTreeIter iter;
if (hours != NULL) {
- hildon_touch_selector_get_active_iter (HILDON_TOUCH_SELECTOR (selector),
- COLUMN_HOURS, &iter);
+ hildon_touch_selector_get_selected (HILDON_TOUCH_SELECTOR (selector),
+ COLUMN_HOURS, &iter);
gtk_tree_model_get (selector->priv->hours_model,
&iter, COLUMN_INT, hours, -1);
if (selector->priv->ampm_format) {
}
if (minutes != NULL) {
- hildon_touch_selector_get_active_iter (HILDON_TOUCH_SELECTOR (selector),
- COLUMN_MINUTES, &iter);
+ hildon_touch_selector_get_selected (HILDON_TOUCH_SELECTOR (selector),
+ COLUMN_MINUTES, &iter);
gtk_tree_model_get (selector->priv->minutes_model,
&iter, COLUMN_INT, minutes, -1);
}
GtkEntry represents a change in current selection, and therefore, users
should be notified. */
if (found) {
- hildon_touch_selector_set_active_iter (selector, 0, &iter, TRUE);
+ hildon_touch_selector_select_iter (selector, 0, &iter, TRUE);
}
g_signal_emit_by_name (selector, "changed", 0);
}
* The changed signal is emitted when the active
* item is changed. This can be due to the user selecting
* a different item from the list, or due to a
- * call to hildon_touch_selector_set_active_iter() on
+ * call to hildon_touch_selector_select_iter() on
* one of the columns.
*
*/
for (i = initial_value; i < num_columns; i++) {
model = hildon_touch_selector_get_model (selector, i);
- if (hildon_touch_selector_get_active_iter (selector, i, &iter)) {
+ if (hildon_touch_selector_get_selected (selector, i, &iter)) {
gtk_tree_model_get (model, &iter, 0, ¤t_string, -1);
if (i != 0) {
}
/**
- * hildon_touch_selector_get_active_iter:
+ * hildon_touch_selector_get_selected:
* @selector: a #HildonTouchSelector
* @column: the column number we want to get the element
* @iter: #GtkTreeIter currently selected
* Returns: %TRUE if @iter was correctly set, %FALSE otherwise
**/
gboolean
-hildon_touch_selector_get_active_iter (HildonTouchSelector * selector,
- gint column, GtkTreeIter * iter)
+hildon_touch_selector_get_selected (HildonTouchSelector * selector,
+ gint column, GtkTreeIter * iter)
{
GtkTreeSelection *selection = NULL;
SelectorColumn *current_column = NULL;
}
/**
- * hildon_touch_selector_set_active_iter
+ * hildon_touch_selector_select_iter
* @selector: a #HildonTouchSelector
* @column: the column to selects
* @iter: the #GtkTreeIter to be selected
*
**/
void
-hildon_touch_selector_set_active_iter (HildonTouchSelector * selector,
- gint column, GtkTreeIter * iter,
- gboolean scroll_to)
+hildon_touch_selector_select_iter (HildonTouchSelector * selector,
+ gint column, GtkTreeIter * iter,
+ gboolean scroll_to)
{
GtkTreePath *path;
GtkTreeModel *model;
path = gtk_tree_model_get_path (model, iter);
gtk_tree_selection_select_iter (selection, iter);
- gtk_tree_view_set_cursor (GTK_TREE_VIEW (current_column->tree_view), path, NULL, FALSE);
if (scroll_to) {
gtk_tree_view_get_background_area (current_column->tree_view,
}
/**
+ * hildon_touch_selector_unselect_iter
+ * @selector: a #HildonTouchSelector
+ * @column: the column to unselects from
+ * @iter: the #GtkTreeIter to be unselected
+ *
+ * Unselect the item pointed by @iter in the column @column
+ *
+ **/
+
+void hildon_touch_selector_unselect_iter (HildonTouchSelector * selector,
+ gint column,
+ GtkTreeIter * iter)
+{
+ SelectorColumn *current_column = NULL;
+ GtkTreeSelection *selection = NULL;
+
+ g_return_if_fail (HILDON_IS_TOUCH_SELECTOR (selector));
+ g_return_if_fail (column < hildon_touch_selector_get_num_columns (selector));
+
+ current_column = g_slist_nth_data (selector->priv->columns, column);
+ selection = gtk_tree_view_get_selection (current_column->tree_view);
+ gtk_tree_selection_unselect_iter (selection, iter);
+}
+
+/**
* hildon_touch_selector_get_selected_rows:
* @selector: a #HildonTouchSelector
* @column: the position of the column to get the selected rows from
&& (selection_mode == HILDON_TOUCH_SELECTOR_SELECTION_MODE_MULTIPLE)) {
break;
}
- if (hildon_touch_selector_get_active_iter (selector, i, &iter)) {
+ if (hildon_touch_selector_get_selected (selector, i, &iter)) {
path = gtk_tree_model_get_path (column->model, &iter);
gtk_tree_view_get_background_area (GTK_TREE_VIEW
(column->tree_view), path, NULL,
hildon_touch_selector_get_column_selection_mode (HildonTouchSelector * selector);
/* get/set active item */
-gboolean hildon_touch_selector_get_active_iter (HildonTouchSelector * selector,
+gboolean hildon_touch_selector_get_selected (HildonTouchSelector * selector,
gint column,
GtkTreeIter * iter);
-void hildon_touch_selector_set_active_iter (HildonTouchSelector * selector,
+void hildon_touch_selector_select_iter (HildonTouchSelector * selector,
gint column,
GtkTreeIter * iter,
gboolean scroll_to);
+void hildon_touch_selector_unselect_iter (HildonTouchSelector * selector,
+ gint column,
+ GtkTreeIter * iter);
GList *hildon_touch_selector_get_selected_rows (HildonTouchSelector * selector,
gint column);
/* model */