aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/ChangeLog14
-rw-r--r--addressbook/gui/component/select-names/e-select-names.c27
-rw-r--r--addressbook/gui/component/select-names/e-select-names.h5
3 files changed, 35 insertions, 11 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index 7a8571d026..c3e732f16c 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,5 +1,19 @@
2001-05-31 Chris Toshok <toshok@ximian.com>
+ * gui/component/select-names/e-select-names.h (struct
+ _ESelectNames): add the EAddressbookModel* and change the
+ ETableModel's name to "adapter".
+
+ * gui/component/select-names/e-select-names.c (set_book),
+ (addressbook_model_set_uri): these two things take an
+ EAddressbookModel* instead of an ETableModel now.
+ (e_addressbook_create_ebook_table): don't case the
+ EAddressbookModel* to ETableModel*, create an EAddressbookTableAdapter
+ on the EAddressbookModel instead.
+ (e_select_names_init): set e_select_names->adapter.
+
+2001-05-31 Chris Toshok <toshok@ximian.com>
+
* gui/widgets/e-addressbook-model.c (remove_card): decrement
data_count before emitting the card_removed signal, and break
after we've removed the matching card.
diff --git a/addressbook/gui/component/select-names/e-select-names.c b/addressbook/gui/component/select-names/e-select-names.c
index cfb88109f2..84ef76f9e0 100644
--- a/addressbook/gui/component/select-names/e-select-names.c
+++ b/addressbook/gui/component/select-names/e-select-names.c
@@ -29,6 +29,7 @@
#include <gal/widgets/e-font.h>
#include <addressbook/gui/widgets/e-addressbook-model.h>
+#include <addressbook/gui/widgets/e-addressbook-table-adapter.h>
#include <addressbook/gui/component/e-cardlist-model.h>
#include <addressbook/backend/ebook/e-book.h>
#include <addressbook/gui/component/addressbook-component.h>
@@ -117,7 +118,7 @@ e_select_names_class_init (ESelectNamesClass *klass)
GtkWidget *e_addressbook_create_ebook_table(char *name, char *string1, char *string2, int num1, int num2);
static void
-set_book(EBook *book, EBookStatus status, ETableModel *model)
+set_book(EBook *book, EBookStatus status, EAddressbookModel *model)
{
gtk_object_set(GTK_OBJECT(model),
"book", book,
@@ -126,7 +127,7 @@ set_book(EBook *book, EBookStatus status, ETableModel *model)
}
static void
-addressbook_model_set_uri(ETableModel *model, char *uri)
+addressbook_model_set_uri(EAddressbookModel *model, char *uri)
{
EBook *book;
book = e_book_new();
@@ -173,18 +174,15 @@ add_address(ETable *table, int row, int col, GdkEvent *event, ESelectNames *name
GtkWidget *
e_addressbook_create_ebook_table(char *name, char *string1, char *string2, int num1, int num2)
{
- ETableModel *model;
+ ETableModel *adapter;
+ EAddressbookModel *model;
GtkWidget *table;
char *filename;
char *uri;
char *spec;
- model = E_TABLE_MODEL (e_addressbook_model_new());
- gtk_object_set(GTK_OBJECT(model),
- "editable", FALSE,
- "query", "(contains \"email\" \"\")",
- NULL);
-
+ model = e_addressbook_model_new ();
+ adapter = E_TABLE_MODEL (e_addressbook_table_adapter_new(model));
filename = gnome_util_prepend_user_home("evolution/local/Contacts/addressbook.db");
uri = g_strdup_printf("file://%s", filename);
@@ -193,11 +191,19 @@ e_addressbook_create_ebook_table(char *name, char *string1, char *string2, int n
g_free(uri);
g_free(filename);
+
+ gtk_object_set(GTK_OBJECT(model),
+ "editable", FALSE,
+ "query", "(contains \"email\" \"\")",
+ NULL);
+
spec = g_strdup_printf(SPEC, E_CARD_SIMPLE_FIELD_NAME_OR_ORG);
- table = e_table_scrolled_new (model, NULL, spec, NULL);
+ table = e_table_scrolled_new (adapter, NULL, spec, NULL);
g_free(spec);
+ gtk_object_set_data(GTK_OBJECT(table), "adapter", adapter);
gtk_object_set_data(GTK_OBJECT(table), "model", model);
+
return table;
}
@@ -407,6 +413,7 @@ e_select_names_init (ESelectNames *e_select_names)
e_select_names->table = E_TABLE_SCROLLED(glade_xml_get_widget(gui, "table-source"));
e_select_names->model = gtk_object_get_data(GTK_OBJECT(e_select_names->table), "model");
+ e_select_names->adapter = gtk_object_get_data(GTK_OBJECT(e_select_names->table), "adapter");
e_select_names->currently_selected = -1;
diff --git a/addressbook/gui/component/select-names/e-select-names.h b/addressbook/gui/component/select-names/e-select-names.h
index d059de453d..4f2cf7c8a4 100644
--- a/addressbook/gui/component/select-names/e-select-names.h
+++ b/addressbook/gui/component/select-names/e-select-names.h
@@ -30,6 +30,8 @@
#include <gal/e-table/e-table.h>
#include <gal/e-table/e-table-scrolled.h>
+#include <addressbook/gui/widgets/e-addressbook-model.h>
+
#include "e-select-names-model.h"
#include "e-util/e-list.h"
#include "shell/evolution-storage-listener.h"
@@ -66,7 +68,8 @@ struct _ESelectNames
GHashTable *children; /* Of type char * to ESelectNamesChild */
int child_count;
ETableScrolled *table;
- ETableModel *model;
+ ETableModel *adapter;
+ EAddressbookModel *model;
int currently_selected;
EvolutionStorageListener *listener;
GHashTable *folders;