summaryrefslogtreecommitdiff
path: root/libnautilus-private/nautilus-link-historical.c
diff options
context:
space:
mode:
authorjacob berkman <jacob@ximian.com>2002-02-19 22:53:44 +0000
committerJacob Berkman <jberkman@src.gnome.org>2002-02-19 22:53:44 +0000
commit3e577de02a0c218551a9f6f448da8c5929341770 (patch)
tree98335942a92ce837005ff74e6e7101d6c4b549a9 /libnautilus-private/nautilus-link-historical.c
parent38b6393b9d15727bb01ba366230fc5f057120b0d (diff)
downloadnautilus-3e577de02a0c218551a9f6f448da8c5929341770.tar.gz
require gnome-desktop library
2002-02-19 jacob berkman <jacob@ximian.com> * configure.in: require gnome-desktop library * libnautilus-private/nautilus-icon-dnd.[ch]: (nautilus_icon_dnd_uri_list_extract_uris), (nautilus_icon_dnd_uri_list_free_strings): paste old gnome-mime code here as we still need it * libnautilus-private/nautilus-link-desktop-file.[ch]: (nautilus_link_desktop_file_local_create_from_gnome_entry): * libnautilus-private/nautilus-link-historical.[ch]: (nautilus_link_historical_local_create_from_gnome_entry): * libnautilus-private/nautilus-link.[ch]: (nautilus_link_local_create_from_gnome_entry): * src/file-manager/fm-icon-view.c: (icon_view_handle_uri_list): port to gnome-desktop and re-enable * src/nautilus-location-bar.c: (drag_data_received_callback): use new uri list functions * src/nautilus-zoom-control.c: (draw_number), (nautilus_zoom_control_unload_images), (nautilus_zoom_control_load_images): port to PangoLayout and re-enable text fallback
Diffstat (limited to 'libnautilus-private/nautilus-link-historical.c')
-rw-r--r--libnautilus-private/nautilus-link-historical.c49
1 files changed, 19 insertions, 30 deletions
diff --git a/libnautilus-private/nautilus-link-historical.c b/libnautilus-private/nautilus-link-historical.c
index 6ab6bd8ea..046db87c2 100644
--- a/libnautilus-private/nautilus-link-historical.c
+++ b/libnautilus-private/nautilus-link-historical.c
@@ -388,63 +388,52 @@ nautilus_link_historical_local_is_trash_link (const char *path)
return nautilus_link_historical_local_get_link_type (path) == NAUTILUS_LINK_TRASH;
}
-#if GNOME2_CONVERSION_COMPLETE
-
void
-nautilus_link_historical_local_create_from_gnome_entry (GnomeDesktopEntry *entry, const char *dest_path, const GdkPoint *position)
+nautilus_link_historical_local_create_from_gnome_entry (GnomeDesktopItem *entry, const char *dest_path, const GdkPoint *position)
{
- char *icon_name;
+ char *icon_name, *icon;
char *launch_string, *terminal_command;
- char *quoted, *arguments, *temp_str;
- int i;
+ const char *name, *arguments;
if (entry == NULL || dest_path == NULL) {
return;
}
- /* Extract arguments from exec array */
- arguments = NULL;
- for (i = 0; i < entry->exec_length; ++i) {
- quoted = eel_shell_quote (entry->exec[i]);
- if (arguments == NULL) {
- arguments = quoted;
- } else {
- temp_str = arguments;
- arguments = g_strconcat (arguments, " ", quoted, NULL);
- g_free (temp_str);
- g_free (quoted);
- }
- }
+ name = gnome_desktop_item_get_string (entry, GNOME_DESKTOP_ITEM_NAME);
+ arguments = gnome_desktop_item_get_string (entry, GNOME_DESKTOP_ITEM_EXEC);
- if (strcmp (entry->type, "Application") == 0) {
- if (entry->terminal) {
+ switch (gnome_desktop_item_get_entry_type (entry)) {
+ case GNOME_DESKTOP_ITEM_TYPE_APPLICATION:
+ if (gnome_desktop_item_get_boolean (entry, GNOME_DESKTOP_ITEM_TERMINAL)) {
terminal_command = eel_gnome_make_terminal_command (arguments);
launch_string = g_strconcat ("command:", terminal_command, NULL);
g_free (terminal_command);
} else {
launch_string = g_strconcat ("command:", arguments, NULL);
- }
- } else if (strcmp (entry->type, "URL") == 0) {
+ }
+ break;
+ case GNOME_DESKTOP_ITEM_TYPE_LINK:
launch_string = g_strdup (arguments);
- } else {
+ break;
+ default:
/* Unknown .desktop file type */
launch_string = NULL;
}
- if (entry->icon != NULL) {
- icon_name = eel_make_uri_from_half_baked_uri (entry->icon);
+
+ icon = gnome_desktop_item_get_icon (entry);
+ if (icon != NULL) {
+ icon_name = eel_make_uri_from_half_baked_uri (icon);
+ g_free (icon);
} else {
icon_name = g_strdup ("gnome-unknown.png");
}
if (launch_string != NULL) {
- nautilus_link_historical_local_create (dest_path, entry->name, icon_name,
+ nautilus_link_historical_local_create (dest_path, name, icon_name,
launch_string, position, NAUTILUS_LINK_GENERIC);
}
g_free (icon_name);
g_free (launch_string);
- g_free (arguments);
}
-
-#endif