mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-03 17:56:17 +01:00
Merge branch '2194-winhttp-file-display-name' into 'master'
gwinhttpfile: Set display-name attribute on file info Closes #2194 See merge request GNOME/glib!1644
This commit is contained in:
commit
c3eda78ada
@ -29,6 +29,7 @@
|
|||||||
#include "gio/gfile.h"
|
#include "gio/gfile.h"
|
||||||
#include "gio/gfileattribute.h"
|
#include "gio/gfileattribute.h"
|
||||||
#include "gio/gfileinfo.h"
|
#include "gio/gfileinfo.h"
|
||||||
|
#include "gio/gfileinfo-priv.h"
|
||||||
#include "gwinhttpfile.h"
|
#include "gwinhttpfile.h"
|
||||||
#include "gwinhttpfileinputstream.h"
|
#include "gwinhttpfileinputstream.h"
|
||||||
#include "gwinhttpfileoutputstream.h"
|
#include "gwinhttpfileoutputstream.h"
|
||||||
@ -177,6 +178,21 @@ g_winhttp_file_get_basename (GFile *file)
|
|||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char *
|
||||||
|
g_winhttp_file_get_display_name (GFile *file)
|
||||||
|
{
|
||||||
|
char *basename;
|
||||||
|
|
||||||
|
/* FIXME: This could be improved by using a new g_utf16_make_valid() function
|
||||||
|
* to recover what we can from the URI, and then suffixing it with
|
||||||
|
* “ (invalid encoding)” as per g_filename_display_basename(). */
|
||||||
|
basename = g_winhttp_file_get_basename (file);
|
||||||
|
if (!basename)
|
||||||
|
return g_strdup (_(" (invalid encoding)"));
|
||||||
|
|
||||||
|
return g_steal_pointer (&basename);
|
||||||
|
}
|
||||||
|
|
||||||
static char *
|
static char *
|
||||||
g_winhttp_file_get_path (GFile *file)
|
g_winhttp_file_get_path (GFile *file)
|
||||||
{
|
{
|
||||||
@ -513,6 +529,14 @@ g_winhttp_file_query_info (GFile *file,
|
|||||||
g_file_info_set_name (info, basename);
|
g_file_info_set_name (info, basename);
|
||||||
g_free (basename);
|
g_free (basename);
|
||||||
|
|
||||||
|
if (_g_file_attribute_matcher_matches_id (matcher,
|
||||||
|
G_FILE_ATTRIBUTE_ID_STANDARD_DISPLAY_NAME))
|
||||||
|
{
|
||||||
|
char *display_name = g_winhttp_file_get_display_name (file);
|
||||||
|
g_file_info_set_display_name (info, display_name);
|
||||||
|
g_free (display_name);
|
||||||
|
}
|
||||||
|
|
||||||
content_length = NULL;
|
content_length = NULL;
|
||||||
if (_g_winhttp_query_header (winhttp_file->vfs,
|
if (_g_winhttp_query_header (winhttp_file->vfs,
|
||||||
request,
|
request,
|
||||||
|
@ -1006,7 +1006,7 @@ g_ucs4_to_utf8 (const gunichar *str,
|
|||||||
* string; it may e.g. include embedded NUL characters. The only
|
* string; it may e.g. include embedded NUL characters. The only
|
||||||
* validation done by this function is to ensure that the input can
|
* validation done by this function is to ensure that the input can
|
||||||
* be correctly interpreted as UTF-16, i.e. it doesn't contain
|
* be correctly interpreted as UTF-16, i.e. it doesn't contain
|
||||||
* things unpaired surrogates.
|
* unpaired surrogates or partial character sequences.
|
||||||
*
|
*
|
||||||
* Returns: (transfer full): a pointer to a newly allocated UTF-8 string.
|
* Returns: (transfer full): a pointer to a newly allocated UTF-8 string.
|
||||||
* This value must be freed with g_free(). If an error occurs,
|
* This value must be freed with g_free(). If an error occurs,
|
||||||
|
Loading…
Reference in New Issue
Block a user