diff options
Diffstat (limited to 'addressbook/gui')
4 files changed, 29 insertions, 11 deletions
diff --git a/addressbook/gui/component/e-addressbook-model.c b/addressbook/gui/component/e-addressbook-model.c index 2401677807..ee36d2ca1a 100644 --- a/addressbook/gui/component/e-addressbook-model.c +++ b/addressbook/gui/component/e-addressbook-model.c @@ -81,8 +81,9 @@ addressbook_value_at (ETableModel *etc, int col, int row) { EAddressbookModel *addressbook = E_ADDRESSBOOK_MODEL(etc); const char *value; - if ( col >= E_CARD_SIMPLE_FIELD_LAST - 1|| row >= addressbook->data_count ) + if ( col >= E_CARD_SIMPLE_FIELD_LAST - 1 || row >= addressbook->data_count ) return NULL; + value = e_card_simple_get_const(addressbook->data[row], col + 1); return (void *)(value ? value : ""); diff --git a/addressbook/gui/component/select-names/e-select-names-table-model.c b/addressbook/gui/component/select-names/e-select-names-table-model.c index 2e33fdfe85..0c56606c31 100644 --- a/addressbook/gui/component/select-names/e-select-names-table-model.c +++ b/addressbook/gui/component/select-names/e-select-names-table-model.c @@ -12,6 +12,7 @@ #include <string.h> #include <gtk/gtk.h> +#include "e-util/e-util.h" #include "e-select-names-table-model.h" #include "addressbook/backend/ebook/e-card-simple.h" @@ -122,14 +123,21 @@ fill_in_info (ESelectNamesTableModel *model) case E_SELECT_NAMES_MODEL_DATA_TYPE_CARD: { ECardSimple *simple = e_card_simple_new(data->card); model->data[count].name = e_card_simple_get(simple, E_CARD_SIMPLE_FIELD_FULL_NAME); + if ((model->data[count].name == 0) || *model->data[count].name == 0) { + model->data[count].name = e_card_simple_get(simple, E_CARD_SIMPLE_FIELD_ORG); + } + if (model->data[count].name == 0) + model->data[count].name = g_strdup(""); model->data[count].email = e_card_simple_get(simple, E_CARD_SIMPLE_FIELD_EMAIL); + if (model->data[count].email == 0) + model->data[count].email = g_strdup(""); gtk_object_unref(GTK_OBJECT(simple)); count ++; break; } case E_SELECT_NAMES_MODEL_DATA_TYPE_STRING_ADDRESS: - model->data[count].name = g_strdup(data->string); - model->data[count].email = g_strdup(data->string); + model->data[count].name = e_strdup_strip(data->string); + model->data[count].email = e_strdup_strip(data->string); count ++; break; } diff --git a/addressbook/gui/component/select-names/e-select-names.c b/addressbook/gui/component/select-names/e-select-names.c index 90b64b1183..75fd27d32d 100644 --- a/addressbook/gui/component/select-names/e-select-names.c +++ b/addressbook/gui/component/select-names/e-select-names.c @@ -98,16 +98,16 @@ e_select_names_class_init (ESelectNamesClass *klass) #define SPEC "<ETableSpecification no-header=\"1\"> \ <columns-shown> \ - <column> 0 </column> \ - <column> 2 </column> \ + <column> 2 </column> \ + <column> 1 </column> \ </columns-shown> \ - <grouping> <leaf column=\"0\" ascending=\"1\"/> </grouping> \ + <grouping> <leaf column=\"1\" ascending=\"1\"/> </grouping> \ </ETableSpecification>" #define SPEC2 "<ETableSpecification no-header=\"1\"> \ <columns-shown> \ <column> 0 </column> \ - <column> 2 </column> \ + <column> 1 </column> \ </columns-shown> \ <grouping> </grouping> \ </ETableSpecification>" @@ -142,7 +142,11 @@ e_addressbook_create_ebook_table(char *name, char *string1, char *string2, int n header = e_table_header_new (); e_table_header_add_column (header, e_table_col_new (0, "Full Name", 1.0, 20, cell_left_just, - g_str_compare, TRUE), 0); + g_str_compare, TRUE), -1); + e_table_header_add_column (header, e_table_col_new (1, "Email", 1.0, 20, cell_left_just, + g_str_compare, TRUE), -1); + e_table_header_add_column (header, e_table_col_new (34, "Name", 1.0, 20, cell_left_just, + g_str_compare, TRUE), -1); book = e_book_new(); gtk_object_ref(GTK_OBJECT(model)); @@ -193,6 +197,8 @@ e_select_names_init (ESelectNames *e_select_names) GNOME_STOCK_BUTTON_OK, GNOME_STOCK_BUTTON_CANCEL, NULL); + + gtk_window_set_policy(GTK_WINDOW(e_select_names), FALSE, TRUE, FALSE); e_select_names->table = E_TABLE(glade_xml_get_widget(gui, "table-source")); e_select_names->model = gtk_object_get_data(GTK_OBJECT(e_select_names->table), "model"); @@ -348,8 +354,10 @@ e_select_names_add_section(ESelectNames *e_select_names, char *name, char *id, E model = e_select_names_table_model_new(source); header = e_table_header_new (); cell_left_just = e_cell_text_new (model, NULL, GTK_JUSTIFY_LEFT); - e_table_header_add_column (header, e_table_col_new (0, "Full Name", 1.0, 20, cell_left_just, - g_str_compare, TRUE), 0); + e_table_header_add_column (header, e_table_col_new (0, "Name", 1.0, 20, cell_left_just, + g_str_compare, TRUE), -1); + e_table_header_add_column (header, e_table_col_new (1, "Email", 1.0, 20, cell_left_just, + g_str_compare, TRUE), -1); etable = e_table_new (header, model, SPEC2); gtk_signal_connect(GTK_OBJECT(etable), "double_click", diff --git a/addressbook/gui/widgets/e-addressbook-model.c b/addressbook/gui/widgets/e-addressbook-model.c index 2401677807..ee36d2ca1a 100644 --- a/addressbook/gui/widgets/e-addressbook-model.c +++ b/addressbook/gui/widgets/e-addressbook-model.c @@ -81,8 +81,9 @@ addressbook_value_at (ETableModel *etc, int col, int row) { EAddressbookModel *addressbook = E_ADDRESSBOOK_MODEL(etc); const char *value; - if ( col >= E_CARD_SIMPLE_FIELD_LAST - 1|| row >= addressbook->data_count ) + if ( col >= E_CARD_SIMPLE_FIELD_LAST - 1 || row >= addressbook->data_count ) return NULL; + value = e_card_simple_get_const(addressbook->data[row], col + 1); return (void *)(value ? value : ""); |