[evolution-patches] e-d-s patch for addressbook bug 48665
- From: Chris Toshok <toshok ximian com>
- To: evolution-patches ximian com
- Subject: [evolution-patches] e-d-s patch for addressbook bug 48665
- Date: Tue, 30 Mar 2004 08:12:12 -0800
I've already committed the required gui portion of this fix. This
basically passes around the @max_results EBookView arg a few more
places, so we can get access to it from the backends that care about it
(the ldap one at the moment.)
Chris
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/addressbook/ChangeLog,v
retrieving revision 1.110
diff -u -r1.110 ChangeLog
--- ChangeLog 30 Mar 2004 08:28:55 -0000 1.110
+++ ChangeLog 30 Mar 2004 16:13:27 -0000
@@ -1,5 +1,24 @@
2004-03-30 Chris Toshok <toshok ximian com>
+ [ backend portion of fix for #48665 ]
+ * libedata-book/e-data-book.c
+ (impl_GNOME_Evolution_Addressbook_Book_getBookView): pass
+ max_results to e_data_book_view_new.
+
+ * backends/ldap/e-book-backend-ldap.c
+ (e_book_backend_ldap_search): pass the book view's @max_results as
+ the ldap search limit.
+
+ * libedata-book/e-data-book-view.c (e_data_book_view_new): add
+ @max_results and pass it to ::construct.
+ (e_data_book_view_construct): add @max_results.
+ (e_data_book_view_get_max_results): new function.
+
+ * libedata-book/e-data-book-view.h: add max_results arg to ::new,
+ and add prototype for e_data_book_view_get_max_results.
+
+2004-03-30 Chris Toshok <toshok ximian com>
+
[ looks like this fixes #55527 ]
* libedata-book/e-data-book-view.c (e_data_book_view_construct):
use bonobo_object_dup_ref instead of CORBA_Object_duplicate here.
Index: backends/ldap/e-book-backend-ldap.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/addressbook/backends/ldap/e-book-backend-ldap.c,v
retrieving revision 1.12
diff -u -r1.12 e-book-backend-ldap.c
--- backends/ldap/e-book-backend-ldap.c 6 Feb 2004 07:34:00 -0000 1.12
+++ backends/ldap/e-book-backend-ldap.c 30 Mar 2004 16:13:28 -0000
@@ -2841,7 +2841,8 @@
int ldap_err;
int search_msgid;
- printf ("searching server using filter: %s\n", ldap_query);
+ printf ("searching server using filter: %s (expecting max %d results)\n", ldap_query,
+ e_data_book_view_get_max_results (view));
do {
book_view_notify_status (view, _("Searching..."));
@@ -2853,7 +2854,7 @@
NULL, /* XXX */
NULL, /* XXX */
NULL, /* XXX timeout */
- 0 /* XXX we need this back in view->limit*/, &search_msgid);
+ e_data_book_view_get_max_results (view), &search_msgid);
} while (e_book_backend_ldap_reconnect (bl, view, ldap_err));
g_free (ldap_query);
Index: libedata-book/e-data-book-view.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/addressbook/libedata-book/e-data-book-view.c,v
retrieving revision 1.6
diff -u -r1.6 e-data-book-view.c
--- libedata-book/e-data-book-view.c 30 Mar 2004 08:28:56 -0000 1.6
+++ libedata-book/e-data-book-view.c 30 Mar 2004 16:13:29 -0000
@@ -41,6 +41,8 @@
char *card_query;
EBookBackendSExp *card_sexp;
GHashTable *ids;
+
+ int max_results;
};
static void
@@ -321,8 +323,9 @@
e_data_book_view_construct (EDataBookView *book_view,
EBookBackend *backend,
GNOME_Evolution_Addressbook_BookViewListener listener,
- const char *card_query,
- EBookBackendSExp *card_sexp)
+ const char *card_query,
+ EBookBackendSExp *card_sexp,
+ int max_results)
{
EDataBookViewPrivate *priv;
CORBA_Environment ev;
@@ -346,6 +349,7 @@
priv->backend = backend;
priv->card_query = g_strdup (card_query);
priv->card_sexp = card_sexp;
+ priv->max_results = max_results;
ORBit_small_listen_for_broken (e_data_book_view_get_listener (book_view), G_CALLBACK (view_listener_died_cb), book_view);
}
@@ -405,6 +409,14 @@
return book_view->priv->card_sexp;
}
+int
+e_data_book_view_get_max_results (EDataBookView *book_view)
+{
+ g_return_val_if_fail (E_IS_DATA_BOOK_VIEW (book_view), 0);
+
+ return book_view->priv->max_results;
+}
+
EBookBackend*
e_data_book_view_get_backend (EDataBookView *book_view)
{
@@ -434,9 +446,10 @@
*/
EDataBookView *
e_data_book_view_new (EBookBackend *backend,
- GNOME_Evolution_Addressbook_BookViewListener listener,
- const char *card_query,
- EBookBackendSExp *card_sexp)
+ GNOME_Evolution_Addressbook_BookViewListener listener,
+ const char *card_query,
+ EBookBackendSExp *card_sexp,
+ int max_results)
{
EDataBookView *book_view;
@@ -444,7 +457,7 @@
"poa", bonobo_poa_get_threaded (ORBIT_THREAD_HINT_PER_REQUEST, NULL),
NULL);
- e_data_book_view_construct (book_view, backend, listener, card_query, card_sexp);
+ e_data_book_view_construct (book_view, backend, listener, card_query, card_sexp, max_results);
return book_view;
}
Index: libedata-book/e-data-book-view.h
===================================================================
RCS file: /cvs/gnome/evolution-data-server/addressbook/libedata-book/e-data-book-view.h,v
retrieving revision 1.4
diff -u -r1.4 e-data-book-view.h
--- libedata-book/e-data-book-view.h 13 Mar 2004 22:40:45 -0000 1.4
+++ libedata-book/e-data-book-view.h 30 Mar 2004 16:13:29 -0000
@@ -43,10 +43,12 @@
EDataBookView *e_data_book_view_new (EBookBackend *backend,
GNOME_Evolution_Addressbook_BookViewListener listener,
const char *card_query,
- EBookBackendSExp *card_sexp);
+ EBookBackendSExp *card_sexp,
+ int max_results);
const char* e_data_book_view_get_card_query (EDataBookView *book_view);
EBookBackendSExp* e_data_book_view_get_card_sexp (EDataBookView *book_view);
+int e_data_book_view_get_max_results (EDataBookView *book_view);
EBookBackend* e_data_book_view_get_backend (EDataBookView *book_view);
GNOME_Evolution_Addressbook_BookViewListener e_data_book_view_get_listener (EDataBookView *book_view);
GMutex* e_data_book_view_get_mutex (EDataBookView *book_view);
Index: libedata-book/e-data-book.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/addressbook/libedata-book/e-data-book.c,v
retrieving revision 1.5
diff -u -r1.5 e-data-book.c
--- libedata-book/e-data-book.c 16 Mar 2004 21:35:19 -0000 1.5
+++ libedata-book/e-data-book.c 30 Mar 2004 16:13:29 -0000
@@ -150,7 +150,8 @@
return;
}
- view = e_data_book_view_new (backend, listener, search, card_sexp);
+ /* XXX still need to add requested_fields here */
+ view = e_data_book_view_new (backend, listener, search, card_sexp, max_results);
if (!view) {
g_object_unref (card_sexp);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]