diff options
author | jacob berkman <jacob@ximian.com> | 2002-02-19 22:53:44 +0000 |
---|---|---|
committer | Jacob Berkman <jberkman@src.gnome.org> | 2002-02-19 22:53:44 +0000 |
commit | 3e577de02a0c218551a9f6f448da8c5929341770 (patch) | |
tree | 98335942a92ce837005ff74e6e7101d6c4b549a9 /libnautilus-private/nautilus-link-historical.c | |
parent | 38b6393b9d15727bb01ba366230fc5f057120b0d (diff) | |
download | nautilus-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.c | 49 |
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 |