Removed some debugging chatter.

2001-07-26  Jon Trowbridge  <trow@ximian.com>

	* backend/ebook/e-card.c: Removed some debugging chatter.

	* gui/component/select-names/e-select-names-manager.c
	(e_select_names_manager_create_entry): Store the completion
        handler in the entry's object data.

	* gui/component/select-names/e-select-names-bonobo.c
	(entry_get_property_fn): Added support for getting "destinations"
	and "allow_contact_lists" properties.
        (entry_set_property_fn): Added support for setting "destinations"
	and "allow_contact_lists" properties.
	(impl_SelectNames_get_entry_for_section): Added definitions for
	"destinations" and "allow_contact_lists" properties.

	* gui/component/select-names/e-select-names-completion.c
	(e_select_names_completion_get_match_contact_lists): Added.
	(e_select_names_completion_set_match_contact_lists): Added.
	Controls whether contact lists are offered as options during
        completion.
	(book_query_process_card_list): Check if match_contact_lists
	is set before (duh!) matching on a contact list.
	(e_select_names_completion_init): Set match_contact_lists
	to TRUE by default.


2001-07-26  Jon Trowbridge  <trow@ximian.com>

	* e-msg-composer-hdrs.c (set_recipients): Get "destinations",
	rather than "text" from the entry_widget.  (The getters/setters in
	the control have been made more symmetric.)

svn path=/trunk/; revision=11422
This commit is contained in:
Jon Trowbridge
2001-07-26 05:46:37 +00:00
committed by Jon Trowbridge
parent 9cf5ba1797
commit 09365bf01c
8 changed files with 125 additions and 28 deletions

View File

@ -1,3 +1,29 @@
2001-07-26 Jon Trowbridge <trow@ximian.com>
* backend/ebook/e-card.c: Removed some debugging chatter.
* gui/component/select-names/e-select-names-manager.c
(e_select_names_manager_create_entry): Store the completion
handler in the entry's object data.
* gui/component/select-names/e-select-names-bonobo.c
(entry_get_property_fn): Added support for getting "destinations"
and "allow_contact_lists" properties.
(entry_set_property_fn): Added support for setting "destinations"
and "allow_contact_lists" properties.
(impl_SelectNames_get_entry_for_section): Added definitions for
"destinations" and "allow_contact_lists" properties.
* gui/component/select-names/e-select-names-completion.c
(e_select_names_completion_get_match_contact_lists): Added.
(e_select_names_completion_set_match_contact_lists): Added.
Controls whether contact lists are offered as options during
completion.
(book_query_process_card_list): Check if match_contact_lists
is set before (duh!) matching on a contact list.
(e_select_names_completion_init): Set match_contact_lists
to TRUE by default.
2001-07-25 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-ldap.c (func_contains): change the way

View File

@ -611,7 +611,6 @@ e_card_get_vobject (ECard *card)
if (tmp == NULL)
tmp = card->id;
if (tmp) {
g_message ("unique string = [%s]", tmp);
addPropValue (vobj, VCUniqueStringProp, tmp);
}

View File

@ -37,9 +37,9 @@
#include "Evolution-Addressbook-SelectNames.h"
#include "e-select-names-manager.h"
#include "e-select-names-model.h"
#include "e-select-names-text-model.h"
#include "e-select-names-completion.h"
@ -53,6 +53,8 @@ struct _ESelectNamesBonoboPrivate {
enum _EntryPropertyID {
ENTRY_PROPERTY_ID_TEXT,
ENTRY_PROPERTY_ID_DESTINATIONS,
ENTRY_PROPERTY_ID_ALLOW_CONTACT_LISTS,
ENTRY_PROPERTY_ID_ENTRY_CHANGED
};
typedef enum _EntryPropertyID EntryPropertyID;
@ -74,21 +76,36 @@ entry_get_property_fn (BonoboPropertyBag *bag,
switch (arg_id) {
case ENTRY_PROPERTY_ID_TEXT:
{
ESelectNamesTextModel *text_model;
ESelectNamesModel *model;
BONOBO_ARG_SET_STRING (arg, e_entry_get_text (E_ENTRY (w)));
break;
case ENTRY_PROPERTY_ID_DESTINATIONS:
{
ESelectNamesModel *model;
model = E_SELECT_NAMES_MODEL (gtk_object_get_data (GTK_OBJECT (w), "select_names_model"));
g_assert (model != NULL);
gtk_object_get(GTK_OBJECT(w),
"model", &text_model,
NULL);
gtk_object_get(GTK_OBJECT(text_model),
"source", &model,
NULL);
text = e_select_names_model_export_destinationv (model);
BONOBO_ARG_SET_STRING (arg, text);
g_free (text);
}
break;
case ENTRY_PROPERTY_ID_ALLOW_CONTACT_LISTS:
{
ESelectNamesCompletion *comp;
comp = E_SELECT_NAMES_COMPLETION (gtk_object_get_data (GTK_OBJECT (w), "completion_handler"));
g_assert (comp != NULL);
BONOBO_ARG_SET_BOOLEAN (arg, e_select_names_completion_get_match_contact_lists (comp));
break;
}
case ENTRY_PROPERTY_ID_ENTRY_CHANGED:
/* This is a read-only property. */
g_assert_not_reached ();
break;
default:
break;
}
@ -101,19 +118,40 @@ entry_set_property_fn (BonoboPropertyBag *bag,
CORBA_Environment *ev,
gpointer user_data)
{
GtkWidget *widget;
GtkWidget *w;
widget = GTK_WIDGET (user_data);
w = GTK_WIDGET (user_data);
switch (arg_id) {
case ENTRY_PROPERTY_ID_TEXT:
e_entry_set_text (E_ENTRY (widget), BONOBO_ARG_GET_STRING (arg));
e_entry_set_text (E_ENTRY (w), BONOBO_ARG_GET_STRING (arg));
break;
case ENTRY_PROPERTY_ID_DESTINATIONS:
{
ESelectNamesModel *model;
model = E_SELECT_NAMES_MODEL (gtk_object_get_data (GTK_OBJECT (w), "select_names_model"));
g_assert (model != NULL);
e_select_names_model_import_destinationv (model, BONOBO_ARG_GET_STRING (arg));
break;
}
case ENTRY_PROPERTY_ID_ALLOW_CONTACT_LISTS:
{
ESelectNamesCompletion *comp;
comp = E_SELECT_NAMES_COMPLETION (gtk_object_get_data (GTK_OBJECT (w), "completion_handler"));
g_assert (comp != NULL);
e_select_names_completion_set_match_contact_lists (comp, BONOBO_ARG_GET_BOOLEAN (arg));
break;
}
case ENTRY_PROPERTY_ID_ENTRY_CHANGED:
gtk_object_set_data (GTK_OBJECT (widget), "entry_property_id_changed", GUINT_TO_POINTER (1));
gtk_object_set_data (GTK_OBJECT (w), "entry_property_id_changed", GUINT_TO_POINTER (1));
break;
default:
break;
}
@ -224,6 +262,12 @@ impl_SelectNames_get_entry_for_section (PortableServer_Servant servant,
bonobo_property_bag_add (property_bag, "text", ENTRY_PROPERTY_ID_TEXT,
BONOBO_ARG_STRING, NULL, NULL,
BONOBO_PROPERTY_READABLE | BONOBO_PROPERTY_WRITEABLE);
bonobo_property_bag_add (property_bag, "destinations", ENTRY_PROPERTY_ID_DESTINATIONS,
BONOBO_ARG_STRING, NULL, NULL,
BONOBO_PROPERTY_READABLE | BONOBO_PROPERTY_WRITEABLE);
bonobo_property_bag_add (property_bag, "allow_contact_lists", ENTRY_PROPERTY_ID_ALLOW_CONTACT_LISTS,
BONOBO_ARG_BOOLEAN, NULL, NULL,
BONOBO_PROPERTY_READABLE | BONOBO_PROPERTY_WRITEABLE);
bonobo_property_bag_add (property_bag, "entry_changed", ENTRY_PROPERTY_ID_ENTRY_CHANGED,
BONOBO_ARG_BOOLEAN, NULL, NULL,
BONOBO_PROPERTY_WRITEABLE);

View File

@ -62,6 +62,7 @@ struct _ESelectNamesCompletionPrivate {
gchar *cached_query_text;
GList *cached_cards;
gboolean match_contact_lists;
gboolean primary_only;
};
@ -543,16 +544,20 @@ book_query_process_card_list (ESelectNamesCompletion *comp, const GList *cards)
if (e_card_evolution_list (card)) {
EDestination *dest = e_destination_new ();
ECompletionMatch *match;
e_destination_set_card (dest, card, 0);
match = book_query_score (comp, dest);
if (match && match->score > 0) {
e_completion_found_match (E_COMPLETION (comp), match);
} else {
e_completion_match_unref (match);
if (comp->priv->match_contact_lists) {
EDestination *dest = e_destination_new ();
ECompletionMatch *match;
e_destination_set_card (dest, card, 0);
match = book_query_score (comp, dest);
if (match && match->score > 0) {
e_completion_found_match (E_COMPLETION (comp), match);
} else {
e_completion_match_unref (match);
}
gtk_object_unref (GTK_OBJECT (dest));
}
gtk_object_unref (GTK_OBJECT (dest));
} else if (card->email) {
gint i;
@ -715,6 +720,7 @@ static void
e_select_names_completion_init (ESelectNamesCompletion *comp)
{
comp->priv = g_new0 (struct _ESelectNamesCompletionPrivate, 1);
comp->priv->match_contact_lists = TRUE;
}
static void
@ -1154,3 +1160,17 @@ e_select_names_completion_new (EBook *book, ESelectNamesModel *model)
return E_COMPLETION (comp);
}
gboolean
e_select_names_completion_get_match_contact_lists (ESelectNamesCompletion *comp)
{
g_return_val_if_fail (E_IS_SELECT_NAMES_COMPLETION (comp), FALSE);
return comp->priv->match_contact_lists;
}
void
e_select_names_completion_set_match_contact_lists (ESelectNamesCompletion *comp, gboolean x)
{
g_return_if_fail (E_IS_SELECT_NAMES_COMPLETION (comp));
comp->priv->match_contact_lists = x;
}

View File

@ -59,6 +59,9 @@ GtkType e_select_names_completion_get_type (void);
ECompletion *e_select_names_completion_new (EBook *, ESelectNamesModel *);
gboolean e_select_names_completion_get_match_contact_lists (ESelectNamesCompletion *);
void e_select_names_completion_set_match_contact_lists (ESelectNamesCompletion *, gboolean);
END_GNOME_DECLS
#endif /* E_SELECT_NAMES_COMPLETION_H */

View File

@ -400,6 +400,8 @@ e_select_names_manager_create_entry (ESelectNamesManager *manager, const char *i
comp = e_select_names_completion_new (NULL, section->model); /* NULL == use local addressbook */
e_entry_enable_completion_full (eentry, comp, 50, completion_handler);
gtk_object_set_data (GTK_OBJECT (eentry), "completion_handler", comp);
gtk_object_set(GTK_OBJECT(eentry),
"model", model,
"editable", TRUE,

View File

@ -1,3 +1,9 @@
2001-07-26 Jon Trowbridge <trow@ximian.com>
* e-msg-composer-hdrs.c (set_recipients): Get "destinations",
rather than "text" from the entry_widget. (The getters/setters in
the control have been made more symmetric.)
2001-07-18 Jason Leach <jleach@ximian.com>
* e-msg-composer-hdrs.c (create_from_optionmenu): Update to the

View File

@ -640,14 +640,11 @@ set_recipients (CamelMimeMessage *msg, GtkWidget *entry_widget, const gchar *typ
char *string = NULL, *dest_str = NULL;
int i;
bonobo_widget_get_property (BONOBO_WIDGET (entry_widget), "text", &string, NULL);
bonobo_widget_get_property (BONOBO_WIDGET (entry_widget), "destinations", &string, NULL);
destv = e_destination_importv (string);
g_message ("importv: [%s]", string);
if (destv) {
dest_str = e_destination_get_address_textv (destv);
g_message ("destination is: %s", dest_str);
/* dest_str has been utf8 encoded 2x by this point...not good */