static VALUE rg_guess_content_type(int argc, VALUE *argv, VALUE self) { VALUE rbforce_rescan, rbcancellable, block; gboolean force_rescan; GCancellable *cancellable; rb_scan_args(argc, argv, "02&", &rbforce_rescan, &rbcancellable, &block); force_rescan = RVAL2CBOOL(rbforce_rescan); cancellable = RVAL2GCANCELLABLE(rbcancellable); SAVE_BLOCK(block); g_mount_guess_content_type(_SELF(self), force_rescan, cancellable, rbgio_async_ready_callback, (gpointer)block); return self; }
void caja_autorun (GMount *mount, CajaAutorunOpenWindow open_window_func, gpointer user_data) { AutorunData *data; if (!should_autorun_mount (mount) || g_settings_get_boolean (caja_media_preferences, CAJA_PREFERENCES_MEDIA_AUTORUN_NEVER)) { return; } data = g_new0 (AutorunData, 1); data->mount = g_object_ref (mount); data->open_window_func = open_window_func; data->user_data = user_data; g_mount_guess_content_type (mount, FALSE, NULL, autorun_guessed_content_type_callback, data); }
void caja_autorun_get_x_content_types_for_mount_async (GMount *mount, CajaAutorunGetContent callback, GCancellable *cancellable, gpointer user_data) { char **cached; GetContentTypesData *data; if (mount == NULL) { if (callback) { callback (NULL, user_data); } return; } cached = g_object_get_data (G_OBJECT (mount), "caja-content-type-cache"); if (cached != NULL) { if (callback) { callback (cached, user_data); } return; } data = g_new (GetContentTypesData, 1); data->callback = callback; data->user_data = user_data; g_mount_guess_content_type (mount, FALSE, cancellable, get_types_cb, data); }
inline static void show_autorun_dlg(GVolume* vol, GMount* mount) { GtkBuilder* builder; GtkTreeIter it; GtkTreeViewColumn* col; GtkTreeSelection* tree_sel; GtkCellRenderer*render; GtkImage* icon; GIcon* gicon; AutoRun* data; data = g_slice_new(AutoRun); data->cancel = g_cancellable_new(); builder = gtk_builder_new(); gtk_builder_add_from_file(builder, PACKAGE_UI_DIR "/autorun.glade", NULL); data->dlg = GTK_DIALOG(gtk_builder_get_object(builder, "dlg")); data->view = GTK_TREE_VIEW(gtk_builder_get_object(builder, "listview")); data->type = GTK_LABEL(gtk_builder_get_object(builder, "type")); icon = GTK_IMAGE(gtk_builder_get_object(builder, "icon")); g_object_unref(builder); gicon = g_volume_get_icon(vol); gtk_image_set_from_gicon(icon, gicon, GTK_ICON_SIZE_DIALOG); g_object_unref(gicon); gtk_dialog_set_default_response(data->dlg, GTK_RESPONSE_OK); gtk_dialog_set_alternative_button_order(data->dlg, GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1); tree_sel = gtk_tree_view_get_selection(data->view); gtk_tree_selection_set_mode(tree_sel, GTK_SELECTION_BROWSE); col = gtk_tree_view_column_new(); render = gtk_cell_renderer_pixbuf_new(); gtk_tree_view_column_pack_start(col, render, FALSE); gtk_tree_view_column_set_attributes(col, render, "gicon", 0, NULL); render = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(col, render, FALSE); gtk_tree_view_column_set_attributes(col, render, "text", 1, NULL); gtk_tree_view_append_column(data->view, col); data->store = gtk_list_store_new(3, G_TYPE_ICON, G_TYPE_STRING, G_TYPE_OBJECT); data->mount = (GMount*)g_object_ref(mount); gtk_list_store_append(data->store, &it); gicon = g_themed_icon_new("system-file-manager"); gtk_list_store_set(data->store, &it, 0, gicon, 1, _("Open in File Manager"), -1); g_object_unref(gicon); gtk_tree_view_set_model(data->view, GTK_TREE_MODEL(data->store)); gtk_tree_model_get_iter_first(GTK_TREE_MODEL(data->store), &it); gtk_tree_selection_select_iter(tree_sel, &it); g_signal_connect(data->view, "row-activated", G_CALLBACK(on_row_activated), data); g_signal_connect(data->dlg, "response", G_CALLBACK(on_dlg_response), data); g_signal_connect(data->mount, "unmounted", G_CALLBACK(on_unmount), data); gtk_window_set_keep_above(GTK_WINDOW(data->dlg), TRUE); gtk_window_present(GTK_WINDOW(data->dlg)); g_mount_guess_content_type(mount, TRUE, data->cancel, on_content_type_finished, data); pcmanfm_ref(); }