aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/ChangeLog5
-rw-r--r--addressbook/gui/component/select-names/e-select-names.c12
-rw-r--r--addressbook/gui/search/addresstypes.xml37
3 files changed, 44 insertions, 10 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index 60bd8dbdaa..d9cc024f07 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,3 +1,8 @@
+2000-08-10 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/search/, gui/search/addresstypes.xml: New search dialog for
+ addressbook.
+
2000-08-10 Dan Winship <danw@helixcode.com>
* gui/component/addressbook-component.c (owner_set_cb): Update for
diff --git a/addressbook/gui/component/select-names/e-select-names.c b/addressbook/gui/component/select-names/e-select-names.c
index cbe89f6362..272a1f5e2a 100644
--- a/addressbook/gui/component/select-names/e-select-names.c
+++ b/addressbook/gui/component/select-names/e-select-names.c
@@ -41,8 +41,6 @@ static GnomeDialogClass *parent_class = NULL;
/* The arguments we take */
enum {
ARG_0,
- ARG_BOOK,
- ARG_QUERY,
};
typedef struct {
@@ -85,11 +83,6 @@ e_select_names_class_init (ESelectNamesClass *klass)
parent_class = gtk_type_class (PARENT_TYPE);
- gtk_object_add_arg_type ("ESelectNames::book", GTK_TYPE_OBJECT,
- GTK_ARG_READWRITE, ARG_BOOK);
- gtk_object_add_arg_type ("ESelectNames::query", GTK_TYPE_STRING,
- GTK_ARG_READWRITE, ARG_QUERY);
-
object_class->set_arg = e_select_names_set_arg;
object_class->get_arg = e_select_names_get_arg;
object_class->destroy = e_select_names_destroy;
@@ -98,15 +91,13 @@ e_select_names_class_init (ESelectNamesClass *klass)
#define SPEC "<ETableSpecification no-header=\"1\"> \
<columns-shown> \
<column> 2 </column> \
- <column> 1 </column> \
</columns-shown> \
<grouping> <leaf column=\"1\" ascending=\"1\"/> </grouping> \
</ETableSpecification>"
#define SPEC2 "<ETableSpecification no-header=\"1\"> \
<columns-shown> \
- <column> 0 </column> \
- <column> 1 </column> \
+ <column> 0 </column> \
</columns-shown> \
<grouping> </grouping> \
</ETableSpecification>"
@@ -118,6 +109,7 @@ set_book(EBook *book, EBookStatus status, ETableModel *model)
{
gtk_object_set(GTK_OBJECT(model),
"book", book,
+ "query", "(not (is \"email\" \"\"))",
NULL);
gtk_object_unref(GTK_OBJECT(book));
}
diff --git a/addressbook/gui/search/addresstypes.xml b/addressbook/gui/search/addresstypes.xml
new file mode 100644
index 0000000000..57fc10d330
--- /dev/null
+++ b/addressbook/gui/search/addresstypes.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<filterdescription>
+<partset>
+ <part name="name">
+ <title>Sender</title>
+ <input type="optionlist" name="sender-type">
+ <option value="contains">
+ <title>contains</title>
+ <code>(contains "fullname" ${name}))</code>
+ </option>
+ <option value="not contains">
+ <title>does not contain</title>
+ <code>(not (contains "fullname" ${name})))</code>
+ </option>
+ </input>
+ <input type="string" name="name"/>
+ </part>
+ <part name="email">
+ <title>Sender</title>
+ <input type="optionlist" name="sender-type">
+ <option value="contains">
+ <title>contains</title>
+ <code>(contains "email" ${email}))</code>
+ </option>
+ <option value="not contains">
+ <title>does not contain</title>
+ <code>(not (contains "email" ${email})))</code>
+ </option>
+ </input>
+ <input type="string" name="email"/>
+ </part>
+ <part name="sexp">
+ <title>Expression</title>
+ <input type="code" name="code"/>
+ </part>
+</partset>
+</filterdescription>