diff options
author | Thomas Wood <thomas.wood@intel.com> | 2010-01-19 13:03:32 +0000 |
---|---|---|
committer | Thomas Wood <thomas.wood@intel.com> | 2010-01-19 13:03:32 +0000 |
commit | 54bcf1874dcf6ba27f969eea0657bbebca26260b (patch) | |
tree | 0fd89d80adad51798211638d61f9af565ccabc4d | |
parent | 2e347d700a8c57c21a9e92913b7e643893f60ef7 (diff) | |
download | gnome-control-center-54bcf1874dcf6ba27f969eea0657bbebca26260b.tar.gz |
[appearance] use GtkInfoBar rather than a copy of GeditMessageArea
GtkInfoBar (available in Gtk+ 2.18) replaces GeditMessageArea.
-rw-r--r-- | capplets/appearance/Makefile.am | 2 | ||||
-rw-r--r-- | capplets/appearance/appearance-style.c | 13 | ||||
-rw-r--r-- | capplets/appearance/appearance-themes.c | 25 | ||||
-rw-r--r-- | capplets/appearance/gedit-message-area.c | 626 | ||||
-rw-r--r-- | capplets/appearance/gedit-message-area.h | 129 | ||||
-rw-r--r-- | configure.ac | 2 |
6 files changed, 21 insertions, 776 deletions
diff --git a/capplets/appearance/Makefile.am b/capplets/appearance/Makefile.am index b940d73fb..f894f410e 100644 --- a/capplets/appearance/Makefile.am +++ b/capplets/appearance/Makefile.am @@ -16,8 +16,6 @@ gnome_appearance_properties_SOURCES = \ appearance-themes.h \ appearance-style.c \ appearance-style.h \ - gedit-message-area.c \ - gedit-message-area.h \ gnome-wp-info.c \ gnome-wp-info.h \ gnome-wp-item.c \ diff --git a/capplets/appearance/appearance-style.c b/capplets/appearance/appearance-style.c index ae95d904f..f66b82695 100644 --- a/capplets/appearance/appearance-style.c +++ b/capplets/appearance/appearance-style.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 The GNOME Foundation + * Copyright (C) 2007, 2010 The GNOME Foundation * Written by Thomas Wood <thos@gnome.org> * All Rights Reserved * @@ -28,7 +28,6 @@ #include "gconf-property-editor.h" #include "theme-thumbnail.h" #include "capplet-util.h" -#include "gedit-message-area.h" typedef void (* ThumbnailGenFunc) (void *type, ThemeThumbnailFunc theme, @@ -221,17 +220,18 @@ update_message_area (AppearanceData *data) GtkWidget *hbox; GtkWidget *parent; GtkWidget *icon; + GtkWidget *content; if (engine == NULL) return; - data->style_message_area = gedit_message_area_new (); + data->style_message_area = gtk_info_bar_new (); g_signal_connect (data->style_message_area, "response", (GCallback) style_message_area_response_cb, data); - data->style_install_button = gedit_message_area_add_button ( - GEDIT_MESSAGE_AREA (data->style_message_area), + data->style_install_button = gtk_info_bar_add_button ( + GTK_INFO_BAR (data->style_message_area), _("Install"), GTK_RESPONSE_APPLY); data->style_message_label = gtk_label_new (NULL); @@ -243,7 +243,8 @@ update_message_area (AppearanceData *data) gtk_misc_set_alignment (GTK_MISC (icon), 0.5, 0); gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), data->style_message_label, TRUE, TRUE, 0); - gedit_message_area_set_contents (GEDIT_MESSAGE_AREA (data->style_message_area), hbox); + content = gtk_info_bar_get_content_area (GTK_INFO_BAR (data->style_message_area)); + gtk_container_add (GTK_CONTAINER (content), hbox); gtk_widget_show_all (data->style_message_area); gtk_widget_set_no_show_all (data->style_message_area, TRUE); diff --git a/capplets/appearance/appearance-themes.c b/capplets/appearance/appearance-themes.c index 522106bf4..308e7ab2a 100644 --- a/capplets/appearance/appearance-themes.c +++ b/capplets/appearance/appearance-themes.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 The GNOME Foundation + * Copyright (C) 2007, 2010 The GNOME Foundation * Written by Thomas Wood <thos@gnome.org> * Jens Granseuer <jensgr@gmx.net> * All Rights Reserved @@ -26,7 +26,6 @@ #include "theme-save.h" #include "theme-util.h" #include "gtkrc-utils.h" -#include "gedit-message-area.h" #include <glib/gi18n.h> #include <libwindow-settings/gnome-wm-manager.h> @@ -658,30 +657,31 @@ theme_message_area_update (AppearanceData *data) if (data->theme_message_area == NULL) { GtkWidget *hbox; GtkWidget *parent; + GtkWidget *content; if (!show_apply_background && !show_revert_font && !show_apply_font && !show_error) return; - data->theme_message_area = gedit_message_area_new (); + data->theme_message_area = gtk_info_bar_new (); gtk_widget_set_no_show_all (data->theme_message_area, TRUE); g_signal_connect (data->theme_message_area, "response", (GCallback) theme_message_area_response_cb, data); - data->apply_background_button = gedit_message_area_add_button ( - GEDIT_MESSAGE_AREA (data->theme_message_area), + data->apply_background_button = gtk_info_bar_add_button ( + GTK_INFO_BAR (data->theme_message_area), _("Apply Background"), RESPONSE_APPLY_BG); - data->apply_font_button = gedit_message_area_add_button ( - GEDIT_MESSAGE_AREA (data->theme_message_area), + data->apply_font_button = gtk_info_bar_add_button ( + GTK_INFO_BAR (data->theme_message_area), _("Apply Font"), RESPONSE_APPLY_FONT); - data->revert_font_button = gedit_message_area_add_button ( - GEDIT_MESSAGE_AREA (data->theme_message_area), + data->revert_font_button = gtk_info_bar_add_button ( + GTK_INFO_BAR (data->theme_message_area), _("Revert Font"), RESPONSE_REVERT_FONT); - data->install_button = gedit_message_area_add_button ( - GEDIT_MESSAGE_AREA (data->theme_message_area), + data->install_button = gtk_info_bar_add_button ( + GTK_INFO_BAR (data->theme_message_area), _("Install"), RESPONSE_INSTALL_ENGINE); @@ -699,7 +699,8 @@ theme_message_area_update (AppearanceData *data) gtk_box_pack_start (GTK_BOX (hbox), data->theme_info_icon, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), data->theme_error_icon, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), data->theme_message_label, TRUE, TRUE, 0); - gedit_message_area_set_contents (GEDIT_MESSAGE_AREA (data->theme_message_area), hbox); + content = gtk_info_bar_get_content_area (GTK_INFO_BAR (data->theme_message_area)); + gtk_container_add (GTK_CONTAINER (content), hbox); parent = appearance_capplet_get_widget (data, "theme_list_vbox"); gtk_box_pack_start (GTK_BOX (parent), data->theme_message_area, FALSE, FALSE, 0); diff --git a/capplets/appearance/gedit-message-area.c b/capplets/appearance/gedit-message-area.c deleted file mode 100644 index 092405157..000000000 --- a/capplets/appearance/gedit-message-area.c +++ /dev/null @@ -1,626 +0,0 @@ -/* - * gedit-message-area.c - * This file is part of gedit - * - * Copyright (C) 2005 - Paolo Maggi - * - * 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 Place, Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the gedit Team, 2005. See the AUTHORS file for a - * list of people on the gedit Team. - * See the ChangeLog files for a list of changes. - * - * $Id$ - */ - -/* TODO: Style properties */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include <glib/gi18n.h> -#include <gtk/gtk.h> -#include <gdk/gdk.h> -#include <gdk/gdkkeysyms.h> - -#include "gedit-message-area.h" - -#define GEDIT_MESSAGE_AREA_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), \ - GEDIT_TYPE_MESSAGE_AREA, \ - GeditMessageAreaPrivate)) - -struct _GeditMessageAreaPrivate -{ - GtkWidget *main_hbox; - - GtkWidget *contents; - GtkWidget *action_area; - - gboolean changing_style; -}; - -typedef struct _ResponseData ResponseData; - -struct _ResponseData -{ - gint response_id; -}; - -enum { - RESPONSE, - CLOSE, - LAST_SIGNAL -}; - -static guint signals[LAST_SIGNAL]; - -G_DEFINE_TYPE(GeditMessageArea, gedit_message_area, GTK_TYPE_HBOX) - - -static void -gedit_message_area_finalize (GObject *object) -{ - /* - GeditMessageArea *message_area = GEDIT_MESSAGE_AREA (object); - */ - - G_OBJECT_CLASS (gedit_message_area_parent_class)->finalize (object); -} - -static ResponseData * -get_response_data (GtkWidget *widget, - gboolean create) -{ - ResponseData *ad = g_object_get_data (G_OBJECT (widget), - "gedit-message-area-response-data"); - - if (ad == NULL && create) - { - ad = g_new (ResponseData, 1); - - g_object_set_data_full (G_OBJECT (widget), - "gedit-message-area-response-data", - ad, - g_free); - } - - return ad; -} - -static GtkWidget * -find_button (GeditMessageArea *message_area, - gint response_id) -{ - GList *children, *tmp_list; - GtkWidget *child = NULL; - - children = gtk_container_get_children ( - GTK_CONTAINER (message_area->priv->action_area)); - - for (tmp_list = children; tmp_list; tmp_list = tmp_list->next) - { - ResponseData *rd = get_response_data (tmp_list->data, FALSE); - - if (rd && rd->response_id == response_id) - { - child = tmp_list->data; - break; - } - } - - g_list_free (children); - - return child; -} - -static void -gedit_message_area_close (GeditMessageArea *message_area) -{ - if (!find_button (message_area, GTK_RESPONSE_CANCEL)) - return; - - /* emit response signal */ - gedit_message_area_response (GEDIT_MESSAGE_AREA (message_area), - GTK_RESPONSE_CANCEL); -} - -static gboolean -paint_message_area (GtkWidget *widget, - GdkEventExpose *event, - gpointer user_data) -{ - gtk_paint_flat_box (widget->style, - widget->window, - GTK_STATE_NORMAL, - GTK_SHADOW_OUT, - NULL, - widget, - "tooltip", - widget->allocation.x + 1, - widget->allocation.y + 1, - widget->allocation.width - 2, - widget->allocation.height - 2); - - return FALSE; -} - -static void -gedit_message_area_class_init (GeditMessageAreaClass *klass) -{ - GObjectClass *object_class; - GtkBindingSet *binding_set; - - object_class = G_OBJECT_CLASS (klass); - object_class->finalize = gedit_message_area_finalize; - - klass->close = gedit_message_area_close; - - g_type_class_add_private (object_class, sizeof(GeditMessageAreaPrivate)); - - signals[RESPONSE] = g_signal_new ("response", - G_OBJECT_CLASS_TYPE (klass), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GeditMessageAreaClass, response), - NULL, NULL, - g_cclosure_marshal_VOID__INT, - G_TYPE_NONE, 1, - G_TYPE_INT); - - signals[CLOSE] = g_signal_new ("close", - G_OBJECT_CLASS_TYPE (klass), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET (GeditMessageAreaClass, close), - NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); - - binding_set = gtk_binding_set_by_class (klass); - - gtk_binding_entry_add_signal (binding_set, GDK_Escape, 0, "close", 0); -} - -static void -style_set (GtkWidget *widget, - GtkStyle *prev_style, - GeditMessageArea *message_area) -{ - GtkWidget *window; - GtkStyle *style; - - if (message_area->priv->changing_style) - return; - - /* This is a hack needed to use the tooltip background color */ - window = gtk_window_new (GTK_WINDOW_POPUP); - gtk_widget_set_name (window, "gtk-tooltip"); - gtk_widget_ensure_style (window); - style = gtk_widget_get_style (window); - - message_area->priv->changing_style = TRUE; - gtk_widget_set_style (GTK_WIDGET (message_area), style); - message_area->priv->changing_style = FALSE; - - gtk_widget_destroy (window); - - gtk_widget_queue_draw (GTK_WIDGET (message_area)); -} - -static void -gedit_message_area_init (GeditMessageArea *message_area) -{ - message_area->priv = GEDIT_MESSAGE_AREA_GET_PRIVATE (message_area); - - message_area->priv->main_hbox = gtk_hbox_new (FALSE, 16); /* FIXME: use style properties */ - gtk_widget_show (message_area->priv->main_hbox); - gtk_container_set_border_width (GTK_CONTAINER (message_area->priv->main_hbox), - 8); /* FIXME: use style properties */ - - message_area->priv->action_area = gtk_vbox_new (TRUE, 10); /* FIXME: use style properties */ - gtk_widget_show (message_area->priv->action_area); - gtk_box_pack_end (GTK_BOX (message_area->priv->main_hbox), - message_area->priv->action_area, - FALSE, - TRUE, - 0); - - gtk_box_pack_start (GTK_BOX (message_area), - message_area->priv->main_hbox, - TRUE, - TRUE, - 0); - - gtk_widget_set_app_paintable (GTK_WIDGET (message_area), TRUE); - - g_signal_connect (message_area, - "expose-event", - G_CALLBACK (paint_message_area), - NULL); - - /* Note that we connect to style-set on one of the internal - * widgets, not on the message area itself, since gtk does - * not deliver any further style-set signals for a widget on - * which the style has been forced with gtk_widget_set_style() */ - g_signal_connect (message_area->priv->main_hbox, - "style-set", - G_CALLBACK (style_set), - message_area); -} - -static gint -get_response_for_widget (GeditMessageArea *message_area, - GtkWidget *widget) -{ - ResponseData *rd; - - rd = get_response_data (widget, FALSE); - if (!rd) - return GTK_RESPONSE_NONE; - else - return rd->response_id; -} - -static void -action_widget_activated (GtkWidget *widget, GeditMessageArea *message_area) -{ - gint response_id; - - response_id = get_response_for_widget (message_area, widget); - - gedit_message_area_response (message_area, response_id); -} - -void -gedit_message_area_add_action_widget (GeditMessageArea *message_area, - GtkWidget *child, - gint response_id) -{ - ResponseData *ad; - guint signal_id; - - g_return_if_fail (GEDIT_IS_MESSAGE_AREA (message_area)); - g_return_if_fail (GTK_IS_WIDGET (child)); - - ad = get_response_data (child, TRUE); - - ad->response_id = response_id; - - if (GTK_IS_BUTTON (child)) - signal_id = g_signal_lookup ("clicked", GTK_TYPE_BUTTON); - else - signal_id = GTK_WIDGET_GET_CLASS (child)->activate_signal; - - if (signal_id) - { - GClosure *closure; - - closure = g_cclosure_new_object (G_CALLBACK (action_widget_activated), - G_OBJECT (message_area)); - - g_signal_connect_closure_by_id (child, - signal_id, - 0, - closure, - FALSE); - } - else - g_warning ("Only 'activatable' widgets can be packed into the action area of a GeditMessageArea"); - - if (response_id != GTK_RESPONSE_HELP) - gtk_box_pack_start (GTK_BOX (message_area->priv->action_area), - child, - FALSE, - FALSE, - 0); - else - gtk_box_pack_end (GTK_BOX (message_area->priv->action_area), - child, - FALSE, - FALSE, - 0); -} - -/** - * gedit_message_area_set_contents: - * @message_area: a #GeditMessageArea - * @contents: widget you want to add to the contents area - * - * Adds the @contents widget to the contents area of #GeditMessageArea. - */ -void -gedit_message_area_set_contents (GeditMessageArea *message_area, - GtkWidget *contents) -{ - g_return_if_fail (GEDIT_IS_MESSAGE_AREA (message_area)); - g_return_if_fail (GTK_IS_WIDGET (contents)); - - message_area->priv->contents = contents; - gtk_box_pack_start (GTK_BOX (message_area->priv->main_hbox), - message_area->priv->contents, - TRUE, - TRUE, - 0); -} - -/** - * gedit_message_area_add_button: - * @message_area: a #GeditMessageArea - * @button_text: text of button, or stock ID - * @response_id: response ID for the button - * - * Adds a button with the given text (or a stock button, if button_text is a stock ID) - * and sets things up so that clicking the button will emit the "response" signal - * with the given response_id. The button is appended to the end of the message area's - * action area. The button widget is returned, but usually you don't need it. - * - * Returns: the button widget that was added - */ -GtkWidget* -gedit_message_area_add_button (GeditMessageArea *message_area, - const gchar *button_text, - gint response_id) -{ - GtkWidget *button; - - g_return_val_if_fail (GEDIT_IS_MESSAGE_AREA (message_area), NULL); - g_return_val_if_fail (button_text != NULL, NULL); - - button = gtk_button_new_from_stock (button_text); - - GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); - - gtk_widget_show (button); - - gedit_message_area_add_action_widget (message_area, - button, - response_id); - - return button; -} - -static void -add_buttons_valist (GeditMessageArea *message_area, - const gchar *first_button_text, - va_list args) -{ - const gchar* text; - gint response_id; - - g_return_if_fail (GEDIT_IS_MESSAGE_AREA (message_area)); - - if (first_button_text == NULL) - return; - - text = first_button_text; - response_id = va_arg (args, gint); - - while (text != NULL) - { - gedit_message_area_add_button (message_area, - text, - response_id); - - text = va_arg (args, gchar*); - if (text == NULL) - break; - - response_id = va_arg (args, int); - } -} - -/** - * gedit_message_area_add_buttons: - * @message_area: a #GeditMessageArea - * @first_button_text: button text or stock ID - * @...: response ID for first button, then more text-response_id pairs - * - * Adds more buttons, same as calling gedit_message_area_add_button() repeatedly. - * The variable argument list should be NULL-terminated as with - * gedit_message_area_new_with_buttons(). Each button must have both text and response ID. - */ -void -gedit_message_area_add_buttons (GeditMessageArea *message_area, - const gchar *first_button_text, - ...) -{ - va_list args; - - va_start (args, first_button_text); - - add_buttons_valist (message_area, - first_button_text, - args); - - va_end (args); -} - -/** - * gedit_message_area_new: - * - * Creates a new #GeditMessageArea object. - * - * Returns: a new #GeditMessageArea object - */ -GtkWidget * -gedit_message_area_new (void) -{ - return g_object_new (GEDIT_TYPE_MESSAGE_AREA, NULL); -} - -/** - * gedit_message_area_new_with_buttons: - * @first_button_text: stock ID or text to go in first button, or NULL - * @...: response ID for first button, then additional buttons, ending with NULL - * - * Creates a new #GeditMessageArea with buttons. Button text/response ID pairs - * should be listed, with a NULL pointer ending the list. Button text can be either - * a stock ID such as GTK_STOCK_OK, or some arbitrary text. A response ID can be any - * positive number, or one of the values in the GtkResponseType enumeration. If - * the user clicks one of these dialog buttons, GeditMessageArea will emit the "response" - * signal with the corresponding response ID. - * - * Returns: a new #GeditMessageArea - */ -GtkWidget * -gedit_message_area_new_with_buttons (const gchar *first_button_text, - ...) -{ - GeditMessageArea *message_area; - va_list args; - - message_area = GEDIT_MESSAGE_AREA (gedit_message_area_new ()); - - va_start (args, first_button_text); - - add_buttons_valist (message_area, - first_button_text, - args); - - va_end (args); - - return GTK_WIDGET (message_area); -} - -/** - * gedit_message_area_set_response_sensitive: - * @message_area: a #GeditMessageArea - * @response_id: a response ID - * @setting: TRUE for sensitive - * - * Calls gtk_widget_set_sensitive (widget, setting) for each widget in the dialog's - * action area with the given response_id. A convenient way to sensitize/desensitize - * dialog buttons. - */ -void -gedit_message_area_set_response_sensitive (GeditMessageArea *message_area, - gint response_id, - gboolean setting) -{ - GList *children; - GList *tmp_list; - - g_return_if_fail (GEDIT_IS_MESSAGE_AREA (message_area)); - - children = gtk_container_get_children (GTK_CONTAINER (message_area->priv->action_area)); - - tmp_list = children; - while (tmp_list != NULL) - { - GtkWidget *widget = tmp_list->data; - ResponseData *rd = get_response_data (widget, FALSE); - - if (rd && rd->response_id == response_id) - gtk_widget_set_sensitive (widget, setting); - - tmp_list = g_list_next (tmp_list); - } - - g_list_free (children); -} - -/** - * gedit_message_area_set_default_response: - * @message_area: a #GeditMessageArea - * @response_id: a response ID - * - * Sets the last widget in the message area's action area with the given response_id - * as the default widget for the dialog. Pressing "Enter" normally activates the - * default widget. - */ -void -gedit_message_area_set_default_response (GeditMessageArea *message_area, - gint response_id) -{ - GList *children; - GList *tmp_list; - - g_return_if_fail (GEDIT_IS_MESSAGE_AREA (message_area)); - - children = gtk_container_get_children (GTK_CONTAINER (message_area->priv->action_area)); - - tmp_list = children; - while (tmp_list != NULL) - { - GtkWidget *widget = tmp_list->data; - ResponseData *rd = get_response_data (widget, FALSE); - - if (rd && rd->response_id == response_id) - gtk_widget_grab_default (widget); - - tmp_list = g_list_next (tmp_list); - } - - g_list_free (children); -} - -/** - * gedit_message_area_set_default_response: - * @message_area: a #GeditMessageArea - * @response_id: a response ID - * - * Emits the 'response' signal with the given @response_id. - */ -void -gedit_message_area_response (GeditMessageArea *message_area, - gint response_id) -{ - g_return_if_fail (GEDIT_IS_MESSAGE_AREA (message_area)); - - g_signal_emit (message_area, - signals[RESPONSE], - 0, - response_id); -} - -/** - * gedit_message_area_add_stock_button_with_text: - * @message_area: a #GeditMessageArea - * @text: the text to visualize in the button - * @stock_id: the stock ID of the button - * @response_id: a response ID - * - * Same as gedit_message_area_add_button() but with a specific text. - */ -GtkWidget * -gedit_message_area_add_stock_button_with_text (GeditMessageArea *message_area, - const gchar *text, - const gchar *stock_id, - gint response_id) -{ - GtkWidget *button; - - g_return_val_if_fail (GEDIT_IS_MESSAGE_AREA (message_area), NULL); - g_return_val_if_fail (text != NULL, NULL); - g_return_val_if_fail (stock_id != NULL, NULL); - - button = gtk_button_new_with_mnemonic (text); - gtk_button_set_image (GTK_BUTTON (button), - gtk_image_new_from_stock (stock_id, - GTK_ICON_SIZE_BUTTON)); - - GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); - - gtk_widget_show (button); - - gedit_message_area_add_action_widget (message_area, - button, - response_id); - - return button; -} - diff --git a/capplets/appearance/gedit-message-area.h b/capplets/appearance/gedit-message-area.h deleted file mode 100644 index 01dfff0ce..000000000 --- a/capplets/appearance/gedit-message-area.h +++ /dev/null @@ -1,129 +0,0 @@ -/* - * gedit-message-area.h - * This file is part of gedit - * - * Copyright (C) 2005 - Paolo Maggi - * - * 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 Place, Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the gedit Team, 2005. See the AUTHORS file for a - * list of people on the gedit Team. - * See the ChangeLog files for a list of changes. - * - * $Id$ - */ - -#ifndef __GEDIT_MESSAGE_AREA_H__ -#define __GEDIT_MESSAGE_AREA_H__ - -#include <gtk/gtk.h> - -G_BEGIN_DECLS - -/* - * Type checking and casting macros - */ -#define GEDIT_TYPE_MESSAGE_AREA (gedit_message_area_get_type()) -#define GEDIT_MESSAGE_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GEDIT_TYPE_MESSAGE_AREA, GeditMessageArea)) -#define GEDIT_MESSAGE_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GEDIT_TYPE_MESSAGE_AREA, GeditMessageAreaClass)) -#define GEDIT_IS_MESSAGE_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GEDIT_TYPE_MESSAGE_AREA)) -#define GEDIT_IS_MESSAGE_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEDIT_TYPE_MESSAGE_AREA)) -#define GEDIT_MESSAGE_AREA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GEDIT_TYPE_MESSAGE_AREA, GeditMessageAreaClass)) - -/* Private structure type */ -typedef struct _GeditMessageAreaPrivate GeditMessageAreaPrivate; - -/* - * Main object structure - */ -typedef struct _GeditMessageArea GeditMessageArea; - -struct _GeditMessageArea -{ - GtkHBox parent; - - /*< private > */ - GeditMessageAreaPrivate *priv; -}; - -/* - * Class definition - */ -typedef struct _GeditMessageAreaClass GeditMessageAreaClass; - -struct _GeditMessageAreaClass -{ - GtkHBoxClass parent_class; - - /* Signals */ - void (* response) (GeditMessageArea *message_area, gint response_id); - - /* Keybinding signals */ - void (* close) (GeditMessageArea *message_area); - - /* Padding for future expansion */ - void (*_gedit_reserved1) (void); - void (*_gedit_reserved2) (void); -}; - -/* - * Public methods - */ -GType gedit_message_area_get_type (void) G_GNUC_CONST; - -GtkWidget *gedit_message_area_new (void); - -GtkWidget *gedit_message_area_new_with_buttons (const gchar *first_button_text, - ...); - -void gedit_message_area_set_contents (GeditMessageArea *message_area, - GtkWidget *contents); - -void gedit_message_area_add_action_widget (GeditMessageArea *message_area, - GtkWidget *child, - gint response_id); - -GtkWidget *gedit_message_area_add_button (GeditMessageArea *message_area, - const gchar *button_text, - gint response_id); - -GtkWidget *gedit_message_area_add_stock_button_with_text - (GeditMessageArea *message_area, - const gchar *text, - const gchar *stock_id, - gint response_id); - -void gedit_message_area_add_buttons (GeditMessageArea *message_area, - const gchar *first_button_text, - ...); - -void gedit_message_area_set_response_sensitive - (GeditMessageArea *message_area, - gint response_id, - gboolean setting); -void gedit_message_area_set_default_response - (GeditMessageArea *message_area, - gint response_id); - -/* Emit response signal */ -void gedit_message_area_response (GeditMessageArea *message_area, - gint response_id); - -G_END_DECLS - -#endif /* __GEDIT_MESSAGE_AREA_H__ */ diff --git a/configure.ac b/configure.ac index 158d141f0..a5f847dd1 100644 --- a/configure.ac +++ b/configure.ac @@ -88,7 +88,7 @@ dnl ============================================== dnl Check that we meet the dependencies dnl ============================================== -COMMON_MODULES="gtk+-2.0 >= 2.15.0 dnl +COMMON_MODULES="gtk+-2.0 >= 2.18.0 dnl glib-2.0 >= 2.17.4 dnl gthread-2.0 dnl gio-2.0 dnl |