summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Lebl <jirka@5z.com>2000-09-15 23:46:03 +0000
committerGeorge Lebl <jirka@src.gnome.org>2000-09-15 23:46:03 +0000
commitab7ba16ff7aa50eb0559bc2d4853e502b6bfc27b (patch)
tree60c315cefb473c133702a5e2dab29ee8cbb17e88
parentef8ecf96d13fc3765c6074791778c0717a51bda9 (diff)
downloadgnome-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.c26
-rw-r--r--libgnome-desktop/gnome-desktop-item.h12
-rw-r--r--libgnome-desktop/libgnome/gnome-desktop-item.h12
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 */