summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2002-03-03 17:29:50 +0000
committerKristian Rietveld <kristian@src.gnome.org>2002-03-03 17:29:50 +0000
commit3263de0e77161f448fa84dcc8f58dedbd1d42196 (patch)
tree44e6f9e233b493540f9d61be3633e24e16ffc01c
parentd69b02ec8159098ac3d86d40dec5a1edb2a72857 (diff)
downloadgdk-pixbuf-3263de0e77161f448fa84dcc8f58dedbd1d42196.tar.gz
move edit ifs above _set_cursor code, don't collapse/expand row on double
Sat Mar 2 03:49:31 2002 Kristian Rietveld <kris@gtk.org> * gtk/gtktreeview.c (gtk_tree_view_button_press): move edit ifs above _set_cursor code, don't collapse/expand row on double click, only activate (#63269) (validate_visible_area): add two missing lines (#73161, #73162)
-rw-r--r--ChangeLog7
-rw-r--r--ChangeLog.pre-2-07
-rw-r--r--ChangeLog.pre-2-107
-rw-r--r--ChangeLog.pre-2-27
-rw-r--r--ChangeLog.pre-2-47
-rw-r--r--ChangeLog.pre-2-67
-rw-r--r--ChangeLog.pre-2-87
-rw-r--r--gtk/gtktreeview.c81
8 files changed, 86 insertions, 44 deletions
diff --git a/ChangeLog b/ChangeLog
index 5b41434cb..ea4e1adb1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sat Mar 2 03:49:31 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_button_press): move edit
+ ifs above _set_cursor code, don't collapse/expand row on double
+ click, only activate (#63269)
+ (validate_visible_area): add two missing lines (#73161, #73162)
+
Sun Mar 3 12:13:56 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Fix typo where pangoxft was being
diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0
index 5b41434cb..ea4e1adb1 100644
--- a/ChangeLog.pre-2-0
+++ b/ChangeLog.pre-2-0
@@ -1,3 +1,10 @@
+Sat Mar 2 03:49:31 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_button_press): move edit
+ ifs above _set_cursor code, don't collapse/expand row on double
+ click, only activate (#63269)
+ (validate_visible_area): add two missing lines (#73161, #73162)
+
Sun Mar 3 12:13:56 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Fix typo where pangoxft was being
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 5b41434cb..ea4e1adb1 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,10 @@
+Sat Mar 2 03:49:31 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_button_press): move edit
+ ifs above _set_cursor code, don't collapse/expand row on double
+ click, only activate (#63269)
+ (validate_visible_area): add two missing lines (#73161, #73162)
+
Sun Mar 3 12:13:56 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Fix typo where pangoxft was being
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index 5b41434cb..ea4e1adb1 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,10 @@
+Sat Mar 2 03:49:31 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_button_press): move edit
+ ifs above _set_cursor code, don't collapse/expand row on double
+ click, only activate (#63269)
+ (validate_visible_area): add two missing lines (#73161, #73162)
+
Sun Mar 3 12:13:56 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Fix typo where pangoxft was being
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 5b41434cb..ea4e1adb1 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,10 @@
+Sat Mar 2 03:49:31 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_button_press): move edit
+ ifs above _set_cursor code, don't collapse/expand row on double
+ click, only activate (#63269)
+ (validate_visible_area): add two missing lines (#73161, #73162)
+
Sun Mar 3 12:13:56 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Fix typo where pangoxft was being
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 5b41434cb..ea4e1adb1 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,10 @@
+Sat Mar 2 03:49:31 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_button_press): move edit
+ ifs above _set_cursor code, don't collapse/expand row on double
+ click, only activate (#63269)
+ (validate_visible_area): add two missing lines (#73161, #73162)
+
Sun Mar 3 12:13:56 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Fix typo where pangoxft was being
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 5b41434cb..ea4e1adb1 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,10 @@
+Sat Mar 2 03:49:31 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_button_press): move edit
+ ifs above _set_cursor code, don't collapse/expand row on double
+ click, only activate (#63269)
+ (validate_visible_area): add two missing lines (#73161, #73162)
+
Sun Mar 3 12:13:56 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Fix typo where pangoxft was being
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index 33224ef80..91c1bd73a 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -1789,34 +1789,7 @@ gtk_tree_view_button_press (GtkWidget *widget,
if (column == NULL)
return FALSE;
- pre_val = tree_view->priv->vadjustment->value;
-
- tree_view->priv->focus_column = column;
- if (event->state & GDK_CONTROL_MASK)
- {
- gtk_tree_view_real_set_cursor (tree_view, path, FALSE);
- gtk_tree_view_real_toggle_cursor_row (tree_view);
- }
- else if (event->state & GDK_SHIFT_MASK)
- {
- gtk_tree_view_real_set_cursor (tree_view, path, FALSE);
- gtk_tree_view_real_select_cursor_row (tree_view, FALSE);
- }
- else
- {
- gtk_tree_view_real_set_cursor (tree_view, path, TRUE);
- }
-
- /* the treeview may have been scrolled because of _set_cursor,
- * correct here
- */
-
- aft_val = tree_view->priv->vadjustment->value;
- dval = pre_val - aft_val;
-
- cell_area.y += dval;
- background_area.y += dval;
-
+ /* decide to edit */
if (event->type == GDK_BUTTON_PRESS &&
!(event->state & gtk_accelerator_get_default_mod_mask ()))
{
@@ -1841,7 +1814,8 @@ gtk_tree_view_button_press (GtkWidget *widget,
&background_area,
&cell_area, flags))
{
- if (cell_editable != NULL)
+ if (cell_editable != NULL &&
+ gtk_tree_selection_iter_is_selected (gtk_tree_view_get_selection (tree_view), &iter))
{
gtk_tree_view_real_start_editing (tree_view,
column,
@@ -1850,13 +1824,43 @@ gtk_tree_view_button_press (GtkWidget *widget,
&cell_area,
(GdkEvent *)event,
flags);
-
+ gtk_tree_path_free (path);
+ return TRUE;
}
column_handled_click = TRUE;
}
g_free (path_string);
}
+ /* select */
+ pre_val = tree_view->priv->vadjustment->value;
+
+ tree_view->priv->focus_column = column;
+ if (event->state & GDK_CONTROL_MASK)
+ {
+ gtk_tree_view_real_set_cursor (tree_view, path, FALSE);
+ gtk_tree_view_real_toggle_cursor_row (tree_view);
+ }
+ else if (event->state & GDK_SHIFT_MASK)
+ {
+ gtk_tree_view_real_set_cursor (tree_view, path, FALSE);
+ gtk_tree_view_real_select_cursor_row (tree_view, FALSE);
+ }
+ else
+ {
+ gtk_tree_view_real_set_cursor (tree_view, path, TRUE);
+ }
+
+ /* the treeview may have been scrolled because of _set_cursor,
+ * correct here
+ */
+
+ aft_val = tree_view->priv->vadjustment->value;
+ dval = pre_val - aft_val;
+
+ cell_area.y += dval;
+ background_area.y += dval;
+
/* Save press to possibly begin a drag
*/
if (!column_handled_click &&
@@ -1875,20 +1879,7 @@ gtk_tree_view_button_press (GtkWidget *widget,
if (lsc)
{
if (!gtk_tree_path_compare (lsc, path))
- {
- if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_PARENT))
- {
- if (node->children == NULL)
- gtk_tree_view_real_expand_row (tree_view, path,
- tree, node, FALSE,
- TRUE);
- else
- gtk_tree_view_real_collapse_row (tree_view, path,
- tree, node, TRUE);
- }
-
- gtk_tree_view_row_activated (tree_view, path, column);
- }
+ gtk_tree_view_row_activated (tree_view, path, column);
gtk_tree_path_free (lsc);
}
@@ -3790,6 +3781,7 @@ validate_visible_area (GtkTreeView *tree_view)
{
gboolean has_next = gtk_tree_model_iter_next (tree_view->priv->model, &iter);
done = TRUE;
+ gtk_tree_path_next (path);
/* Sanity Check! */
TREE_VIEW_INTERNAL_ASSERT_VOID (has_next);
@@ -3806,6 +3798,7 @@ validate_visible_area (GtkTreeView *tree_view)
has_parent = gtk_tree_model_iter_parent (tree_view->priv->model,
&iter,
&parent_iter);
+ gtk_tree_path_up (path);
/* Sanity check */
TREE_VIEW_INTERNAL_ASSERT_VOID (has_parent);