aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-search-dialogue.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/mail-search-dialogue.c')
-rw-r--r--mail/mail-search-dialogue.c160
1 files changed, 0 insertions, 160 deletions
diff --git a/mail/mail-search-dialogue.c b/mail/mail-search-dialogue.c
deleted file mode 100644
index b336ac753e..0000000000
--- a/mail/mail-search-dialogue.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright (C) 2000 Helix Code Inc.
- *
- * Authors: Not Zed <notzed@lostzed.mmc.com.au>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public License
- * as published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include <gtk/gtk.h>
-#include <gnome.h>
-
-#include "mail-search-dialogue.h"
-
-static void mail_search_dialogue_class_init (MailSearchDialogueClass *class);
-static void mail_search_dialogue_init (MailSearchDialogue *gspaper);
-static void mail_search_dialogue_finalise (GtkObject *obj);
-
-static GnomeDialogClass *parent_class;
-
-guint
-mail_search_dialogue_get_type (void)
-{
- static guint type = 0;
-
- if (!type) {
- GtkTypeInfo type_info = {
- "MailSearchDialogue",
- sizeof(MailSearchDialogue),
- sizeof(MailSearchDialogueClass),
- (GtkClassInitFunc)mail_search_dialogue_class_init,
- (GtkObjectInitFunc)mail_search_dialogue_init,
- (GtkArgSetFunc)NULL,
- (GtkArgGetFunc)NULL
- };
-
- type = gtk_type_unique(gnome_dialog_get_type (), &type_info);
- }
-
- return type;
-}
-
-static void
-mail_search_dialogue_class_init (MailSearchDialogueClass *class)
-{
- GtkObjectClass *object_class;
-
- object_class = (GtkObjectClass *)class;
- parent_class = gtk_type_class(gnome_dialog_get_type ());
-
- object_class->finalize = mail_search_dialogue_finalise;
- /* override methods */
-
-}
-
-static void
-mail_search_dialogue_construct (MailSearchDialogue *o, FilterRule *rule)
-{
- FilterPart *part;
- GnomeDialog *dialogue = GNOME_DIALOG(o);
-
- o->context = rule_context_new();
- rule_context_add_part_set(o->context, "partset", filter_part_get_type(),
- rule_context_add_part, rule_context_next_part);
- rule_context_load(o->context, EVOLUTION_DATADIR "/evolution/vfoldertypes.xml", "");
- if (rule) {
- o->rule = rule;
- o->guts = filter_rule_get_widget(o->rule, o->context);
- } else {
- o->rule = filter_rule_new();
- part = rule_context_next_part(o->context, NULL);
- if (part == NULL) {
- g_warning("Problem loading search: no parts to load");
- o->guts = gtk_entry_new();
- } else {
- filter_rule_add_part(o->rule, filter_part_clone(part));
- o->guts = filter_rule_get_widget(o->rule, o->context);
- }
- }
-
- gtk_widget_show(o->guts);
- gtk_box_pack_start(GTK_BOX(dialogue->vbox), o->guts, FALSE, FALSE, 0);
-}
-
-static void
-mail_search_dialogue_init (MailSearchDialogue *o)
-{
- GnomeDialog *dialogue = GNOME_DIALOG(o);
-
- gnome_dialog_append_buttons(dialogue, _("Ok"), _("Search"), _("Cancel"), 0);
-}
-
-
-static void
-mail_search_dialogue_finalise(GtkObject *obj)
-{
- MailSearchDialogue *o = (MailSearchDialogue *)obj;
-
- if (o->context)
- gtk_object_unref((GtkObject *)o->context);
- if (o->rule)
- gtk_object_unref((GtkObject *)o->rule);
-
- ((GtkObjectClass *)(parent_class))->finalize(obj);
-}
-
-/**
- * mail_search_dialogue_new:
- *
- * Create a new MailSearchDialogue object.
- *
- * Return value: A new #MailSearchDialogue object.
- **/
-MailSearchDialogue *
-mail_search_dialogue_new(void)
-{
- MailSearchDialogue *o = (MailSearchDialogue *)gtk_type_new(mail_search_dialogue_get_type ());
- mail_search_dialogue_construct(o, NULL);
- return o;
-}
-
-MailSearchDialogue *mail_search_dialogue_new_with_rule(FilterRule *rule)
-{
- MailSearchDialogue *o = (MailSearchDialogue *)gtk_type_new(mail_search_dialogue_get_type ());
- if (rule)
- gtk_object_ref((GtkObject *)rule);
- mail_search_dialogue_construct(o, rule);
- return o;
-}
-
-/**
- * mail_search_dialogue_get_query:
- * @msd:
- *
- * Get the query string represting the current search criterea.
- *
- * Return value:
- **/
-char *
-mail_search_dialogue_get_query(MailSearchDialogue *msd)
-{
- GString *out = g_string_new("");
- char *ret;
-
- filter_rule_build_code(msd->rule, out);
- ret = out->str;
- g_string_free(out, FALSE);
- return ret;
-}