diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2002-02-09 06:32:13 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2002-02-09 06:32:13 +0800 |
commit | 9fecb732dee690a2ddf43f9e7bf41ae6a7f91f52 (patch) | |
tree | 946d872c3456f6f8992556ab79a9a3010f5a1aa2 /mail/message-tag-editor.c | |
parent | a61a6cab2068b39afd97c29ad544b8bc008b1453 (diff) | |
download | gsoc2013-evolution-9fecb732dee690a2ddf43f9e7bf41ae6a7f91f52.tar gsoc2013-evolution-9fecb732dee690a2ddf43f9e7bf41ae6a7f91f52.tar.gz gsoc2013-evolution-9fecb732dee690a2ddf43f9e7bf41ae6a7f91f52.tar.bz2 gsoc2013-evolution-9fecb732dee690a2ddf43f9e7bf41ae6a7f91f52.tar.lz gsoc2013-evolution-9fecb732dee690a2ddf43f9e7bf41ae6a7f91f52.tar.xz gsoc2013-evolution-9fecb732dee690a2ddf43f9e7bf41ae6a7f91f52.tar.zst gsoc2013-evolution-9fecb732dee690a2ddf43f9e7bf41ae6a7f91f52.zip |
Base class for a message tag editor.
2002-02-08 Jeffrey Stedfast <fejj@ximian.com>
* message-tag-editor.[c,h]: Base class for a message tag editor.
* folder-browser.c (on_right_click): Setup the hide/enable masks
for "Flag for Follow-up"
* mail-callbacks.c (confirm_expunge): Instead of hiding deleted
messages and then expunging, disable the use of the message-list
completely during the expunge operation.
(expunged_folder): Re-enable the use of the message-list widget
here.
svn path=/trunk/; revision=15626
Diffstat (limited to 'mail/message-tag-editor.c')
-rw-r--r-- | mail/message-tag-editor.c | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/mail/message-tag-editor.c b/mail/message-tag-editor.c new file mode 100644 index 0000000000..01934eaec9 --- /dev/null +++ b/mail/message-tag-editor.c @@ -0,0 +1,151 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Authors: Jeffrey Stedfast <fejj@ximian.com> + * + * Copyright 2002 Ximain, Inc. (www.ximian.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 <libgnomeui/gnome-stock.h> +#include "message-tag-editor.h" + + +static void message_tag_editor_class_init (MessageTagEditorClass *class); +static void message_tag_editor_init (MessageTagEditor *editor); +static void message_tag_editor_finalise (GtkObject *obj); + +static const char *tag_get_name (MessageTagEditor *editor); +static const char *tag_get_value (MessageTagEditor *editor); +static void tag_set_value (MessageTagEditor *editor, const char *value); + +static GnomeDialogClass *parent_class; + +enum { + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + +GtkType +message_tag_editor_get_type (void) +{ + static GtkType type = 0; + + if (!type) { + GtkTypeInfo type_info = { + "MessageTagEditor", + sizeof (MessageTagEditor), + sizeof (MessageTagEditorClass), + (GtkClassInitFunc) message_tag_editor_class_init, + (GtkObjectInitFunc) message_tag_editor_init, + (GtkArgSetFunc) NULL, + (GtkArgGetFunc) NULL + }; + + type = gtk_type_unique (gnome_dialog_get_type (), &type_info); + } + + return type; +} + +static void +message_tag_editor_class_init (MessageTagEditorClass *klass) +{ + GtkObjectClass *object_class; + + object_class = (GtkObjectClass *) klass; + parent_class = gtk_type_class (gnome_dialog_get_type ()); + + object_class->finalize = message_tag_editor_finalise; + + klass->get_name = tag_get_name; + klass->get_value = tag_get_value; + klass->set_value = tag_set_value; +} + +static void +message_tag_editor_init (MessageTagEditor *editor) +{ + gtk_window_set_policy (GTK_WINDOW (editor), FALSE, TRUE, FALSE); + + gnome_dialog_append_buttons (GNOME_DIALOG (editor), + GNOME_STOCK_BUTTON_OK, + GNOME_STOCK_BUTTON_CANCEL, + NULL); + + gnome_dialog_set_default (GNOME_DIALOG (editor), 0); +} + + +static void +message_tag_editor_finalise (GtkObject *obj) +{ + MessageTagEditor *editor = (MessageTagEditor *) obj; + + ((GtkObjectClass *)(parent_class))->finalize (obj); +} + + +static const char * +tag_get_name (MessageTagEditor *editor) +{ + return NULL; +} + +const char * +message_tag_editor_get_name (MessageTagEditor *editor) +{ + g_return_val_if_fail (IS_MESSAGE_TAG_EDITOR (editor), NULL); + + return ((MessageTagEditorClass *)((GtkObject *) editor)->klass)->get_name (editor); +} + + +static const char * +tag_get_value (MessageTagEditor *editor) +{ + return NULL; +} + +const char * +message_tag_editor_get_value (MessageTagEditor *editor) +{ + g_return_val_if_fail (IS_MESSAGE_TAG_EDITOR (editor), NULL); + + return ((MessageTagEditorClass *)((GtkObject *) editor)->klass)->get_value (editor); +} + + +static void +tag_set_value (MessageTagEditor *editor, const char *value) +{ + /* no-op */ + ; +} + +void +message_tag_editor_set_value (MessageTagEditor *editor, const char *value) +{ + g_return_if_fail (IS_MESSAGE_TAG_EDITOR (editor)); + + ((MessageTagEditorClass *)((GtkObject *) editor)->klass)->set_value (editor, value); +} |