[evolution] ETableGroupContainer cleanups.
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] ETableGroupContainer cleanups.
- Date: Tue, 2 Jul 2013 15:24:51 +0000 (UTC)
commit 3c7dab81ccaf1c0e9f29745d287dffa51b176188
Author: Matthew Barnes <mbarnes redhat com>
Date: Fri Jun 28 13:11:09 2013 -0400
ETableGroupContainer cleanups.
e-util/e-table-group-container.c | 35 ++++++++++++++++++++++-------------
1 files changed, 22 insertions(+), 13 deletions(-)
---
diff --git a/e-util/e-table-group-container.c b/e-util/e-table-group-container.c
index fece704..6fe5898 100644
--- a/e-util/e-table-group-container.c
+++ b/e-util/e-table-group-container.c
@@ -156,14 +156,15 @@ e_table_group_container_construct (GnomeCanvasGroup *parent,
GtkStyle *style;
col = e_table_header_get_column_by_col_idx (full_header, column.column);
- if (col == NULL)
- col = e_table_header_get_column (full_header, e_table_header_count (full_header) - 1);
-
- e_table_group_construct (parent, E_TABLE_GROUP (etgc), full_header, header, model);
- etgc->ecol = col;
- g_object_ref (etgc->ecol);
- etgc->sort_info = sort_info;
- g_object_ref (etgc->sort_info);
+ if (col == NULL) {
+ gint last = e_table_header_count (full_header) - 1;
+ col = e_table_header_get_column (full_header, last);
+ }
+
+ e_table_group_construct (
+ parent, E_TABLE_GROUP (etgc), full_header, header, model);
+ etgc->ecol = g_object_ref (col);
+ etgc->sort_info = g_object_ref (sort_info);
etgc->n = n;
etgc->ascending = column.ascending;
@@ -513,8 +514,10 @@ create_child_node (ETableGroupContainer *etgc,
child, "start_drag",
G_CALLBACK (child_start_drag), etgc);
child_node->child = child;
- child_node->key = e_table_model_duplicate_value (etg->model, etgc->ecol->col_idx, val);
- child_node->string = e_table_model_value_to_string (etg->model, etgc->ecol->col_idx, val);
+ child_node->key = e_table_model_duplicate_value (
+ etg->model, etgc->ecol->col_idx, val);
+ child_node->string = e_table_model_value_to_string (
+ etg->model, etgc->ecol->col_idx, val);
child_node->count = 0;
return child_node;
@@ -525,14 +528,16 @@ etgc_add (ETableGroup *etg,
gint row)
{
ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER (etg);
- gpointer val = e_table_model_value_at (etg->model, etgc->ecol->col_idx, row);
GCompareDataFunc comp = etgc->ecol->compare;
gpointer cmp_cache = e_table_sorting_utils_create_cmp_cache ();
GList *list = etgc->children;
ETableGroup *child;
ETableGroupContainerChildNode *child_node;
+ gpointer val;
gint i = 0;
+ val = e_table_model_value_at (etg->model, etgc->ecol->col_idx, row);
+
for (; list; list = g_list_next (list), i++) {
gint comp_val;
@@ -586,12 +591,16 @@ etgc_add_array (ETableGroup *etg,
etgc->children = NULL;
cmp_cache = e_table_sorting_utils_create_cmp_cache ();
- lastval = e_table_model_value_at (etg->model, etgc->ecol->col_idx, array[0]);
+ lastval = e_table_model_value_at (
+ etg->model, etgc->ecol->col_idx, array[0]);
for (i = 1; i < count; i++) {
- gpointer val = e_table_model_value_at (etg->model, etgc->ecol->col_idx, array[i]);
+ gpointer val;
gint comp_val;
+ val = e_table_model_value_at (
+ etg->model, etgc->ecol->col_idx, array[i]);
+
comp_val = (*comp)(lastval, val, cmp_cache);
if (comp_val != 0) {
child_node = create_child_node (etgc, lastval);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]