aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-12-15 03:02:13 +0800
committerChris Lahey <clahey@src.gnome.org>2000-12-15 03:02:13 +0800
commitfeea74a8a7cbfe1b9d96212c6380f724750ad9e1 (patch)
treeee2d6be303840e8d9fec217629a41fde2daad449
parent40013b42006e21aabe6dfd9451548fc2621bbe1f (diff)
downloadgsoc2013-evolution-feea74a8a7cbfe1b9d96212c6380f724750ad9e1.tar
gsoc2013-evolution-feea74a8a7cbfe1b9d96212c6380f724750ad9e1.tar.gz
gsoc2013-evolution-feea74a8a7cbfe1b9d96212c6380f724750ad9e1.tar.bz2
gsoc2013-evolution-feea74a8a7cbfe1b9d96212c6380f724750ad9e1.tar.lz
gsoc2013-evolution-feea74a8a7cbfe1b9d96212c6380f724750ad9e1.tar.xz
gsoc2013-evolution-feea74a8a7cbfe1b9d96212c6380f724750ad9e1.tar.zst
gsoc2013-evolution-feea74a8a7cbfe1b9d96212c6380f724750ad9e1.zip
Removed the set cursor and get cursor methods from ETableGroup.
2000-12-14 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h: Removed the set cursor and get cursor methods from ETableGroup. * e-table.c (e_table_get_cursor_row, e_table_set_cursor_row): Changed this to use the ETableSelection directly instead of going through the grouping structure. This seems to fix a bug in evolution's folder list for some people. svn path=/trunk/; revision=7018
-rw-r--r--widgets/table/e-table-group-container.c34
-rw-r--r--widgets/table/e-table-group-leaf.c24
-rw-r--r--widgets/table/e-table-group.c25
-rw-r--r--widgets/table/e-table-group.h5
-rw-r--r--widgets/table/e-table.c11
5 files changed, 6 insertions, 93 deletions
diff --git a/widgets/table/e-table-group-container.c b/widgets/table/e-table-group-container.c
index 66eff91b85..5e2b86c800 100644
--- a/widgets/table/e-table-group-container.c
+++ b/widgets/table/e-table-group-container.c
@@ -500,38 +500,6 @@ etgc_decrement (ETableGroup *etg, gint position, gint amount)
}
static void
-etgc_set_cursor_row (ETableGroup *etg, gint row)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg);
- GList *list;
- for (list = etgc->children; list; list = g_list_next(list)) {
- ETableGroup *group = ((ETableGroupContainerChildNode *)list->data)->child;
- gint this_count = e_table_group_row_count(group);
- if (row < this_count) {
- e_table_group_set_cursor_row(group, row);
- return;
- }
- row -= this_count;
- }
-}
-
-static int
-etgc_get_cursor_row (ETableGroup *etg)
-{
- ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg);
- GList *list;
- int count = 0;
- for (list = etgc->children; list; list = g_list_next(list)) {
- ETableGroup *group = ((ETableGroupContainerChildNode *)list->data)->child;
- int row = e_table_group_get_cursor_row(group);
- if (row != -1)
- return count + row;
- count += e_table_group_row_count(group);
- }
- return -1;
-}
-
-static void
etgc_set_focus (ETableGroup *etg, EFocus direction, gint view_col)
{
ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg);
@@ -726,8 +694,6 @@ etgc_class_init (GtkObjectClass *object_class)
e_group_class->decrement = etgc_decrement;
e_group_class->row_count = etgc_row_count;
e_group_class->set_focus = etgc_set_focus;
- e_group_class->set_cursor_row = etgc_set_cursor_row;
- e_group_class->get_cursor_row = etgc_get_cursor_row;
e_group_class->get_focus_column = etgc_get_focus_column;
e_group_class->get_printable = etgc_get_printable;
e_group_class->compute_location = etgc_compute_location;
diff --git a/widgets/table/e-table-group-leaf.c b/widgets/table/e-table-group-leaf.c
index 2a21f167d6..81add818d2 100644
--- a/widgets/table/e-table-group-leaf.c
+++ b/widgets/table/e-table-group-leaf.c
@@ -223,28 +223,6 @@ etgl_set_focus (ETableGroup *etg, EFocus direction, gint view_col)
}
}
-static void
-etgl_set_cursor_row (ETableGroup *etg, gint row)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
-
- if (etgl->item != NULL)
- gnome_canvas_item_set(GNOME_CANVAS_ITEM(etgl->item),
- "cursor_row", row,
- NULL);
-}
-
-static int
-etgl_get_cursor_row (ETableGroup *etg)
-{
- ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
- int row;
- gtk_object_get(GTK_OBJECT(etgl->item),
- "cursor_row", &row,
- NULL);
- return row;
-}
-
static gint
etgl_get_focus_column (ETableGroup *etg)
{
@@ -386,8 +364,6 @@ etgl_class_init (GtkObjectClass *object_class)
e_group_class->decrement = etgl_decrement;
e_group_class->row_count = etgl_row_count;
e_group_class->set_focus = etgl_set_focus;
- e_group_class->set_cursor_row = etgl_set_cursor_row;
- e_group_class->get_cursor_row = etgl_get_cursor_row;
e_group_class->get_focus_column = etgl_get_focus_column;
e_group_class->get_printable = etgl_get_printable;
e_group_class->compute_location = etgl_compute_location;
diff --git a/widgets/table/e-table-group.c b/widgets/table/e-table-group.c
index c1eee7322c..664e8ec3fc 100644
--- a/widgets/table/e-table-group.c
+++ b/widgets/table/e-table-group.c
@@ -180,29 +180,6 @@ e_table_group_set_focus (ETableGroup *etg,
ETG_CLASS (etg)->set_focus (etg, direction, row);
}
-void
-e_table_group_set_cursor_row (ETableGroup *etg,
- gint row)
-{
- g_return_if_fail (etg != NULL);
- g_return_if_fail (E_IS_TABLE_GROUP (etg));
-
- if (ETG_CLASS (etg)->set_cursor_row)
- ETG_CLASS (etg)->set_cursor_row (etg, row);
-}
-
-int
-e_table_group_get_cursor_row (ETableGroup *etg)
-{
- g_return_val_if_fail (etg != NULL, -1);
- g_return_val_if_fail (E_IS_TABLE_GROUP (etg), -1);
-
- if (ETG_CLASS (etg)->get_cursor_row)
- return ETG_CLASS (etg)->get_cursor_row (etg);
- else
- return -1;
-}
-
gboolean
e_table_group_get_focus (ETableGroup *etg)
{
@@ -390,8 +367,6 @@ etg_class_init (GtkObjectClass *object_class)
klass->increment = NULL;
klass->decrement = NULL;
klass->set_focus = NULL;
- klass->set_cursor_row = NULL;
- klass->get_cursor_row = NULL;
klass->get_focus = etg_get_focus;
klass->get_ecol = NULL;
klass->get_printable = NULL;
diff --git a/widgets/table/e-table-group.h b/widgets/table/e-table-group.h
index 1791d08aee..06775c9b2d 100644
--- a/widgets/table/e-table-group.h
+++ b/widgets/table/e-table-group.h
@@ -60,8 +60,6 @@ typedef struct {
void (*increment) (ETableGroup *etg, gint position, gint amount);
void (*decrement) (ETableGroup *etg, gint position, gint amount);
void (*set_focus) (ETableGroup *etg, EFocus direction, gint view_col);
- void (*set_cursor_row) (ETableGroup *etg, gint row);
- int (*get_cursor_row) (ETableGroup *etg);
gboolean (*get_focus) (ETableGroup *etg);
gint (*get_focus_column) (ETableGroup *etg);
ETableCol *(*get_ecol) (ETableGroup *etg);
@@ -87,9 +85,6 @@ gint e_table_group_row_count (ETableGroup *etg);
void e_table_group_set_focus (ETableGroup *etg,
EFocus direction,
gint view_col);
-void e_table_group_set_cursor_row (ETableGroup *etg,
- gint row);
-int e_table_group_get_cursor_row (ETableGroup *etg);
gboolean e_table_group_get_focus (ETableGroup *etg);
gint e_table_group_get_focus_column (ETableGroup *etg);
ETableHeader *e_table_group_get_header (ETableGroup *etg);
diff --git a/widgets/table/e-table.c b/widgets/table/e-table.c
index dbf301994b..12a23bfdd7 100644
--- a/widgets/table/e-table.c
+++ b/widgets/table/e-table.c
@@ -1203,9 +1203,9 @@ e_table_set_cursor_row (ETable *e_table, int row)
g_return_if_fail(E_IS_TABLE(e_table));
g_return_if_fail(row >= 0);
- row = e_table_sorter_model_to_sorted(e_table->sorter, row);
- if (row != -1)
- e_table_group_set_cursor_row(e_table->group, row);
+ gtk_object_set(GTK_OBJECT(e_table->selection),
+ "cursor_row", row,
+ NULL);
}
int
@@ -1215,8 +1215,9 @@ e_table_get_cursor_row (ETable *e_table)
g_return_val_if_fail(e_table != NULL, -1);
g_return_val_if_fail(E_IS_TABLE(e_table), -1);
- row = e_table_group_get_cursor_row(e_table->group);
- row = e_table_sorter_sorted_to_model(e_table->sorter, row);
+ gtk_object_get(GTK_OBJECT(e_table->selection),
+ "cursor_row", &row,
+ NULL);
return row;
}