2008-08-28 Alejandro Pinheiro <apinheiro@igalia.com> * src/hildon-touch-selector...
authorAlejandro Piñeiro <apinheiro@igalia.com>
Fri, 29 Aug 2008 09:32:14 +0000 (09:32 +0000)
committerAlejandro Piñeiro <apinheiro@igalia.com>
Fri, 29 Aug 2008 09:32:14 +0000 (09:32 +0000)
ChangeLog
src/hildon-date-selector.c
src/hildon-time-selector.c
src/hildon-touch-selector-entry.c
src/hildon-touch-selector.c
src/hildon-touch-selector.h

index 197604c..6875a76 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+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
index 0a4c0e3..4a55daa 100644 (file)
@@ -514,13 +514,13 @@ _update_day_model (HildonDateSelector * selector)
 
   hildon_date_selector_get_date (selector, NULL, NULL, &current_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, &current_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, &current_year, -1);
 
@@ -653,21 +653,21 @@ hildon_date_selector_select_current_date (HildonDateSelector * selector,
   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;
 }
@@ -691,23 +691,23 @@ hildon_date_selector_get_date (HildonDateSelector * selector,
   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);
@@ -725,7 +725,7 @@ hildon_date_selector_select_day (HildonDateSelector * selector, guint day)
 
   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);
 }
index 2f48e57..7b15d7c 100644 (file)
@@ -316,8 +316,8 @@ _manage_ampm_selection_cb (HildonTouchSelector * touch_selector,
   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;
@@ -353,8 +353,8 @@ _set_pm (HildonTimeSelector * selector, gboolean 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 ---------------------------- */
@@ -400,13 +400,13 @@ hildon_time_selector_set_time (HildonTimeSelector * selector,
 
   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;
 }
@@ -418,8 +418,8 @@ hildon_time_selector_get_time (HildonTimeSelector * selector,
   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) {
@@ -428,8 +428,8 @@ hildon_time_selector_get_time (HildonTimeSelector * selector,
   }
 
   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);
   }
index 0cd3b0f..fed7de7 100644 (file)
@@ -261,7 +261,7 @@ entry_on_text_changed (GtkEditable * editable,
        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);
   }
index 463a838..247c3b9 100644 (file)
@@ -167,7 +167,7 @@ hildon_touch_selector_class_init (HildonTouchSelectorClass * class)
    * 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.
    *
    */
@@ -356,7 +356,7 @@ _default_print_func (HildonTouchSelector * selector)
 
   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, &current_string, -1);
       if (i != 0) {
@@ -887,7 +887,7 @@ hildon_touch_selector_get_print_func (HildonTouchSelector * selector)
 }
 
 /**
- * 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
@@ -904,8 +904,8 @@ hildon_touch_selector_get_print_func (HildonTouchSelector * selector)
  * 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;
@@ -925,7 +925,7 @@ hildon_touch_selector_get_active_iter (HildonTouchSelector * selector,
 }
 
 /**
- * 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
@@ -936,9 +936,9 @@ hildon_touch_selector_get_active_iter (HildonTouchSelector * selector,
  *
  **/
 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;
@@ -957,7 +957,6 @@ hildon_touch_selector_set_active_iter (HildonTouchSelector * selector,
   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,
@@ -971,6 +970,31 @@ hildon_touch_selector_set_active_iter (HildonTouchSelector * selector,
 }
 
 /**
+ * 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
@@ -1112,7 +1136,7 @@ _hildon_touch_selector_center_on_selected_items (gpointer data)
         && (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,
index ca2a64d..7df084b 100644 (file)
@@ -105,13 +105,16 @@ HildonTouchSelectorSelectionMode
 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  */