mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-08-25 02:36:07 +00:00
Strip extensions using eel_filename_strip_extension(). Fixes #309510.
2008-09-01 Christian Neumair <cneumair@gnome.org> * libnautilus-private/nautilus-customization-data.c (format_name_for_display), (load_name_map_hash_table): * src/file-manager/fm-directory-view.c (add_template_to_templates_menus): * src/nautilus-property-browser.c (nautilus_property_browser_drag_data_get), (make_properties_from_directories): * test/test-nautilus-wrap-table.c (main): Strip extensions using eel_filename_strip_extension(). Fixes #309510. Thanks to Paolo Borelli <pborelli@katamail.com> and Jared Moore <jaredm@gmx.com>. svn path=/trunk/; revision=14555
This commit is contained in:
parent
80946aa5b9
commit
974ad6ae24
14
ChangeLog
14
ChangeLog
|
@ -1,3 +1,17 @@
|
||||||
|
2008-09-01 Christian Neumair <cneumair@gnome.org>
|
||||||
|
|
||||||
|
* libnautilus-private/nautilus-customization-data.c
|
||||||
|
(format_name_for_display), (load_name_map_hash_table):
|
||||||
|
* src/file-manager/fm-directory-view.c
|
||||||
|
(add_template_to_templates_menus):
|
||||||
|
* src/nautilus-property-browser.c
|
||||||
|
(nautilus_property_browser_drag_data_get),
|
||||||
|
(make_properties_from_directories):
|
||||||
|
* test/test-nautilus-wrap-table.c (main):
|
||||||
|
Strip extensions using eel_filename_strip_extension(). Fixes #309510.
|
||||||
|
Thanks to Paolo Borelli <pborelli@katamail.com> and Jared Moore
|
||||||
|
<jaredm@gmx.com>.
|
||||||
|
|
||||||
2008-09-01 Christian Neumair <cneumair@gnome.org>
|
2008-09-01 Christian Neumair <cneumair@gnome.org>
|
||||||
|
|
||||||
* configure.in:
|
* configure.in:
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
#include <eel/eel-gdk-pixbuf-extensions.h>
|
#include <eel/eel-gdk-pixbuf-extensions.h>
|
||||||
#include <eel/eel-glib-extensions.h>
|
#include <eel/eel-glib-extensions.h>
|
||||||
#include <eel/eel-gtk-extensions.h>
|
#include <eel/eel-gtk-extensions.h>
|
||||||
|
#include <eel/eel-vfs-extensions.h>
|
||||||
#include <eel/eel-string.h>
|
#include <eel/eel-string.h>
|
||||||
#include <eel/eel-xml-extensions.h>
|
#include <eel/eel-xml-extensions.h>
|
||||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||||
|
@ -77,7 +78,6 @@ static char * get_private_customization_path (const char *custom
|
||||||
static char * get_file_path_for_mode (const NautilusCustomizationData *data,
|
static char * get_file_path_for_mode (const NautilusCustomizationData *data,
|
||||||
const char *file_name);
|
const char *file_name);
|
||||||
static char* format_name_for_display (NautilusCustomizationData *data, const char *name);
|
static char* format_name_for_display (NautilusCustomizationData *data, const char *name);
|
||||||
static char* strip_extension (const char* string_to_strip);
|
|
||||||
static void load_name_map_hash_table (NautilusCustomizationData *data);
|
static void load_name_map_hash_table (NautilusCustomizationData *data);
|
||||||
|
|
||||||
|
|
||||||
|
@ -412,7 +412,7 @@ format_name_for_display (NautilusCustomizationData *data, const char* name)
|
||||||
|
|
||||||
/* map file names to display names using the mappings defined in the hash table */
|
/* map file names to display names using the mappings defined in the hash table */
|
||||||
|
|
||||||
formatted_str = strip_extension (name);
|
formatted_str = eel_filename_strip_extension (name);
|
||||||
if (data->name_map_hash != NULL) {
|
if (data->name_map_hash != NULL) {
|
||||||
mapped_name = g_hash_table_lookup (data->name_map_hash, formatted_str);
|
mapped_name = g_hash_table_lookup (data->name_map_hash, formatted_str);
|
||||||
if (mapped_name) {
|
if (mapped_name) {
|
||||||
|
@ -467,18 +467,3 @@ load_name_map_hash_table (NautilusCustomizationData *data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* utility routine to strip the extension from the passed in string */
|
|
||||||
static char*
|
|
||||||
strip_extension (const char* string_to_strip)
|
|
||||||
{
|
|
||||||
char *result_str, *temp_str;
|
|
||||||
if (string_to_strip == NULL)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
result_str = g_strdup(string_to_strip);
|
|
||||||
temp_str = strrchr(result_str, '.');
|
|
||||||
if (temp_str)
|
|
||||||
*temp_str = '\0';
|
|
||||||
return result_str;
|
|
||||||
}
|
|
||||||
|
|
|
@ -5251,25 +5251,21 @@ add_template_to_templates_menus (FMDirectoryView *directory_view,
|
||||||
const char *menu_path,
|
const char *menu_path,
|
||||||
const char *popup_bg_path)
|
const char *popup_bg_path)
|
||||||
{
|
{
|
||||||
char *tip, *uri, *name;
|
char *tmp, *tip, *uri, *name;
|
||||||
char *dot, *escaped_label;
|
char *escaped_label;
|
||||||
GdkPixbuf *pixbuf;
|
GdkPixbuf *pixbuf;
|
||||||
char *action_name;
|
char *action_name;
|
||||||
CreateTemplateParameters *parameters;
|
CreateTemplateParameters *parameters;
|
||||||
GtkUIManager *ui_manager;
|
GtkUIManager *ui_manager;
|
||||||
GtkAction *action;
|
GtkAction *action;
|
||||||
|
|
||||||
|
tmp = nautilus_file_get_display_name (file);
|
||||||
|
name = eel_filename_strip_extension (tmp);
|
||||||
|
g_free (tmp);
|
||||||
|
|
||||||
name = nautilus_file_get_display_name (file);
|
|
||||||
uri = nautilus_file_get_uri (file);
|
uri = nautilus_file_get_uri (file);
|
||||||
tip = g_strdup_printf (_("Create Document from template \"%s\""), name);
|
tip = g_strdup_printf (_("Create Document from template \"%s\""), name);
|
||||||
|
|
||||||
/* Remove extension */
|
|
||||||
dot = strrchr (name, '.');
|
|
||||||
if (dot != NULL) {
|
|
||||||
*dot = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
action_name = escape_action_name (uri, "template_");
|
action_name = escape_action_name (uri, "template_");
|
||||||
escaped_label = eel_str_double_underscores (name);
|
escaped_label = eel_str_double_underscores (name);
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
#include <eel/eel-labeled-image.h>
|
#include <eel/eel-labeled-image.h>
|
||||||
#include <eel/eel-stock-dialogs.h>
|
#include <eel/eel-stock-dialogs.h>
|
||||||
#include <eel/eel-string.h>
|
#include <eel/eel-string.h>
|
||||||
|
#include <eel/eel-vfs-extensions.h>
|
||||||
#include <eel/eel-xml-extensions.h>
|
#include <eel/eel-xml-extensions.h>
|
||||||
#include <librsvg/rsvg.h>
|
#include <librsvg/rsvg.h>
|
||||||
#include <libxml/parser.h>
|
#include <libxml/parser.h>
|
||||||
|
@ -165,7 +166,6 @@ static void emblems_changed_callback (GObject
|
||||||
NautilusPropertyBrowser *property_browser);
|
NautilusPropertyBrowser *property_browser);
|
||||||
|
|
||||||
/* misc utilities */
|
/* misc utilities */
|
||||||
static char * strip_extension (const char *string_to_strip);
|
|
||||||
static void element_clicked_callback (GtkWidget *image_table,
|
static void element_clicked_callback (GtkWidget *image_table,
|
||||||
GtkWidget *child,
|
GtkWidget *child,
|
||||||
const EelImageTableEvent *event,
|
const EelImageTableEvent *event,
|
||||||
|
@ -605,7 +605,7 @@ nautilus_property_browser_drag_data_get (GtkWidget *widget,
|
||||||
is_reset = FALSE;
|
is_reset = FALSE;
|
||||||
if (strcmp (property_browser->details->drag_type,
|
if (strcmp (property_browser->details->drag_type,
|
||||||
"property/keyword") == 0) {
|
"property/keyword") == 0) {
|
||||||
char* keyword_str = strip_extension(property_browser->details->dragged_file);
|
char *keyword_str = eel_filename_strip_extension(property_browser->details->dragged_file);
|
||||||
gtk_selection_data_set(selection_data, selection_data->target, 8, keyword_str, strlen(keyword_str));
|
gtk_selection_data_set(selection_data, selection_data->target, 8, keyword_str, strlen(keyword_str));
|
||||||
g_free(keyword_str);
|
g_free(keyword_str);
|
||||||
return;
|
return;
|
||||||
|
@ -1609,22 +1609,6 @@ element_clicked_callback (GtkWidget *image_table,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* utility routine to strip the extension from the passed in string */
|
|
||||||
static char*
|
|
||||||
strip_extension (const char* string_to_strip)
|
|
||||||
{
|
|
||||||
char *result_str, *temp_str;
|
|
||||||
if (string_to_strip == NULL)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
result_str = g_strdup(string_to_strip);
|
|
||||||
temp_str = strrchr(result_str, '.');
|
|
||||||
if (temp_str)
|
|
||||||
*temp_str = '\0';
|
|
||||||
return result_str;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
labeled_image_configure (EelLabeledImage *labeled_image)
|
labeled_image_configure (EelLabeledImage *labeled_image)
|
||||||
{
|
{
|
||||||
|
@ -1667,7 +1651,6 @@ make_properties_from_directories (NautilusPropertyBrowser *property_browser)
|
||||||
GList *icons, *l;
|
GList *icons, *l;
|
||||||
char *icon_name;
|
char *icon_name;
|
||||||
char *keyword;
|
char *keyword;
|
||||||
char *extension;
|
|
||||||
GtkWidget *property_image;
|
GtkWidget *property_image;
|
||||||
GtkWidget *blank;
|
GtkWidget *blank;
|
||||||
guint num_images;
|
guint num_images;
|
||||||
|
@ -1706,11 +1689,7 @@ make_properties_from_directories (NautilusPropertyBrowser *property_browser)
|
||||||
property_image = labeled_image_new (object_label, object_pixbuf, object_name, PANGO_SCALE_LARGE);
|
property_image = labeled_image_new (object_label, object_pixbuf, object_name, PANGO_SCALE_LARGE);
|
||||||
eel_labeled_image_set_fixed_image_height (EEL_LABELED_IMAGE (property_image), MAX_EMBLEM_HEIGHT);
|
eel_labeled_image_set_fixed_image_height (EEL_LABELED_IMAGE (property_image), MAX_EMBLEM_HEIGHT);
|
||||||
|
|
||||||
keyword = g_strdup (object_name);
|
keyword = eel_filename_strip_extension (object_name);
|
||||||
extension = strchr (keyword, '.');
|
|
||||||
if (extension) {
|
|
||||||
*extension = '\0';
|
|
||||||
}
|
|
||||||
property_browser->details->keywords = g_list_prepend (property_browser->details->keywords,
|
property_browser->details->keywords = g_list_prepend (property_browser->details->keywords,
|
||||||
keyword);
|
keyword);
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
#include <eel/eel-wrap-table.h>
|
#include <eel/eel-wrap-table.h>
|
||||||
#include <eel/eel-labeled-image.h>
|
#include <eel/eel-labeled-image.h>
|
||||||
|
#include <eel/eel-vfs-extensions.h>
|
||||||
#include <libnautilus-private/nautilus-customization-data.h>
|
#include <libnautilus-private/nautilus-customization-data.h>
|
||||||
#include <libnautilus-private/nautilus-icon-info.h>
|
#include <libnautilus-private/nautilus-icon-info.h>
|
||||||
|
|
||||||
|
@ -11,7 +12,7 @@ main (int argc, char* argv[])
|
||||||
NautilusCustomizationData *customization_data;
|
NautilusCustomizationData *customization_data;
|
||||||
GtkWidget *window;
|
GtkWidget *window;
|
||||||
GtkWidget *emblems_table, *button, *scroller;
|
GtkWidget *emblems_table, *button, *scroller;
|
||||||
char *emblem_name, *dot_pos;
|
char *emblem_name, *stripped_name;
|
||||||
GdkPixbuf *pixbuf;
|
GdkPixbuf *pixbuf;
|
||||||
char *label;
|
char *label;
|
||||||
|
|
||||||
|
@ -62,19 +63,16 @@ main (int argc, char* argv[])
|
||||||
&pixbuf,
|
&pixbuf,
|
||||||
&label) == GNOME_VFS_OK) {
|
&label) == GNOME_VFS_OK) {
|
||||||
|
|
||||||
/* strip the suffix, if any */
|
stripped_name = eel_filename_strip_extension (emblem_name);
|
||||||
dot_pos = strrchr(emblem_name, '.');
|
g_free (emblem_name);
|
||||||
if (dot_pos) {
|
|
||||||
*dot_pos = '\0';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (strcmp (emblem_name, "erase") == 0) {
|
if (strcmp (stripped_name, "erase") == 0) {
|
||||||
g_object_unref (pixbuf);
|
g_object_unref (pixbuf);
|
||||||
g_free (label);
|
g_free (label);
|
||||||
g_free (emblem_name);
|
g_free (stripped_name);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
button = eel_labeled_image_check_button_new (label, pixbuf);
|
button = eel_labeled_image_check_button_new (label, pixbuf);
|
||||||
g_free (label);
|
g_free (label);
|
||||||
g_object_unref (pixbuf);
|
g_object_unref (pixbuf);
|
||||||
|
@ -82,7 +80,7 @@ main (int argc, char* argv[])
|
||||||
/* Attach parameters and signal handler. */
|
/* Attach parameters and signal handler. */
|
||||||
g_object_set_data_full (G_OBJECT (button),
|
g_object_set_data_full (G_OBJECT (button),
|
||||||
"nautilus_property_name",
|
"nautilus_property_name",
|
||||||
emblem_name,
|
stripped_name,
|
||||||
(GDestroyNotify) g_free);
|
(GDestroyNotify) g_free);
|
||||||
|
|
||||||
gtk_container_add (GTK_CONTAINER (emblems_table), button);
|
gtk_container_add (GTK_CONTAINER (emblems_table), button);
|
||||||
|
|
Loading…
Reference in a new issue