static VALUE rg_initialize(int argc, VALUE *argv, VALUE self) { VALUE options, rb_parent, rb_file, rb_flags, rb_content_type; GtkWindow *parent; GtkDialogFlags flags; GtkWidget *widget = NULL; rb_scan_args(argc, argv, "01", &options); rbg_scan_options(options, "parent", &rb_parent, "flags", &rb_flags, "file", &rb_file, "content_type", &rb_content_type, NULL); parent = NIL_P(rb_parent) ? NULL : RVAL2GTKWINDOW(rb_parent); flags = NIL_P(rb_flags) ? 0 : RVAL2GTKDIALOGFLAGS(rb_flags); if (!NIL_P(rb_file)) widget = gtk_app_chooser_dialog_new(parent, flags, RVAL2GFILE(rb_file)); else widget = gtk_app_chooser_dialog_new_for_content_type(parent, flags, RVAL2CSTR(rb_content_type)); RBGTK_INITIALIZE(self, widget); return Qnil; }
void dlg_open_with (FrWindow *window, GList *file_list) { OpenData *o_data; GtkWidget *app_chooser; o_data = g_new0 (OpenData, 1); o_data->window = window; o_data->file_list = file_list; app_chooser = gtk_app_chooser_dialog_new (GTK_WINDOW (window), GTK_DIALOG_MODAL, G_FILE (file_list->data)); g_signal_connect (app_chooser, "response", G_CALLBACK (app_chooser_response_cb), o_data); gtk_widget_show (app_chooser); }
static void prepare_dialog (void) { gboolean use_file = FALSE; gchar *content_type = NULL; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio_file))) use_file = TRUE; else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio_content))) use_file = FALSE; if (use_file) { dialog = gtk_app_chooser_dialog_new (GTK_WINDOW (toplevel), 0, file); } else { GFileInfo *info; info = g_file_query_info (file, G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, 0, NULL, NULL); content_type = g_strdup (g_file_info_get_content_type (info)); g_object_unref (info); dialog = gtk_app_chooser_dialog_new_for_content_type (GTK_WINDOW (toplevel), 0, content_type); } gtk_app_chooser_dialog_set_heading (GTK_APP_CHOOSER_DIALOG (dialog), "Select one already, you <i>fool</i>"); g_signal_connect (dialog, "response", G_CALLBACK (dialog_response), NULL); g_free (content_type); app_chooser_widget = gtk_app_chooser_dialog_get_widget (GTK_APP_CHOOSER_DIALOG (dialog)); bind_props (); }