summaryrefslogtreecommitdiff
path: root/components/services/summary
diff options
context:
space:
mode:
Diffstat (limited to 'components/services/summary')
-rw-r--r--components/services/summary/.cvsignore4
-rw-r--r--components/services/summary/Makefile.am65
-rw-r--r--components/services/summary/icons/.cvsignore (renamed from components/services/summary/nautilus-view/icons/gray_tab_pieces/.cvsignore)0
-rw-r--r--components/services/summary/lib/.cvsignore4
-rw-r--r--components/services/summary/lib/Makefile.am21
-rw-r--r--components/services/summary/lib/eazel-summary-shared.c370
-rw-r--r--components/services/summary/lib/eazel-summary-shared.h82
-rw-r--r--components/services/summary/nautilus-view/.cvsignore6
-rw-r--r--components/services/summary/nautilus-view/Makefile.am64
-rw-r--r--components/services/summary/nautilus-view/Nautilus_View_services-summary.oaf.in25
-rw-r--r--components/services/summary/nautilus-view/icons/Makefile.am3
-rw-r--r--components/services/summary/nautilus-view/icons/gray_tab_pieces/Makefile.am22
-rw-r--r--components/services/summary/nautilus-view/icons/gray_tab_pieces/active-fill.pngbin416 -> 0 bytes
-rw-r--r--components/services/summary/nautilus-view/icons/gray_tab_pieces/active-inactive-bridge.pngbin937 -> 0 bytes
-rw-r--r--components/services/summary/nautilus-view/icons/gray_tab_pieces/active-left-bumper.pngbin438 -> 0 bytes
-rw-r--r--components/services/summary/nautilus-view/icons/gray_tab_pieces/active-prelight-bridge.pngbin964 -> 0 bytes
-rw-r--r--components/services/summary/nautilus-view/icons/gray_tab_pieces/active-right-bumper.pngbin918 -> 0 bytes
-rw-r--r--components/services/summary/nautilus-view/icons/gray_tab_pieces/fill-background.pngbin368 -> 0 bytes
-rw-r--r--components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-active-bridge.pngbin745 -> 0 bytes
-rw-r--r--components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-fill.pngbin421 -> 0 bytes
-rw-r--r--components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-left-bumper.pngbin424 -> 0 bytes
-rw-r--r--components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-right-bumper.pngbin886 -> 0 bytes
-rw-r--r--components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-active-bridge.pngbin742 -> 0 bytes
-rw-r--r--components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-fill.pngbin419 -> 0 bytes
-rw-r--r--components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-left-bumper.pngbin414 -> 0 bytes
-rw-r--r--components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-right-bumper.pngbin887 -> 0 bytes
-rw-r--r--components/services/summary/nautilus-view/main.c128
-rw-r--r--components/services/summary/nautilus-view/nautilus-summary-callbacks.c321
-rw-r--r--components/services/summary/nautilus-view/nautilus-summary-callbacks.h40
-rw-r--r--components/services/summary/nautilus-view/nautilus-summary-dialogs.c302
-rw-r--r--components/services/summary/nautilus-view/nautilus-summary-dialogs.h36
-rw-r--r--components/services/summary/nautilus-view/nautilus-summary-footer.c111
-rw-r--r--components/services/summary/nautilus-view/nautilus-summary-footer.h31
-rw-r--r--components/services/summary/nautilus-view/nautilus-summary-menu-items.c187
-rw-r--r--components/services/summary/nautilus-view/nautilus-summary-menu-items.h33
-rw-r--r--components/services/summary/nautilus-view/nautilus-summary-view-private.h128
-rw-r--r--components/services/summary/nautilus-view/nautilus-summary-view-ui.xml26
-rw-r--r--components/services/summary/nautilus-view/nautilus-summary-view.c947
-rw-r--r--components/services/summary/nautilus-view/nautilus-summary-view.h60
-rw-r--r--components/services/summary/nautilus-view/tests/README7
-rw-r--r--components/services/summary/nautilus-view/tests/redirects.xml56
-rw-r--r--components/services/summary/nautilus-view/tests/services.xml330
42 files changed, 68 insertions, 3341 deletions
diff --git a/components/services/summary/.cvsignore b/components/services/summary/.cvsignore
index 282522db0..bfcf5f908 100644
--- a/components/services/summary/.cvsignore
+++ b/components/services/summary/.cvsignore
@@ -1,2 +1,6 @@
+.deps
+.libs
Makefile
Makefile.in
+nautilus-summary-view
+Nautilus_View_services-summary.oaf
diff --git a/components/services/summary/Makefile.am b/components/services/summary/Makefile.am
index 821eeee61..30c8bf6dd 100644
--- a/components/services/summary/Makefile.am
+++ b/components/services/summary/Makefile.am
@@ -1 +1,64 @@
-SUBDIRS = lib nautilus-view
+include $(top_srcdir)/Makefile.shared
+
+SUBDIRS = icons
+
+INCLUDES = \
+ -DPREFIX=\"$(prefix)\" \
+ -DG_LOG_DOMAIN=\"trilobite-eazel-summary\" \
+ -DDATADIR=\"$(datadir)\" \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/components/services/nautilus-dependent-shared \
+ -I$(top_srcdir)/components/services/trilobite \
+ -I$(top_builddir) \
+ $(GNOMEUI_CFLAGS) \
+ $(GCONF_CFLAGS) \
+ -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
+ $(VFS_CFLAGS) \
+ $(NULL)
+
+uidir = $(datadir)/gnome/ui
+ui_DATA = nautilus-summary-view-ui.xml
+
+bin_PROGRAMS = \
+ nautilus-summary-view
+
+nautilus_summary_view_SOURCES = \
+ eazel-summary-shared.c \
+ eazel-summary-shared.h \
+ main.c \
+ nautilus-summary-callbacks.c \
+ nautilus-summary-callbacks.h \
+ nautilus-summary-dialogs.c \
+ nautilus-summary-dialogs.h \
+ nautilus-summary-footer.c \
+ nautilus-summary-footer.h \
+ nautilus-summary-menu-items.c \
+ nautilus-summary-menu-items.h \
+ nautilus-summary-view-private.h \
+ nautilus-summary-view.c \
+ nautilus-summary-view.h \
+ $(NULL)
+
+nautilus_summary_view_LDADD = \
+ $(top_builddir)/components/services/trilobite/libtrilobite/libtrilobite.la \
+ $(top_builddir)/components/services/nautilus-dependent-shared/libnautilusdepshared.a \
+ $(top_builddir)/libnautilus/libnautilus.la \
+ $(top_builddir)/libnautilus-extensions/libnautilus-extensions.la \
+ $(BONOBO_LIBS) \
+ $(GNOMEUI_LIBS) \
+ $(GCONF_LIBS) \
+ $(VFS_LIBS) \
+ $(GHTTP_LIBS) \
+ $(OAF_LIBS) \
+ $(AMMONITE_LIBS) \
+ $(NULL)
+
+oafdir = $(datadir)/oaf
+oaf_in_files = \
+ Nautilus_View_services-summary.oaf.in \
+ $(NULL)
+oaf_DATA = $(oaf_in_files:.oaf.in=.oaf)
+
+@XML_I18N_MERGE_OAF_RULE@
+
+EXTRA_DIST = $(oaf_in_files) $(oaf_DATA) $(ui_DATA)
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/.cvsignore b/components/services/summary/icons/.cvsignore
index 282522db0..282522db0 100644
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/.cvsignore
+++ b/components/services/summary/icons/.cvsignore
diff --git a/components/services/summary/lib/.cvsignore b/components/services/summary/lib/.cvsignore
deleted file mode 100644
index b34a31478..000000000
--- a/components/services/summary/lib/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.deps
-Makefile
-Makefile.in
-libsummary.a
diff --git a/components/services/summary/lib/Makefile.am b/components/services/summary/lib/Makefile.am
deleted file mode 100644
index e518e26eb..000000000
--- a/components/services/summary/lib/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-NULL =
-
-INCLUDES = \
- -DPREFIX=\"$(prefix)\" \
- -DG_LOG_DOMAIN=\"trilobite-eazel-summary\" \
- -DSTANDALONE \
- -I$(top_srcdir) \
- -I$(top_builddir) \
- -I$(top_srcdir)/components/services/trilobite \
- $(GNOME_CFLAGS) \
- $(GCONF_CFLAGS) \
- $(GHTTP_CFLAGS) \
- $(NULL)
-
-noinst_LIBRARIES = libsummary.a
-
-libsummary_a_SOURCES = \
- eazel-summary-shared.h \
- eazel-summary-shared.c \
- $(NULL)
-
diff --git a/components/services/summary/lib/eazel-summary-shared.c b/components/services/summary/lib/eazel-summary-shared.c
deleted file mode 100644
index 2a0b4e9c5..000000000
--- a/components/services/summary/lib/eazel-summary-shared.c
+++ /dev/null
@@ -1,370 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/*
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: J Shane Culpepper <pepper@eazel.com>
- */
-
-#include <config.h>
-
-#include "eazel-summary-shared.h"
-
-#include <libtrilobite/libtrilobite.h>
-#include <libtrilobite/trilobite-file-utilities.h>
-#include <gnome.h>
-#include <gnome-xml/tree.h>
-#include <gnome-xml/parser.h>
-#include <glib.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <ctype.h>
-
-static GList * build_services_glist_from_xml (xmlNodePtr node);
-static GList * build_eazel_news_glist_from_xml (xmlNodePtr node);
-static GList * build_update_news_glist_from_xml (xmlNodePtr node);
-static SummaryData * summary_data_new (void);
-static ServicesData * services_data_new (void);
-static EazelNewsData * eazel_news_data_new (void);
-static UpdateNewsData * update_news_data_new (void);
-static ServicesData * parse_a_service (xmlNodePtr node);
-static EazelNewsData * parse_a_eazel_news_item (xmlNodePtr node);
-static UpdateNewsData * parse_a_update_news_item (xmlNodePtr node);
-
-
-static SummaryData *
-summary_data_new ()
-{
- SummaryData *return_value;
- return_value = g_new0 (SummaryData, 1);
-
- return_value->services_list = NULL;
- return_value->eazel_news_list = NULL;
- return_value->update_news_list = NULL;
-
- return return_value;
-
-} /* end summary_data_new */
-
-static ServicesData *
-services_data_new ()
-{
- ServicesData *return_value;
- return_value = g_new0 (ServicesData, 1);
-
- return_value->name = NULL;
- return_value->icon = NULL;
- return_value->button_label = NULL;
- return_value->description_header = NULL;
- return_value->description = NULL;
- return_value->enabled = TRUE;
-
- return return_value;
-
-} /* end services_data_new */
-
-static EazelNewsData *
-eazel_news_data_new ()
-{
- EazelNewsData *return_value;
- return_value = g_new0 (EazelNewsData, 1);
-
- return_value->name = NULL;
- return_value->icon = NULL;
- return_value->date = NULL;
- return_value->message = NULL;
-
- return return_value;
-
-} /* end eazel_news_data_new */
-
-static UpdateNewsData *
-update_news_data_new ()
-{
- UpdateNewsData *return_value;
- return_value = g_new0 (UpdateNewsData, 1);
-
- return_value->name = NULL;
- return_value->version = NULL;
- return_value->priority = NULL;
- return_value->description = NULL;
- return_value->icon = NULL;
- return_value->button_label = NULL;
- return_value->uri = NULL;
- return_value->softcat_uri = NULL;
-
- return return_value;
-
-} /* end update_news_data_new */
-
-static ServicesData *
-parse_a_service (xmlNodePtr node)
-{
- ServicesData *return_value;
- char *tempbuf;
-
- return_value = services_data_new ();
-
- return_value->name = g_strdup (trilobite_xml_get_string (node, "NAME"));
- return_value->icon = g_strdup (trilobite_xml_get_string (node, "ICON"));
- return_value->button_label = g_strdup (trilobite_xml_get_string (node, "BUTTON_LABEL"));
- return_value->uri = g_strdup (trilobite_xml_get_string (node, "URI"));
- return_value->description_header = g_strdup (trilobite_xml_get_string (node, "DESCRIPTION_HEADER"));
- return_value->description = g_strdup (trilobite_xml_get_string (node, "DESCRIPTION"));
- tempbuf = g_strdup (trilobite_xml_get_string (node, "ENABLED"));
- if (tempbuf[0] == 'T' || tempbuf[0] == 't') {
- return_value->enabled = TRUE;
- }
- else if (tempbuf[0] == 'F' || tempbuf[0] == 'f') {
- return_value->enabled = FALSE;
- }
- else {
- g_warning (_("Could not find a valid boolean value for grey_out!"));
- return_value->enabled = FALSE;
- }
-
- return return_value;
-
-} /* end parse_a_service */
-
-static EazelNewsData *
-parse_a_eazel_news_item (xmlNodePtr node)
-{
- EazelNewsData *return_value;
- return_value = eazel_news_data_new ();
-
- return_value->name = g_strdup (trilobite_xml_get_string (node, "NAME"));
- return_value->icon = g_strdup (trilobite_xml_get_string (node, "ICON"));
- return_value->date = g_strdup (trilobite_xml_get_string (node, "DATE"));
- return_value->message = g_strdup (trilobite_xml_get_string (node, "MESSAGE"));
-
- return return_value;
-
-} /* end parse_a_eazel_news_item */
-
-static UpdateNewsData *
-parse_a_update_news_item (xmlNodePtr node)
-{
- UpdateNewsData *return_value;
- return_value = update_news_data_new ();
-
- return_value->name = g_strdup (trilobite_xml_get_string (node, "NAME"));
- return_value->version = g_strdup (trilobite_xml_get_string (node, "VERSION"));
- return_value->priority = g_strdup (trilobite_xml_get_string (node, "PRIORITY"));
- return_value->description = g_strdup (trilobite_xml_get_string (node, "DESCRIPTION"));
- return_value->icon = g_strdup (trilobite_xml_get_string (node, "ICON"));
- return_value->button_label = g_strdup (trilobite_xml_get_string (node, "BUTTON_LABEL"));
- return_value->uri = g_strdup (trilobite_xml_get_string (node, "URI"));
- return_value->softcat_uri = g_strdup (trilobite_xml_get_string (node, "SOFTCAT_URI"));
-
- return return_value;
-
-} /* end parse_a_update_news_item */
-
-static GList *
-build_services_glist_from_xml (xmlNodePtr node)
-{
- GList *return_value;
- xmlNodePtr service;
-
- return_value = NULL;
- service = node->xmlChildrenNode;
- if (service == NULL) {
- g_warning (_("There is no service data !\n"));
- return NULL;
- }
-
- while (service) {
- ServicesData *sdata;
-
- sdata = parse_a_service (service);
- return_value = g_list_append (return_value, sdata);
- service = service->next;
- }
-
- return return_value;
-
-} /* end build_services_glist_from_xml */
-
-static GList *
-build_eazel_news_glist_from_xml (xmlNodePtr node)
-{
- GList *return_value;
- xmlNodePtr news_item;
-
- return_value = NULL;
- news_item = node->xmlChildrenNode;
- if (news_item == NULL) {
- g_warning (_("There is no eazel news data !\n"));
- return NULL;
- }
-
- while (news_item) {
- EazelNewsData *ndata;
-
- ndata = parse_a_eazel_news_item (news_item);
- return_value = g_list_append (return_value, ndata);
- news_item = news_item->next;
- }
-
- return return_value;
-
-} /* end build_eazel_news_glist_from_xml */
-
-static GList *
-build_update_news_glist_from_xml (xmlNodePtr node)
-{
- GList *return_value;
- xmlNodePtr news_item;
-
- return_value = NULL;
- news_item = node->xmlChildrenNode;
- if (news_item == NULL) {
- g_warning (_("There is no eazel news data !\n"));
- return NULL;
- }
-
- while (news_item) {
- UpdateNewsData *ndata;
-
- ndata = parse_a_update_news_item (news_item);
- return_value = g_list_append (return_value, ndata);
- news_item = news_item->next;
- }
-
- return return_value;
-
-} /* end build_update_news_glist_from_xml */
-
-
-
-
-static SummaryData *
-eazel_summary_data_parse_xml (char *body,
- int length)
-{
- SummaryData *return_value;
- xmlDocPtr doc;
- xmlNodePtr base;
- xmlNodePtr child;
-
- /* <rant> libxml will have a temper tantrum if there is whitespace before the
- * * first tag. so we must babysit it.
- * */
- while ((length > 0) && isspace (*body)) {
- body++, length--;
- }
-
- body[length] = '\0';
-
- doc = xmlParseMemory (body, length);
- if (doc == NULL) {
- return NULL;
- }
-
- base = doc->root;
-
- if (base == NULL ||
- g_strcasecmp (base->name, "SUMMARY_DATA") != 0) {
- xmlFreeDoc (doc);
- return NULL;
- }
-
- return_value = summary_data_new ();
-
- child = base->xmlChildrenNode;
-
- if (child == NULL) {
- xmlFreeDoc (doc);
- return NULL;
- }
-
- while (child) {
- if (g_strcasecmp (child->name, "SERVICES") == 0) {
- return_value->services_list = build_services_glist_from_xml (child);
- }
- if (g_strcasecmp (child->name, "EAZEL_NEWS") == 0) {
- return_value->eazel_news_list = build_eazel_news_glist_from_xml (child);
- }
- if (g_strcasecmp (child->name, "UPDATE_NEWS") == 0) {
- return_value->update_news_list = build_update_news_glist_from_xml (child);
- }
- child = child->next;
- }
-
- return return_value;
-}
-
-
-struct EazelSummaryFetchHandle {
- TrilobiteReadFileHandle *handle;
- EazelSummaryFetchCallback callback;
- gpointer callback_data;
-};
-
-
-
-static void
-summary_data_fetch_callback (GnomeVFSResult result,
- GnomeVFSFileSize file_size,
- char *file_contents,
- gpointer callback_data)
-{
- EazelSummaryFetchHandle *handle;
- SummaryData *summary_data;
-
- summary_data = NULL;
- handle = callback_data;
-
- if (result == GNOME_VFS_OK) {
- summary_data = eazel_summary_data_parse_xml (file_contents,
- file_size);
- }
-
- (*handle->callback) (result, summary_data, handle->callback_data);
- g_free (handle);
- g_free (file_contents);
-}
-
-
-EazelSummaryFetchHandle *
-eazel_summary_fetch_data_async (const char *uri,
- EazelSummaryFetchCallback callback,
- gpointer callback_data)
-{
- EazelSummaryFetchHandle *handle;
-
- handle = g_new0 (EazelSummaryFetchHandle, 1);
-
- handle->callback = callback;
- handle->callback_data = callback_data;
-
- handle->handle = trilobite_read_entire_file_async (uri, summary_data_fetch_callback, handle);
-
- return handle;
-}
-
-
-void
-eazel_summary_fetch_data_cancel (EazelSummaryFetchHandle *handle)
-{
- trilobite_read_file_cancel (handle->handle);
- g_free (handle);
-}
-
diff --git a/components/services/summary/lib/eazel-summary-shared.h b/components/services/summary/lib/eazel-summary-shared.h
deleted file mode 100644
index 93ec67ce6..000000000
--- a/components/services/summary/lib/eazel-summary-shared.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/*
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper
- */
-
-#ifndef EAZEL_SUMMARY_SHARED_H
-#define EAZEL_SUAMMRY_SHARED_H
-
-#include <libgnomevfs/gnome-vfs-types.h>
-#include <glib.h>
-
-typedef struct _ServicesData ServicesData;
-typedef struct _EazelNewsData EazelNewsData;
-typedef struct _UpdateNewsData UpdateNewsData;
-typedef struct _SummaryData SummaryData;
-
-struct _ServicesData {
- char *name;
- char *icon;
- char *button_label;
- char *uri;
- char *description_header;
- char *description;
- gboolean enabled;
-};
-
-struct _EazelNewsData {
- char *name;
- char *icon;
- char *date;
- char *message;
-};
-
-struct _UpdateNewsData {
- char *name;
- char *version;
- char *priority;
- char *description;
- char *icon;
- char *button_label;
- char *uri;
- char *softcat_uri;
-};
-
-struct _SummaryData {
- GList *services_list;
- GList *eazel_news_list;
- GList *update_news_list;
-};
-
-
-typedef void (* EazelSummaryFetchCallback) (GnomeVFSResult result,
- SummaryData *summary_data,
- gpointer callback_data);
-
-typedef struct EazelSummaryFetchHandle EazelSummaryFetchHandle;
-
-EazelSummaryFetchHandle *eazel_summary_fetch_data_async (const char *uri,
- EazelSummaryFetchCallback callback,
- gpointer callback_data);
-
-void eazel_summary_fetch_data_cancel (EazelSummaryFetchHandle *handle);
-
-
-#endif /* EAZEL_SUMMARY_SHARED_H */
diff --git a/components/services/summary/nautilus-view/.cvsignore b/components/services/summary/nautilus-view/.cvsignore
deleted file mode 100644
index bfcf5f908..000000000
--- a/components/services/summary/nautilus-view/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-.deps
-.libs
-Makefile
-Makefile.in
-nautilus-summary-view
-Nautilus_View_services-summary.oaf
diff --git a/components/services/summary/nautilus-view/Makefile.am b/components/services/summary/nautilus-view/Makefile.am
deleted file mode 100644
index 851475050..000000000
--- a/components/services/summary/nautilus-view/Makefile.am
+++ /dev/null
@@ -1,64 +0,0 @@
-include $(top_srcdir)/Makefile.shared
-
-SUBDIRS = icons
-
-INCLUDES = \
- -DPREFIX=\"$(prefix)\" \
- -DG_LOG_DOMAIN=\"trilobite-eazel-summary\" \
- -DDATADIR=\"$(datadir)\" \
- -I$(top_srcdir) \
- -I$(top_srcdir)/components/services/nautilus-dependent-shared \
- -I$(top_srcdir)/components/services/trilobite \
- -I$(top_srcdir)/components/services/summary/lib \
- -I$(top_builddir) \
- $(GNOMEUI_CFLAGS) \
- $(GCONF_CFLAGS) \
- -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
- $(VFS_CFLAGS) \
- $(NULL)
-
-uidir = $(datadir)/gnome/ui
-ui_DATA = nautilus-summary-view-ui.xml
-
-bin_PROGRAMS = \
- nautilus-summary-view
-
-nautilus_summary_view_SOURCES = \
- nautilus-summary-view-private.h \
- nautilus-summary-callbacks.h \
- nautilus-summary-callbacks.c \
- nautilus-summary-menu-items.h \
- nautilus-summary-menu-items.c \
- nautilus-summary-dialogs.h \
- nautilus-summary-dialogs.c \
- nautilus-summary-footer.h \
- nautilus-summary-footer.c \
- nautilus-summary-view.h \
- nautilus-summary-view.c \
- main.c \
- $(NULL)
-
-nautilus_summary_view_LDADD = \
- $(top_builddir)/components/services/trilobite/libtrilobite/libtrilobite.la \
- $(top_builddir)/components/services/nautilus-dependent-shared/libnautilusdepshared.a \
- $(top_builddir)/components/services/summary/lib/libsummary.a \
- $(top_builddir)/libnautilus/libnautilus.la \
- $(top_builddir)/libnautilus-extensions/libnautilus-extensions.la \
- $(BONOBO_LIBS) \
- $(GNOMEUI_LIBS) \
- $(GCONF_LIBS) \
- $(VFS_LIBS) \
- $(GHTTP_LIBS) \
- $(OAF_LIBS) \
- $(AMMONITE_LIBS) \
- $(NULL)
-
-oafdir = $(datadir)/oaf
-oaf_in_files = \
- Nautilus_View_services-summary.oaf.in \
- $(NULL)
-oaf_DATA = $(oaf_in_files:.oaf.in=.oaf)
-
-@XML_I18N_MERGE_OAF_RULE@
-
-EXTRA_DIST = $(oaf_in_files) $(oaf_DATA) $(ui_DATA)
diff --git a/components/services/summary/nautilus-view/Nautilus_View_services-summary.oaf.in b/components/services/summary/nautilus-view/Nautilus_View_services-summary.oaf.in
deleted file mode 100644
index 11d1cb78a..000000000
--- a/components/services/summary/nautilus-view/Nautilus_View_services-summary.oaf.in
+++ /dev/null
@@ -1,25 +0,0 @@
-<oaf_info>
-
-<oaf_server iid="OAFIID:nautilus_summary_view_factory:1b0b1018-e0ca-4f14-8d23-7a134486ab30" type="exe" location="nautilus-summary-view">
- <oaf_attribute name="repo_ids" type="stringv">
- <item value="IDL:GNOME/ObjectFactory:1.0"/>
- </oaf_attribute>
- <oaf_attribute name="name" type="string" value="Nautilus Service Summary View Factory"/>
- <oaf_attribute name="description" type="string" value="Service Summary View Component's Factory"/>
-</oaf_server>
-
-<oaf_server iid="OAFIID:nautilus_summary_view:92811b0e-beb2-49db-858c-19a0dc8517e5" type="factory" location="OAFIID:nautilus_summary_view_factory:1b0b1018-e0ca-4f14-8d23-7a134486ab30">
- <oaf_attribute name="repo_ids" type="stringv">
- <item value="IDL:Bonobo/Unknown:1.0"/>
- <item value="IDL:Bonobo/Control:1.0"/>
- <item value="IDL:Nautilus/View:1.0"/>
- </oaf_attribute>
- <oaf_attribute name="name" type="string" value="Nautilus Summary View"/>
- <oaf_attribute name="description" type="string" value="Service Summary view component"/>
- <oaf_attribute name="bonobo:supported_uri_schemes" type="stringv">
- <item value="eazel"/>
- </oaf_attribute>
- <oaf_attribute name="nautilus:view_as_name" type="string" value="Summary"/>
-</oaf_server>
-
-</oaf_info>
diff --git a/components/services/summary/nautilus-view/icons/Makefile.am b/components/services/summary/nautilus-view/icons/Makefile.am
deleted file mode 100644
index 0390c3161..000000000
--- a/components/services/summary/nautilus-view/icons/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-NULL=
-
-SUBDIRS = gray_tab_pieces
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/Makefile.am b/components/services/summary/nautilus-view/icons/gray_tab_pieces/Makefile.am
deleted file mode 100644
index 7ab4d2c21..000000000
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/Makefile.am
+++ /dev/null
@@ -1,22 +0,0 @@
-NULL=
-
-graytabdir = $(datadir)/pixmaps/nautilus/gray_tab_pieces
-
-graytab_DATA = \
- active-fill.png \
- active-inactive-bridge.png \
- active-left-bumper.png \
- active-prelight-bridge.png \
- active-right-bumper.png \
- fill-background.png \
- inactive-active-bridge.png \
- inactive-fill.png \
- inactive-left-bumper.png \
- inactive-right-bumper.png \
- prelight-active-bridge.png \
- prelight-fill.png \
- prelight-left-bumper.png \
- prelight-right-bumper.png \
- $(NULL)
-
-EXTRA_DIST = $(graytab_DATA)
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/active-fill.png b/components/services/summary/nautilus-view/icons/gray_tab_pieces/active-fill.png
deleted file mode 100644
index ac9eb69e0..000000000
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/active-fill.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/active-inactive-bridge.png b/components/services/summary/nautilus-view/icons/gray_tab_pieces/active-inactive-bridge.png
deleted file mode 100644
index ff59ce82e..000000000
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/active-inactive-bridge.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/active-left-bumper.png b/components/services/summary/nautilus-view/icons/gray_tab_pieces/active-left-bumper.png
deleted file mode 100644
index 6415636e1..000000000
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/active-left-bumper.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/active-prelight-bridge.png b/components/services/summary/nautilus-view/icons/gray_tab_pieces/active-prelight-bridge.png
deleted file mode 100644
index bbc44617a..000000000
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/active-prelight-bridge.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/active-right-bumper.png b/components/services/summary/nautilus-view/icons/gray_tab_pieces/active-right-bumper.png
deleted file mode 100644
index 2d3243c0d..000000000
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/active-right-bumper.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/fill-background.png b/components/services/summary/nautilus-view/icons/gray_tab_pieces/fill-background.png
deleted file mode 100644
index b9efe3c36..000000000
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/fill-background.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-active-bridge.png b/components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-active-bridge.png
deleted file mode 100644
index daf841544..000000000
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-active-bridge.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-fill.png b/components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-fill.png
deleted file mode 100644
index 3922d04a4..000000000
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-fill.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-left-bumper.png b/components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-left-bumper.png
deleted file mode 100644
index 5a72fecec..000000000
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-left-bumper.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-right-bumper.png b/components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-right-bumper.png
deleted file mode 100644
index 561efe6ba..000000000
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/inactive-right-bumper.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-active-bridge.png b/components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-active-bridge.png
deleted file mode 100644
index f3d54954c..000000000
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-active-bridge.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-fill.png b/components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-fill.png
deleted file mode 100644
index 46a9412c8..000000000
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-fill.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-left-bumper.png b/components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-left-bumper.png
deleted file mode 100644
index 7f35cf75c..000000000
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-left-bumper.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-right-bumper.png b/components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-right-bumper.png
deleted file mode 100644
index e87c6bf4a..000000000
--- a/components/services/summary/nautilus-view/icons/gray_tab_pieces/prelight-right-bumper.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/nautilus-view/main.c b/components/services/summary/nautilus-view/main.c
deleted file mode 100644
index ccc015648..000000000
--- a/components/services/summary/nautilus-view/main.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/*
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Maciej Stachowiak <mjs@eazel.com>
- * J Shane Culpepper <pepper@eazel.com>
- */
-
-/* main.c - main function and object activation function for services
- content view component. */
-
-#include <config.h>
-#include <gnome.h>
-#include <liboaf/liboaf.h>
-#include <bonobo.h>
-#include "nautilus-summary-view.h"
-#include <gconf/gconf.h>
-#include <libtrilobite/libammonite.h>
-#include <libtrilobite/trilobite-core-messaging.h>
-#include <libtrilobite/trilobite-core-utils.h>
-#include <libgnomevfs/gnome-vfs-init.h>
-
-static int object_count =0;
-
-static void
-summary_object_destroyed (GtkObject *obj)
-{
- object_count--;
- if (object_count <= 0) {
- gtk_main_quit ();
- }
-}
-
-static BonoboObject*
-summary_make_object (BonoboGenericFactory *factory,
- const char *iid,
- void *closure)
-{
-
- NautilusSummaryView* view;
- NautilusView* nautilus_view;
-
- if (strcmp (iid, "OAFIID:nautilus_summary_view:92811b0e-beb2-49db-858c-19a0dc8517e5")) {
- return NULL;
- }
-
- view = NAUTILUS_SUMMARY_VIEW (gtk_object_new (NAUTILUS_TYPE_SUMMARY_VIEW, NULL));
-
- object_count++;
-
- nautilus_view = nautilus_summary_view_get_nautilus_view (view);
-
- gtk_signal_connect (GTK_OBJECT (nautilus_view), "destroy", summary_object_destroyed, NULL);
-
- printf ("Returning new object %p\n", nautilus_view);
-
- return BONOBO_OBJECT (nautilus_view);
-}
-
-int
-main (int argc, char *argv[])
-{
-
- BonoboGenericFactory *factory;
- CORBA_ORB orb;
- char *registration_id;
-
-#ifdef ENABLE_NLS /* sadly we need this ifdef because otherwise the following get empty statement warnings */
- bindtextdomain (PACKAGE, GNOMELOCALEDIR);
- textdomain (PACKAGE);
-#endif
-
- /* Disable session manager connection */
- gnome_client_disable_master_connection ();
-
- gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ());
- orb = oaf_init (argc, argv);
-
- gnome_init ("nautilus-summary-view", VERSION,
- argc, argv);
- gdk_rgb_init ();
-
- trilobite_setenv ("GNOME_VFS_HTTP_USER_AGENT", trilobite_get_useragent_string (NULL), 1);
- g_thread_init (NULL);
- gnome_vfs_init ();
-
- bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL);
-
- gconf_init (argc, argv, NULL);
-
- ammonite_init (bonobo_poa());
-
- trilobite_set_log_handler (NULL, G_LOG_DOMAIN);
-
- registration_id = oaf_make_registration_id ("OAFIID:nautilus_summary_view_factory:1b0b1018-e0ca-4f14-8d23-7a134486ab30", getenv ("DISPLAY"));
-
- factory = bonobo_generic_factory_new_multi (registration_id,
- summary_make_object,
- NULL);
-
- g_free (registration_id);
-
- do {
- bonobo_main ();
- } while (object_count > 0);
-
- /* Let the factory go. */
- bonobo_object_unref (BONOBO_OBJECT (factory));
-
- gnome_vfs_shutdown ();
-
- return 0;
-}
diff --git a/components/services/summary/nautilus-view/nautilus-summary-callbacks.c b/components/services/summary/nautilus-view/nautilus-summary-callbacks.c
deleted file mode 100644
index ac0ac6114..000000000
--- a/components/services/summary/nautilus-view/nautilus-summary-callbacks.c
+++ /dev/null
@@ -1,321 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/*
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: J Shane Culpepper <pepper@eazel.com>
- */
-
-#include <config.h>
-
-#include <libgnomeui/gnome-stock.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <orb/orbit.h>
-#include <liboaf/liboaf.h>
-#include <bonobo/bonobo-main.h>
-
-#include <libnautilus-extensions/nautilus-caption-table.h>
-#include <libtrilobite/eazelproxy.h>
-#include <libtrilobite/libammonite.h>
-#include <libtrilobite/trilobite-redirect.h>
-
-#include "nautilus-summary-view.h"
-#include "eazel-summary-shared.h"
-#include "nautilus-summary-dialogs.h"
-#include "nautilus-summary-menu-items.h"
-#include "nautilus-summary-callbacks.h"
-#include "nautilus-summary-view-private.h"
-
-#define notDEBUG_PEPPER 1
-
-static void authn_cb_succeeded (const EazelProxy_User *user,
- gpointer state,
- CORBA_Environment *ev);
-static void authn_cb_failed (const EazelProxy_User *user,
- const EazelProxy_AuthnFailInfo *info,
- gpointer state,
- CORBA_Environment *ev);
-
-
-/* Be careful not to invoke another HTTP request; this call is
- * invoked from a two-way CORBA call from ammonite
- */
-static void
-authn_cb_succeeded (const EazelProxy_User *user, gpointer state, CORBA_Environment *ev)
-{
- NautilusSummaryView *view;
- gint timeout;
-
- view = NAUTILUS_SUMMARY_VIEW (state);
-
- g_assert (Pending_Login == view->details->pending_operation);
-
- view->details->pending_operation = Pending_None;
-
- timeout = gtk_timeout_add (0, logged_in_callback, view);
-
- bonobo_object_unref (BONOBO_OBJECT (view->details->nautilus_view));
-}
-
-/* Be careful not to invoke another HTTP request; this call is
- * invoked from a two-way CORBA call from ammonite
- */
-static void
-authn_cb_failed (const EazelProxy_User *user, const EazelProxy_AuthnFailInfo *info, gpointer state, CORBA_Environment *ev)
-{
- NautilusSummaryView *view;
-
- view = NAUTILUS_SUMMARY_VIEW (state);
-
- g_assert (Pending_Login == view->details->pending_operation);
-
- view->details->pending_operation = Pending_None;
-
- view->details->logged_in = FALSE;
-
- update_menu_items (view, FALSE);
-
- if (info && ( info->code == EAZELPROXY_AUTHN_FAIL_NETWORK
- || info->code == EAZELPROXY_AUTHN_FAIL_SERVER)) {
- nautilus_summary_show_login_failure_dialog (view, _("Sorry, network problems are preventing you from connecting to Eazel Services."));
- view->details->attempt_number = 0;
- view->details->current_attempt = initial;
- } else if (info && ( info->code == EAZELPROXY_AUTHN_FAIL_USER_NOT_ACTIVATED)) {
- /* FIXME we really should use the services alert icon here, eh? */
- nautilus_summary_show_login_failure_dialog (view, _("Your Eazel Services account has not yet been activated. "
- "You can't log into Eazel Services until you activate your account.\n\n"
- "Please check your email for activation instructions."));
- view->details->attempt_number = 0;
- view->details->current_attempt = initial;
- } else if (info && ( info->code == EAZELPROXY_AUTHN_FAIL_USER_DISABLED)) {
- /* FIXME we really should use the services alert icon here, eh? */
- nautilus_summary_show_login_failure_dialog (view, _("Your Eazel Service User Account has been temporarily disabled.\n\n"
- "Please try again in a few minutes, or contact Eazel support if this problem continues."));
- view->details->attempt_number = 0;
- view->details->current_attempt = initial;
- } else {
- /* Most likely error: bad username or password */
-
- view->details->attempt_number++;
-
- /* FIXME it would be best to display an error dialog
- * explaining the problem and offering at least an "I forgot
- * my password" button (and possibly a "Register" button as well)
- * In any vase, the dialog that's here is insufficient
- */
-
-#if 0
- if (view->details->attempt_number > 0 && view->details->attempt_number < 5) {
-#endif
- view->details->current_attempt = retry;
- nautilus_summary_show_login_dialog (view);
-#if 0
- } else {
- nautilus_summary_login_failure_dialog (view, _("We're sorry, but your name and password are still not recognized."));
- view->details->attempt_number = 0;
- view->details->current_attempt = initial;
- }
-#endif
- }
-
- bonobo_object_unref (BONOBO_OBJECT (view->details->nautilus_view));
-}
-
-/* callback to handle the login button. Right now only does a simple redirect. */
-void
-login_button_cb (GtkWidget *button, NautilusSummaryView *view)
-{
- char *user_name;
- char *password;
- EazelProxy_AuthnInfo *authinfo;
- CORBA_Environment ev;
-
- AmmoniteAuthCallbackWrapperFuncs cb_funcs = {
- authn_cb_succeeded, authn_cb_failed
- };
-
- CORBA_exception_init (&ev);
-
- g_assert (Pending_None == view->details->pending_operation);
-
- /* FIXME this doesn't actually handle the case when user_control is NIL
- * very well. No callback is generated, so no user feedback is generated
- * and the summary view is left in an illegal state
- */
-
- if (CORBA_OBJECT_NIL != view->details->user_control) {
- view->details->authn_callback = ammonite_auth_callback_wrapper_new (bonobo_poa(), &cb_funcs, view);
-
- user_name = nautilus_caption_table_get_entry_text (NAUTILUS_CAPTION_TABLE (view->details->caption_table), 0);
- password = nautilus_caption_table_get_entry_text (NAUTILUS_CAPTION_TABLE (view->details->caption_table), 1);
-
- authinfo = EazelProxy_AuthnInfo__alloc ();
- authinfo->username = CORBA_string_dup (user_name);
- authinfo->password = CORBA_string_dup (password);
- user_name = NULL;
- password = NULL;
-
- authinfo->services_redirect_uri = CORBA_string_dup ("");
- authinfo->services_login_path = CORBA_string_dup ("");
-
- /* Ref myself until the callback returns */
- bonobo_object_ref (BONOBO_OBJECT (view->details->nautilus_view));
-
- view->details->pending_operation = Pending_Login;
-
- EazelProxy_UserControl_authenticate_user (
- view->details->user_control,
- authinfo, TRUE,
- view->details->authn_callback, &ev
- );
-
- if (CORBA_NO_EXCEPTION != ev._major) {
- g_warning ("Exception during EazelProxy login");
- /* FIXME bugzilla.eazel.com 2745: cleanup after fail here */
- }
-
-
- }
-
- CORBA_exception_free (&ev);
-}
-
-/* callback to handle the logout button. Right now only does a simple redirect. */
-void
-logout_button_cb (GtkWidget *button, NautilusSummaryView *view)
-{
- CORBA_Environment ev;
- EazelProxy_UserList *users;
- CORBA_unsigned_long i;
- gint timeout;
- CORBA_exception_init (&ev);
-
- if (CORBA_OBJECT_NIL != view->details->user_control) {
- /* Get list of currently active users */
-
- users = EazelProxy_UserControl_get_active_users (
- view->details->user_control, &ev
- );
-
- if (CORBA_NO_EXCEPTION != ev._major) {
- g_message ("Exception while logging out user");
- return;
- }
-
- /* Log out the current default user */
- for (i = 0; i < users->_length ; i++) {
- EazelProxy_User *cur;
-
- cur = users->_buffer + i;
-
- if (cur->is_default) {
- g_message ("Logging out user '%s'", cur->user_name);
- EazelProxy_UserControl_logout_user (
- view->details->user_control,
- cur->proxy_port, &ev
- );
- break;
- }
- }
-
- CORBA_free (users);
- }
-
- timeout = gtk_timeout_add (0, logged_out_callback, view);
-
- CORBA_exception_free (&ev);
-}
-
-gint
-logged_in_callback (gpointer raw)
-{
- NautilusSummaryView *view;
-
- view = NAUTILUS_SUMMARY_VIEW (raw);
- view->details->logged_in = TRUE;
-
- update_menu_items (view, TRUE);
- nautilus_view_open_location_in_this_window
- (view->details->nautilus_view, "eazel:");
-
- return (FALSE);
-}
-
-
-gint
-logged_out_callback (gpointer raw)
-{
- NautilusSummaryView *view;
-
- view = NAUTILUS_SUMMARY_VIEW (raw);
- view->details->logged_in = FALSE;
-
- update_menu_items (view, FALSE);
- nautilus_view_open_location_in_this_window
- (view->details->nautilus_view, "eazel:");
-
- return (FALSE);
-}
-
-/* callback to handle the maintenance button. Right now only does a simple redirect. */
-void
-preferences_button_cb (GtkWidget *button, NautilusSummaryView *view)
-{
- char *url;
- url = NULL;
-
- url = trilobite_redirect_lookup (PREFERENCES_KEY);
- if (!url) {
- g_error ("Failed to load Registration url!");
- }
-
- nautilus_view_open_location_in_this_window
- (view->details->nautilus_view, url);
- g_free (url);
-
-}
-
-/* callback to handle the forgotten password button. */
-void
-forgot_password_button_cb (GtkWidget *button, NautilusSummaryView *view)
-{
-
- nautilus_view_open_location_in_this_window
- (view->details->nautilus_view, SUMMARY_CHANGE_PWD_FORM);
-
-}
-
-/* callback to handle the register button. Right now only does a simple redirect. */
-void
-register_button_cb (GtkWidget *button, NautilusSummaryView *view)
-{
- char *url;
- url = NULL;
-
- url = trilobite_redirect_lookup (REGISTER_KEY);
- if (!url) {
- g_error ("Failed to load Registration url!");
- }
-
- nautilus_view_open_location_in_this_window
- (view->details->nautilus_view, url);
- g_free (url);
-
-}
diff --git a/components/services/summary/nautilus-view/nautilus-summary-callbacks.h b/components/services/summary/nautilus-view/nautilus-summary-callbacks.h
deleted file mode 100644
index 78bace9ef..000000000
--- a/components/services/summary/nautilus-view/nautilus-summary-callbacks.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/*
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper
- */
-
-#ifndef NAUTILUS_SUMMARY_CALLBACKS_H
-#define NAUTILUS_SUMMARY_CALLBACKS_H
-
-void login_button_cb (GtkWidget *button,
- NautilusSummaryView *view);
-void preferences_button_cb (GtkWidget *button,
- NautilusSummaryView *view);
-void logout_button_cb (GtkWidget *button,
- NautilusSummaryView *view);
-void register_button_cb (GtkWidget *button,
- NautilusSummaryView *view);
-void forgot_password_button_cb (GtkWidget *button,
- NautilusSummaryView *view);
-gint logged_in_callback (gpointer raw);
-gint logged_out_callback (gpointer raw);
-
-#endif /* NAUTILUS_SUMMARY_CALLBACKS_H */
-
diff --git a/components/services/summary/nautilus-view/nautilus-summary-dialogs.c b/components/services/summary/nautilus-view/nautilus-summary-dialogs.c
deleted file mode 100644
index e5d15258c..000000000
--- a/components/services/summary/nautilus-view/nautilus-summary-dialogs.c
+++ /dev/null
@@ -1,302 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/*
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: J Shane Culpepper <pepper@eazel.com>
- */
-
-#include <config.h>
-
-#include <libnautilus-extensions/nautilus-caption-table.h>
-#include <libnautilus-extensions/nautilus-stock-dialogs.h>
-#include <libnautilus-extensions/nautilus-background.h>
-#include <libnautilus-extensions/nautilus-string.h>
-#include <libnautilus-extensions/nautilus-gnome-extensions.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <libnautilus-extensions/nautilus-image.h>
-
-#include <libgnomeui/gnome-stock.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <orb/orbit.h>
-#include <liboaf/liboaf.h>
-#include <libtrilobite/trilobite-redirect.h>
-#include <libtrilobite/eazelproxy.h>
-#include <libtrilobite/libammonite.h>
-
-#include "nautilus-summary-view.h"
-#include "eazel-services-extensions.h"
-#include "eazel-summary-shared.h"
-#include "eazel-services-extensions.h"
-#include "nautilus-summary-callbacks.h"
-#include "nautilus-summary-dialogs.h"
-#include "nautilus-summary-view-private.h"
-
-#define notDEBUG_PEPPER 1
-
-
-static void error_dialog_cancel_cb (GtkWidget *button,
- NautilusSummaryView *view);
-static GtkWindow *get_window_from_summary_view (NautilusSummaryView *view);
-static void set_dialog_parent (NautilusSummaryView *view,
- GnomeDialog *dialog);
-static void name_or_password_field_activated (GtkWidget *caption_table,
- int active_entry,
- gpointer user_data);
-
-void
-nautilus_summary_show_login_failure_dialog (NautilusSummaryView *view,
- const char *message)
-{
- nautilus_show_error_dialog (message,
- _("Eazel Service Login Error"),
- get_window_from_summary_view (view));
-}
-
-void
-nautilus_summary_show_error_dialog (NautilusSummaryView *view,
- const char *message)
-{
- GnomeDialog *dialog;
-
- dialog = nautilus_show_error_dialog (message,
- _("Service Error"),
- get_window_from_summary_view (view));
- gtk_signal_connect (GTK_OBJECT (dialog),
- "destroy",
- error_dialog_cancel_cb,
- view);
-}
-
-void
-nautilus_summary_show_login_dialog (NautilusSummaryView *view)
-{
- GnomeDialog *dialog;
- GtkWidget *hbox;
- GtkWidget *image;
- GtkWidget *message;
- GtkWidget *caption_hbox;
- char *message_text;
- char *image_name;
- char *button_text;
-
- dialog = NULL;
- image = NULL;
-
- if (view->details->attempt_number == 0) {
- button_text = g_strdup (_("Register Now"));
- } else {
- button_text = g_strdup (_("Help"));
- }
-
- /* if the dialog is still open, then close it and open a new one */
- if (view->details->login_dialog != NULL) {
- gnome_dialog_close (GNOME_DIALOG (view->details->login_dialog));
- view->details->login_dialog = NULL;
- }
-
- dialog = GNOME_DIALOG (gnome_dialog_new (_("Services Login"), button_text,
- GNOME_STOCK_BUTTON_OK, GNOME_STOCK_BUTTON_CANCEL, NULL));
-
- /* TODO: replace all reference to dialog in this code with view->details->login_dialog */
- view->details->login_dialog = dialog;
-
- gtk_signal_connect (GTK_OBJECT (dialog), "destroy", GTK_SIGNAL_FUNC (gtk_widget_destroyed),
- &view->details->login_dialog);
- gtk_container_set_border_width (GTK_CONTAINER (dialog), GNOME_PAD);
- gtk_window_set_policy (GTK_WINDOW (dialog), FALSE, FALSE, FALSE);
-
- view->details->caption_table = nautilus_caption_table_new (LOGIN_DIALOG_ROW_COUNT);
- gtk_widget_show (view->details->caption_table);
-
- nautilus_caption_table_set_row_info (NAUTILUS_CAPTION_TABLE (view->details->caption_table),
- LOGIN_DIALOG_NAME_ROW,
- _("Username:"),
- "",
- TRUE,
- FALSE);
-
- nautilus_caption_table_set_row_info (NAUTILUS_CAPTION_TABLE (view->details->caption_table),
- LOGIN_DIALOG_PASSWORD_ROW,
- _("Password:"),
- "",
- FALSE,
- FALSE);
-
- switch (view->details->current_attempt) {
- case initial:
- image_name = "big_services_icon.png";
- message_text = _("Please log in to Eazel services");
- break;
- case retry:
- image_name = "serv_dialog_alert.png";
- message_text = _("Your user name or password were not correct. Please try again.");
- break;
- default:
- g_assert_not_reached();
- image_name = "big_services_icon.png";
- message_text = _("Please log in to Eazel services");
- break;
- }
-
- image = eazel_services_image_new (image_name, NULL, 0);
- nautilus_image_set_background_mode (NAUTILUS_IMAGE (image), NAUTILUS_SMOOTH_BACKGROUND_GTK);
-
- hbox = gtk_hbox_new (FALSE, 5);
- gtk_widget_show (hbox);
-
- if (image) {
- gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
- gtk_widget_show (image);
- }
-
- gtk_box_set_spacing (GTK_BOX (dialog->vbox), 4);
-
- message = gtk_label_new (message_text);
- gtk_label_set_justify (GTK_LABEL (message), GTK_JUSTIFY_LEFT);
- gtk_label_set_line_wrap (GTK_LABEL (message), TRUE);
- nautilus_gtk_label_make_bold (GTK_LABEL (message));
- gtk_widget_show (message);
-
- /* right justify the caption table box */
- caption_hbox = gtk_hbox_new (FALSE, 0);
- gtk_widget_show (caption_hbox);
- gtk_widget_set_usize (view->details->caption_table, 260, -1);
- gtk_box_pack_end (GTK_BOX (caption_hbox), view->details->caption_table, FALSE, FALSE, 0);
-
- gtk_box_pack_start (GTK_BOX (hbox), message, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (dialog->vbox), hbox, TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (dialog->vbox), caption_hbox, FALSE, FALSE, 0);
-
- gtk_container_set_border_width (GTK_CONTAINER (view->details->caption_table), 4);
-
- gtk_widget_show (dialog->vbox);
-
- gnome_dialog_set_close (dialog, TRUE);
- set_dialog_parent (view, dialog);
-
- gnome_dialog_set_default (dialog, LOGIN_DIALOG_OK_BUTTON_INDEX);
- gtk_signal_connect (GTK_OBJECT (view->details->caption_table), "activate",
- name_or_password_field_activated,
- nautilus_gnome_dialog_get_button_by_index (dialog, LOGIN_DIALOG_OK_BUTTON_INDEX));
- nautilus_caption_table_entry_grab_focus (NAUTILUS_CAPTION_TABLE (view->details->caption_table), LOGIN_DIALOG_NAME_ROW);
-
- if (view->details->attempt_number == 0) {
- gnome_dialog_button_connect (dialog, LOGIN_DIALOG_REGISTER_BUTTON_INDEX, GTK_SIGNAL_FUNC (register_button_cb), view);
- } else {
- gnome_dialog_button_connect (dialog, LOGIN_DIALOG_REGISTER_BUTTON_INDEX, GTK_SIGNAL_FUNC (forgot_password_button_cb), view);
- }
-
- gnome_dialog_button_connect (dialog, LOGIN_DIALOG_OK_BUTTON_INDEX, GTK_SIGNAL_FUNC (login_button_cb), view);
-
- gnome_dialog_set_close (dialog, TRUE);
- gtk_widget_show (GTK_WIDGET (dialog));
-}
-
-void
-widget_set_nautilus_background_color (GtkWidget *widget, const char *color)
-{
- NautilusBackground *background;
-
- g_return_if_fail (GTK_IS_WIDGET (widget));
- g_return_if_fail (color != NULL);
-
- background = nautilus_get_widget_background (widget);
-
- nautilus_background_reset (background);
- nautilus_background_set_color (background, color);
-
-}
-
-/* callback to handle cancel error_dialog button. */
-static void
-error_dialog_cancel_cb (GtkWidget *button,
- NautilusSummaryView *view)
-{
- nautilus_view_go_back (view->details->nautilus_view);
-}
-
-static GtkWindow *
-get_window_from_summary_view (NautilusSummaryView *view)
-{
- GtkWidget *parent_window;
-
- g_assert (NAUTILUS_IS_SUMMARY_VIEW (view));
-
- parent_window = gtk_widget_get_ancestor (GTK_WIDGET (view), GTK_TYPE_WINDOW);
- if (parent_window == NULL) {
- return NULL;
- }
-
- return GTK_WINDOW (parent_window);
-}
-
-static void
-set_dialog_parent (NautilusSummaryView *view, GnomeDialog *dialog)
-{
- GtkWindow *parent;
-
- g_assert (NAUTILUS_IS_SUMMARY_VIEW (view));
- g_assert (GNOME_IS_DIALOG (dialog));
-
- parent = get_window_from_summary_view (view);
- if (parent != NULL && gnome_preferences_get_dialog_centered ()) {
- /* User wants us to center over parent */
-
- /* FIXME: this is cut and pasted from gnome-dialog.h,
- * because calling gnome_dialog_set_parent would make
- * the dialog transient for the summary view's plug
- * widget, not the top level window, thus making it
- * not get focus.
- */
- gint x, y, w, h, dialog_x, dialog_y;
-
- if (!GTK_WIDGET_VISIBLE (parent)) return; /* Can't get its
- size/pos */
-
- /* Throw out other positioning */
- gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_NONE);
-
- gdk_window_get_origin (GTK_WIDGET (parent)->window, &x, &y);
- gdk_window_get_size (GTK_WIDGET (parent)->window, &w, &h);
-
- /* The problem here is we don't know how big the dialog is.
- So "centered" isn't really true. We'll go with
- "kind of more or less on top" */
-
- dialog_x = x + w/4;
- dialog_y = y + h/4;
-
- gtk_widget_set_uposition (GTK_WIDGET (dialog), dialog_x, dialog_y);
- }
-}
-
-static void
-name_or_password_field_activated (GtkWidget *caption_table, int active_entry, gpointer user_data)
-{
- g_assert (NAUTILUS_IS_CAPTION_TABLE (caption_table));
- g_assert (GTK_IS_BUTTON (user_data));
-
- /* auto-click "OK" button when password activated (via Enter key) */
- if (active_entry == LOGIN_DIALOG_OK_BUTTON_INDEX) {
- nautilus_gtk_button_auto_click (GTK_BUTTON (user_data));
- }
-}
-
diff --git a/components/services/summary/nautilus-view/nautilus-summary-dialogs.h b/components/services/summary/nautilus-view/nautilus-summary-dialogs.h
deleted file mode 100644
index 44dfa48c2..000000000
--- a/components/services/summary/nautilus-view/nautilus-summary-dialogs.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/*
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper
- */
-
-#ifndef NAUTILUS_SUMMARY_DIALOGS_H
-#define NAUTILUS_SUMMARY_DIALOGS_H
-
-void nautilus_summary_show_login_failure_dialog (NautilusSummaryView *view,
- const char *message);
-
-void nautilus_summary_show_error_dialog (NautilusSummaryView *view,
- const char *message);
-void nautilus_summary_show_login_dialog (NautilusSummaryView *view);
-void widget_set_nautilus_background_color (GtkWidget *widget,
- const char *color);
-
-#endif /* NAUTILUS_SUMMARY_DIALOGS_H */
-
diff --git a/components/services/summary/nautilus-view/nautilus-summary-footer.c b/components/services/summary/nautilus-view/nautilus-summary-footer.c
deleted file mode 100644
index 98bfc1ca5..000000000
--- a/components/services/summary/nautilus-view/nautilus-summary-footer.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/*
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: J Shane Culpepper <pepper@eazel.com>
- */
-
-#include <config.h>
-
-#include <bonobo/bonobo-control.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
-
-#include <libnautilus-extensions/nautilus-background.h>
-#include <libnautilus-extensions/nautilus-bonobo-extensions.h>
-#include <libnautilus-extensions/nautilus-caption-table.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <libnautilus-extensions/nautilus-font-factory.h>
-#include <libnautilus-extensions/nautilus-gdk-extensions.h>
-#include <libnautilus-extensions/nautilus-glib-extensions.h>
-#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <libnautilus-extensions/nautilus-gnome-extensions.h>
-#include <libnautilus-extensions/nautilus-gtk-extensions.h>
-#include <libnautilus-extensions/nautilus-gtk-macros.h>
-#include <libnautilus-extensions/nautilus-stock-dialogs.h>
-#include <libnautilus-extensions/nautilus-string.h>
-#include <libnautilus-extensions/nautilus-tabs.h>
-
-#include <libgnomeui/gnome-stock.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <orb/orbit.h>
-#include <liboaf/liboaf.h>
-#include <libtrilobite/trilobite-redirect.h>
-#include <libtrilobite/eazelproxy.h>
-#include <libtrilobite/libammonite.h>
-#include <bonobo/bonobo-main.h>
-
-#include "nautilus-summary-view.h"
-#include "eazel-summary-shared.h"
-
-#include "eazel-services-footer.h"
-#include "eazel-services-header.h"
-#include "eazel-services-extensions.h"
-
-#include "nautilus-summary-callbacks.h"
-#include "nautilus-summary-dialogs.h"
-#include "nautilus-summary-footer.h"
-#include "nautilus-summary-view-private.h"
-
-#define notDEBUG_TEST 1
-#define notDEBUG_PEPPER 1
-
-
-void
-footer_item_clicked_callback (GtkWidget *widget, int index, gpointer callback_data)
-{
- NautilusSummaryView *view;
-
- g_return_if_fail (NAUTILUS_IS_SUMMARY_VIEW (callback_data));
- g_return_if_fail (index >= FOOTER_REGISTER_OR_PREFERENCES);
- g_return_if_fail (index <= FOOTER_PRIVACY_STATEMENT);
-
- view = NAUTILUS_SUMMARY_VIEW (callback_data);
-
- switch (index) {
- case FOOTER_REGISTER_OR_PREFERENCES:
- if (!view->details->logged_in) {
- register_button_cb (NULL, view);
- } else {
- preferences_button_cb (NULL, view);
- }
- break;
-
- case FOOTER_LOGIN_OR_LOGOUT:
- if (!view->details->logged_in) {
- nautilus_summary_show_login_dialog (view);
- } else {
- logout_button_cb (NULL, view);
- }
- break;
-
- case FOOTER_TERMS_OF_USER:
- nautilus_view_open_location_in_this_window (view->details->nautilus_view, SUMMARY_TERMS_OF_USE_URI);
- break;
-
- case FOOTER_PRIVACY_STATEMENT:
- nautilus_view_open_location_in_this_window (view->details->nautilus_view, SUMMARY_PRIVACY_STATEMENT_URI);
- break;
-
- default:
- g_assert_not_reached ();
- break;
- }
-}
diff --git a/components/services/summary/nautilus-view/nautilus-summary-footer.h b/components/services/summary/nautilus-view/nautilus-summary-footer.h
deleted file mode 100644
index 6980c14bb..000000000
--- a/components/services/summary/nautilus-view/nautilus-summary-footer.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/*
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper
- */
-
-#ifndef NAUTILUS_SUMMARY_FOOTER_H
-#define NAUTILUS_SUMMARY_FOOTER_H
-
-void footer_item_clicked_callback (GtkWidget *widget,
- int index,
- gpointer callback_data);
-
-#endif /* NAUTILUS_SUMMARY_FOOTER_H */
-
diff --git a/components/services/summary/nautilus-view/nautilus-summary-menu-items.c b/components/services/summary/nautilus-view/nautilus-summary-menu-items.c
deleted file mode 100644
index 3137e59a9..000000000
--- a/components/services/summary/nautilus-view/nautilus-summary-menu-items.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/*
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: J Shane Culpepper <pepper@eazel.com>
- */
-
-#include <config.h>
-
-#include <gnome-xml/tree.h>
-#include <bonobo/bonobo-control.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
-
-#include <libnautilus-extensions/nautilus-background.h>
-#include <libnautilus-extensions/nautilus-bonobo-extensions.h>
-#include <libnautilus-extensions/nautilus-caption-table.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <libnautilus-extensions/nautilus-font-factory.h>
-#include <libnautilus-extensions/nautilus-gdk-extensions.h>
-#include <libnautilus-extensions/nautilus-glib-extensions.h>
-#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <libnautilus-extensions/nautilus-gnome-extensions.h>
-#include <libnautilus-extensions/nautilus-gtk-extensions.h>
-#include <libnautilus-extensions/nautilus-gtk-macros.h>
-#include <libnautilus-extensions/nautilus-stock-dialogs.h>
-#include <libnautilus-extensions/nautilus-string.h>
-#include <libnautilus-extensions/nautilus-tabs.h>
-
-#include <libgnomeui/gnome-stock.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <orb/orbit.h>
-#include <liboaf/liboaf.h>
-#include <libtrilobite/trilobite-redirect.h>
-#include <libtrilobite/eazelproxy.h>
-#include <libtrilobite/libammonite.h>
-#include <bonobo/bonobo-main.h>
-
-#include "nautilus-summary-view.h"
-#include "eazel-summary-shared.h"
-
-#include "eazel-services-footer.h"
-#include "eazel-services-header.h"
-#include "eazel-services-extensions.h"
-
-#include "nautilus-summary-callbacks.h"
-#include "nautilus-summary-dialogs.h"
-#include "nautilus-summary-menu-items.h"
-#include "nautilus-summary-view-private.h"
-
-#define notDEBUG_PEPPER 1
-
-static void bonobo_register_callback (BonoboUIComponent *ui,
- gpointer user_data,
- const char *verb);
-static void bonobo_login_callback (BonoboUIComponent *ui,
- gpointer user_data,
- const char *verb);
-static void bonobo_logout_callback (BonoboUIComponent *ui,
- gpointer user_data,
- const char *verb);
-static void bonobo_preferences_callback (BonoboUIComponent *ui,
- gpointer user_data,
- const char *verb);
-
-
-/* update the visibility of the menu items according to the login state */
-void
-update_menu_items (NautilusSummaryView *view, gboolean logged_in)
-{
- BonoboUIComponent *ui;
-
- ui = bonobo_control_get_ui_component
- (nautilus_view_get_bonobo_control
- (view->details->nautilus_view));
-
- nautilus_bonobo_set_hidden (ui,
- "/commands/Register",
- logged_in);
-
- nautilus_bonobo_set_hidden (ui,
- "/commands/Login",
- logged_in);
-
- nautilus_bonobo_set_hidden (ui,
- "/commands/Preferences",
- !logged_in);
-
- nautilus_bonobo_set_hidden (ui,
- "/commands/Logout",
- !logged_in);
-}
-
-/* this routine is invoked when the view is activated to merge in our menu items */
-void
-merge_bonobo_menu_items (BonoboControl *control, gboolean state, gpointer user_data)
-{
- NautilusSummaryView *view;
- BonoboUIVerb verbs [] = {
- BONOBO_UI_VERB ("Register", bonobo_register_callback),
- BONOBO_UI_VERB ("Login", bonobo_login_callback),
- BONOBO_UI_VERB ("Logout", bonobo_logout_callback),
- BONOBO_UI_VERB ("Preferences", bonobo_preferences_callback),
- BONOBO_UI_VERB_END
- };
-
- g_assert (BONOBO_IS_CONTROL (control));
-
- view = NAUTILUS_SUMMARY_VIEW (user_data);
-
- if (state) {
- gboolean logged_in;
- char * user_name;
-
- nautilus_view_set_up_ui (view->details->nautilus_view,
- DATADIR,
- "nautilus-summary-view-ui.xml",
- "nautilus-summary-view");
-
- bonobo_ui_component_add_verb_list_with_data
- (bonobo_control_get_ui_component (control), verbs, view);
-
- user_name = ammonite_get_default_user_username ();
- logged_in = (NULL != user_name);
- update_menu_items (view, logged_in);
- g_free (user_name);
- }
-
- /* Note that we do nothing if state is FALSE. Nautilus content
- * views are never explicitly deactivated
- */
-}
-
-/* here are the callbacks to handle bonobo menu items */
-static void
-bonobo_register_callback (BonoboUIComponent *ui, gpointer user_data, const char *verb)
-{
- NautilusSummaryView *view;
-
- view = NAUTILUS_SUMMARY_VIEW (user_data);
- register_button_cb (NULL, view);
-}
-
-static void
-bonobo_login_callback (BonoboUIComponent *ui, gpointer user_data, const char *verb)
-{
- NautilusSummaryView *view;
-
- view = NAUTILUS_SUMMARY_VIEW (user_data);
- nautilus_summary_show_login_dialog (view);
-}
-
-static void
-bonobo_logout_callback (BonoboUIComponent *ui, gpointer user_data, const char *verb)
-{
- NautilusSummaryView *view;
-
- view = NAUTILUS_SUMMARY_VIEW (user_data);
- logout_button_cb (NULL, view);
-}
-
-static void
-bonobo_preferences_callback (BonoboUIComponent *ui, gpointer user_data, const char *verb)
-{
- NautilusSummaryView *view;
-
- view = NAUTILUS_SUMMARY_VIEW (user_data);
- preferences_button_cb (NULL, view);
-}
-
diff --git a/components/services/summary/nautilus-view/nautilus-summary-menu-items.h b/components/services/summary/nautilus-view/nautilus-summary-menu-items.h
deleted file mode 100644
index f3379cf7d..000000000
--- a/components/services/summary/nautilus-view/nautilus-summary-menu-items.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/*
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper
- */
-
-#ifndef NAUTILUS_SUMMARY_MENU_ITEMS_H
-#define NAUTILUS_SUMMARY_MENU_ITEMS_H
-
-void merge_bonobo_menu_items (BonoboControl *control,
- gboolean state,
- gpointer user_data);
-void update_menu_items (NautilusSummaryView *view,
- gboolean logged_in);
-
-#endif /* NAUTILUS_SUMMARY_MENU_ITEMS_H */
-
diff --git a/components/services/summary/nautilus-view/nautilus-summary-view-private.h b/components/services/summary/nautilus-view/nautilus-summary-view-private.h
deleted file mode 100644
index 84e85b06b..000000000
--- a/components/services/summary/nautilus-view/nautilus-summary-view-private.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/*
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper
- */
-
-#ifndef NAUTILUS_SUMMARY_VIEW_PRIVATE_H
-#define NAUTILUS_SUMMARY_VIEW_PRIVATE_H
-
-#include <libtrilobite/libammonite.h>
-
-#include <libtrilobite/trilobite-redirect.h>
-
-#include <gnome.h>
-
-#define DEFAULT_SUMMARY_BACKGROUND_COLOR_SPEC "rgb:FFFF/FFFF/FFFF"
-#define DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB NAUTILUS_RGB_COLOR_WHITE
-#define DEFAULT_SUMMARY_TEXT_COLOR_RGB NAUTILUS_RGB_COLOR_BLACK
-
-#define URL_REDIRECT_TABLE_HOME "eazel-services://anonymous/services/urls"
-#define URL_REDIRECT_TABLE_HOME_2 "eazel-services:/services/urls"
-#define SUMMARY_CONFIG_XML "eazel-services://anonymous/services"
-#define SUMMARY_CONFIG_XML_2 "eazel-services:/services"
-
-#define SUMMARY_TERMS_OF_USE_URI "eazel-services://anonymous/aboutus/terms_of_use"
-#define SUMMARY_PRIVACY_STATEMENT_URI "eazel-services://anonymous/aboutus/privacy"
-#define SUMMARY_CHANGE_PWD_FORM "eazel-services://anonymous/account/login/lost_pwd_form"
-
-#define SUMMARY_XML_KEY "eazel_summary_xml"
-#define URL_REDIRECT_TABLE "eazel_url_table_xml"
-#define REGISTER_KEY "eazel_service_register"
-#define PREFERENCES_KEY "eazel_service_account_maintenance"
-
-#define GOTO_BUTTON_LABEL _("Go There")
-#define SOFTCAT_GOTO_BUTTON_LABEL _("More Info")
-#define INSTALL_GOTO_BUTTON_LABEL _("Install")
-
-#define MAX_IMAGE_WIDTH 50
-#define MAX_IMAGE_HEIGHT 50
-
-#define FOOTER_REGISTER_OR_PREFERENCES 0
-#define FOOTER_LOGIN_OR_LOGOUT 1
-#define FOOTER_TERMS_OF_USER 2
-#define FOOTER_PRIVACY_STATEMENT 3
-
-
-enum {
- LOGIN_DIALOG_NAME_ROW,
- LOGIN_DIALOG_PASSWORD_ROW,
- LOGIN_DIALOG_ROW_COUNT
-};
-
-enum {
- LOGIN_DIALOG_REGISTER_BUTTON_INDEX,
- LOGIN_DIALOG_OK_BUTTON_INDEX,
- LOGIN_DIALOG_CANCEL_BUTTON
-};
-
-typedef enum {
- Pending_None,
- Pending_Login,
-} SummaryPendingOperationType;
-
-typedef enum {
- initial,
- retry,
- fail,
-} SummaryLoginAttemptType;
-
-
-/* A NautilusContentView's private information. */
-struct _NautilusSummaryViewDetails {
- char *uri;
- NautilusView *nautilus_view;
- SummaryData *xml_data;
-
- /* Parent form and title */
- GtkWidget *form;
- GtkWidget *header;
- GtkWidget *news_pane;
- GtkWidget *news_item_vbox;
- GtkWidget *services_list_pane;
- GtkWidget *services_list_vbox;
- GtkWidget *featured_downloads_pane;
- GtkWidget *featured_downloads_vbox;
- GtkWidget *footer;
-
- /* Login State */
- char *user_name;
- volatile gboolean logged_in;
- GtkWidget *caption_table;
- SummaryLoginAttemptType current_attempt;
- int attempt_number;
-
- /* EazelProxy -- for logging in/logging out */
- EazelProxy_UserControl user_control;
- SummaryPendingOperationType pending_operation;
- EazelProxy_AuthnCallback authn_callback;
-
- /* Login Dialog */
- GnomeDialog *login_dialog;
-
- /* Async XML fetch handles */
- TrilobiteRedirectFetchHandle *redirect_fetch_handle;
- EazelSummaryFetchHandle *summary_fetch_handle;
-};
-
-
-#endif /* NAUTILUS_SUMMARY_VIEW_PRIVATE_H */
-
-
-
diff --git a/components/services/summary/nautilus-view/nautilus-summary-view-ui.xml b/components/services/summary/nautilus-view/nautilus-summary-view-ui.xml
deleted file mode 100644
index 6c9e0f5b9..000000000
--- a/components/services/summary/nautilus-view/nautilus-summary-view-ui.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<Root>
-<menu>
- <placeholder name="Services Placeholder">
- <submenu name="Services">
- <placeholder name="Service Items">
- <menuitem name="Register"
- _label="_Register for Eazel Services"
- _tip="Go to the Eazel Services Registration Form"
- verb="Register"/>
- <menuitem name="Login"
- _label="_Log in to Eazel Services"
- _tip="Show the log-in dialog box"
- verb="Login"/>
- <menuitem name="Preferences"
- _label="Service _Preferences"
- _tip="Configure your service preferences"
- verb="Preferences"/>
- <menuitem name="Logout"
- _label="_Log out from Eazel Services"
- _tip="Log out from Eazel Services"
- verb="Logout"/>
- </placeholder>
- </submenu>
- </placeholder>
-</menu>
-</Root>
diff --git a/components/services/summary/nautilus-view/nautilus-summary-view.c b/components/services/summary/nautilus-view/nautilus-summary-view.c
deleted file mode 100644
index 263925301..000000000
--- a/components/services/summary/nautilus-view/nautilus-summary-view.c
+++ /dev/null
@@ -1,947 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/*
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: J Shane Culpepper <pepper@eazel.com>
- */
-
-#include <config.h>
-
-
-#include "nautilus-summary-view.h"
-
-#include "eazel-summary-shared.h"
-#include "nautilus-summary-view-private.h"
-
-#include "nautilus-summary-callbacks.h"
-#include "nautilus-summary-menu-items.h"
-#include "nautilus-summary-dialogs.h"
-#include "nautilus-summary-footer.h"
-
-#include "eazel-services-footer.h"
-#include "eazel-services-header.h"
-#include "eazel-services-extensions.h"
-
-#include <libnautilus-extensions/nautilus-clickable-image.h>
-#include <libnautilus-extensions/nautilus-background.h>
-#include <libnautilus-extensions/nautilus-bonobo-extensions.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <libnautilus-extensions/nautilus-gdk-extensions.h>
-#include <libnautilus-extensions/nautilus-glib-extensions.h>
-#include <libnautilus-extensions/nautilus-gnome-extensions.h>
-#include <libnautilus-extensions/nautilus-gtk-extensions.h>
-#include <libnautilus-extensions/nautilus-gtk-macros.h>
-#include <libnautilus-extensions/nautilus-stock-dialogs.h>
-#include <libnautilus-extensions/nautilus-tabs.h>
-#include <libnautilus-extensions/nautilus-label.h>
-#include <libnautilus-extensions/nautilus-viewport.h>
-
-
-#include <liboaf/liboaf.h>
-#include <libtrilobite/trilobite-redirect.h>
-#include <libtrilobite/eazelproxy.h>
-#include <libtrilobite/libammonite.h>
-
-#include <bonobo/bonobo-control.h>
-
-#include <gnome.h>
-#include <libgnomeui/gnome-stock.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#define notDEBUG_TEST 1
-#define notDEBUG_PEPPER 1
-
-#ifdef DEBUG_TEST
- #undef URL_REDIRECT_TABLE_HOME
- #define URL_REDIRECT_TABLE_HOME "http://localhost/redirects.xml"
-#endif
-
-#define SUMMARY_TEXT_HEADER_SIZE_REL (0)
-#define SUMMARY_TEXT_BODY_SIZE_REL (-2)
-
-typedef struct ServicesButtonCallbackData ServicesButtonCallbackData;
-
-struct ServicesButtonCallbackData {
- NautilusView *view;
- char *uri;
-};
-
-static void nautilus_summary_view_initialize_class (NautilusSummaryViewClass *klass);
-static void nautilus_summary_view_initialize (NautilusSummaryView *view);
-static void nautilus_summary_view_destroy (GtkObject *object);
-static void summary_load_location_callback (NautilusView *nautilus_view,
- const char *location,
- NautilusSummaryView *view);
-static void summary_stop_loading_callback (NautilusView *nautilus_view,
- NautilusSummaryView *view);
-static GtkWidget * generate_eazel_news_entry_row (NautilusSummaryView *view,
- void *data);
-static GtkWidget * generate_service_entry_row (NautilusSummaryView *view,
- void *data);
-static GtkWidget * generate_update_news_entry_row (NautilusSummaryView *view,
- void *data);
-static void summary_view_button_callback (GtkWidget *button,
- ServicesButtonCallbackData *cbdata);
-static void cancel_load_in_progress (NautilusSummaryView *view);
-
-
-NAUTILUS_DEFINE_CLASS_BOILERPLATE (NautilusSummaryView, nautilus_summary_view, GTK_TYPE_EVENT_BOX)
-
-static const char *footer_online_items[] =
-{
- N_("Account Preferences"),
- N_("Logout"),
- N_("Terms of Use"),
- N_("Privacy Statement")
-};
-
-static const char *footer_offline_items[] =
-{
- N_("Register"),
- N_("Login"),
- N_("Terms of Use"),
- N_("Privacy Statement")
-};
-
-static void
-update_header (NautilusSummaryView *view)
-{
- char *text;
-
- if (view->details->logged_in) {
- g_free (view->details->user_name);
- view->details->user_name = ammonite_get_default_user_username ();
- text = g_strdup_printf (_("Welcome, %s!"), view->details->user_name);
- eazel_services_header_set_left_text (EAZEL_SERVICES_HEADER (view->details->header), text);
- g_free (text);
- } else {
- eazel_services_header_set_left_text (EAZEL_SERVICES_HEADER (view->details->header),
- _("You are not logged in"));
- }
-}
-
-static void
-create_header (NautilusSummaryView *view)
-{
- view->details->header = eazel_services_header_title_new (_("Connecting to Eazel Services..."));
-}
-
-
-static void
-update_footer (NautilusSummaryView *view)
-{
- if (view->details->logged_in) {
- eazel_services_footer_update (EAZEL_SERVICES_FOOTER (view->details->footer),
- footer_online_items,
- NAUTILUS_N_ELEMENTS (footer_online_items));
- } else {
- eazel_services_footer_update (EAZEL_SERVICES_FOOTER (view->details->footer),
- footer_offline_items,
- NAUTILUS_N_ELEMENTS (footer_offline_items));
- }
-}
-
-static void
-create_footer (NautilusSummaryView *view)
-{
- view->details->footer = eazel_services_footer_new ();
-
- eazel_services_footer_update (EAZEL_SERVICES_FOOTER (view->details->footer),
- footer_offline_items,
- NAUTILUS_N_ELEMENTS (footer_offline_items));
-
- gtk_signal_connect (GTK_OBJECT (view->details->footer), "item_clicked",
- GTK_SIGNAL_FUNC (footer_item_clicked_callback), view);
-}
-
-
-static void
-services_button_callback_data_free (ServicesButtonCallbackData *cbdata)
-{
- g_free (cbdata->uri);
- g_free (cbdata);
-}
-
-
-static void
-summary_view_button_callback (GtkWidget *button,
- ServicesButtonCallbackData *cbdata)
-{
-
- nautilus_view_open_location_in_this_window (cbdata->view, cbdata->uri);
-}
-
-static void
-goto_uri_on_clicked (GtkWidget *widget,
- NautilusView *view,
- const char *uri)
-{
- ServicesButtonCallbackData *cbdata;
-
- cbdata = g_new0 (ServicesButtonCallbackData, 1);
- cbdata->view = view;
- cbdata->uri = g_strdup (uri);
-
- gtk_signal_connect_full (GTK_OBJECT (widget), "clicked",
- GTK_SIGNAL_FUNC (summary_view_button_callback), NULL,
- cbdata, (GtkDestroyNotify) services_button_callback_data_free,
- FALSE, FALSE);
-}
-
-static GtkWidget *
-summary_view_button_new (char *label_text,
- NautilusView *view,
- const char *uri)
-{
- GtkWidget *button;
- GtkWidget *label;
-
- button = gtk_button_new ();
- /* FIXME: hardcoded width! */
- gtk_widget_set_usize (button, 80, -1);
-
- label = gtk_label_new (label_text);
- gtk_widget_show (label);
- gtk_container_add (GTK_CONTAINER (button), label);
-
- goto_uri_on_clicked (button, view, uri);
-
- return button;
-}
-
-static GtkWidget *
-summary_view_link_image_new (NautilusSummaryView *view,
- const char *image_uri,
- const char *click_uri)
-{
- GtkWidget *image;
-
- image = eazel_services_clickable_image_new_from_uri (image_uri,
- NULL,
- DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB,
- MAX_IMAGE_WIDTH, MAX_IMAGE_HEIGHT);
- nautilus_clickable_image_set_prelight (NAUTILUS_CLICKABLE_IMAGE (image), TRUE);
-
- goto_uri_on_clicked (image, view->details->nautilus_view, click_uri);
-
- return image;
-}
-
-
-static GtkWidget *
-summary_view_item_label_new (char *label_text,
- int relative_font_size,
- gboolean bold)
-{
- GtkWidget *label;
-
- label = eazel_services_label_new (label_text,
- 0, 0.5, 0.5, 0, 0,
- DEFAULT_SUMMARY_TEXT_COLOR_RGB,
- DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB,
- NULL,
- relative_font_size,
- bold);
- nautilus_label_set_wrap (NAUTILUS_LABEL (label), TRUE);
- nautilus_label_set_justify (NAUTILUS_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
- nautilus_label_set_adjust_wrap_on_resize (NAUTILUS_LABEL (label), TRUE);
-
- return label;
-}
-
-
-static GtkWidget *
-summary_view_item_large_header_label_new (char *label_text)
-{
- return summary_view_item_label_new (label_text,
- SUMMARY_TEXT_HEADER_SIZE_REL,
- TRUE);
-}
-
-static GtkWidget *
-summary_view_item_header_label_new (char *label_text)
-{
- return summary_view_item_label_new (label_text,
- SUMMARY_TEXT_BODY_SIZE_REL,
- TRUE);
-}
-
-static GtkWidget *
-summary_view_item_body_label_new (char *label_text)
-{
- return summary_view_item_label_new (label_text,
- SUMMARY_TEXT_BODY_SIZE_REL,
- FALSE);
-}
-
-static void
-append_hseparator_to_vbox (GtkWidget *vbox)
-{
- GtkWidget *separator;
-
- separator = gtk_hseparator_new ();
- gtk_widget_show (separator);
- gtk_box_pack_start (GTK_BOX (vbox),
- separator, FALSE, FALSE, 8);
-
-}
-
-
-
-
-static GtkWidget *
-generate_eazel_news_entry_row (NautilusSummaryView *view,
- void *data)
-{
- GtkWidget *news_row;
- GtkWidget *item_vbox;
- GtkWidget *icon_box;
- GtkWidget *icon;
- GtkWidget *date_label;
- GtkWidget *news_item_label;
- EazelNewsData *news_node;
-
- news_node = data;
- news_row = gtk_hbox_new (FALSE, 0);
-
- /* Generate first box with icon */
- icon_box = gtk_vbox_new (FALSE, 2);
- gtk_widget_show (icon_box);
- gtk_box_pack_start (GTK_BOX (news_row), icon_box, FALSE, FALSE, 3);
-
- icon = eazel_services_image_new_from_uri (news_node->icon,
- NULL,
- DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB,
- MAX_IMAGE_WIDTH, MAX_IMAGE_HEIGHT);
- gtk_widget_show (icon);
- gtk_box_pack_start (GTK_BOX (icon_box), icon, 0, 0, 0);
-
- /* generate second box with bold type date and the actual contents */
- item_vbox = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (item_vbox);
- gtk_box_pack_start (GTK_BOX (news_row), item_vbox, TRUE, TRUE, 2);
-
- /* Date */
- date_label = summary_view_item_header_label_new (news_node->date);
- gtk_widget_show (date_label);
-
- gtk_box_pack_start (GTK_BOX (item_vbox), date_label, FALSE, FALSE, 2);
-
- /* Message */
- news_item_label = summary_view_item_body_label_new (news_node->message);
- gtk_widget_show (news_item_label);
- gtk_box_pack_start (GTK_BOX (item_vbox), news_item_label, TRUE, TRUE, 2);
-
- return news_row;
-}
-
-
-typedef GtkWidget * (*SummaryViewItemCreateFunction) (NautilusSummaryView *view,
- void *data);
-
-static void
-summary_view_update_pane (NautilusSummaryView *view,
- GtkWidget *vbox,
- GList *data,
- SummaryViewItemCreateFunction item_create)
-{
- GtkWidget *item;
- GList *node;
-
- /* clear existing news. */
- gtk_container_foreach (GTK_CONTAINER (vbox),
- (GtkCallback) gtk_widget_destroy, NULL);
-
- /* build the eazel news table from the xml file */
- for (node = data; node != NULL; node = node->next) {
- item = (*item_create) (view, node->data);
-
- gtk_widget_show (item);
- gtk_box_pack_start (GTK_BOX (vbox),
- GTK_WIDGET (item),
- FALSE, FALSE, 0);
-
- if (node->next != NULL) {
- append_hseparator_to_vbox (vbox);
- }
- }
-}
-
-static GtkWidget *
-summary_view_create_pane (NautilusSummaryView *view,
- GtkWidget **vbox)
-{
- GtkWidget *pane;
- GtkWidget *viewport;
-
- pane = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (pane),
- GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
-
- viewport = nautilus_viewport_new (NULL, NULL);
- widget_set_nautilus_background_color (viewport, DEFAULT_SUMMARY_BACKGROUND_COLOR_SPEC);
-
- gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE);
- gtk_widget_show (viewport);
- gtk_container_add (GTK_CONTAINER (pane), viewport);
-
- /* create the parent update news box and a table to hold the labels and text entries */
- *vbox = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (*vbox);
- gtk_container_add (GTK_CONTAINER (viewport), *vbox);
-
- return pane;
-}
-
-
-static void
-update_news_pane (NautilusSummaryView *view)
-{
- summary_view_update_pane (view,
- view->details->news_item_vbox,
- view->details->xml_data->eazel_news_list,
- generate_eazel_news_entry_row);
-
- /* FIXME: leak */
- g_list_free (view->details->xml_data->eazel_news_list);
-}
-
-
-static void
-create_news_pane (NautilusSummaryView *view)
-{
- view->details->news_pane = summary_view_create_pane
- (view, &view->details->news_item_vbox);
-}
-
-
-static GtkWidget *
-generate_service_entry_row (NautilusSummaryView *view,
- void *data)
-{
- GtkWidget *services_row;
- GtkWidget *icon_box;
- GtkWidget *icon;
- GtkWidget *service_name;
- GtkWidget *service_description;
- GtkWidget *description_vbox;
- GtkWidget *button_vbox;
- GtkWidget *button_hbox;
- GtkWidget *button;
- ServicesData *services_node;
-
- services_node = data;
-
- services_row = gtk_hbox_new (FALSE, 0);
-
- /* Generate first box with service icon */
- icon_box = gtk_vbox_new (FALSE, 4);
- gtk_box_pack_start (GTK_BOX (services_row), icon_box, FALSE, FALSE, 2);
-
- gtk_widget_show (icon_box);
-
- icon = summary_view_link_image_new (view,
- services_node->icon,
- services_node->uri);
- gtk_widget_show (icon);
- gtk_box_pack_start (GTK_BOX (icon_box), icon, FALSE, FALSE, 0);
-
- /* insert a few pixels of space here */
-
- /* Generate second box with service title and summary */
- description_vbox = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (description_vbox);
- gtk_box_pack_start (GTK_BOX (services_row), description_vbox, TRUE, TRUE, 0);
-
- /* Header */
- service_name = summary_view_item_header_label_new (services_node->description_header);
- gtk_widget_show (service_name);
- gtk_box_pack_start (GTK_BOX (description_vbox), service_name, FALSE, FALSE, 2);
-
- /* Body */
- service_description = summary_view_item_body_label_new (services_node->description);
- gtk_widget_show (service_description);
- gtk_box_pack_start (GTK_BOX (description_vbox), service_description, FALSE, FALSE, 2);
-
- /* Add the redirect button to the third box */
- button_vbox = gtk_vbox_new (TRUE, 0);
- gtk_widget_show (button_vbox);
- gtk_box_pack_end (GTK_BOX (services_row), button_vbox, FALSE, FALSE, 2);
-
- button_hbox = gtk_hbox_new (FALSE, 0);
- gtk_widget_show (button_hbox);
- gtk_box_pack_start (GTK_BOX (button_vbox), button_hbox, FALSE, FALSE, 2);
-
- button = summary_view_button_new (GOTO_BUTTON_LABEL,
- view->details->nautilus_view,
- services_node->uri);
- gtk_widget_show (button);
- gtk_box_pack_end (GTK_BOX (button_hbox), button, FALSE, FALSE, 3);
-
- /* FIXME: respect enabled field */
-
- return services_row;
-}
-
-
-static void
-update_services_list_pane (NautilusSummaryView *view)
-{
- summary_view_update_pane (view,
- view->details->services_list_vbox,
- view->details->xml_data->services_list,
- generate_service_entry_row);
-
- /* FIXME: leak */
- g_list_free (view->details->xml_data->services_list);
-}
-
-static void
-create_services_list_pane (NautilusSummaryView *view)
-{
- view->details->services_list_pane = summary_view_create_pane
- (view, &view->details->services_list_vbox);
-}
-
-
-static GtkWidget *
-generate_update_news_entry_row (NautilusSummaryView *view,
- void *data)
-{
- GtkWidget *update_row;
- GtkWidget *icon_box;
- GtkWidget *icon;
- GtkWidget *description_vbox;
- GtkWidget *name_label;
- GtkWidget *description_label;
- GtkWidget *version_label;
- GtkWidget *button_vbox;
- GtkWidget *more_info_button_hbox;
- GtkWidget *more_info_button;
- GtkWidget *install_button_hbox;
- GtkWidget *install_button;
- char *version_text;
- UpdateNewsData *update_node;
-
- update_node = data;
- update_row = gtk_hbox_new (FALSE, 0);
-
- /* Generate first box with icon */
- icon_box = gtk_vbox_new (FALSE, 4);
- gtk_widget_show (icon_box);
- gtk_box_pack_start (GTK_BOX (update_row), icon_box, FALSE, FALSE, 0);
-
- icon = summary_view_link_image_new (view,
- update_node->icon,
- update_node->softcat_uri);
- gtk_widget_show (icon);
- gtk_box_pack_start (GTK_BOX (icon_box), icon, FALSE, FALSE, 0);
-
- /* Generate second box with update title, summary, and version */
- description_vbox = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (description_vbox);
- gtk_box_pack_start (GTK_BOX (update_row), description_vbox, TRUE, TRUE, 0);
-
- /* Header */
-
- name_label = summary_view_item_large_header_label_new (update_node->name);
- gtk_widget_show (name_label);
- gtk_box_pack_start (GTK_BOX (description_vbox), name_label, FALSE, FALSE, 4);
-
- /* Body */
-
- description_label = summary_view_item_body_label_new (update_node->description);
- gtk_widget_show (description_label);
- gtk_box_pack_start (GTK_BOX (description_vbox), description_label, FALSE, FALSE, 4);
-
- /* Version */
-
- if (update_node->version != NULL) {
- version_text = g_strdup_printf (_("Version: %s"), update_node->version);
- } else {
- version_text = g_strdup ("");
- }
- version_label = summary_view_item_header_label_new (version_text);
- gtk_widget_show (version_label);
- gtk_box_pack_start (GTK_BOX (description_vbox), version_label, FALSE, FALSE, 0);
- g_free (version_text);
-
- /* Add the redirect button and softcat button to the third box */
- button_vbox = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (button_vbox);
- gtk_box_pack_end (GTK_BOX (update_row), button_vbox, FALSE, FALSE, 0);
-
- more_info_button_hbox = gtk_hbox_new (TRUE, 0);
- gtk_widget_show (more_info_button_hbox);
- gtk_box_pack_start (GTK_BOX (button_vbox), more_info_button_hbox, FALSE, FALSE, 4);
-
-
- more_info_button = summary_view_button_new (SOFTCAT_GOTO_BUTTON_LABEL,
- view->details->nautilus_view,
- update_node->softcat_uri);
- gtk_widget_show (more_info_button);
- gtk_box_pack_start (GTK_BOX (more_info_button_hbox), more_info_button, FALSE, FALSE, 4);
-
-
- install_button_hbox = gtk_hbox_new (TRUE, 0);
- gtk_widget_show (install_button_hbox);
- gtk_box_pack_start (GTK_BOX (button_vbox), install_button_hbox, FALSE, FALSE, 4);
-
- install_button = summary_view_button_new (INSTALL_GOTO_BUTTON_LABEL,
- view->details->nautilus_view,
- update_node->uri);
- gtk_widget_show (install_button);
- gtk_box_pack_start (GTK_BOX (install_button_hbox), install_button, FALSE, FALSE, 4);
-
- return update_row;
-}
-
-static void
-update_featured_downloads_pane (NautilusSummaryView *view)
-{
- summary_view_update_pane (view,
- view->details->featured_downloads_vbox,
- view->details->xml_data->update_news_list,
- generate_update_news_entry_row);
-
- /* FIXME: leak */
- g_list_free (view->details->xml_data->update_news_list);
-}
-
-
-static void
-create_featured_downloads_pane (NautilusSummaryView *view)
-{
- view->details->featured_downloads_pane = summary_view_create_pane
- (view, &view->details->featured_downloads_vbox);
-}
-
-
-static void
-update_summary_form (NautilusSummaryView *view,
- SummaryData *xml_data)
-{
- view->details->xml_data = xml_data;
-
- update_header (view);
- update_news_pane (view);
- update_services_list_pane (view);
- update_featured_downloads_pane (view);
- update_footer (view);
-}
-
-
-static void
-create_summary_form (NautilusSummaryView *view)
-{
- GtkWidget *notebook_tabs;
-
- /* allocate the parent box to hold everything */
- view->details->form = gtk_vbox_new (FALSE, 0);
- gtk_container_add (GTK_CONTAINER (view), view->details->form);
-
- create_header (view);
- gtk_box_pack_start (GTK_BOX (view->details->form), view->details->header, FALSE, FALSE, 0);
- gtk_widget_show (view->details->header);
-
- /* Create the News pane */
- create_news_pane (view);
- gtk_box_pack_start (GTK_BOX (view->details->form), view->details->news_pane, FALSE, FALSE, 0);
- gtk_widget_show (view->details->news_pane);
-
- /* Header for Services pane */
- notebook_tabs = nautilus_tabs_new ();
- nautilus_tabs_add_tab (NAUTILUS_TABS (notebook_tabs), _("Services"), 0);
- gtk_widget_show (notebook_tabs);
- gtk_box_pack_start (GTK_BOX (view->details->form), notebook_tabs, FALSE, FALSE, 0);
-
- /* Create the Services pane */
- create_services_list_pane (view);
- gtk_widget_show (view->details->services_list_pane);
- gtk_box_pack_start (GTK_BOX (view->details->form), view->details->services_list_pane, TRUE, TRUE, 0);
-
- /* Header for Featured Downloads pane */
- notebook_tabs = nautilus_tabs_new ();
- nautilus_tabs_add_tab (NAUTILUS_TABS (notebook_tabs), _("Featured Downloads"), 0);
- gtk_widget_show (notebook_tabs);
- gtk_box_pack_start (GTK_BOX (view->details->form), notebook_tabs, FALSE, FALSE, 0);
-
- /* Create the Featured Downloads pane */
- create_featured_downloads_pane (view);
- gtk_widget_show (view->details->featured_downloads_pane);
- gtk_box_pack_start (GTK_BOX (view->details->form), view->details->featured_downloads_pane, TRUE, TRUE, 0);
-
- create_footer (view);
- gtk_widget_show (view->details->footer);
- gtk_box_pack_start (GTK_BOX (view->details->form),
- view->details->footer,
- FALSE, FALSE, 0);
-
-
- /* Finally, show the form that hold everything */
- gtk_widget_show (view->details->form);
-}
-
-
-
-static void
-nautilus_summary_view_initialize_class (NautilusSummaryViewClass *klass)
-{
-
- GtkObjectClass *object_class;
- GtkWidgetClass *widget_class;
-
- object_class = GTK_OBJECT_CLASS (klass);
- widget_class = GTK_WIDGET_CLASS (klass);
- parent_class = gtk_type_class (gtk_event_box_get_type ());
- object_class->destroy = nautilus_summary_view_destroy;
-
-}
-
-static void
-nautilus_summary_view_initialize (NautilusSummaryView *view)
-{
- CORBA_Environment ev;
-
- CORBA_exception_init (&ev);
-
- view->details = g_new0 (NautilusSummaryViewDetails, 1);
- view->details->nautilus_view = nautilus_view_new (GTK_WIDGET (view));
- gtk_signal_connect (GTK_OBJECT (view->details->nautilus_view),
- "load_location",
- GTK_SIGNAL_FUNC (summary_load_location_callback),
- view);
-
- gtk_signal_connect (GTK_OBJECT (view->details->nautilus_view),
- "stop_loading",
- GTK_SIGNAL_FUNC (summary_stop_loading_callback),
- view);
-
-
-
- view->details->user_control = ammonite_get_user_control ();
-
- if (CORBA_NO_EXCEPTION != ev._major) {
- /* FIXME bugzilla.eazel.com 2740: user should be warned that Ammonite may not be installed */
- g_warning ("Couldn't instantiate eazel-proxy\n");
- view->details->user_control = CORBA_OBJECT_NIL;
- }
-
- /* get notified when we are activated so we can merge in our menu items */
- gtk_signal_connect (GTK_OBJECT (nautilus_view_get_bonobo_control
- (view->details->nautilus_view)),
- "activate",
- merge_bonobo_menu_items,
- view);
-
- create_summary_form (view);
-
- gtk_widget_show (GTK_WIDGET (view));
-
- CORBA_exception_free (&ev);
-
-}
-
-static void
-nautilus_summary_view_destroy (GtkObject *object)
-{
-
- NautilusSummaryView *view;
- CORBA_Environment ev;
-
- CORBA_exception_init (&ev);
-
- view = NAUTILUS_SUMMARY_VIEW (object);
-
- cancel_load_in_progress (view);
-
- if (view->details->uri) {
- g_free (view->details->uri);
- }
-
- /* FIXME: what the hell, we can't assert this here */
- g_assert (Pending_None == view->details->pending_operation);
-
- g_free (view->details);
-
- NAUTILUS_CALL_PARENT_CLASS (GTK_OBJECT_CLASS, destroy, (object));
-
- CORBA_exception_free (&ev);
-
-}
-
-NautilusView *
-nautilus_summary_view_get_nautilus_view (NautilusSummaryView *view)
-{
-
- return view->details->nautilus_view;
-
-}
-
-static void
-summary_fetch_callback (GnomeVFSResult result,
- SummaryData *xml_data,
- gpointer callback_data)
-{
- NautilusSummaryView *view;
-
- view = NAUTILUS_SUMMARY_VIEW (callback_data);
- view->details->summary_fetch_handle = NULL;
-
- if (result != GNOME_VFS_OK) {
- nautilus_summary_show_error_dialog
- (view, _("Unable to get services data from Eazel's server. "
- "The server might be unavailable right now, "
- "or your computer might be configured incorrectly."
- "Please contact support@eazel.com."));
- return;
- }
-
-
- if (xml_data == NULL) {
- nautilus_summary_show_error_dialog
- (view, _("Found a problem with services data on Eazel servers. "
- "Please contact support@eazel.com."));
- return;
- }
-
- update_summary_form (view, xml_data);
-
- if (!view->details->logged_in) {
- nautilus_summary_show_login_dialog (view);
- }
-
- nautilus_view_report_load_complete (view->details->nautilus_view);
-}
-
-
-static void
-redirect_fetch_callback (GnomeVFSResult result,
- gboolean parsed_xml,
- gpointer callback_data)
-{
- NautilusSummaryView *view;
- char *uri;
-
- view = NAUTILUS_SUMMARY_VIEW (callback_data);
-
- view->details->redirect_fetch_handle = NULL;
-
- if (result != GNOME_VFS_OK) {
- nautilus_summary_show_error_dialog
- (view, _("Unable to connect to Eazel's server. "
- "The server might be unavailable right now, "
- "or your computer might be configured incorrectly."
- "You could try again later."));
- return;
- }
-
-
- if (!parsed_xml) {
- nautilus_summary_show_error_dialog
- (view, _("Found a problem with redirect data on Eazel servers. "
- "Please contact support@eazel.com."));
- return;
- }
-
- /* Read and parse summary view XML */
-
- uri = trilobite_redirect_lookup (SUMMARY_XML_KEY);
-
- if (uri == NULL) {
- nautilus_summary_show_error_dialog
- (view, _("Information is missing from the redirect data on Eazel servers. "
- "Please contact support@eazel.com."));
- return;
- }
-
-
- view->details->summary_fetch_handle = eazel_summary_fetch_data_async
- (uri, summary_fetch_callback, view);
- g_free (uri);
-}
-
-
-
-
-static void
-cancel_load_in_progress (NautilusSummaryView *view)
-{
- if (view->details->redirect_fetch_handle != NULL) {
- trilobite_redirect_fetch_table_cancel (view->details->redirect_fetch_handle);
- view->details->redirect_fetch_handle = NULL;
- }
-
- if (view->details->summary_fetch_handle != NULL) {
- eazel_summary_fetch_data_cancel (view->details->summary_fetch_handle);
- view->details->summary_fetch_handle = NULL;
- }
-}
-
-void
-nautilus_summary_view_load_uri (NautilusSummaryView *view,
- const char *uri)
-{
- char *user_name;
-
- /* set up some sanity values for error control */
- view->details->attempt_number = 0;
- view->details->current_attempt = initial;
-
- g_free (view->details->uri);
- view->details->uri = g_strdup (uri);
-
- user_name = ammonite_get_default_user_username ();
- view->details->logged_in = (NULL != user_name);
- g_free (user_name);
- user_name = NULL;
-
- cancel_load_in_progress (view);
-
- view->details->redirect_fetch_handle = trilobite_redirect_fetch_table_async
- (view->details->logged_in ? URL_REDIRECT_TABLE_HOME_2 : URL_REDIRECT_TABLE_HOME,
- redirect_fetch_callback,
- view);
-}
-
-static void
-summary_load_location_callback (NautilusView *nautilus_view,
- const char *location,
- NautilusSummaryView *view)
-{
- g_assert (nautilus_view == view->details->nautilus_view);
-
- nautilus_view_report_load_underway (nautilus_view);
-
- nautilus_view_set_title (nautilus_view, "Eazel Services");
-
- nautilus_summary_view_load_uri (view, location);
-}
-
-
-
-static void
-summary_stop_loading_callback (NautilusView *nautilus_view,
- NautilusSummaryView *view)
-
-{
- cancel_load_in_progress (view);
-}
diff --git a/components/services/summary/nautilus-view/nautilus-summary-view.h b/components/services/summary/nautilus-view/nautilus-summary-view.h
deleted file mode 100644
index 094b92d4d..000000000
--- a/components/services/summary/nautilus-view/nautilus-summary-view.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/*
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper
- */
-
-#ifndef NAUTILUS_SUMMARY_VIEW_H
-#define NAUTILUS_SUMMARY_VIEW_H
-
-#include <libnautilus/nautilus-view.h>
-#include <gtk/gtk.h>
-
-typedef struct _NautilusSummaryView NautilusSummaryView;
-typedef struct _NautilusSummaryViewClass NautilusSummaryViewClass;
-
-#define NAUTILUS_TYPE_SUMMARY_VIEW (nautilus_summary_view_get_type ())
-#define NAUTILUS_SUMMARY_VIEW(obj) (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_SUMMARY_VIEW, NautilusSummaryView))
-#define NAUTILUS_SUMMARY_VIEW_CLASS (klass) (GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_SUMMARY_VIEW, NautilusSummaryViewClass))
-#define NAUTILUS_IS_SUMMARY_VIEW(obj) (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_SUMMARY_VIEW))
-#define NAUTILUS_IS_SUMMARY_VIEW_CLASS (klass) (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_SUMMARY_VIEW))
-
-typedef struct _NautilusSummaryViewDetails NautilusSummaryViewDetails;
-
-struct _NautilusSummaryView {
- GtkEventBox parent;
- NautilusSummaryViewDetails *details;
-};
-
-struct _NautilusSummaryViewClass {
- GtkVBoxClass parent_class;
-};
-
-/* GtkObject support */
-GtkType nautilus_summary_view_get_type (void);
-
-/* Component embedding support */
-NautilusView *nautilus_summary_view_get_nautilus_view (NautilusSummaryView *view);
-
-/* URI handling */
-void nautilus_summary_view_load_uri (NautilusSummaryView *view,
- const char *uri);
-
-#endif /* NAUTILUS_SUMMARY_VIEW_H */
-
diff --git a/components/services/summary/nautilus-view/tests/README b/components/services/summary/nautilus-view/tests/README
deleted file mode 100644
index b8ff1482f..000000000
--- a/components/services/summary/nautilus-view/tests/README
+++ /dev/null
@@ -1,7 +0,0 @@
-To use these tests do the following:
-su - root
-cp *.xml /home/httpd/html or wherever the root of your webserver lives.
-set #define DEBUG_TEST 1
-rebuild the summary view and install.
-It will probably fail right now if you don't have access to services.eazel.com
-since several of the remote images live there.
diff --git a/components/services/summary/nautilus-view/tests/redirects.xml b/components/services/summary/nautilus-view/tests/redirects.xml
deleted file mode 100644
index 197477d18..000000000
--- a/components/services/summary/nautilus-view/tests/redirects.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0"?>
-<location_data>
- <location>
- <name>eazel_summary_service</name>
- <uri>eazel:</uri>
- </location>
- <location>
- <name>eazel_install_service</name>
- <uri>eazel-install:</uri>
- </location>
- <location>
- <name>eazel_softcat_service</name>
- <uri>eazel-services://anonymous/catalog</uri>
- </location>
- <location>
- <name>eazel_vault_service</name>
- <uri>eazel-services:/account/register/form</uri>
- </location>
- <location>
- <name>eazel_service_register</name>
- <uri>eazel-services://anonymous/account/register/form</uri>
- </location>
- <location>
- <name>eazel_services_information</name>
- <uri>http://services.eazel.com:7001/services/info</uri>
- </location>
- <location>
- <name>eazel_change_password</name>
- <uri>eazel-pw:</uri>
- </location>
- <location>
- <name>eazel_summary_xml</name>
- <uri>http://localhost/services.xml</uri>
- </location>
- <location>
- <name>eazel_url_table_xml</name>
- <uri>http://localhost/redirects.xml</uri>
- </location>
- <location>
- <name>eazel_install_depend_query</name>
- <uri>http://services.eazel.com:7001/catalog/find</uri>
- </location>
- <location>
- <name>eazel_service_account_maintenance</name>
- <uri>eazel-services:/account/preferences/form</uri>
- </location>
- <location>
- <name>web_search</name>
- <uri>http://services.eazel.com:8888/services/websearch</uri>
- </location>
- <location>
- <name>install_help</name>
- <uri>http://services.eazel.com:8888/support/nautilus/install</uri>
- </location>
-</location_data>
-
diff --git a/components/services/summary/nautilus-view/tests/services.xml b/components/services/summary/nautilus-view/tests/services.xml
deleted file mode 100644
index a1689d4bf..000000000
--- a/components/services/summary/nautilus-view/tests/services.xml
+++ /dev/null
@@ -1,330 +0,0 @@
-<?xml version="1.0"?>
-<SUMMARY_DATA>
- <SERVICES>
- <SERVICE>
- <NAME>eazel_vault_service</NAME>
- <ICON>http://services.eazel.com/images/services/vault-service-icon.png</ICON>
- <BUTTON_LABEL>Registered users only</BUTTON_LABEL>
- <URI>eazel-services://anonymous/account/register/form</URI>
- <DESCRIPTION_HEADER>Eazel Online Storage</DESCRIPTION_HEADER>
- <DESCRIPTION>A file repository accessible from browsers and integrated with Nautilus.</DESCRIPTION>
- <ENABLED>false</ENABLED>
- </SERVICE>
- <SERVICE>
- <NAME>eazel_softcat_service</NAME>
- <ICON>http://services.eazel.com/images/services/softcat-service-icon.png</ICON>
- <BUTTON_LABEL>To software catalog</BUTTON_LABEL>
- <URI>http://services.eazel.com:7001/catalog</URI>
- <DESCRIPTION_HEADER>The Software Catalog</DESCRIPTION_HEADER>
- <DESCRIPTION>Collection of RPMs available for installation using the unique Eazel Software Installer.</DESCRIPTION>
- <ENABLED>true</ENABLED>
- </SERVICE>
- <SERVICE>
- <NAME>eazel_time_sync_service</NAME>
- <ICON>http://services.eazel.com/images/services/time-sync-service-icon.png</ICON>
- <BUTTON_LABEL>To time sync!</BUTTON_LABEL>
- <URI>eazel:</URI>
- <DESCRIPTION_HEADER>The Time Sync Service</DESCRIPTION_HEADER>
- <DESCRIPTION>Automatic clock settings so that your time is always right.</DESCRIPTION>
- <ENABLED>true</ENABLED>
- </SERVICE>
- <SERVICE>
- <NAME>eazel_inventory_service</NAME>
- <ICON>http://services.eazel.com/images/services/inventory-service-icon.png</ICON>
- <BUTTON_LABEL>To client inventory!</BUTTON_LABEL>
- <URI>eazel:</URI>
- <DESCRIPTION_HEADER>The Inventory Control Service</DESCRIPTION_HEADER>
- <DESCRIPTION>Keep your inventory up to date all day every day.</DESCRIPTION>
- <ENABLED>true</ENABLED>
- </SERVICE>
- <SERVICE>
- <NAME>eazel_softcat_service</NAME>
- <ICON>http://services.eazel.com/images/services/softcat-service-icon.png</ICON>
- <BUTTON_LABEL>To software catalog</BUTTON_LABEL>
- <URI>http://services.eazel.com:7001/catalog</URI>
- <DESCRIPTION_HEADER>The Software Catalog</DESCRIPTION_HEADER>
- <DESCRIPTION>Collection of RPMs available for installation using the unique Eazel Software Installer.</DESCRIPTION>
- <ENABLED>true</ENABLED>
- </SERVICE>
- <SERVICE>
- <NAME>eazel_softcat_service</NAME>
- <ICON>http://services.eazel.com/images/services/softcat-service-icon.png</ICON>
- <BUTTON_LABEL>To software catalog</BUTTON_LABEL>
- <URI>http://services.eazel.com:7001/catalog</URI>
- <DESCRIPTION_HEADER>The Software Catalog</DESCRIPTION_HEADER>
- <DESCRIPTION>Collection of RPMs available for installation using the unique Eazel Software Installer.</DESCRIPTION>
- <ENABLED>true</ENABLED>
- </SERVICE>
- <SERVICE>
- <NAME>eazel_softcat_service</NAME>
- <ICON>http://services.eazel.com/images/services/softcat-service-icon.png</ICON>
- <BUTTON_LABEL>To software catalog</BUTTON_LABEL>
- <URI>http://services.eazel.com:7001/catalog</URI>
- <DESCRIPTION_HEADER>The Software Catalog</DESCRIPTION_HEADER>
- <DESCRIPTION>Collection of RPMs available for installation using the unique Eazel Software Installer.</DESCRIPTION>
- <ENABLED>true</ENABLED>
- </SERVICE>
- <SERVICE>
- <NAME>eazel_softcat_service</NAME>
- <ICON>http://services.eazel.com/images/services/softcat-service-icon.png</ICON>
- <BUTTON_LABEL>To software catalog</BUTTON_LABEL>
- <URI>http://services.eazel.com:7001/catalog</URI>
- <DESCRIPTION_HEADER>The Software Catalog</DESCRIPTION_HEADER>
- <DESCRIPTION>Collection of RPMs available for installation using the unique Eazel Software Installer.</DESCRIPTION>
- <ENABLED>true</ENABLED>
- </SERVICE>
- <SERVICE>
- <NAME>eazel_softcat_service</NAME>
- <ICON>http://services.eazel.com/images/services/softcat-service-icon.png</ICON>
- <BUTTON_LABEL>To software catalog</BUTTON_LABEL>
- <URI>http://services.eazel.com:7001/catalog</URI>
- <DESCRIPTION_HEADER>The Software Catalog</DESCRIPTION_HEADER>
- <DESCRIPTION>Collection of RPMs available for installation using the unique Eazel Software Installer.</DESCRIPTION>
- <ENABLED>true</ENABLED>
- </SERVICE>
- <SERVICE>
- <NAME>eazel_softcat_service</NAME>
- <ICON>http://services.eazel.com/images/services/softcat-service-icon.png</ICON>
- <BUTTON_LABEL>To software catalog</BUTTON_LABEL>
- <URI>http://services.eazel.com:7001/catalog</URI>
- <DESCRIPTION_HEADER>The Software Catalog</DESCRIPTION_HEADER>
- <DESCRIPTION>Collection of RPMs available for installation using the unique Eazel Software Installer.</DESCRIPTION>
- <ENABLED>true</ENABLED>
- </SERVICE>
- <SERVICE>
- <NAME>eazel_softcat_service</NAME>
- <ICON>http://services.eazel.com/images/services/softcat-service-icon.png</ICON>
- <BUTTON_LABEL>To software catalog</BUTTON_LABEL>
- <URI>http://services.eazel.com:7001/catalog</URI>
- <DESCRIPTION_HEADER>The Software Catalog</DESCRIPTION_HEADER>
- <DESCRIPTION>Collection of RPMs available for installation using the unique Eazel Software Installer.</DESCRIPTION>
- <ENABLED>true</ENABLED>
- </SERVICE>
- <SERVICE>
- <NAME>eazel_softcat_service</NAME>
- <ICON>http://services.eazel.com/images/services/softcat-service-icon.png</ICON>
- <BUTTON_LABEL>To software catalog</BUTTON_LABEL>
- <URI>http://services.eazel.com:7001/catalog</URI>
- <DESCRIPTION_HEADER>The Software Catalog</DESCRIPTION_HEADER>
- <DESCRIPTION>Collection of RPMs available for installation using the unique Eazel Software Installer.</DESCRIPTION>
- <ENABLED>true</ENABLED>
- </SERVICE>
- <SERVICE>
- <NAME>eazel_softcat_service</NAME>
- <ICON>http://services.eazel.com/images/services/softcat-service-icon.png</ICON>
- <BUTTON_LABEL>To software catalog</BUTTON_LABEL>
- <URI>http://services.eazel.com:7001/catalog</URI>
- <DESCRIPTION_HEADER>The Software Catalog</DESCRIPTION_HEADER>
- <DESCRIPTION>Collection of RPMs available for installation using the unique Eazel Software Installer.</DESCRIPTION>
- <ENABLED>true</ENABLED>
- </SERVICE>
- <SERVICE>
- <NAME>eazel_softcat_service</NAME>
- <ICON>http://services.eazel.com/images/services/softcat-service-icon.png</ICON>
- <BUTTON_LABEL>To software catalog</BUTTON_LABEL>
- <URI>http://services.eazel.com:7001/catalog</URI>
- <DESCRIPTION_HEADER>The Software Catalog</DESCRIPTION_HEADER>
- <DESCRIPTION>Collection of RPMs available for installation using the unique Eazel Software Installer.</DESCRIPTION>
- <ENABLED>true</ENABLED>
- </SERVICE>
- <SERVICE>
- <NAME>eazel_softcat_service</NAME>
- <ICON>http://services.eazel.com/images/services/softcat-service-icon.png</ICON>
- <BUTTON_LABEL>To software catalog</BUTTON_LABEL>
- <URI>http://services.eazel.com:7001/catalog</URI>
- <DESCRIPTION_HEADER>The Software Catalog</DESCRIPTION_HEADER>
- <DESCRIPTION>Collection of RPMs available for installation using the unique Eazel Software Installer.</DESCRIPTION>
- <ENABLED>true</ENABLED>
- </SERVICE>
- <SERVICE>
- <NAME>eazel_softcat_service</NAME>
- <ICON>http://services.eazel.com/images/services/softcat-service-icon.png</ICON>
- <BUTTON_LABEL>To software catalog</BUTTON_LABEL>
- <URI>http://services.eazel.com:7001/catalog</URI>
- <DESCRIPTION_HEADER>The Software Catalog</DESCRIPTION_HEADER>
- <DESCRIPTION>Collection of RPMs available for installation using the unique Eazel Software Installer.</DESCRIPTION>
- <ENABLED>true</ENABLED>
- </SERVICE>
- </SERVICES>
- <EAZEL_NEWS>
- <ITEM>
- <NAME>In the news</NAME>
- <ICON>services-warning.png</ICON>
- <DATE>10/18/00</DATE>
- <MESSAGE>There is no news.</MESSAGE>
- </ITEM>
- </EAZEL_NEWS>
- <UPDATE_NEWS>
- <UPDATE>
- <NAME>Nescape Communicator</NAME>
- <PRIORITY>Useless</PRIORITY>
- <VERSION>4.77</VERSION>
- <DESCRIPTION>Netscape's web browser is god's gift to the world. It will freeze your machine and suck hours of time away from important things. It sort of works but most of the time it won't. Get your copy now!</DESCRIPTION>
- <ICON>netscape.png</ICON>
- <URI>eazel-install:netscape</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>Ed</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>0.2-13</VERSION>
- <DESCRIPTION>Ed is a line oriented tesxt editor, used to create, display, and modify text files (both interactively and via shell scripts). For most purposes, ed has been replaced in normal usage by full-screen editors (emacs and vi, for example). Ed was the original UNIX editor, and may be used by some programs </DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>DeRIAA</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>1.0b</VERSION>
- <DESCRIPTION>The latest must-have utility eliminates the RIAA from existence with only minimal configuration required.</DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>Ed</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>0.2-13</VERSION>
- <DESCRIPTION>Ed is a line oriented tesxt editor, used to create, display, and modify text files (both interactively and via shell scripts). For most purposes, ed has been replaced in normal usage by full-screen editors (emacs and vi, for example). Ed was the original UNIX editor, and may be used by some programs </DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>Ed</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>0.2-13</VERSION>
- <DESCRIPTION>Ed is a line oriented tesxt editor, used to create, display, and modify text files (both interactively and via shell scripts). For most purposes, ed has been replaced in normal usage by full-screen editors (emacs and vi, for example). Ed was the original UNIX editor, and may be used by some programs </DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>Ed</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>0.2-13</VERSION>
- <DESCRIPTION>Ed is a line oriented tesxt editor, used to create, display, and modify text files (both interactively and via shell scripts). For most purposes, ed has been replaced in normal usage by full-screen editors (emacs and vi, for example). Ed was the original UNIX editor, and may be used by some programs </DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>Ed</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>0.2-13</VERSION>
- <DESCRIPTION>Ed is a line oriented tesxt editor, used to create, display, and modify text files (both interactively and via shell scripts). For most purposes, ed has been replaced in normal usage by full-screen editors (emacs and vi, for example). Ed was the original UNIX editor, and may be used by some programs </DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>Ed</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>0.2-13</VERSION>
- <DESCRIPTION>Ed is a line oriented tesxt editor, used to create, display, and modify text files (both interactively and via shell scripts). For most purposes, ed has been replaced in normal usage by full-screen editors (emacs and vi, for example). Ed was the original UNIX editor, and may be used by some programs </DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>Ed</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>0.2-13</VERSION>
- <DESCRIPTION>Ed is a line oriented tesxt editor, used to create, display, and modify text files (both interactively and via shell scripts). For most purposes, ed has been replaced in normal usage by full-screen editors (emacs and vi, for example). Ed was the original UNIX editor, and may be used by some programs </DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>Ed</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>0.2-13</VERSION>
- <DESCRIPTION>Ed is a line oriented tesxt editor, used to create, display, and modify text files (both interactively and via shell scripts). For most purposes, ed has been replaced in normal usage by full-screen editors (emacs and vi, for example). Ed was the original UNIX editor, and may be used by some programs </DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>Ed</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>0.2-13</VERSION>
- <DESCRIPTION>Ed is a line oriented tesxt editor, used to create, display, and modify text files (both interactively and via shell scripts). For most purposes, ed has been replaced in normal usage by full-screen editors (emacs and vi, for example). Ed was the original UNIX editor, and may be used by some programs </DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>Ed</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>0.2-13</VERSION>
- <DESCRIPTION>Ed is a line oriented tesxt editor, used to create, display, and modify text files (both interactively and via shell scripts). For most purposes, ed has been replaced in normal usage by full-screen editors (emacs and vi, for example). Ed was the original UNIX editor, and may be used by some programs </DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>Ed</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>0.2-13</VERSION>
- <DESCRIPTION>Ed is a line oriented tesxt editor, used to create, display, and modify text files (both interactively and via shell scripts). For most purposes, ed has been replaced in normal usage by full-screen editors (emacs and vi, for example). Ed was the original UNIX editor, and may be used by some programs </DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>Ed</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>0.2-13</VERSION>
- <DESCRIPTION>Ed is a line oriented tesxt editor, used to create, display, and modify text files (both interactively and via shell scripts). For most purposes, ed has been replaced in normal usage by full-screen editors (emacs and vi, for example). Ed was the original UNIX editor, and may be used by some programs </DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>Ed</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>0.2-13</VERSION>
- <DESCRIPTION>Ed is a line oriented tesxt editor, used to create, display, and modify text files (both interactively and via shell scripts). For most purposes, ed has been replaced in normal usage by full-screen editors (emacs and vi, for example). Ed was the original UNIX editor, and may be used by some programs </DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>Ed</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>0.2-13</VERSION>
- <DESCRIPTION>Ed is a line oriented tesxt editor, used to create, display, and modify text files (both interactively and via shell scripts). For most purposes, ed has been replaced in normal usage by full-screen editors (emacs and vi, for example). Ed was the original UNIX editor, and may be used by some programs </DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- <UPDATE>
- <NAME>Ed</NAME>
- <PRIORITY>Severe</PRIORITY>
- <VERSION>0.2-13</VERSION>
- <DESCRIPTION>Ed is a line oriented tesxt editor, used to create, display, and modify text files (both interactively and via shell scripts). For most purposes, ed has been replaced in normal usage by full-screen editors (emacs and vi, for example). Ed was the original UNIX editor, and may be used by some programs </DESCRIPTION>
- <ICON>http://services.eazel.com/images/softcat/ed.png</ICON>
- <URI>eazel-install:DeRIAA</URI>
- <SOFTCAT_URI>eazel-services://anonymous/catalog/details?id=14&amp;name=Text+Editors&amp;package_id=1905</SOFTCAT_URI>
- <BUTTON_LABEL>More Info!</BUTTON_LABEL>
- </UPDATE>
- </UPDATE_NEWS>
-</SUMMARY_DATA>
-