diff options
author | George Lebl <jirka@5z.com> | 2000-09-15 23:46:03 +0000 |
---|---|---|
committer | George Lebl <jirka@src.gnome.org> | 2000-09-15 23:46:03 +0000 |
commit | ab7ba16ff7aa50eb0559bc2d4853e502b6bfc27b (patch) | |
tree | 60c315cefb473c133702a5e2dab29ee8cbb17e88 | |
parent | ef8ecf96d13fc3765c6074791778c0717a51bda9 (diff) | |
download | gnome-desktop-ab7ba16ff7aa50eb0559bc2d4853e502b6bfc27b.tar.gz |
Launch Type=URL entries, and slight cosmetic updates
Fri Sep 15 18:47:06 2000 George Lebl <jirka@5z.com>
* gnome-ditem.[ch]: Launch Type=URL entries, and slight
cosmetic updates
-rw-r--r-- | libgnome-desktop/gnome-desktop-item.c | 26 | ||||
-rw-r--r-- | libgnome-desktop/gnome-desktop-item.h | 12 | ||||
-rw-r--r-- | libgnome-desktop/libgnome/gnome-desktop-item.h | 12 |
3 files changed, 35 insertions, 15 deletions
diff --git a/libgnome-desktop/gnome-desktop-item.c b/libgnome-desktop/gnome-desktop-item.c index 38b9ac61..9b0785ce 100644 --- a/libgnome-desktop/gnome-desktop-item.c +++ b/libgnome-desktop/gnome-desktop-item.c @@ -1017,7 +1017,9 @@ strip_the_amp(char *exec) * then passed to gnome_exec_async for execution with argc and argv appended. * * Returns: The value returned by gnome_execute_async() upon execution of - * the specified item or -1 on error. + * the specified item or -1 on error. It may also return a 0 on success + * if pid is not available, such as in a case where the entry is a URL + * entry. */ int gnome_desktop_item_launch (const GnomeDesktopItem *item, int argc, const char **argv) @@ -1034,6 +1036,16 @@ gnome_desktop_item_launch (const GnomeDesktopItem *item, int argc, const char ** return -1; } + /* This is a URL, so launch it as a url */ + if (item->type != NULL && + item->item_format == GNOME_DESKTOP_ITEM_GNOME && + strcmp (item->type, "URL") == 0) { + if (gnome_url_show (item->exec)) + return 0; + else + return -1; + } + /* make a new copy and get rid of spaces */ the_exec = g_alloca(strlen(item->exec)+1); strcpy(the_exec,item->exec); @@ -1263,8 +1275,16 @@ gnome_desktop_item_drop_uri_list (const GnomeDesktopItem *item, GList *file_list = NULL; int ret = -1; - g_return_val_if_fail(item!=NULL,-1); - g_return_val_if_fail(uri_list!=NULL,-1); + g_return_val_if_fail (item != NULL, -1); + g_return_val_if_fail (uri_list != NULL, -1); + + /* How could you drop something on a URL entry, that would + * be bollocks */ + if (item->type != NULL && + item->item_format == GNOME_DESKTOP_ITEM_GNOME && + strcmp (item->type, "URL") == 0) { + return -1; + } /* do we even allow drops? */ if(item->item_flags & GNOME_DESKTOP_ITEM_NO_FILE_DROP && diff --git a/libgnome-desktop/gnome-desktop-item.h b/libgnome-desktop/gnome-desktop-item.h index 09c39532..c05ae977 100644 --- a/libgnome-desktop/gnome-desktop-item.h +++ b/libgnome-desktop/gnome-desktop-item.h @@ -24,8 +24,8 @@ @NOTATION@ */ -#ifndef __GNOME_DITEM_H__ -#define __GNOME_DITEM_H__ 1 +#ifndef GNOME_DITEM_H +#define GNOME_DITEM_H BEGIN_GNOME_DECLS @@ -54,9 +54,9 @@ typedef enum { } GnomeDesktopItemFormat; typedef enum { - GNOME_DESKTOP_ITEM_UNCHANGED=0, - GNOME_DESKTOP_ITEM_CHANGED=1, - GNOME_DESKTOP_ITEM_DISAPPEARED=2 + GNOME_DESKTOP_ITEM_UNCHANGED = 0, + GNOME_DESKTOP_ITEM_CHANGED = 1, + GNOME_DESKTOP_ITEM_DISAPPEARED = 2 } GnomeDesktopItemStatus; typedef struct _GnomeDesktopItem GnomeDesktopItem; @@ -149,4 +149,4 @@ void gnome_desktop_item_set_location (GnomeDesktopItem END_GNOME_DECLS -#endif /* __GNOME_DITEM_H__ */ +#endif /* GNOME_DITEM_H */ diff --git a/libgnome-desktop/libgnome/gnome-desktop-item.h b/libgnome-desktop/libgnome/gnome-desktop-item.h index 09c39532..c05ae977 100644 --- a/libgnome-desktop/libgnome/gnome-desktop-item.h +++ b/libgnome-desktop/libgnome/gnome-desktop-item.h @@ -24,8 +24,8 @@ @NOTATION@ */ -#ifndef __GNOME_DITEM_H__ -#define __GNOME_DITEM_H__ 1 +#ifndef GNOME_DITEM_H +#define GNOME_DITEM_H BEGIN_GNOME_DECLS @@ -54,9 +54,9 @@ typedef enum { } GnomeDesktopItemFormat; typedef enum { - GNOME_DESKTOP_ITEM_UNCHANGED=0, - GNOME_DESKTOP_ITEM_CHANGED=1, - GNOME_DESKTOP_ITEM_DISAPPEARED=2 + GNOME_DESKTOP_ITEM_UNCHANGED = 0, + GNOME_DESKTOP_ITEM_CHANGED = 1, + GNOME_DESKTOP_ITEM_DISAPPEARED = 2 } GnomeDesktopItemStatus; typedef struct _GnomeDesktopItem GnomeDesktopItem; @@ -149,4 +149,4 @@ void gnome_desktop_item_set_location (GnomeDesktopItem END_GNOME_DECLS -#endif /* __GNOME_DITEM_H__ */ +#endif /* GNOME_DITEM_H */ |