Skip to content

Commit 0e708c5

Browse files
debarshirayraveit65
authored andcommitted
EomMetadataSidebar: Use standard::display-name when showing the parent
https://bugzilla.gnome.org/show_bug.cgi?id=754731 origin commit: https://gitlab.gnome.org/GNOME/eog/commit/fff55c
1 parent ab96aad commit 0e708c5

File tree

1 file changed

+45
-14
lines changed

1 file changed

+45
-14
lines changed

src/eom-metadata-sidebar.c

Lines changed: 45 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -93,14 +93,50 @@ struct _EomMetadataSidebarPrivate {
9393

9494
G_DEFINE_TYPE_WITH_PRIVATE(EomMetadataSidebar, eom_metadata_sidebar, GTK_TYPE_SCROLLED_WINDOW)
9595

96+
static void
97+
parent_file_display_name_query_info_cb (GObject *source_object,
98+
GAsyncResult *res,
99+
gpointer user_data)
100+
{
101+
EomMetadataSidebar *sidebar = EOM_METADATA_SIDEBAR (user_data);
102+
GFile *parent_file = G_FILE (source_object);
103+
GFileInfo *file_info;
104+
gchar *baseuri;
105+
gchar *display_name;
106+
gchar *str;
107+
108+
file_info = g_file_query_info_finish (parent_file, res, NULL);
109+
if (file_info == NULL) {
110+
display_name = g_file_get_basename (parent_file);
111+
} else {
112+
display_name = g_strdup (
113+
g_file_info_get_display_name (file_info));
114+
g_object_unref (file_info);
115+
}
116+
baseuri = g_file_get_uri (parent_file);
117+
str = g_markup_printf_escaped ("<a href=\"%s\">%s</a>",
118+
baseuri,
119+
display_name);
120+
gtk_label_set_markup (GTK_LABEL (sidebar->priv->folder_label), str);
121+
122+
g_free (str);
123+
g_free (baseuri);
124+
g_free (display_name);
125+
126+
str = g_file_get_path (parent_file);
127+
gtk_widget_set_tooltip_text (GTK_WIDGET (sidebar->priv->folder_label), str);
128+
g_free (str);
129+
130+
g_object_unref (sidebar);
131+
}
132+
96133
static void
97134
eom_metadata_sidebar_update_general_section (EomMetadataSidebar *sidebar)
98135
{
99136
EomMetadataSidebarPrivate *priv = sidebar->priv;
100137
EomImage *img = priv->image;
101138
GFile *file, *parent_file;
102139
GFileInfo *file_info;
103-
gchar *basename, *baseuri;
104140
gchar *str;
105141
goffset bytes;
106142
gint width, height;
@@ -146,19 +182,14 @@ eom_metadata_sidebar_update_general_section (EomMetadataSidebar *sidebar)
146182
/* file is root directory itself */
147183
parent_file = g_object_ref (file);
148184
}
149-
basename = g_file_get_basename (parent_file);
150-
baseuri = g_file_get_uri (parent_file);
151-
str = g_markup_printf_escaped ("<a href=\"%s\">%s</a>",
152-
baseuri,
153-
basename);
154-
gtk_label_set_markup (GTK_LABEL (priv->folder_label), str);
155-
g_free (str);
156-
g_free (baseuri);
157-
g_free (basename);
158-
159-
str = g_file_get_path (parent_file);
160-
gtk_widget_set_tooltip_text (GTK_WIDGET (priv->folder_label), str);
161-
g_free (str);
185+
gtk_label_set_markup (GTK_LABEL (sidebar->priv->folder_label), NULL);
186+
g_file_query_info_async (parent_file,
187+
G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME,
188+
G_FILE_QUERY_INFO_NONE,
189+
G_PRIORITY_DEFAULT,
190+
NULL,
191+
parent_file_display_name_query_info_cb,
192+
g_object_ref (sidebar));
162193

163194
g_object_unref (parent_file);
164195
}

0 commit comments

Comments
 (0)