aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table
diff options
context:
space:
mode:
authorMiguel de Icaza <miguel@gnu.org>2001-01-17 15:41:23 +0800
committerMiguel de Icaza <miguel@src.gnome.org>2001-01-17 15:41:23 +0800
commit8063555853d12b632539322d0e8b927b4a0d73cf (patch)
tree8c5af31785a422f6c180aac444f77ba8557185d6 /widgets/table
parentd645d1f2362a623b037cbfa09405e09b0f530c71 (diff)
downloadgsoc2013-evolution-8063555853d12b632539322d0e8b927b4a0d73cf.tar
gsoc2013-evolution-8063555853d12b632539322d0e8b927b4a0d73cf.tar.gz
gsoc2013-evolution-8063555853d12b632539322d0e8b927b4a0d73cf.tar.bz2
gsoc2013-evolution-8063555853d12b632539322d0e8b927b4a0d73cf.tar.lz
gsoc2013-evolution-8063555853d12b632539322d0e8b927b4a0d73cf.tar.xz
gsoc2013-evolution-8063555853d12b632539322d0e8b927b4a0d73cf.tar.zst
gsoc2013-evolution-8063555853d12b632539322d0e8b927b4a0d73cf.zip
Simplify column grabbing code and drop item layout code.
2001-01-17 Miguel de Icaza <miguel@gnu.org> * e-table-config.c (config_sort_info_update): Simplify column grabbing code and drop item layout code. (config_group_info_update): ditto. * e-table-config.c: Get correct translation setup working. svn path=/trunk/; revision=7564
Diffstat (limited to 'widgets/table')
-rw-r--r--widgets/table/e-table-config.c86
1 files changed, 52 insertions, 34 deletions
diff --git a/widgets/table/e-table-config.c b/widgets/table/e-table-config.c
index af31e1e788..a8c413dd98 100644
--- a/widgets/table/e-table-config.c
+++ b/widgets/table/e-table-config.c
@@ -56,6 +56,21 @@ config_clear_group (GtkWidget *widget, ETableConfig *config)
gtk_object_unref (GTK_OBJECT (config));
}
+static ETableColumnSpecification *
+find_column_in_spec (ETableSpecification *spec, int model_col)
+{
+ ETableColumnSpecification **column;
+
+ for (column = spec->columns; *column; column++){
+ if ((*column)->model_col != model_col)
+ continue;
+
+ return *column;
+ }
+
+ return NULL;
+}
+
static void
config_sort_config_show (GtkWidget *widget, ETableConfig *config)
{
@@ -71,6 +86,13 @@ config_sort_config_show (GtkWidget *widget, ETableConfig *config)
gboolean sensitive = (i <= count);
gtk_widget_set_sensitive (config->frames [i], sensitive);
+
+ /*
+ * Sorting is set, auto select the text
+ */
+ if ((i + 1) >= count){
+
+ }
}
button = gnome_dialog_run (dialog);
@@ -86,30 +108,29 @@ config_sort_info_update (ETableConfig *config)
{
ETableSortInfo *info = config->state->sort_info;
GString *res;
- int count, i, items = 0;
+ int count, i;
count = e_table_sort_info_sorting_get_count (info);
res = g_string_new ("");
for (i = 0; i < count; i++) {
ETableSortColumn col = e_table_sort_info_sorting_get_nth (info, i);
- ETableColumnSpecification **column;
-
- for (column = config->spec->columns; *column; column++) {
- if (col.column != (*column)->model_col)
- continue;
-
- g_string_append (res, _((*column)->title));
- g_string_append_c (res, ' ');
- g_string_append (
- res,
- col.ascending ?
- _("(Ascending)") : _("(Descending)"));
- items++;
- if (items > 4)
- g_string_append_c (res, '\n');
+ ETableColumnSpecification *column;
+
+ column = find_column_in_spec (config->spec, col.column);
+ if (!column){
+ g_warning ("Could not find column model in specification");
+ continue;
}
+
+ g_string_append (res, gettext ((column)->title));
+ g_string_append_c (res, ' ');
+ g_string_append (
+ res,
+ col.ascending ?
+ _("(Ascending)") : _("(Descending)"));
}
+
if (res->str [0] == 0)
g_string_append (res, _("Not sorted"));
@@ -123,30 +144,27 @@ config_group_info_update (ETableConfig *config)
{
ETableSortInfo *info = config->state->sort_info;
GString *res;
- int count, i, items = 0;
+ int count, i;
count = e_table_sort_info_grouping_get_count (info);
res = g_string_new ("");
for (i = 0; i < count; i++) {
ETableSortColumn col = e_table_sort_info_grouping_get_nth (info, i);
- ETableColumnSpecification **column;
+ ETableColumnSpecification *column;
- for (column = config->spec->columns; *column; column++) {
- if (col.column != (*column)->model_col)
- continue;
-
- g_string_append (res, _((*column)->title));
- g_string_append_c (res, ' ');
- g_string_append (
- res,
- col.ascending ?
- _("(Ascending)") : _("(Descending)"));
-
- items++;
- if (items > 4)
- g_string_append_c (res, '\n');
+ column = find_column_in_spec (config->spec, col.column);
+ if (!column){
+ g_warning ("Could not find model column in specification");
+ continue;
}
+
+ g_string_append (res, gettext ((column)->title));
+ g_string_append_c (res, ' ');
+ g_string_append (
+ res,
+ col.ascending ?
+ _("(Ascending)") : _("(Descending)"));
}
if (res->str [0] == 0)
g_string_append (res, _("No grouping"));
@@ -168,7 +186,7 @@ config_fields_info_update (ETableConfig *config)
if (config->state->columns [i] != (*column)->model_col)
continue;
- g_string_append (res, _((*column)->title));
+ g_string_append (res, gettext ((*column)->title));
if (column [1])
g_string_append (res, ", ");
items++;
@@ -249,7 +267,7 @@ configure_sort_dialog (ETableConfig *config, GladeXML *gui)
for (i = 0; i < 4; i++){
gtk_combo_text_add_item (
config->sort_combos [i],
- _(label), label);
+ gettext (label), label);
}
}
}