Skip to content

Commit

Permalink
Use GResource for thumbnail frame
Browse files Browse the repository at this point in the history
Also make it work again, the /.thumbnails/ path
has changed to /.cache/thumbnails/
  • Loading branch information
Andre Miranda committed Jun 2, 2018
1 parent 5037aff commit 01854c4
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 55 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,10 @@ thunar/thunar
thunar/thunar-dbus-service-infos.[ch]
thunar/thunar-fallback-icon.c
thunar/thunar-thumbnail-cache-proxy.[ch]
thunar/thunar-thumbnail-frame.c
thunar/thunar-thumbnailer-manager-proxy.h
thunar/thunar-thumbnailer-proxy.[ch]
thunar/thunar-marshal.[ch]
thunar/thunar-resources.[ch]
thunar/Thunar
thunar/core.*
thunar/*.core
Expand Down
42 changes: 23 additions & 19 deletions thunar/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,23 @@ bin_PROGRAMS = \
thunar

thunar_built_sources = \
thunar-marshal.c \
thunar-marshal.h \
thunar-abstract-icon-view-ui.h \
thunar-marshal.c \
thunar-marshal.h \
thunar-abstract-icon-view-ui.h \
thunar-details-view-ui.h \
thunar-launcher-ui.h \
thunar-shortcuts-pane-ui.h \
thunar-renamer-dialog-ui.h \
thunar-standard-view-ui.h \
thunar-thumbnail-frame.c \
thunar-dbus-service-infos.h \
thunar-dbus-service-infos.c \
thunar-thumbnailer-proxy.c \
thunar-thumbnailer-proxy.h \
thunar-thumbnail-cache-proxy.h \
thunar-thumbnail-cache-proxy.c \
thunar-window-ui.h
thunar-thumbnail-cache-proxy.h \
thunar-thumbnail-cache-proxy.c \
thunar-window-ui.h \
thunar-resources.h \
thunar-resources.c


thunar_SOURCES = \
Expand Down Expand Up @@ -200,7 +201,6 @@ thunar_SOURCES = \
thunar-thumbnail-cache.h \
thunar-thumbnailer.c \
thunar-thumbnailer.h \
thunar-thumbnail-frame.h \
thunar-transfer-job.c \
thunar-transfer-job.h \
thunar-trash-action.c \
Expand Down Expand Up @@ -298,9 +298,6 @@ thunar-thumbnailer-proxy.h thunar-thumbnailer-proxy.c: $(srcdir)/thunar-thumbnai
thunar-thumbnail-cache-proxy.h thunar-thumbnail-cache-proxy.c: $(srcdir)/thunar-thumbnail-cache-dbus.xml Makefile
$(AM_V_GEN) gdbus-codegen --c-namespace Thunar --generate-c-code thunar-thumbnail-cache-proxy $(srcdir)/thunar-thumbnail-cache-dbus.xml

thunar-thumbnail-frame.c: $(srcdir)/thunar-thumbnail-frame.png Makefile
$(AM_V_GEN) (echo "#include <thunar/thunar-thumbnail-frame.h>" && gdk-pixbuf-csource --extern --raw --stream --name=thunar_thumbnail_frame $(srcdir)/thunar-thumbnail-frame.png) > thunar-thumbnail-frame.c

thunar-abstract-icon-view-ui.h: Makefile $(srcdir)/thunar-abstract-icon-view-ui.xml
$(AM_V_GEN) exo-csource --strip-comments --strip-content --static --name=thunar_abstract_icon_view_ui $(srcdir)/thunar-abstract-icon-view-ui.xml > thunar-abstract-icon-view-ui.h

Expand Down Expand Up @@ -349,17 +346,24 @@ thunar-marshal.c: thunar-marshal.list Makefile
&& cp xgen-tmc thunar-marshal.c \
&& rm -f xgen-tmc \
)

thunar-resources.c: thunar.gresource.xml
glib-compile-resources --target=$@ --sourcedir=$(srcdir) --generate-source --c-name thunar $(srcdir)/thunar.gresource.xml

thunar-resources.h: thunar.gresource.xml
glib-compile-resources --target=$@ --sourcedir=$(srcdir) --generate-header --c-name thunar $(srcdir)/thunar.gresource.xml
endif

EXTRA_DIST = \
thunar-abstract-icon-view-ui.xml \
thunar-dbus-service-infos.xml \
thunar-details-view-ui.xml \
thunar-launcher-ui.xml \
thunar-abstract-icon-view-ui.xml \
thunar-dbus-service-infos.xml \
thunar-details-view-ui.xml \
thunar-launcher-ui.xml \
thunar-marshal.list \
thunar-renamer-dialog-ui.xml \
thunar-standard-view-ui.xml \
thunar-thumbnail-frame.png \
thunar-window-ui.xml \
thunar-renamer-dialog-ui.xml \
thunar-standard-view-ui.xml \
thunar-thumbnail-frame.png \
thunar-window-ui.xml \
thunar-settings \
thunar.gresource.xml \
$(desktop_in_files)
26 changes: 22 additions & 4 deletions thunar/thunar-icon-factory.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
#include <thunar/thunar-icon-factory.h>
#include <thunar/thunar-preferences.h>
#include <thunar/thunar-private.h>
#include <thunar/thunar-thumbnail-frame.h>
#include <thunar/thunar-util.h>


Expand Down Expand Up @@ -399,6 +398,26 @@ thumbnail_needs_frame (const GdkPixbuf *thumbnail,



static GdkPixbuf*
thunar_icon_factory_get_thumbnail_frame (void)
{
GInputStream *stream;
static GdkPixbuf *frame = NULL;

if (G_LIKELY (frame != NULL))
return frame;

stream = g_resources_open_stream ("/org/xfce/thunar/thumbnail-frame.png", 0, NULL);
if (G_UNLIKELY (stream != NULL)) {
frame = gdk_pixbuf_new_from_stream (stream, NULL, NULL);
g_object_unref (stream);
}

return frame;
}



static GdkPixbuf*
thunar_icon_factory_load_from_file (ThunarIconFactory *factory,
const gchar *path,
Expand All @@ -424,7 +443,7 @@ thunar_icon_factory_load_from_file (ThunarIconFactory *factory,
/* check if we want to add a frame to the image (we really don't
* want to do this for icons displayed in the details view).
*/
needs_frame = (strstr (path, G_DIR_SEPARATOR_S ".thumbnails" G_DIR_SEPARATOR_S) != NULL)
needs_frame = (strstr (path, G_DIR_SEPARATOR_S ".cache/thumbnails" G_DIR_SEPARATOR_S) != NULL)
&& (size >= 32) && thumbnail_needs_frame (pixbuf, width, height);

/* be sure to make framed thumbnails fit into the size */
Expand Down Expand Up @@ -452,10 +471,9 @@ thunar_icon_factory_load_from_file (ThunarIconFactory *factory,
if (G_LIKELY (needs_frame))
{
/* add a frame to the thumbnail */
frame = gdk_pixbuf_new_from_inline (-1, thunar_thumbnail_frame, FALSE, NULL);
frame = thunar_icon_factory_get_thumbnail_frame ();
tmp = exo_gdk_pixbuf_frame (pixbuf, frame, 4, 3, 5, 6);
g_object_unref (G_OBJECT (pixbuf));
g_object_unref (G_OBJECT (frame));
pixbuf = tmp;
}
}
Expand Down
31 changes: 0 additions & 31 deletions thunar/thunar-thumbnail-frame.h

This file was deleted.

6 changes: 6 additions & 0 deletions thunar/thunar.gresource.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/xfce/thunar">
<file compressed="true" alias="thumbnail-frame.png">thunar-thumbnail-frame.png</file>
</gresource>
</gresources>

0 comments on commit 01854c4

Please sign in to comment.