diff options
Diffstat (limited to 'widgets')
-rw-r--r-- | widgets/misc/ChangeLog | 5 | ||||
-rw-r--r-- | widgets/misc/Makefile.am | 2 | ||||
-rw-r--r-- | widgets/misc/e-messagebox.c | 358 | ||||
-rw-r--r-- | widgets/misc/e-messagebox.h | 83 |
4 files changed, 5 insertions, 443 deletions
diff --git a/widgets/misc/ChangeLog b/widgets/misc/ChangeLog index 1280ac2e16..8da5f79e05 100644 --- a/widgets/misc/ChangeLog +++ b/widgets/misc/ChangeLog @@ -4,6 +4,11 @@ from empty.xpm rather than just calling gdk_pixbuf_new(), which doesn't actually initialize the pixel data. + * e-messagebox.c: Remove this, since it claims to be deprecated, + and nothing is actually using it any more. + + * Makefile.am: Remove e-messagebox.[ch] + 2003-07-11 Federico Mena Quintero <federico@ximian.com> * e-dateedit.c (e_date_edit_mnemonic_activate): Added a handler diff --git a/widgets/misc/Makefile.am b/widgets/misc/Makefile.am index 10dc419309..4da01c8c24 100644 --- a/widgets/misc/Makefile.am +++ b/widgets/misc/Makefile.am @@ -26,7 +26,6 @@ widgetsinclude_HEADERS = \ e-dateedit.h \ e-dropdown-button.h \ e-map.h \ - e-messagebox.h \ e-multi-config-dialog.h \ e-search-bar.h \ e-title-bar.h \ @@ -45,7 +44,6 @@ libemiscwidgets_la_SOURCES = \ e-dateedit.c \ e-dropdown-button.c \ e-map.c \ - e-messagebox.c \ e-multi-config-dialog.c \ e-search-bar.c \ e-title-bar.c \ diff --git a/widgets/misc/e-messagebox.c b/widgets/misc/e-messagebox.c deleted file mode 100644 index 4a6da0e3cf..0000000000 --- a/widgets/misc/e-messagebox.c +++ /dev/null @@ -1,358 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* - * Original Author: Jay Painter - * Modified: Jeffrey Stedfast - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - * - * 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 Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - */ - - -#include <config.h> -#include <stdarg.h> -#include <string.h> /* for strcmp */ - -#include <glib.h> -#include <gtk/gtkalignment.h> -#include <gtk/gtkcheckbutton.h> -#include <gtk/gtkhbox.h> -#include <gtk/gtklabel.h> -#include <libgnome/gnome-i18n.h> -#include <libgnome/gnome-triggers.h> -#include <libgnome/gnome-util.h> -#include <libgnomeui/gnome-pixmap.h> -#include <libgnomeui/gnome-uidefs.h> -#include "e-messagebox.h" - -#define E_MESSAGE_BOX_WIDTH 425 -#define E_MESSAGE_BOX_HEIGHT 125 - -struct _EMessageBoxPrivate { - GtkWidget *label; - GtkWidget *checkbox; -}; - -static void e_message_box_class_init (EMessageBoxClass *klass); -static void e_message_box_init (EMessageBox *messagebox); -static void e_message_box_finalize (GObject *object); -static void e_message_box_destroy (GtkObject *object); - -static GnomeDialogClass *parent_class; - -GtkType -e_message_box_get_type (void) -{ - static GtkType message_box_type = 0; - - if (!message_box_type) { - GtkTypeInfo message_box_info = { - "EMessageBox", - sizeof (EMessageBox), - sizeof (EMessageBoxClass), - (GtkClassInitFunc) e_message_box_class_init, - (GtkObjectInitFunc) e_message_box_init, - NULL, - NULL - }; - - message_box_type = gtk_type_unique (gnome_dialog_get_type (), &message_box_info); - } - - return message_box_type; -} - -static void -e_message_box_class_init (EMessageBoxClass *klass) -{ - GObjectClass *gobject_class; - GtkObjectClass *object_class; - - gobject_class = (GObjectClass *) klass; - object_class = (GtkObjectClass *) klass; - parent_class = g_type_class_ref(gnome_dialog_get_type ()); - - gobject_class->finalize = e_message_box_finalize; - - object_class->destroy = e_message_box_destroy; -} - -static void -e_message_box_init (EMessageBox *message_box) -{ - message_box->_priv = g_new0 (EMessageBoxPrivate, 1); -} - -static void -e_message_box_finalize (GObject *object) -{ - EMessageBox *mbox = E_MESSAGE_BOX (object); - - g_free (mbox->_priv); - mbox->_priv = NULL; - - if (G_OBJECT_CLASS (parent_class)->finalize) - (* G_OBJECT_CLASS (parent_class)->finalize) (object); -} - -static void -e_message_box_destroy (GtkObject *object) -{ - /* remember, destroy can be run multiple times! */ - if (GTK_OBJECT_CLASS (parent_class)->destroy) - (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); -} - -/** - * e_message_box_construct: - * @messagebox: The message box to construct - * @message: The message to be displayed. - * @message_box_type: The type of the message - * @buttons: a NULL terminated array with the buttons to insert. - * - * For language bindings or subclassing, from C use #e_message_box_new or - * #e_message_box_newv - * - * Returns: - */ -void -e_message_box_construct (EMessageBox *messagebox, - const gchar *message, - const gchar *message_box_type, - const gchar **buttons) -{ - GtkWidget *hbox; - GtkWidget *pixmap = NULL; - GtkWidget *alignment; - char *s; - GtkStyle *style; - const gchar* title = NULL; - gint i = 0; - - g_return_if_fail (messagebox != NULL); - g_return_if_fail (E_IS_MESSAGE_BOX (messagebox)); - g_return_if_fail (message != NULL); - g_return_if_fail (message_box_type != NULL); - - style = gtk_widget_get_style (GTK_WIDGET (messagebox)); - - /* Make noises, basically */ - gnome_triggers_vdo (message, message_box_type, NULL); - - if (strcmp (E_MESSAGE_BOX_INFO, message_box_type) == 0) { - title = _("Information"); - s = gnome_unconditional_pixmap_file("gnome-info.png"); - if (s) { - pixmap = gnome_pixmap_new_from_file (s); - g_free(s); - } - } else if (strcmp (E_MESSAGE_BOX_WARNING, message_box_type) == 0) { - title = _("Warning"); - s = gnome_unconditional_pixmap_file ("gnome-warning.png"); - if (s) { - pixmap = gnome_pixmap_new_from_file (s); - g_free (s); - } - } else if (strcmp (E_MESSAGE_BOX_ERROR, message_box_type) == 0) { - title = _("Error"); - s = gnome_unconditional_pixmap_file ("gnome-error"); - if (s) { - pixmap = gnome_pixmap_new_from_file (s); - g_free(s); - } - } else if (strcmp (E_MESSAGE_BOX_QUESTION, message_box_type) == 0) { - title = _("Question"); - s = gnome_unconditional_pixmap_file ("gnome-question.png"); - if (s) { - pixmap = gnome_pixmap_new_from_file (s); - g_free (s); - } - } else { - title = _("Message"); - } - - g_assert (title != NULL); - - gtk_window_set_title (GTK_WINDOW (messagebox), title); - - hbox = gtk_hbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (messagebox)->vbox), - hbox, TRUE, TRUE, 10); - gtk_widget_show (hbox); - - if (pixmap == NULL) { - if (pixmap) - gtk_widget_destroy (pixmap); - s = gnome_unconditional_pixmap_file ("gnome-default.png"); - if (s) { - pixmap = gnome_pixmap_new_from_file (s); - g_free (s); - } else - pixmap = NULL; - } - if (pixmap) { - gtk_box_pack_start (GTK_BOX (hbox), pixmap, FALSE, TRUE, 0); - gtk_widget_show (pixmap); - } - - messagebox->_priv->label = gtk_label_new (message); - gtk_label_set_justify (GTK_LABEL (messagebox->_priv->label), GTK_JUSTIFY_LEFT); - gtk_label_set_line_wrap (GTK_LABEL (messagebox->_priv->label), TRUE); - gtk_misc_set_padding (GTK_MISC (messagebox->_priv->label), GNOME_PAD, 0); - gtk_box_pack_start (GTK_BOX (hbox), messagebox->_priv->label, TRUE, TRUE, 0); - gtk_widget_show (messagebox->_priv->label); - - /* Add some extra space on the right to balance the pixmap */ - if (pixmap) { - alignment = gtk_alignment_new (0., 0., 0., 0.); - gtk_widget_set_size_request (alignment, GNOME_PAD, -1); - gtk_widget_show (alignment); - - gtk_box_pack_start (GTK_BOX (hbox), alignment, FALSE, FALSE, 0); - } - - /* Add the "Don't show this message again." checkbox */ - messagebox->_priv->checkbox = gtk_check_button_new_with_label (_("Don't show this message again.")); - gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (messagebox)->vbox), - messagebox->_priv->checkbox, TRUE, TRUE, 10); - gtk_widget_show (messagebox->_priv->checkbox); - - if (buttons) { - while (buttons[i]) { - gnome_dialog_append_button (GNOME_DIALOG (messagebox), - buttons[i]); - i++; - }; - } - - if (GNOME_DIALOG (messagebox)->buttons) - gtk_widget_grab_focus (g_list_last (GNOME_DIALOG (messagebox)->buttons)->data); - - gnome_dialog_set_close (GNOME_DIALOG (messagebox), TRUE); -} - -/** - * e_message_box_new: - * @message: The message to be displayed. - * @message_box_type: The type of the message - * @...: A NULL terminated list of strings to use in each button. - * - * Creates a dialog box of type @message_box_type with @message. A number - * of buttons are inserted on it. You can use the GNOME stock identifiers - * to create gnome-stock-buttons. - * - * Returns a widget that has the dialog box. - */ -GtkWidget* -e_message_box_new (const gchar *message, - const gchar *message_box_type, ...) -{ - va_list ap; - EMessageBox *message_box; - - g_return_val_if_fail (message != NULL, NULL); - g_return_val_if_fail (message_box_type != NULL, NULL); - - va_start (ap, message_box_type); - - message_box = gtk_type_new (e_message_box_get_type ()); - - e_message_box_construct (message_box, message, message_box_type, NULL); - - /* we need to add buttons by hand here */ - while (TRUE) { - gchar * button_name; - - button_name = va_arg (ap, gchar *); - - if (button_name == NULL) { - break; - } - - gnome_dialog_append_button (GNOME_DIALOG (message_box), button_name); - } - - va_end (ap); - - gtk_widget_grab_focus (g_list_last (GNOME_DIALOG (message_box)->buttons)->data); - - return GTK_WIDGET (message_box); -} - -/** - * e_message_box_newv: - * @message: The message to be displayed. - * @message_box_type: The type of the message - * @buttons: a NULL terminated array with the buttons to insert. - * - * Creates a dialog box of type @message_box_type with @message. A number - * of buttons are inserted on it, the messages come from the @buttons array. - * You can use the GNOME stock identifiers to create gnome-stock-buttons. - * The buttons array can be NULL if you wish to add buttons yourself later. - * - * Returns a widget that has the dialog box. - */ -GtkWidget* -e_message_box_newv (const gchar *message, - const gchar *message_box_type, - const gchar **buttons) -{ - EMessageBox *message_box; - - g_return_val_if_fail (message != NULL, NULL); - g_return_val_if_fail (message_box_type != NULL, NULL); - - message_box = gtk_type_new (e_message_box_get_type ()); - - e_message_box_construct (message_box, message, - message_box_type, buttons); - - return GTK_WIDGET (message_box); -} - - -/** - * e_message_box_get_label: - * @messagebox: The message box to work on - * - * Gets the label widget of the message box. You should use this - * function instead of using the structure directly. - * - * Returns: the widget of the label with the message */ -GtkWidget * -e_message_box_get_label (EMessageBox *messagebox) -{ - g_return_val_if_fail (messagebox != NULL, NULL); - g_return_val_if_fail (E_IS_MESSAGE_BOX (messagebox), NULL); - - return messagebox->_priv->label; -} - - -/** - * e_message_box_get_checkbox: - * @messagebox: The message box to work on - * - * Gets the checkbox widget of the message box. You should use this - * function instead of using the structure directly. - * - * Returns: the checkbox widget */ -GtkWidget * -e_message_box_get_checkbox (EMessageBox *messagebox) -{ - g_return_val_if_fail (messagebox != NULL, NULL); - g_return_val_if_fail (E_IS_MESSAGE_BOX (messagebox), NULL); - - return messagebox->_priv->checkbox; -} diff --git a/widgets/misc/e-messagebox.h b/widgets/misc/e-messagebox.h deleted file mode 100644 index a659262767..0000000000 --- a/widgets/misc/e-messagebox.h +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* - * Original Author: Jay Painter - * Modified: Jeffrey Stedfast - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - * - * 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 Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - */ - - -#ifndef __E_MESSAGE_BOX_H__ -#define __E_MESSAGE_BOX_H__ - -#warning "e_messagebox is deprecated, use gtk_message_box instead" - -#include <glib.h> -#include <gtk/gtkwidget.h> -#include <libgnomeui/gnome-dialog.h> - -#define E_TYPE_MESSAGE_BOX (e_message_box_get_type ()) -#define E_MESSAGE_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_MESSAGE_BOX, EMessageBox)) -#define E_MESSAGE_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_MESSAGE_BOX, EMessageBoxClass)) -#define E_IS_MESSAGE_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_MESSAGE_BOX)) -#define E_IS_MESSAGE_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), E_TYPE_MESSAGE_BOX)) -#define E_MESSAGE_BOX_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), E_TYPE_MESSAGE_BOX, EMessageBoxClass)) - - -#define E_MESSAGE_BOX_INFO "info" -#define E_MESSAGE_BOX_WARNING "warning" -#define E_MESSAGE_BOX_ERROR "error" -#define E_MESSAGE_BOX_QUESTION "question" -#define E_MESSAGE_BOX_GENERIC "generic" - - -typedef struct _EMessageBox EMessageBox; -typedef struct _EMessageBoxPrivate EMessageBoxPrivate; -typedef struct _EMessageBoxClass EMessageBoxClass; -typedef struct _EMessageBoxButton EMessageBoxButton; - -struct _EMessageBox -{ - GnomeDialog dialog; - /*< private >*/ - EMessageBoxPrivate *_priv; -}; - -struct _EMessageBoxClass -{ - GnomeDialogClass parent_class; -}; - - -GtkType e_message_box_get_type (void) G_GNUC_CONST; -GtkWidget* e_message_box_new (const gchar *message, - const gchar *messagebox_type, - ...); - -GtkWidget* e_message_box_newv (const gchar *message, - const gchar *messagebox_type, - const gchar **buttons); - -void e_message_box_construct (EMessageBox *messagebox, - const gchar *message, - const gchar *messagebox_type, - const gchar **buttons); - -GtkWidget *e_message_box_get_label (EMessageBox *messagebox); - -GtkWidget *e_message_box_get_checkbox (EMessageBox *messagebox); - -#endif /* __E_MESSAGE_BOX_H__ */ |