static GtkWidget * gui_connection_infobar_new(GtkWidget **out_infobar_close, GtkWidget **out_infobar_reconnect) { GtkWidget *infobar; GtkWidget *msg_label, *content_area, *action_area; msg_label = gtk_label_new(""); gtk_label_set_markup(GTK_LABEL(msg_label), "<b>ERROR: Connection lost</b>"); gtk_widget_show(msg_label); infobar = gtk_info_bar_new(); gtk_info_bar_set_message_type(GTK_INFO_BAR(infobar), GTK_MESSAGE_ERROR); content_area = gtk_info_bar_get_content_area(GTK_INFO_BAR(infobar)); gtk_container_add(GTK_CONTAINER(content_area), msg_label); *out_infobar_close = gtk_info_bar_add_button(GTK_INFO_BAR(infobar), "Close", 0); *out_infobar_reconnect = gtk_info_bar_add_button(GTK_INFO_BAR(infobar), "Reconnect", 0); gtk_widget_set_no_show_all(infobar, TRUE); action_area = gtk_info_bar_get_action_area(GTK_INFO_BAR(infobar)); gtk_orientable_set_orientation(GTK_ORIENTABLE(action_area), GTK_ORIENTATION_HORIZONTAL); return infobar; }
GtkWidget * create_info_bar_import_music(struct con_win *cwin) { const gchar *dir = g_get_user_special_dir(G_USER_DIRECTORY_MUSIC); GtkWidget *info_bar = gtk_info_bar_new(); GtkWidget *action_area = gtk_info_bar_get_action_area(GTK_INFO_BAR (info_bar)); GtkWidget *content_area = gtk_info_bar_get_content_area(GTK_INFO_BAR(info_bar)); gtk_orientable_set_orientation(GTK_ORIENTABLE(action_area), GTK_ORIENTATION_HORIZONTAL); //GtkInfoBar has undocumented behavior for GTK_RESPONSE_CANCEL gtk_info_bar_add_button(GTK_INFO_BAR(info_bar), GTK_STOCK_NO, GTK_RESPONSE_CANCEL); gtk_info_bar_add_button(GTK_INFO_BAR(info_bar), GTK_STOCK_YES, GTK_RESPONSE_YES); gchar *content = g_strdup_printf(_("Would you like to import %s to library?"), dir); GtkWidget *label = gtk_label_new(content); gtk_box_pack_start(GTK_BOX(content_area), label, FALSE, FALSE, 0); g_signal_connect(info_bar, "response", G_CALLBACK(info_bar_response_cb), cwin); gtk_widget_show_all(info_bar); g_free(content); return info_bar; }
JNIEXPORT jlong JNICALL Java_org_gnome_gtk_GtkInfoBar_gtk_1info_1bar_1get_1action_1area ( JNIEnv* env, jclass cls, jlong _self ) { GtkWidget* result; jlong _result; GtkInfoBar* self; // convert parameter self self = (GtkInfoBar*) _self; // call function result = gtk_info_bar_get_action_area(self); // cleanup parameter self // translate return value to JNI type _result = (jlong) result; // cleanup return value if (result != NULL) { bindings_java_memory_cleanup((GObject*)result, FALSE); } // and finally return _result; }
static GtkWidget * create_top_bar (EmpathyAppPluginWidget *self) { GtkWidget *bar, *content, *action, *label; GtkCssProvider *css; AgProvider *provider; gchar *str; GError *error = NULL; bar = gtk_info_bar_new_with_buttons ( GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, _("Done"), GTK_RESPONSE_OK, NULL); gtk_widget_set_hexpand (bar, TRUE); gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_QUESTION); action = gtk_info_bar_get_action_area (GTK_INFO_BAR (bar)); gtk_orientable_set_orientation (GTK_ORIENTABLE (action), GTK_ORIENTATION_HORIZONTAL); gtk_widget_set_name (bar, "authorization-infobar"); css = gtk_css_provider_new (); if (gtk_css_provider_load_from_data (css, "@define-color question_bg_color rgb (222, 222, 222);" "GtkInfoBar#authorization-infobar" "{" " color: @fg_color;" "}", -1, &error)) { GtkStyleContext *context = gtk_widget_get_style_context (bar); gtk_style_context_add_provider (context, (GtkStyleProvider *) css, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); } else { g_warning ("Error processing CSS theme override: %s", error->message); g_clear_error (&error); } g_object_unref (css); content = gtk_info_bar_get_content_area (GTK_INFO_BAR (bar)); provider = ag_manager_get_provider ( ag_account_get_manager (self->priv->account), ag_account_get_provider_name (self->priv->account)); str = g_strdup_printf (_("Edit %s account options"), ag_provider_get_display_name (provider)); label = gtk_label_new (str); gtk_container_add (GTK_CONTAINER (content), label); gtk_widget_show (label); ag_provider_unref (provider); g_free (str); g_signal_connect (bar, "response", G_CALLBACK (response_cb), self); return bar; }
/*! \private * \brief Initialize GschemTranslateWidget instance * * \param [in,out] widget the GschemTranslateWidget */ static void instance_init (GschemTranslateWidget *widget) { GtkWidget *action = gtk_info_bar_get_action_area (GTK_INFO_BAR (widget)); GtkWidget *button_box; GtkWidget *cancel_button; GtkWidget *content = gtk_info_bar_get_content_area (GTK_INFO_BAR (widget)); g_return_if_fail (widget != NULL); gtk_widget_set_no_show_all (GTK_WIDGET (widget), TRUE); widget->label = gtk_label_new (NULL); gtk_widget_set_visible (widget->label, TRUE); gtk_box_pack_start (GTK_BOX (content), widget->label, FALSE, FALSE, 0); widget->entry = gtk_entry_new (); gtk_widget_set_visible (widget->entry, TRUE); gtk_box_pack_start (GTK_BOX (content), widget->entry, TRUE, TRUE, 0); button_box = gtk_hbutton_box_new (); gtk_widget_set_visible (button_box, TRUE); gtk_box_pack_start (GTK_BOX (content), button_box, FALSE, FALSE, 0); widget->evaluate_button = gtk_button_new_with_label (_("Translate")); gtk_widget_set_sensitive (widget->evaluate_button, FALSE); gtk_widget_set_visible (widget->evaluate_button, TRUE); gtk_box_pack_start (GTK_BOX (button_box), widget->evaluate_button, FALSE, FALSE, 0); cancel_button = gtk_button_new_from_stock (GTK_STOCK_CANCEL); gtk_widget_set_visible (cancel_button, TRUE); gtk_box_pack_start (GTK_BOX (button_box), cancel_button, FALSE, FALSE, 0); gtk_widget_set_no_show_all (action, TRUE); gtk_widget_set_visible (action, FALSE); g_signal_connect (G_OBJECT (widget->entry), "activate", G_CALLBACK (activate_entry), widget); g_signal_connect (G_OBJECT (cancel_button), "clicked", G_CALLBACK (click_cancel), widget); g_signal_connect (G_OBJECT (widget->evaluate_button), "clicked", G_CALLBACK (click_evaluate), widget); g_signal_connect (G_OBJECT (widget->entry), "notify::text", G_CALLBACK (notify_entry_text), widget); }
static void nautilus_trash_bar_init (NautilusTrashBar *bar) { GtkWidget *content_area, *action_area, *w; GtkWidget *label; PangoAttrList *attrs; bar->priv = NAUTILUS_TRASH_BAR_GET_PRIVATE (bar); content_area = gtk_info_bar_get_content_area (GTK_INFO_BAR (bar)); action_area = gtk_info_bar_get_action_area (GTK_INFO_BAR (bar)); gtk_orientable_set_orientation (GTK_ORIENTABLE (action_area), GTK_ORIENTATION_HORIZONTAL); attrs = pango_attr_list_new (); pango_attr_list_insert (attrs, pango_attr_weight_new (PANGO_WEIGHT_BOLD)); label = gtk_label_new (_("Trash")); gtk_label_set_attributes (GTK_LABEL (label), attrs); pango_attr_list_unref (attrs); gtk_widget_show (label); gtk_container_add (GTK_CONTAINER (content_area), label); w = gtk_info_bar_add_button (GTK_INFO_BAR (bar), _("_Restore"), TRASH_BAR_RESPONSE_RESTORE); gtk_widget_set_tooltip_text (w, _("Restore selected items to their original position")); w = gtk_info_bar_add_button (GTK_INFO_BAR (bar), /* Translators: "Empty" is an action (for the trash) , not a state */ _("_Empty"), TRASH_BAR_RESPONSE_EMPTY); gtk_widget_set_tooltip_text (w, _("Delete all items in the Trash")); g_signal_connect_object (nautilus_trash_monitor_get (), "trash-state-changed", G_CALLBACK (nautilus_trash_bar_trash_state_changed), bar, 0); nautilus_trash_bar_trash_state_changed (nautilus_trash_monitor_get (), FALSE, bar); g_signal_connect (bar, "response", G_CALLBACK (trash_bar_response_cb), bar); }
static void nemo_interesting_folder_bar_constructed (GObject *obj) { G_OBJECT_CLASS (nemo_interesting_folder_bar_parent_class)->constructed (obj); NemoInterestingFolderBar *bar = NEMO_INTERESTING_FOLDER_BAR (obj); GtkWidget *content_area, *action_area, *w; GtkWidget *label; content_area = gtk_info_bar_get_content_area (GTK_INFO_BAR (bar)); action_area = gtk_info_bar_get_action_area (GTK_INFO_BAR (bar)); gtk_orientable_set_orientation (GTK_ORIENTABLE (action_area), GTK_ORIENTATION_HORIZONTAL); switch (bar->priv->type) { case TYPE_ACTIONS_FOLDER: label = gtk_label_new (_("Actions: Action files can be added to this folder and will appear in the menu.")); w = gtk_info_bar_add_button (GTK_INFO_BAR (bar), _("More info"), INTERESTING_FOLDER_BAR_ACTION_OPEN_DOC); gtk_widget_set_tooltip_text (w, _("View a sample action file with documentation")); break; case TYPE_SCRIPTS_FOLDER: label = gtk_label_new (_("Scripts: All executable files in this folder will appear in the " "Scripts menu.")); w = gtk_info_bar_add_button (GTK_INFO_BAR (bar), _("More info"), INTERESTING_FOLDER_BAR_SCRIPT_OPEN_DOC); gtk_widget_set_tooltip_text (w, _("View additional information about creating scripts")); break; case TYPE_NONE_FOLDER: default: label = gtk_label_new ("undefined"); break; } gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_style_context_add_class (gtk_widget_get_style_context (label), "nemo-cluebar-label"); gtk_widget_show (label); gtk_container_add (GTK_CONTAINER (content_area), label); g_signal_connect (bar, "response", G_CALLBACK (interesting_folder_bar_response_cb), bar); }
static void nemo_trash_bar_init (NemoTrashBar *bar) { GtkWidget *content_area, *action_area, *w; GtkWidget *label; bar->priv = NEMO_TRASH_BAR_GET_PRIVATE (bar); content_area = gtk_info_bar_get_content_area (GTK_INFO_BAR (bar)); action_area = gtk_info_bar_get_action_area (GTK_INFO_BAR (bar)); gtk_orientable_set_orientation (GTK_ORIENTABLE (action_area), GTK_ORIENTATION_HORIZONTAL); label = gtk_label_new (_("Trash")); gtk_style_context_add_class (gtk_widget_get_style_context (label), "nemo-cluebar-label"); gtk_widget_show (label); gtk_container_add (GTK_CONTAINER (content_area), label); w = gtk_info_bar_add_button (GTK_INFO_BAR (bar), _("Restore Selected Items"), TRASH_BAR_RESPONSE_RESTORE); gtk_widget_set_tooltip_text (w, _("Restore selected items to their original position")); w = gtk_info_bar_add_button (GTK_INFO_BAR (bar), _("Empty _Trash"), TRASH_BAR_RESPONSE_EMPTY); gtk_widget_set_tooltip_text (w, _("Delete all items in the Trash")); g_signal_connect_object (nemo_trash_monitor_get (), "trash_state_changed", G_CALLBACK (nemo_trash_bar_trash_state_changed), bar, 0); nemo_trash_bar_trash_state_changed (nemo_trash_monitor_get (), FALSE, bar); g_signal_connect (bar, "response", G_CALLBACK (trash_bar_response_cb), bar); }
GtkWidget *create_info_bar_update_music(struct con_win *cwin) { GtkWidget *info_bar = gtk_info_bar_new(); GtkWidget *action_area = gtk_info_bar_get_action_area(GTK_INFO_BAR (info_bar)); GtkWidget *content_area = gtk_info_bar_get_content_area(GTK_INFO_BAR(info_bar)); gtk_orientable_set_orientation(GTK_ORIENTABLE(action_area), GTK_ORIENTATION_HORIZONTAL); //GtkInfoBar has undocumented behavior for GTK_RESPONSE_CANCEL gtk_info_bar_add_button(GTK_INFO_BAR(info_bar), GTK_STOCK_NO, GTK_RESPONSE_CANCEL); gtk_info_bar_add_button(GTK_INFO_BAR(info_bar), GTK_STOCK_YES, GTK_RESPONSE_YES); GtkWidget *label = gtk_label_new(_("Want to upgrade your music library?")); gtk_box_pack_start(GTK_BOX(content_area), label, FALSE, FALSE, 0); g_signal_connect(info_bar, "response", G_CALLBACK(info_bar_update_response_cb), cwin); gtk_widget_show_all(info_bar); return info_bar; }
static void wallpaper_data_set (WallpaperData *wdata) { GtkWidget *infobar; wallpaper_style_set_as_current (&wdata->new_style); infobar = gth_browser_get_infobar (wdata->browser); gth_info_bar_set_icon (GTH_INFO_BAR (infobar), GTK_STOCK_DIALOG_INFO); { char *name; char *msg; name = _g_file_get_display_name (wdata->new_style.file); msg = g_strdup_printf ("The image \"%s\" has been set as desktop background", name); gth_info_bar_set_primary_text (GTH_INFO_BAR (infobar), msg); g_free (msg); g_free (name); } _gtk_info_bar_clear_action_area (GTK_INFO_BAR (infobar)); gtk_orientable_set_orientation (GTK_ORIENTABLE (gtk_info_bar_get_action_area (GTK_INFO_BAR (infobar))), GTK_ORIENTATION_HORIZONTAL); gtk_info_bar_set_message_type (GTK_INFO_BAR (infobar), GTK_MESSAGE_INFO); gtk_info_bar_add_buttons (GTK_INFO_BAR (infobar), GTK_STOCK_PREFERENCES, _RESPONSE_PREFERENCES, GTK_STOCK_UNDO, _RESPONSE_UNDO, GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL); gtk_info_bar_set_response_sensitive (GTK_INFO_BAR (infobar), _RESPONSE_UNDO, wdata->old_style.file != NULL); wdata->response_id = g_signal_connect (infobar, "response", G_CALLBACK (infobar_response_cb), wdata); gtk_widget_show (infobar); }
static void nemo_thumbnail_problem_bar_constructed (GObject *obj) { G_OBJECT_CLASS (nemo_thumbnail_problem_bar_parent_class)->constructed (obj); NemoThumbnailProblemBar *bar = NEMO_THUMBNAIL_PROBLEM_BAR (obj); GtkWidget *content_area, *action_area; G_GNUC_UNUSED GtkWidget *w; GtkWidget *label; content_area = gtk_info_bar_get_content_area (GTK_INFO_BAR (bar)); action_area = gtk_info_bar_get_action_area (GTK_INFO_BAR (bar)); gtk_orientable_set_orientation (GTK_ORIENTABLE (action_area), GTK_ORIENTATION_HORIZONTAL); label = gtk_label_new (_("A problem has been detected with your thumbnail cache. Fixing it will require administrative privileges.")); /* w is useless - this method creates the widget and adds/refs it to the info bar at the same time */ w = gtk_info_bar_add_button (GTK_INFO_BAR (bar), _("Fix now"), FIX_CACHE); w = gtk_info_bar_add_button (GTK_INFO_BAR (bar), _("Dismiss"), DISMISS); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_style_context_add_class (gtk_widget_get_style_context (label), "nemo-cluebar-label"); gtk_widget_show (label); gtk_container_add (GTK_CONTAINER (content_area), label); g_signal_connect (bar, "response", G_CALLBACK (thumbnail_problem_bar_response_cb), bar); }
static void main_window_error_display (EmpathyMainWindow *window, TpAccount *account, const gchar *message) { GtkWidget *info_bar; GtkWidget *content_area; GtkWidget *label; GtkWidget *image; GtkWidget *retry_button; GtkWidget *edit_button; GtkWidget *close_button; GtkWidget *action_area; GtkWidget *action_table; gchar *str; const gchar *icon_name; str = g_markup_printf_escaped ("<b>%s</b>\n%s", tp_account_get_display_name (account), message); info_bar = g_hash_table_lookup (window->errors, account); if (info_bar) { label = g_object_get_data (G_OBJECT (info_bar), "label"); /* Just set the latest error and return */ gtk_label_set_markup (GTK_LABEL (label), str); g_free (str); return; } info_bar = gtk_info_bar_new (); gtk_info_bar_set_message_type (GTK_INFO_BAR (info_bar), GTK_MESSAGE_ERROR); gtk_widget_set_no_show_all (info_bar, TRUE); gtk_box_pack_start (GTK_BOX (window->errors_vbox), info_bar, FALSE, TRUE, 0); gtk_widget_show (info_bar); icon_name = tp_account_get_icon_name (account); image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_SMALL_TOOLBAR); gtk_widget_show (image); label = gtk_label_new (str); gtk_label_set_use_markup (GTK_LABEL (label), TRUE); gtk_label_set_ellipsize (GTK_LABEL (label), PANGO_ELLIPSIZE_END); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_widget_show (label); g_free (str); content_area = gtk_info_bar_get_content_area (GTK_INFO_BAR (info_bar)); gtk_box_pack_start (GTK_BOX (content_area), image, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (content_area), label, TRUE, TRUE, 0); image = gtk_image_new_from_stock (GTK_STOCK_REFRESH, GTK_ICON_SIZE_BUTTON); retry_button = gtk_button_new (); gtk_button_set_image (GTK_BUTTON (retry_button), image); gtk_widget_set_tooltip_text (retry_button, _("Reconnect")); gtk_widget_show (retry_button); image = gtk_image_new_from_stock (GTK_STOCK_EDIT, GTK_ICON_SIZE_BUTTON); edit_button = gtk_button_new (); gtk_button_set_image (GTK_BUTTON (edit_button), image); gtk_widget_set_tooltip_text (edit_button, _("Edit Account")); gtk_widget_show (edit_button); image = gtk_image_new_from_stock (GTK_STOCK_CLOSE, GTK_ICON_SIZE_BUTTON); close_button = gtk_button_new (); gtk_button_set_image (GTK_BUTTON (close_button), image); gtk_widget_set_tooltip_text (close_button, _("Close")); gtk_widget_show (close_button); action_table = gtk_table_new (1, 3, FALSE); gtk_table_set_col_spacings (GTK_TABLE (action_table), 2); gtk_widget_show (action_table); action_area = gtk_info_bar_get_action_area (GTK_INFO_BAR (info_bar)); gtk_box_pack_start (GTK_BOX (action_area), action_table, FALSE, FALSE, 0); gtk_table_attach (GTK_TABLE (action_table), retry_button, 0, 1, 0, 1, (GtkAttachOptions) (GTK_SHRINK), (GtkAttachOptions) (GTK_SHRINK), 0, 0); gtk_table_attach (GTK_TABLE (action_table), edit_button, 1, 2, 0, 1, (GtkAttachOptions) (GTK_SHRINK), (GtkAttachOptions) (GTK_SHRINK), 0, 0); gtk_table_attach (GTK_TABLE (action_table), close_button, 2, 3, 0, 1, (GtkAttachOptions) (GTK_SHRINK), (GtkAttachOptions) (GTK_SHRINK), 0, 0); g_object_set_data (G_OBJECT (info_bar), "label", label); g_object_set_data_full (G_OBJECT (info_bar), "account", g_object_ref (account), g_object_unref); g_object_set_data_full (G_OBJECT (edit_button), "account", g_object_ref (account), g_object_unref); g_object_set_data_full (G_OBJECT (close_button), "account", g_object_ref (account), g_object_unref); g_object_set_data_full (G_OBJECT (retry_button), "account", g_object_ref (account), g_object_unref); g_signal_connect (edit_button, "clicked", G_CALLBACK (main_window_error_edit_clicked_cb), window); g_signal_connect (close_button, "clicked", G_CALLBACK (main_window_error_close_clicked_cb), window); g_signal_connect (retry_button, "clicked", G_CALLBACK (main_window_error_retry_clicked_cb), window); gtk_widget_show (window->errors_vbox); g_hash_table_insert (window->errors, g_object_ref (account), info_bar); }