JNIEXPORT jlong JNICALL Java_org_gnome_gtk_GtkFileChooser_gtk_1file_1chooser_1get_1preview_1widget ( JNIEnv* env, jclass cls, jlong _self ) { GtkWidget* result; jlong _result; GtkFileChooser* self; // convert parameter self self = (GtkFileChooser*) _self; // call function result = gtk_file_chooser_get_preview_widget(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 void update_image_preview (GtkFileChooser *chooser) { GtkWidget *image; gchar *file; image = gtk_file_chooser_get_preview_widget (GTK_FILE_CHOOSER (chooser)); file = gtk_file_chooser_get_preview_uri (chooser); if (file != NULL) { GdkPixbuf *pixbuf = NULL; pixbuf = create_preview_pixbuf (file); g_free (file); if (pixbuf != NULL) { gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf); g_object_unref (pixbuf); } else { gtk_image_set_from_stock (GTK_IMAGE (image), "gtk-dialog-question", GTK_ICON_SIZE_DIALOG); } } gtk_file_chooser_set_preview_widget_active (chooser, file != NULL); }
static void avatar_chooser_update_preview_cb (GtkFileChooser *file_chooser, EmpathyAvatarChooser *chooser) { gchar *filename; filename = gtk_file_chooser_get_preview_filename (file_chooser); if (filename) { GtkWidget *image; GdkPixbuf *pixbuf = NULL; GdkPixbuf *scaled_pixbuf; pixbuf = gdk_pixbuf_new_from_file (filename, NULL); image = gtk_file_chooser_get_preview_widget (file_chooser); if (pixbuf) { scaled_pixbuf = empathy_pixbuf_scale_down_if_necessary (pixbuf, AVATAR_SIZE_SAVE); gtk_image_set_from_pixbuf (GTK_IMAGE (image), scaled_pixbuf); g_object_unref (scaled_pixbuf); g_object_unref (pixbuf); } else { gtk_image_set_from_stock (GTK_IMAGE (image), "gtk-dialog-question", GTK_ICON_SIZE_DIALOG); } g_free (filename); } gtk_file_chooser_set_preview_widget_active (file_chooser, TRUE); }
Php::Value GtkFileChooserDialog_::get_preview_widget() { GtkWidget *ret = gtk_file_chooser_get_preview_widget (GTK_FILE_CHOOSER(instance)); GtkWidget_ *return_parsed = new GtkWidget_(); return_parsed->set_instance((gpointer *)ret); return Php::Object("GtkWidget", return_parsed); }
static void update_preview (GtkFileChooser *chooser, GnomeDesktopThumbnailFactory *thumb_factory) { gchar *uri; uri = gtk_file_chooser_get_preview_uri (chooser); if (uri) { GdkPixbuf *pixbuf = NULL; const gchar *mime_type = NULL; GFile *file; GFileInfo *file_info; GtkWidget *preview; preview = gtk_file_chooser_get_preview_widget (chooser); file = g_file_new_for_uri (uri); file_info = g_file_query_info (file, G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, G_FILE_QUERY_INFO_NONE, NULL, NULL); g_object_unref (file); if (file_info != NULL) { mime_type = g_file_info_get_content_type (file_info); g_object_unref (file_info); } if (mime_type) { pixbuf = gnome_desktop_thumbnail_factory_generate_thumbnail (thumb_factory, uri, mime_type); } gtk_dialog_set_response_sensitive (GTK_DIALOG (chooser), GTK_RESPONSE_ACCEPT, (pixbuf != NULL)); if (pixbuf != NULL) { gtk_image_set_from_pixbuf (GTK_IMAGE (preview), pixbuf); g_object_unref (pixbuf); } else { gtk_image_set_from_stock (GTK_IMAGE (preview), GTK_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); } g_free (uri); } gtk_file_chooser_set_preview_widget_active (chooser, TRUE); }
void XojOpenDlg::updatePreviewCallback(GtkFileChooser* fileChooser, void* userData) { gchar* filename = gtk_file_chooser_get_preview_filename(fileChooser); if (!filename) { gtk_file_chooser_set_preview_widget_active(fileChooser, false); return; } string filepath = filename; g_free(filename); filename = NULL; if (filepath.size() <= 4 || filepath.substr(filepath.size() - 4) != ".xoj") { gtk_file_chooser_set_preview_widget_active(fileChooser, false); return; } XojPreviewExtractor extractor; PreviewExtractResult result = extractor.readFile(filepath); if (result != PREVIEW_RESULT_IMAGE_READ) { gtk_file_chooser_set_preview_widget_active(fileChooser, false); return; } GError* error = NULL; GInputStream* in = g_memory_input_stream_new_from_data(extractor.getData().c_str(), extractor.getData().length(), NULL); GdkPixbuf* pixbuf = gdk_pixbuf_new_from_stream(in, NULL, &error); g_input_stream_close(in, NULL, &error); if (pixbuf) { GtkWidget * image = gtk_file_chooser_get_preview_widget(fileChooser); gtk_image_set_from_pixbuf(GTK_IMAGE(image), pixbuf); g_object_unref(pixbuf); gtk_file_chooser_set_preview_widget_active(fileChooser, true); } }
void ImageOpenDlg::updatePreviewCallback(GtkFileChooser * fileChooser, void * userData) { gchar * filename = gtk_file_chooser_get_preview_filename(fileChooser); if (filename) { GdkPixbuf * pixbuf = gdk_pixbuf_new_from_file(filename, NULL); GtkWidget * image = gtk_file_chooser_get_preview_widget(fileChooser); if (pixbuf) { GdkPixbuf * scaled_pixbuf = pixbufScaleDownIfNecessary(pixbuf, 256); gtk_image_set_from_pixbuf(GTK_IMAGE(image), scaled_pixbuf); g_object_unref(scaled_pixbuf); g_object_unref(pixbuf); } else { gtk_image_set_from_stock(GTK_IMAGE(image), "gtk-dialog-question", GTK_ICON_SIZE_DIALOG); } g_free(filename); } gtk_file_chooser_set_preview_widget_active(fileChooser, true); }
int clip_GTK_FILECHOOSERGETPREVIEWWIDGET(ClipMachine * ClipMachineMemory) { C_object *cchooser = _fetch_co_arg(ClipMachineMemory); GtkWidget *wid; C_widget *cwid; CHECKCOBJ(cchooser, GTK_IS_FILE_CHOOSER(cchooser->object)); wid = gtk_file_chooser_get_preview_widget(GTK_FILE_CHOOSER(cchooser->object)); if (wid) { cwid = _list_get_cwidget(ClipMachineMemory, wid); if (!cwid) cwid = _register_widget(ClipMachineMemory, wid, NULL); if (cwid) _clip_mclone(ClipMachineMemory, RETPTR(ClipMachineMemory), &cwid->obj); } return 0; err: return 1; }