Merge branch 'master' into my-overlay-design
This commit is contained in:
commit
614e83476e
@ -34,7 +34,7 @@ DocDisplayItem.prototype = {
|
|||||||
let description = "";
|
let description = "";
|
||||||
|
|
||||||
let icon = new Clutter.Texture();
|
let icon = new Clutter.Texture();
|
||||||
this._iconPixbuf = Shell.get_thumbnail_for_recent_info(docInfo);
|
this._iconPixbuf = Shell.get_thumbnail(docInfo.get_uri(), docInfo.get_mime_type());
|
||||||
if (this._iconPixbuf) {
|
if (this._iconPixbuf) {
|
||||||
// We calculate the width and height of the texture so as to preserve the aspect ratio of the thumbnail.
|
// We calculate the width and height of the texture so as to preserve the aspect ratio of the thumbnail.
|
||||||
// Because the images generated based on thumbnails don't have an internal padding like system icons do,
|
// Because the images generated based on thumbnails don't have an internal padding like system icons do,
|
||||||
|
@ -287,7 +287,7 @@ shell_app_system_get_menus (ShellAppSystem *monitor)
|
|||||||
*
|
*
|
||||||
* Returns a list of all desktop file ids under "settings.menu".
|
* Returns a list of all desktop file ids under "settings.menu".
|
||||||
*
|
*
|
||||||
* Return value: (transfer full) (element-type utf8): List of desktop file ids
|
* Return value: (transfer none) (element-type utf8): List of desktop file ids
|
||||||
*/
|
*/
|
||||||
GSList *
|
GSList *
|
||||||
shell_app_system_get_all_settings (ShellAppSystem *monitor)
|
shell_app_system_get_all_settings (ShellAppSystem *monitor)
|
||||||
|
@ -341,22 +341,35 @@ shell_clutter_texture_set_from_pixbuf (ClutterTexture *texture,
|
|||||||
static GnomeThumbnailFactory *thumbnail_factory;
|
static GnomeThumbnailFactory *thumbnail_factory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* shell_get_thumbnail_for_recent_info:
|
* shell_get_thumbnail:
|
||||||
*
|
*
|
||||||
* @recent_info: #GtkRecentInfo for which to return a thumbnail
|
* @uri: URI of the file to thumbnail
|
||||||
*
|
*
|
||||||
* Return value: #GdkPixbuf containing a thumbnail for the file described by #GtkRecentInfo
|
* @mime_type: Mime-Type of the file to thumbnail
|
||||||
|
*
|
||||||
|
* Return value: #GdkPixbuf containing a thumbnail for file @uri
|
||||||
* if the thumbnail exists or can be generated, %NULL otherwise
|
* if the thumbnail exists or can be generated, %NULL otherwise
|
||||||
*/
|
*/
|
||||||
GdkPixbuf *
|
GdkPixbuf *
|
||||||
shell_get_thumbnail_for_recent_info(GtkRecentInfo *recent_info)
|
shell_get_thumbnail(const gchar *uri,
|
||||||
|
const gchar *mime_type)
|
||||||
{
|
{
|
||||||
char *existing_thumbnail;
|
char *existing_thumbnail;
|
||||||
GdkPixbuf *pixbuf = NULL;
|
GdkPixbuf *pixbuf = NULL;
|
||||||
const gchar *uri = gtk_recent_info_get_uri (recent_info);
|
|
||||||
time_t mtime = gtk_recent_info_get_modified (recent_info);
|
|
||||||
const gchar *mime_type = gtk_recent_info_get_mime_type (recent_info);
|
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
|
GFile *file = NULL;
|
||||||
|
GFileInfo *file_info = NULL;
|
||||||
|
GTimeVal mtime_g;
|
||||||
|
time_t mtime = 0;
|
||||||
|
|
||||||
|
file = g_file_new_for_uri (uri);
|
||||||
|
file_info = g_file_query_info (file, G_FILE_ATTRIBUTE_TIME_MODIFIED, G_FILE_QUERY_INFO_NONE, NULL, NULL);
|
||||||
|
g_object_unref (file);
|
||||||
|
if (file_info) {
|
||||||
|
g_file_info_get_modification_time (file_info, &mtime_g);
|
||||||
|
g_object_unref (file_info);
|
||||||
|
mtime = (time_t) mtime_g.tv_sec;
|
||||||
|
}
|
||||||
|
|
||||||
if (thumbnail_factory == NULL)
|
if (thumbnail_factory == NULL)
|
||||||
thumbnail_factory = gnome_thumbnail_factory_new (GNOME_THUMBNAIL_SIZE_NORMAL);
|
thumbnail_factory = gnome_thumbnail_factory_new (GNOME_THUMBNAIL_SIZE_NORMAL);
|
||||||
|
@ -36,7 +36,7 @@ GType shell_global_get_type (void) G_GNUC_CONST;
|
|||||||
gboolean shell_clutter_texture_set_from_pixbuf (ClutterTexture *texture,
|
gboolean shell_clutter_texture_set_from_pixbuf (ClutterTexture *texture,
|
||||||
GdkPixbuf *pixbuf);
|
GdkPixbuf *pixbuf);
|
||||||
|
|
||||||
GdkPixbuf *shell_get_thumbnail_for_recent_info(GtkRecentInfo *recent_info);
|
GdkPixbuf *shell_get_thumbnail(const gchar *uri, const gchar *mime_type);
|
||||||
|
|
||||||
GSList *shell_get_categories_for_desktop_file(const char *desktop_file_name);
|
GSList *shell_get_categories_for_desktop_file(const char *desktop_file_name);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user