2005-01-20 [paul] 1.0.0cvs3.1
authorPaul Mangan <paul@claws-mail.org>
Thu, 20 Jan 2005 06:27:10 +0000 (06:27 +0000)
committerPaul Mangan <paul@claws-mail.org>
Thu, 20 Jan 2005 06:27:10 +0000 (06:27 +0000)
* ChangeLog.claws
* configure.ac
* src/addrindex.c
* src/addrindex.h
sync with HEAD

ChangeLog-gtk2.claws
ChangeLog.claws
PATCHSETS
configure.ac
src/addrindex.c
src/addrindex.h

index d843d97..8e26ea2 100644 (file)
@@ -1,3 +1,11 @@
+2005-01-20 [paul]      1.0.0cvs3.1
+
+       * ChangeLog.claws
+       * configure.ac
+       * src/addrindex.c
+       * src/addrindex.h
+               sync with HEAD
+
 2005-01-19 [colin]     1.0.0cvs2.2
 
        * src/plugins/trayicon/trayicon.c
index 6421cbf..7104627 100644 (file)
@@ -1,3 +1,51 @@
+2005-01-20 [holger]    1.0.0cvs3
+
+       * src/addrindex.c
+       * src/addrindex.h
+               Add addrindex_load_person_attribute() (for plugins)
+
+2005-01-19 [colin]     1.0.0cvs2
+
+       * src/mbox.c
+       * src/mbox.h
+       * src/mainwindow.c
+       * src/summaryview.c
+       * src/summaryview.h
+               Add an easy way to export specific messages
+               to an mbox file.
+
+2005-01-19 [paul]      1.0.0cvs1
+
+       * po/ja.po
+       * po/ko.po
+               updated by  Rui Hirokawa and
+               SungHyun Nam
+
+2005-01-18 [paul]      1.0.0
+
+       * version 1.0.0 released
+
+2005-01-17 [thorsten]  0.9.13cvs38
+
+       * src/crash.c
+       * src/gtk/pluginwindow.c
+               return value of filesel should not be free()d
+
+2005-01-17 [paul]      0.9.13cvs37
+
+       * AUTHORS
+       * po/es.po
+       * po/fr.po
+       * po/hr.po
+       * po/it.po
+       * po/pt_BR.po
+       * po/sk.po
+       * po/sr.po
+               update translations. submitted by Ricardo Mones
+               Lastra, Fabien Vantard, Dragan, Andrea Spadaccini,
+               Frederico Goncalves Guimaraes, Andrej Kacian,
+               Aleksandar Urosevic
+
 2005-01-16 [colin]     0.9.13cvs36
 
        * src/prefs_toolbar.c
index 7ee5614..f0d236c 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.654.2.360 -r 1.654.2.361 configure.ac; cvs diff -u -r 1.58.2.5 -r 1.58.2.6 po/de.po; cvs diff -u -r 1.60.2.6 -r 1.60.2.7 po/es.po; cvs diff -u -r 1.42.2.6 -r 1.42.2.7 po/fr.po; cvs diff -u -r 1.7.2.3 -r 1.7.2.4 po/hr.po; cvs diff -u -r 1.34.2.5 -r 1.34.2.6 po/it.po; cvs diff -u -r 1.16.2.4 -r 1.16.2.5 po/ja.po; cvs diff -u -r 1.8.2.2 -r 1.8.2.3 po/ko.po; cvs diff -u -r 1.50.2.4 -r 1.50.2.5 po/pt_BR.po; cvs diff -u -r 1.17.2.3 -r 1.17.2.4 po/ru.po; cvs diff -u -r 1.2.2.7 -r 1.2.2.8 po/sk.po; cvs diff -u -r 1.17.2.7 -r 1.17.2.8 po/sr.po; ) > 1.0.0cvs1.1.patchset
 ( cvs diff -u -r 1.274.2.26 -r 1.274.2.27 src/mainwindow.c; cvs diff -u -r 1.28.2.2 -r 1.28.2.3 src/mbox.c; cvs diff -u -r 1.3.2.2 -r 1.3.2.3 src/mbox.h; cvs diff -u -r 1.395.2.41 -r 1.395.2.42 src/summaryview.c; cvs diff -u -r 1.68.2.4 -r 1.68.2.5 src/summaryview.h; ) > 1.0.0cvs2.1.patchset
 ( cvs diff -u -r 1.14.2.13 -r 1.14.2.14 src/plugins/trayicon/trayicon.c; ) > 1.0.0cvs2.2.patchset
+( cvs diff -u -r 1.2504.2.43 -r 1.2504.2.44 ChangeLog.claws; cvs diff -u -r 1.654.2.363 -r 1.654.2.364 configure.ac; cvs diff -u -r 1.28.2.3 -r 1.28.2.4 src/addrindex.c; cvs diff -u -r 1.9.2.3 -r 1.9.2.4 src/addrindex.h; ) > 1.0.0cvs3.1.patchset
index 3ec0ae0..d9a4797 100644 (file)
@@ -11,9 +11,9 @@ MINOR_VERSION=0
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=2
+EXTRA_VERSION=3
 EXTRA_RELEASE=
-EXTRA_GTK2_VERSION=.2
+EXTRA_GTK2_VERSION=.1
 
 if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then
     VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}${EXTRA_RELEASE}${EXTRA_GTK2_VERSION}
index 3e1bb49..3f26fb6 100644 (file)
@@ -2875,8 +2875,86 @@ gboolean addrindex_load_completion(
        return TRUE;
 }
 
-/*
- * End of Source.
+/**
+ * This function can be used to collect information about
+ * addressbook entries that contain a specific attribute.
+ *
+ * \param attr         Name of attribute to look for
+ * \param callBackFunc Function to be called when a matching attribute was found
+ * \return <i>TRUE</i>
  */
+gboolean addrindex_load_person_attribute(
+               const gchar *attr,
+               gint (*callBackFunc) ( ItemPerson *, const gchar * ) )
+{
+       AddressDataSource *ds;
+       GList *nodeIf, *nodeDS;
+       GList *listP, *nodeP;
+       GList *nodeA;
+
+       nodeIf = addrindex_get_interface_list( _addressIndex_ );
+       while( nodeIf ) {
+               gchar *cur_bname;
+               AddressInterface *iface = nodeIf->data;
+
+               nodeIf = g_list_next( nodeIf );
+               if( ! iface->useInterface ) {
+                       continue;
+               }
+               if( iface->externalQuery ) {
+                       continue;
+               }
+               nodeDS = iface->listSource;
+               while( nodeDS ) {
+                       ds = nodeDS->data;
+
+                       /* Read address book */
+                       if( addrindex_ds_get_modify_flag( ds ) ) {
+                               addrindex_ds_read_data( ds );
+                       }
+
+                       if( ! addrindex_ds_get_read_flag( ds ) ) {
+                               addrindex_ds_read_data( ds );
+                       }
 
+                       /* Check addressbook name */
+                       cur_bname = addrindex_ds_get_name( ds );
 
+                       /* Get all persons */
+                       listP = addrindex_ds_get_all_persons( ds );
+                       nodeP = listP;
+                       while( nodeP ) {
+                               ItemPerson *person = nodeP->data;
+
+                               /* Return all ItemPerson's if attr is NULL */
+                               if( attr == NULL ) {
+                                       callBackFunc(person, cur_bname);
+                               }
+
+                               /* Return ItemPerson's with specific attribute */
+                               else {
+                                       nodeA = person->listAttrib;
+                                       /* Process each User Attribute */
+                                       while( nodeA ) {
+                                               UserAttribute *attrib = nodeA->data;
+                                               if( attrib->name && 
+                                                   !strcmp( attrib->name,attr ) ) {
+                                                       callBackFunc(person, cur_bname);
+                                               }
+                                               nodeA = g_list_next( nodeA );
+                                       }
+                               }
+                               nodeP = g_list_next( nodeP );
+                       }
+                       /* Free up the list */
+                       g_list_free( listP );
+
+                       nodeDS = g_list_next( nodeDS );
+               }
+       }
+       return TRUE;
+}
+
+/*
+ * End of Source.
+ */
index 4dc69ba..0c940b6 100644 (file)
@@ -183,6 +183,10 @@ gboolean addrindex_load_completion(
                        ( const gchar *, const gchar *, 
                          const gchar *, const gchar * ) );
 
+gboolean addrindex_load_person_attribute( const gchar *attr,
+               gint (*callBackFunc)
+                       ( ItemPerson *, const gchar * ) );
+
 #endif /* __ADDRINDEX_H__ */
 
 /*