Update gtk151

This commit is contained in:
daleclack 2023-06-12 20:29:03 +08:00
parent fb349a819e
commit 48bc625ce8
1 changed files with 23 additions and 1 deletions

View File

@ -269,6 +269,24 @@ static void update_internal_image(GtkWidget *background1, const char **id)
g_object_unref(sized); g_object_unref(sized);
} }
static void update_external_image(GtkWidget *background2, const char *file_name)
{
GError *error = NULL;
// Create a pixbuf
GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file(file_name, &error);
if (error == NULL)
{
// Load the image with pixbuf
GdkPixbuf *sized = gdk_pixbuf_scale_simple(pixbuf, 1024, 576, GDK_INTERP_BILINEAR);
gtk_picture_set_pixbuf(GTK_PICTURE(background2), sized);
g_object_unref(sized);
g_object_unref(pixbuf);
}else{
// if file load failed, load default image
update_internal_image(background2, winpe);
}
}
// Scan the selection of two column views // Scan the selection of two column views
static gboolean scan_func(gpointer data) static gboolean scan_func(gpointer data)
{ {
@ -300,6 +318,8 @@ static gboolean scan_func(gpointer data)
g_object_unref(prefs->file); g_object_unref(prefs->file);
} }
prefs->current_folder_index = folder_item_index; prefs->current_folder_index = folder_item_index;
// Force reload image
prefs->current_image_index = -1;
} }
// Get the selection of images view // Get the selection of images view
@ -339,6 +359,8 @@ static gboolean scan_func(gpointer data)
else else
{ {
// For image which is outside // For image which is outside
update_external_image(prefs->background, file_name);
prefs->current_image_index = image_item_index;
} }
} }
return TRUE; return TRUE;