summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Neumair <cneumair@gnome.org>2008-09-01 10:24:12 +0000
committerChristian Neumair <cneumair@src.gnome.org>2008-09-01 10:24:12 +0000
commit974ad6ae24746c2b742df9ac5ab0865b2db548a4 (patch)
tree5914bcae7ee2c461191b2cab1252a77f239f0766
parent80946aa5b99d26eab80d7ac90b7d4c38060ca2d0 (diff)
downloadnautilus-974ad6ae24746c2b742df9ac5ab0865b2db548a4.tar.gz
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
-rw-r--r--ChangeLog14
-rw-r--r--libnautilus-private/nautilus-customization-data.c19
-rw-r--r--src/file-manager/fm-directory-view.c14
-rw-r--r--src/nautilus-property-browser.c27
-rw-r--r--test/test-nautilus-wrap-table.c18
5 files changed, 32 insertions, 60 deletions
diff --git a/ChangeLog b/ChangeLog
index d7249e38a..f3b23aef1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
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>
+
* configure.in:
Require eel 2.23.91.
diff --git a/libnautilus-private/nautilus-customization-data.c b/libnautilus-private/nautilus-customization-data.c
index 65c45f790..c6ebcc710 100644
--- a/libnautilus-private/nautilus-customization-data.c
+++ b/libnautilus-private/nautilus-customization-data.c
@@ -35,6 +35,7 @@
#include <eel/eel-gdk-pixbuf-extensions.h>
#include <eel/eel-glib-extensions.h>
#include <eel/eel-gtk-extensions.h>
+#include <eel/eel-vfs-extensions.h>
#include <eel/eel-string.h>
#include <eel/eel-xml-extensions.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,
const char *file_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);
@@ -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 */
- formatted_str = strip_extension (name);
+ formatted_str = eel_filename_strip_extension (name);
if (data->name_map_hash != NULL) {
mapped_name = g_hash_table_lookup (data->name_map_hash, formatted_str);
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;
-}
diff --git a/src/file-manager/fm-directory-view.c b/src/file-manager/fm-directory-view.c
index d473ac0a1..844eb2250 100644
--- a/src/file-manager/fm-directory-view.c
+++ b/src/file-manager/fm-directory-view.c
@@ -5251,25 +5251,21 @@ add_template_to_templates_menus (FMDirectoryView *directory_view,
const char *menu_path,
const char *popup_bg_path)
{
- char *tip, *uri, *name;
- char *dot, *escaped_label;
+ char *tmp, *tip, *uri, *name;
+ char *escaped_label;
GdkPixbuf *pixbuf;
char *action_name;
CreateTemplateParameters *parameters;
GtkUIManager *ui_manager;
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);
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_");
escaped_label = eel_str_double_underscores (name);
diff --git a/src/nautilus-property-browser.c b/src/nautilus-property-browser.c
index acaef77a4..0bdd41fb0 100644
--- a/src/nautilus-property-browser.c
+++ b/src/nautilus-property-browser.c
@@ -42,6 +42,7 @@
#include <eel/eel-labeled-image.h>
#include <eel/eel-stock-dialogs.h>
#include <eel/eel-string.h>
+#include <eel/eel-vfs-extensions.h>
#include <eel/eel-xml-extensions.h>
#include <librsvg/rsvg.h>
#include <libxml/parser.h>
@@ -165,7 +166,6 @@ static void emblems_changed_callback (GObject
NautilusPropertyBrowser *property_browser);
/* misc utilities */
-static char * strip_extension (const char *string_to_strip);
static void element_clicked_callback (GtkWidget *image_table,
GtkWidget *child,
const EelImageTableEvent *event,
@@ -605,7 +605,7 @@ nautilus_property_browser_drag_data_get (GtkWidget *widget,
is_reset = FALSE;
if (strcmp (property_browser->details->drag_type,
"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));
g_free(keyword_str);
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
labeled_image_configure (EelLabeledImage *labeled_image)
{
@@ -1667,7 +1651,6 @@ make_properties_from_directories (NautilusPropertyBrowser *property_browser)
GList *icons, *l;
char *icon_name;
char *keyword;
- char *extension;
GtkWidget *property_image;
GtkWidget *blank;
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);
eel_labeled_image_set_fixed_image_height (EEL_LABELED_IMAGE (property_image), MAX_EMBLEM_HEIGHT);
- keyword = g_strdup (object_name);
- extension = strchr (keyword, '.');
- if (extension) {
- *extension = '\0';
- }
+ keyword = eel_filename_strip_extension (object_name);
property_browser->details->keywords = g_list_prepend (property_browser->details->keywords,
keyword);
diff --git a/test/test-nautilus-wrap-table.c b/test/test-nautilus-wrap-table.c
index 258bde9a9..55147d2a9 100644
--- a/test/test-nautilus-wrap-table.c
+++ b/test/test-nautilus-wrap-table.c
@@ -2,6 +2,7 @@
#include <eel/eel-wrap-table.h>
#include <eel/eel-labeled-image.h>
+#include <eel/eel-vfs-extensions.h>
#include <libnautilus-private/nautilus-customization-data.h>
#include <libnautilus-private/nautilus-icon-info.h>
@@ -11,7 +12,7 @@ main (int argc, char* argv[])
NautilusCustomizationData *customization_data;
GtkWidget *window;
GtkWidget *emblems_table, *button, *scroller;
- char *emblem_name, *dot_pos;
+ char *emblem_name, *stripped_name;
GdkPixbuf *pixbuf;
char *label;
@@ -62,19 +63,16 @@ main (int argc, char* argv[])
&pixbuf,
&label) == GNOME_VFS_OK) {
- /* strip the suffix, if any */
- dot_pos = strrchr(emblem_name, '.');
- if (dot_pos) {
- *dot_pos = '\0';
- }
+ stripped_name = eel_filename_strip_extension (emblem_name);
+ g_free (emblem_name);
- if (strcmp (emblem_name, "erase") == 0) {
+ if (strcmp (stripped_name, "erase") == 0) {
g_object_unref (pixbuf);
g_free (label);
- g_free (emblem_name);
+ g_free (stripped_name);
continue;
}
-
+
button = eel_labeled_image_check_button_new (label, pixbuf);
g_free (label);
g_object_unref (pixbuf);
@@ -82,7 +80,7 @@ main (int argc, char* argv[])
/* Attach parameters and signal handler. */
g_object_set_data_full (G_OBJECT (button),
"nautilus_property_name",
- emblem_name,
+ stripped_name,
(GDestroyNotify) g_free);
gtk_container_add (GTK_CONTAINER (emblems_table), button);