/* * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser 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 Lesser General Public License * along with this program; if not, see . * * * Authors: * Michael Meeks * Ettore Perazzoli * * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) * */ #ifdef HAVE_CONFIG_H #include #endif #include "e-dialog-utils.h" /** * e_notice: * @parent: the dialog's parent window, or %NULL * @type: the type of dialog (%GTK_MESSAGE_INFO, %GTK_MESSAGE_WARNING, * or %GTK_MESSAGE_ERROR) * @format: printf-style format string, followed by arguments * * Convenience function to show a dialog with a message and an "OK" * button. **/ void e_notice (gpointer parent, GtkMessageType type, const gchar *format, ...) { GtkWidget *dialog; va_list args; gchar *str; va_start (args, format); str = g_strdup_vprintf (format, args); dialog = gtk_message_dialog_new ( NULL, GTK_DIALOG_DESTROY_WITH_PARENT, type, GTK_BUTTONS_OK, "%s", str); va_end (args); g_free (str); if (parent && !gtk_widget_is_toplevel (parent)) parent = gtk_widget_get_toplevel (parent); if (parent) gtk_window_set_transient_for (GTK_WINDOW (dialog), parent); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); }