aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook
diff options
context:
space:
mode:
authorChris Toshok <toshok@ximian.com>2003-03-12 11:19:13 +0800
committerChris Toshok <toshok@src.gnome.org>2003-03-12 11:19:13 +0800
commite5b1a4903064d14bf421a9275ec4cdd85a7973a0 (patch)
treefeda37762375aa8e8e9ff36bb733a72ecb1b8e97 /addressbook
parented138c113d6171fa4513474e300d6b9fb45a39ec (diff)
downloadgsoc2013-evolution-e5b1a4903064d14bf421a9275ec4cdd85a7973a0.tar.gz
gsoc2013-evolution-e5b1a4903064d14bf421a9275ec4cdd85a7973a0.tar.zst
gsoc2013-evolution-e5b1a4903064d14bf421a9275ec4cdd85a7973a0.zip
fix compiler warnings about deprecated functions.
2003-03-11 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-select-names.c (e_select_names_init): fix compiler warnings about deprecated functions. (e_select_names_child_free): unref the table model. (remove_address): re-enable. (section_right_click_cb): this is an ETable callback now. (e_select_names_add_section): remove a gross gross awful hack, and make the recipient tables ETables instead EEntry's. We lose the nice underlining, but we can add that back in as another ETable style (like strikeout and bold), and we also fix the longstanding scrolling problems (like bug #25148) and can finally remove addresses by double clicking on them (which is also a bug someplace I think.. dunno the # offhand.) * gui/component/select-names/e-select-names-table-model.c (clear_info): always set the count to -1, regardless of what model->data is. * gui/component/select-names/e-select-names-model.c: remove some unused enums. * gui/component/select-names/Makefile.am (etspec_DATA): add e-select-names-section.etspec * gui/component/select-names/e-select-names-section.etspec: new file, spec for the To:/Cc:/Bcc: etable's in the select-names dialog. svn path=/trunk/; revision=20259
Diffstat (limited to 'addressbook')
-rw-r--r--addressbook/gui/component/select-names/Makefile.am2
-rw-r--r--addressbook/gui/component/select-names/e-select-names-model.c11
-rw-r--r--addressbook/gui/component/select-names/e-select-names-section.etspec7
-rw-r--r--addressbook/gui/component/select-names/e-select-names-table-model.c3
-rw-r--r--addressbook/gui/component/select-names/e-select-names.c95
5 files changed, 41 insertions, 77 deletions
diff --git a/addressbook/gui/component/select-names/Makefile.am b/addressbook/gui/component/select-names/Makefile.am
index 0ccc838d37..008980612f 100644
--- a/addressbook/gui/component/select-names/Makefile.am
+++ b/addressbook/gui/component/select-names/Makefile.am
@@ -94,7 +94,7 @@ e-select-names-marshal.c: e-select-names-marshal.h
MARSHAL_GENERATED = e-select-names-marshal.c e-select-names-marshal.h
glade_DATA = select-names.glade
-etspec_DATA = e-select-names.etspec
+etspec_DATA = e-select-names.etspec e-select-names-section.etspec
EXTRA_DIST = \
$(glade_DATA) \
diff --git a/addressbook/gui/component/select-names/e-select-names-model.c b/addressbook/gui/component/select-names/e-select-names-model.c
index 65ae293174..4c99d68f22 100644
--- a/addressbook/gui/component/select-names/e-select-names-model.c
+++ b/addressbook/gui/component/select-names/e-select-names-model.c
@@ -38,17 +38,6 @@ enum {
ARG_CARD,
};
-enum {
- NAME_DATA_BLANK,
- NAME_DATA_CARD,
- NAME_DATA_STRING
-};
-
-enum {
- NAME_FORMAT_GIVEN_FIRST,
- NAME_FORMAT_FAMILY_FIRST
-};
-
struct _ESelectNamesModelPrivate {
gchar *id;
gchar *title;
diff --git a/addressbook/gui/component/select-names/e-select-names-section.etspec b/addressbook/gui/component/select-names/e-select-names-section.etspec
new file mode 100644
index 0000000000..ba3f68f4b4
--- /dev/null
+++ b/addressbook/gui/component/select-names/e-select-names-section.etspec
@@ -0,0 +1,7 @@
+<ETableSpecification no-headers="true" cursor-mode="line">
+ <ETableColumn model_col= "0" _title="Name" expansion="1.0" minimum_width="20" resizable="true" cell="string" compare="collate" search="string"/>
+ <ETableState>
+ <column source="0"/>
+ <grouping> <leaf column="0" ascending="true"/> </grouping>
+ </ETableState>
+</ETableSpecification>
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 04c6a80f88..96d20b3e53 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
@@ -154,8 +154,9 @@ clear_info (ESelectNamesTableModel *model)
}
g_free(model->data);
model->data = NULL;
- model->count = -1;
}
+
+ model->count = -1;
}
/*
diff --git a/addressbook/gui/component/select-names/e-select-names.c b/addressbook/gui/component/select-names/e-select-names.c
index d916c2d832..ed8a3c3c45 100644
--- a/addressbook/gui/component/select-names/e-select-names.c
+++ b/addressbook/gui/component/select-names/e-select-names.c
@@ -42,7 +42,7 @@
#include "e-select-names.h"
#include <addressbook/backend/ebook/e-card-simple.h>
-#include "e-select-names-text-model.h"
+#include "e-select-names-table-model.h"
#include <gal/widgets/e-categories-master-list-option-menu.h>
#include <gal/e-text/e-entry.h>
#include <e-util/e-categories-master-list-wombat.h>
@@ -63,12 +63,13 @@ enum {
};
typedef struct {
- char *title;
- ESelectNamesModel *source;
- ESelectNamesTextModel *text_model;
- ESelectNames *names;
- GtkWidget *label;
- GtkWidget *button;
+ char *title;
+ ESelectNamesModel *source;
+ ESelectNamesTableModel *table_model;
+ ESelectNames *names;
+ GtkWidget *label;
+ GtkWidget *button;
+ GtkWidget *recipient_table;
} ESelectNamesChild;
GType
@@ -492,10 +493,10 @@ e_select_names_init (ESelectNames *e_select_names)
gtk_dialog_set_default_response (GTK_DIALOG (e_select_names),
GTK_RESPONSE_OK);
- gtk_window_set_modal (GTK_DIALOG (e_select_names), TRUE);
+ gtk_window_set_modal (GTK_WINDOW (e_select_names), TRUE);
gtk_window_set_title(GTK_WINDOW(e_select_names), _("Select Contacts from Addressbook"));
- gtk_window_set_policy(GTK_WINDOW(e_select_names), FALSE, TRUE, FALSE);
+ gtk_window_set_resizable(GTK_WINDOW(e_select_names), TRUE);
e_select_names->table = E_TABLE_SCROLLED(glade_xml_get_widget(gui, "table-source"));
e_select_names->model = g_object_get_data(G_OBJECT(e_select_names->table), "model");
@@ -580,7 +581,7 @@ static void e_select_names_child_free(char *key, ESelectNamesChild *child, ESele
0, 0, NULL,
G_CALLBACK (sync_table_and_models), e_select_names);
g_free(child->title);
- g_object_unref(child->text_model);
+ g_object_unref(child->table_model);
g_object_unref(child->source);
g_free(key);
g_free(child);
@@ -637,70 +638,42 @@ button_clicked(GtkWidget *button, ESelectNamesChild *child)
real_add_address(child->names, child);
}
-#if 0
static void
remove_address(ETable *table, int row, int col, GdkEvent *event, ESelectNamesChild *child)
{
e_select_names_model_delete (child->source, row);
}
-#endif
struct _RightClickData {
ESelectNamesChild *child;
- int index;
+ int row;
};
typedef struct _RightClickData RightClickData;
-#if 0
-static GSList *selected_rows = NULL;
-
-static void
-etable_selection_foreach_cb (int row, void *data)
-{
- /* Build a list of rows in reverse order, then remove them,
- necessary because otherwise it'll start trying to delete
- rows out of index in ETableModel */
- selected_rows = g_slist_prepend (selected_rows, GINT_TO_POINTER (row));
-}
-
-static void
-selected_rows_foreach_cb (void *row, void *data)
-{
- ESelectNamesChild *child = data;
-
- remove_address (NULL, GPOINTER_TO_INT (row), 0, NULL, child);
-}
-#endif
-
static void
remove_cb (GtkWidget *widget, void *data)
{
RightClickData *rcdata = (RightClickData *)data;
- e_select_names_model_delete (rcdata->child->source, rcdata->index);
+ e_select_names_model_delete (rcdata->child->source, rcdata->row);
/* Free everything we've created */
g_free (rcdata);
}
static void
-section_right_click_cb (EText *text, GdkEventButton *ev, gint pos, ESelectNamesChild *child)
+section_right_click_cb (ETable *et, int row, int col, GdkEvent *ev, ESelectNamesChild *child)
{
- EPopupMenu right_click_menu[] = {
+ static EPopupMenu right_click_menu[] = {
E_POPUP_ITEM (N_("Remove"), G_CALLBACK (remove_cb), 0),
E_POPUP_TERMINATOR
};
- gint index;
-
- e_select_names_model_text_pos (child->source, child->text_model->seplen, pos, &index, NULL, NULL);
+ RightClickData *rcdata = g_new0 (RightClickData, 1);
- if (index != -1) {
- RightClickData *rcdata = g_new0 (RightClickData, 1);
- rcdata->index = index;
- rcdata->child = child;
+ rcdata->row = row;
+ rcdata->child = child;
- e_popup_menu_run (right_click_menu, (GdkEvent *)ev, 0, 0, rcdata);
- }
+ e_popup_menu_run (right_click_menu, (GdkEvent *)ev, 0, 0, rcdata);
}
void
@@ -715,7 +688,6 @@ e_select_names_add_section(ESelectNames *e_select_names, char *name, char *id, E
ETable *etable;
GtkWidget *sw;
- GtkWidget *recipient_table;
if (g_hash_table_lookup(e_select_names->children, id)) {
return;
@@ -728,8 +700,7 @@ e_select_names_add_section(ESelectNames *e_select_names, char *name, char *id, E
child->names = e_select_names;
child->title = g_strdup (_(name));
- child->text_model = (ESelectNamesTextModel *) e_select_names_text_model_new (source);
- e_select_names_text_model_set_separator (child->text_model, "\n");
+ child->table_model = (ESelectNamesTableModel*)e_select_names_table_model_new (source);
child->source = source;
g_object_ref(child->source);
@@ -765,27 +736,23 @@ e_select_names_add_section(ESelectNames *e_select_names, char *name, char *id, E
etable = e_table_scrolled_get_table (e_select_names->table);
gtk_widget_set_sensitive (button, e_table_selected_count (etable) > 0);
- sw = gtk_scrolled_window_new (NULL, NULL);
- recipient_table = e_entry_new ();
- g_object_set (recipient_table,
- "model", child->text_model,
- "allow_newlines", TRUE,
- NULL);
+ sw = e_table_scrolled_new_from_spec_file (E_TABLE_MODEL (child->table_model),
+ NULL,
+ EVOLUTION_ETSPECDIR "/e-select-names-section.etspec",
+ NULL);
+ child->recipient_table = GTK_WIDGET (e_table_scrolled_get_table (E_TABLE_SCROLLED (sw)));
- g_signal_connect (recipient_table,
- "popup",
+ g_signal_connect (child->recipient_table,
+ "right_click",
G_CALLBACK (section_right_click_cb),
child);
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (sw), recipient_table);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
-#if 0
- g_signal_connect(e_table_scrolled_get_table(E_TABLE_SCROLLED(etable)), "right_click",
- G_CALLBACK(section_right_click_cb), child);
- g_signal_connect(e_table_scrolled_get_table(E_TABLE_SCROLLED(etable)), "double_click",
+ g_signal_connect(child->recipient_table, "double_click",
G_CALLBACK(remove_address), child);
-#endif
-
g_signal_connect (child->source,
"changed",