diff options
-rw-r--r-- | filter/filter-system-flag.c | 269 | ||||
-rw-r--r-- | filter/filter-system-flag.h | 56 | ||||
-rw-r--r-- | filter/filter-url.c | 218 | ||||
-rw-r--r-- | filter/filter-url.h | 59 |
4 files changed, 0 insertions, 602 deletions
diff --git a/filter/filter-system-flag.c b/filter/filter-system-flag.c deleted file mode 100644 index e51ad718c1..0000000000 --- a/filter/filter-system-flag.c +++ /dev/null @@ -1,269 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* - * Authors: Jeffrey Stedfast <fejj@helixcode.com> - * - * Copyright 2000 Helix Code, Inc. (www.helixcode.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA. - * - */ - - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include <gtk/gtk.h> -#include <gnome.h> -#include <gnome-xml/xmlmemory.h> - -#include <gal/widgets/e-unicode.h> - -#include "filter-system-flag.h" -#include "e-util/e-sexp.h" - -#define d(x) - -static void xml_create (FilterElement *fe, xmlNodePtr node); -static xmlNodePtr xml_encode (FilterElement *fe); -static int xml_decode (FilterElement *fe, xmlNodePtr node); -static GtkWidget *get_widget (FilterElement *fe); -static void build_code (FilterElement *fe, GString *out, struct _FilterPart *ff); -static void format_sexp (FilterElement *, GString *); - -static void filter_system_flag_class_init (FilterSystemFlagClass *class); -static void filter_system_flag_init (FilterSystemFlag *gspaper); -static void filter_system_flag_finalise (GtkObject *obj); - -#define _PRIVATE(x) (((FilterSystemFlag *)(x))->priv) - -struct _FilterSystemFlagPrivate { -}; - -static FilterElementClass *parent_class; - -enum { - LAST_SIGNAL -}; - -static guint signals[LAST_SIGNAL] = { 0 }; - -struct _system_flag { - char *title; - char *value; -} system_flags[] = { - { N_("Replied to"), "Answered" }, - /*{ N_("Deleted"), "Deleted" },*/ - /*{ N_("Draft"), "Draft" },*/ - { N_("Important"), "Flagged" }, - { N_("Read"), "Seen" }, - { NULL, NULL } -}; - -static struct _system_flag * -find_option (const char *value) -{ - struct _system_flag *flag; - - for (flag = system_flags; flag->title; flag++) { - if (!g_strcasecmp (value, flag->value)) - return flag; - } - - return NULL; -} - -GtkType -filter_system_flag_get_type (void) -{ - static guint type = 0; - - if (!type) { - GtkTypeInfo type_info = { - "FilterSystemFlag", - sizeof (FilterSystemFlag), - sizeof (FilterSystemFlagClass), - (GtkClassInitFunc) filter_system_flag_class_init, - (GtkObjectInitFunc) filter_system_flag_init, - (GtkArgSetFunc) NULL, - (GtkArgGetFunc) NULL - }; - - type = gtk_type_unique (filter_element_get_type (), &type_info); - } - - return type; -} - -static void -filter_system_flag_class_init (FilterSystemFlagClass *class) -{ - GtkObjectClass *object_class; - FilterElementClass *filter_element = (FilterElementClass *)class; - - object_class = (GtkObjectClass *)class; - parent_class = gtk_type_class(filter_element_get_type ()); - - object_class->finalize = filter_system_flag_finalise; - - /* override methods */ - filter_element->xml_create = xml_create; - filter_element->xml_encode = xml_encode; - filter_element->xml_decode = xml_decode; - filter_element->get_widget = get_widget; - filter_element->build_code = build_code; - filter_element->format_sexp = format_sexp; - - /* signals */ - - gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL); -} - -static void -filter_system_flag_init (FilterSystemFlag *o) -{ - o->priv = g_malloc0 (sizeof (*o->priv)); -} - -static void -filter_system_flag_finalise (GtkObject *obj) -{ - FilterSystemFlag *o = (FilterSystemFlag *)obj; - - o = o; - - ((GtkObjectClass *)(parent_class))->finalize (obj); -} - -/** - * filter_system_flag_new: - * - * Create a new FilterSystemFlag object. - * - * Return value: A new #FilterSystemFlag object. - **/ -FilterSystemFlag * -filter_system_flag_new (void) -{ - FilterSystemFlag *o = (FilterSystemFlag *)gtk_type_new (filter_system_flag_get_type ()); - return o; -} - -static void -xml_create (FilterElement *fe, xmlNodePtr node) -{ - /* parent implementation */ - ((FilterElementClass *)(parent_class))->xml_create (fe, node); -} - -static xmlNodePtr -xml_encode (FilterElement *fe) -{ - FilterSystemFlag *fsf = (FilterSystemFlag *) fe; - xmlNodePtr value; - - d(printf ("Encoding system-flag as xml\n")); - value = xmlNewNode (NULL, "value"); - xmlSetProp (value, "name", fe->name); - xmlSetProp (value, "type", "system-flag"); - xmlSetProp (value, "value", fsf->value); - - return value; -} - -static int -xml_decode (FilterElement *fe, xmlNodePtr node) -{ - FilterSystemFlag *fsf = (FilterSystemFlag *) fe; - struct _system_flag *flag; - char *value; - - fe->name = xmlGetProp (node, "name"); - - value = xmlGetProp (node, "value"); - if (value) { - flag = find_option (value); - fsf->value = flag ? flag->value : NULL; - xmlFree (value); - } else { - fsf->value = NULL; - } - - return 0; -} - -static void -item_selected (GtkWidget *widget, FilterElement *fe) -{ - FilterSystemFlag *fsf = (FilterSystemFlag *) fe; - struct _system_flag *flag; - - flag = gtk_object_get_data (GTK_OBJECT (widget), "flag"); - - fsf->value = flag->value; -} - -static GtkWidget * -get_widget (FilterElement *fe) -{ - FilterSystemFlag *fsf = (FilterSystemFlag *) fe; - GtkWidget *omenu, *menu, *item, *first = NULL; - struct _system_flag *flag; - int index = 0, current = 0; - - menu = gtk_menu_new (); - for (flag = system_flags; flag->title; flag++) { - item = gtk_menu_item_new_with_label (_(flag->title)); - gtk_object_set_data (GTK_OBJECT (item), "flag", flag); - gtk_signal_connect (GTK_OBJECT (item), "activate", item_selected, fe); - - gtk_menu_append (GTK_MENU (menu), item); - - gtk_widget_show (item); - - if (fsf->value && !g_strcasecmp (fsf->value, flag->value)) { - current = index; - first = item; - } else if (!first) { - first = item; - } - - index++; - } - - omenu = gtk_option_menu_new (); - gtk_option_menu_set_menu (GTK_OPTION_MENU (omenu), menu); - - if (first) - gtk_signal_emit_by_name (GTK_OBJECT (first), "activate", fe); - - gtk_option_menu_set_history (GTK_OPTION_MENU (omenu), current); - - return omenu; -} - -static void -build_code (FilterElement *fe, GString *out, struct _FilterPart *ff) -{ - return; -} - -static void -format_sexp (FilterElement *fe, GString *out) -{ - FilterSystemFlag *fsf = (FilterSystemFlag *)fe; - - e_sexp_encode_string (out, fsf->value); -} diff --git a/filter/filter-system-flag.h b/filter/filter-system-flag.h deleted file mode 100644 index eaf8e9172e..0000000000 --- a/filter/filter-system-flag.h +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* - * Authors: Jeffrey Stedfast <fejj@helixcode.com> - * - * Copyright 2000 Helix Code, Inc. (www.helixcode.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA. - * - */ - - -#ifndef _FILTER_SYSTEM_FLAG_H -#define _FILTER_SYSTEM_FLAG_H - -#include <gtk/gtk.h> -#include "filter-element.h" - -#define FILTER_SYSTEM_FLAG(obj) GTK_CHECK_CAST (obj, filter_system_flag_get_type (), Filtersystemflag) -#define FILTER_SYSTEM_FLAG_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, filter_system_flag_get_type (), FiltersystemflagClass) -#define IS_FILTER_SYSTEM_FLAG(obj) GTK_CHECK_TYPE (obj, filter_system_flag_get_type ()) - -typedef struct _FilterSystemFlag FilterSystemFlag; -typedef struct _FilterSystemFlagClass FilterSystemFlagClass; - -struct _FilterSystemFlag { - FilterElement parent; - struct _FilterSystemFlagPrivate *priv; - - char *value; -}; - -struct _FilterSystemFlagClass { - FilterElementClass parent_class; - - /* virtual methods */ - - /* signals */ -}; - -GtkType filter_system_flag_get_type (void); -FilterSystemFlag *filter_system_flag_new (void); - -#endif /* ! _FILTER_SYSTEM_FLAG_H */ - diff --git a/filter/filter-url.c b/filter/filter-url.c deleted file mode 100644 index a983d81f78..0000000000 --- a/filter/filter-url.c +++ /dev/null @@ -1,218 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* - * Authors: Jeffrey Stedfast <fejj@helixcode.com> - * - * Copyright 2000 Helix Code, Inc. (www.helixcode.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA. - * - */ - - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include <gtk/gtk.h> -#include <gnome.h> -#include <gnome-xml/xmlmemory.h> - -#include "e-util/e-sexp.h" -#include "filter-url.h" - -#define d(x) - -static void xml_create (FilterElement *fe, xmlNodePtr node); -static xmlNodePtr xml_encode (FilterElement *fe); -static int xml_decode (FilterElement *fe, xmlNodePtr node); -static GtkWidget *get_widget (FilterElement *fe); -static void build_code (FilterElement *fe, GString *out, struct _FilterPart *ff); -static void format_sexp (FilterElement *, GString *); - -static void filter_url_class_init (FilterUrlClass *class); -static void filter_url_init (FilterUrl *gspaper); -static void filter_url_finalise (GtkObject *obj); - -#define _PRIVATE(x) (((FilterUrl *)(x))->priv) - -struct _FilterUrlPrivate { -}; - -static FilterElementClass *parent_class; - -enum { - LAST_SIGNAL -}; - -static guint signals[LAST_SIGNAL] = { 0 }; - -guint -filter_url_get_type (void) -{ - static guint type = 0; - - if (!type) { - GtkTypeInfo type_info = { - "FilterUrl", - sizeof (FilterUrl), - sizeof (FilterUrlClass), - (GtkClassInitFunc) filter_url_class_init, - (GtkObjectInitFunc) filter_url_init, - (GtkArgSetFunc) NULL, - (GtkArgGetFunc) NULL - }; - - type = gtk_type_unique (filter_element_get_type (), &type_info); - } - - return type; -} - -static void -filter_url_class_init (FilterUrlClass *class) -{ - GtkObjectClass *object_class; - FilterElementClass *filter_element = (FilterElementClass *)class; - - object_class = (GtkObjectClass *) class; - parent_class = gtk_type_class (filter_element_get_type ()); - - object_class->finalize = filter_url_finalise; - - /* override methods */ - filter_element->xml_create = xml_create; - filter_element->xml_encode = xml_encode; - filter_element->xml_decode = xml_decode; - filter_element->get_widget = get_widget; - filter_element->build_code = build_code; - filter_element->format_sexp = format_sexp; - - /* signals */ - - gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL); -} - -static void -filter_url_init (FilterUrl *o) -{ - o->priv = g_malloc0 (sizeof (*o->priv)); -} - -static void -filter_url_finalise (GtkObject *obj) -{ - FilterUrl *o = (FilterUrl *)obj; - - o = o; - - ((GtkObjectClass *)(parent_class))->finalize (obj); -} - -/** - * filter_url_new: - * - * Create a new FilterUrl object. - * - * Return value: A new #FilterUrl object. - **/ -FilterUrl * -filter_url_new (void) -{ - FilterUrl *o = (FilterUrl *) gtk_type_new (filter_url_get_type ()); - - return o; -} - -static void -xml_create (FilterElement *fe, xmlNodePtr node) -{ - /*FilterUrl *fu = (FilterUrl *)fe;*/ - - /* parent implementation */ - ((FilterElementClass *)(parent_class))->xml_create (fe, node); -} - -static xmlNodePtr -xml_encode (FilterElement *fe) -{ - xmlNodePtr value; - FilterUrl *fu = (FilterUrl *)fe; - - d(printf ("Encoding url as xml\n")); - value = xmlNewNode (NULL, "value"); - xmlSetProp (value, "name", fe->name); - xmlSetProp (value, "type", "url"); - - xmlSetProp (value, "url", fu->url); - - return value; -} - -static gchar * -get_value (xmlNodePtr node, char *name) -{ - gchar *value; - - value = xmlGetProp (node, name); - - return value; -} - - -static int -xml_decode (FilterElement *fe, xmlNodePtr node) -{ - FilterUrl *fu = (FilterUrl *)fe; - - fe->name = xmlGetProp (node, "name"); - fu->url = get_value (node, "url"); - - return 0; -} - -static void -set_url (GtkWidget *entry, FilterUrl *fu) -{ - fu->url = g_strdup (gtk_entry_get_text (GTK_ENTRY (entry))); -} - -static GtkWidget * -get_widget (FilterElement *fe) -{ - GtkWidget *combo; - GList *sources = fe->data; /* this needs to be a list of urls */ - - combo = gtk_combo_new (); - gtk_combo_set_popdown_strings (GTK_COMBO (combo), sources); - - gtk_widget_show (combo); - gtk_signal_connect (GTK_OBJECT (GTK_EDITABLE (GTK_COMBO (combo)->entry)), "changed", set_url, fe); - - return combo; -} - -static void -build_code (FilterElement *fe, GString *out, struct _FilterPart *ff) -{ - return; -} - -static void -format_sexp (FilterElement *fe, GString *out) -{ - FilterUrl *fu = (FilterUrl *)fe; - - e_sexp_encode_string (out, fu->url); -} diff --git a/filter/filter-url.h b/filter/filter-url.h deleted file mode 100644 index f526acc5bf..0000000000 --- a/filter/filter-url.h +++ /dev/null @@ -1,59 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* - * Authors: Jeffrey Stedfast <fejj@helixcode.com> - * - * Copyright 2000 Helix Code, Inc. (www.helixcode.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA. - * - */ - - -#ifndef _FILTER_URL_H -#define _FILTER_URL_H - -#include <gtk/gtk.h> -#include "filter-element.h" - -#define FILTER_URL(obj) GTK_CHECK_CAST (obj, filter_url_get_type (), FilterUrl) -#define FILTER_URL_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, filter_url_get_type (), FilterUrlClass) -#define IS_FILTER_URL(obj) GTK_CHECK_TYPE (obj, filter_url_get_type ()) - -typedef struct _FilterUrl FilterUrl; -typedef struct _FilterUrlClass FilterUrlClass; - -struct _FilterUrl { - FilterElement parent; - struct _FilterUrlPrivate *priv; - - GList *urls; /* maybe use this? I dunno */ - gchar *url; -}; - -struct _FilterUrlClass { - FilterElementClass parent_class; - - /* virtual methods */ - - /* signals */ -}; - -guint filter_url_get_type (void); -FilterUrl *filter_url_new (void); - -/* methods */ - -#endif /* ! _FILTER_URL_H */ - |