summaryrefslogtreecommitdiff
path: root/components/services/summary
diff options
context:
space:
mode:
Diffstat (limited to 'components/services/summary')
-rw-r--r--components/services/summary/.cvsignore6
-rw-r--r--components/services/summary/Makefile.am77
-rw-r--r--components/services/summary/Nautilus_View_services-summary.oaf.in27
-rw-r--r--components/services/summary/eazel-summary-shared.c384
-rw-r--r--components/services/summary/eazel-summary-shared.h82
-rw-r--r--components/services/summary/icons/.cvsignore2
-rw-r--r--components/services/summary/icons/Makefile.am22
-rw-r--r--components/services/summary/icons/active-fill.pngbin416 -> 0 bytes
-rw-r--r--components/services/summary/icons/active-inactive-bridge.pngbin937 -> 0 bytes
-rw-r--r--components/services/summary/icons/active-left-bumper.pngbin438 -> 0 bytes
-rw-r--r--components/services/summary/icons/active-prelight-bridge.pngbin964 -> 0 bytes
-rw-r--r--components/services/summary/icons/active-right-bumper.pngbin918 -> 0 bytes
-rw-r--r--components/services/summary/icons/fill-background.pngbin368 -> 0 bytes
-rw-r--r--components/services/summary/icons/inactive-active-bridge.pngbin745 -> 0 bytes
-rw-r--r--components/services/summary/icons/inactive-fill.pngbin421 -> 0 bytes
-rw-r--r--components/services/summary/icons/inactive-left-bumper.pngbin424 -> 0 bytes
-rw-r--r--components/services/summary/icons/inactive-right-bumper.pngbin886 -> 0 bytes
-rw-r--r--components/services/summary/icons/prelight-active-bridge.pngbin742 -> 0 bytes
-rw-r--r--components/services/summary/icons/prelight-fill.pngbin419 -> 0 bytes
-rw-r--r--components/services/summary/icons/prelight-left-bumper.pngbin414 -> 0 bytes
-rw-r--r--components/services/summary/icons/prelight-right-bumper.pngbin887 -> 0 bytes
-rw-r--r--components/services/summary/main.c130
-rw-r--r--components/services/summary/nautilus-summary-callbacks.c317
-rw-r--r--components/services/summary/nautilus-summary-callbacks.h43
-rw-r--r--components/services/summary/nautilus-summary-dialogs.c300
-rw-r--r--components/services/summary/nautilus-summary-dialogs.h36
-rw-r--r--components/services/summary/nautilus-summary-footer.c101
-rw-r--r--components/services/summary/nautilus-summary-footer.h31
-rw-r--r--components/services/summary/nautilus-summary-menu-items.c186
-rw-r--r--components/services/summary/nautilus-summary-menu-items.h36
-rw-r--r--components/services/summary/nautilus-summary-view-private.h124
-rw-r--r--components/services/summary/nautilus-summary-view-ui.xml26
-rw-r--r--components/services/summary/nautilus-summary-view.c1047
-rw-r--r--components/services/summary/nautilus-summary-view.h60
-rw-r--r--components/services/summary/nautilus-tabs.c926
-rw-r--r--components/services/summary/nautilus-tabs.h64
-rw-r--r--components/services/summary/redirects.xml56
-rw-r--r--components/services/summary/services.xml330
-rw-r--r--components/services/summary/tests.txt7
39 files changed, 0 insertions, 4420 deletions
diff --git a/components/services/summary/.cvsignore b/components/services/summary/.cvsignore
deleted file mode 100644
index bfcf5f908..000000000
--- a/components/services/summary/.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/Makefile.am b/components/services/summary/Makefile.am
deleted file mode 100644
index 8c81e3d33..000000000
--- a/components/services/summary/Makefile.am
+++ /dev/null
@@ -1,77 +0,0 @@
-include $(top_srcdir)/Makefile.shared
-
-if BUILD_RPM_COMPONENTS
-INVENTORY_LIBS=$(top_builddir)/components/services/inventory/libtrilobite-inventory-service.la
-else
-INVENTORY_LIBS=
-endif
-
-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) \
- $(EEL_INCLUDEDIR) \
- $(LIBRSVG_INCLUDEDIR) \
- $(GNOMEUI_CFLAGS) \
- $(GCONF_CFLAGS) \
- -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
- $(VFS_CFLAGS) \
- $(XML_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 \
- nautilus-tabs.c \
- nautilus-tabs.h \
- $(NULL)
-
-nautilus_summary_view_LDADD = \
- $(top_builddir)/components/services/trilobite/libtrilobite/libtrilobite.la \
- $(top_builddir)/components/services/nautilus-dependent-shared/libnautilusdepshared.a \
- $(INVENTORY_LIBS) \
- $(top_builddir)/libnautilus/libnautilus.la \
- $(EEL_LIBS) \
- $(LIBRSVG_LIBS) \
- $(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_services-summary.oaf.in b/components/services/summary/Nautilus_View_services-summary.oaf.in
deleted file mode 100644
index 48e03e604..000000000
--- a/components/services/summary/Nautilus_View_services-summary.oaf.in
+++ /dev/null
@@ -1,27 +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_attribute name="nautilus:view_as_label" type="string" _value="View as Summary"/>
- <oaf_attribute name="nautilus:viewer_label" type="string" _value="Summary Viewer"/>
-</oaf_server>
-
-</oaf_info>
diff --git a/components/services/summary/eazel-summary-shared.c b/components/services/summary/eazel-summary-shared.c
deleted file mode 100644
index c28d9f0cf..000000000
--- a/components/services/summary/eazel-summary-shared.c
+++ /dev/null
@@ -1,384 +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 <ctype.h>
-#include <eel/eel-vfs-extensions.h>
-#include <glib.h>
-#include <gnome-xml/parser.h>
-#include <gnome-xml/tree.h>
-#include <gnome.h>
-#include <libtrilobite/libtrilobite.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.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_service (xmlNodePtr node);
-static EazelNewsData * parse_eazel_news_item (xmlNodePtr node);
-static UpdateNewsData * parse_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_service (xmlNodePtr node)
-{
- ServicesData *return_value;
- char *tempbuf;
-
- return_value = services_data_new ();
-
- return_value->name = g_strdup (trilobite_xml_get_string (node, "NAME"));
-
- if (return_value->name == NULL) {
- g_free (return_value);
- return NULL;
- }
-
- 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 != NULL && (tempbuf[0] == 'T' || tempbuf[0] == 't')) {
- return_value->enabled = TRUE;
- } else if (tempbuf != NULL && (tempbuf[0] == 'F' || tempbuf[0] == 'f')) {
- return_value->enabled = FALSE;
- } else {
- return_value->enabled = FALSE;
- }
-
- return return_value;
-
-} /* end parse_service */
-
-static EazelNewsData *
-parse_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"));
-
- if (return_value->name == NULL) {
- g_free (return_value);
- return NULL;
- }
-
- 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_eazel_news_item */
-
-static UpdateNewsData *
-parse_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"));
-
- if (return_value->name == NULL) {
- g_free (return_value);
- return NULL;
- }
-
- 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_update_news_item */
-
-static GList *
-build_services_glist_from_xml (xmlNodePtr node)
-{
- GList *return_value;
- xmlNodePtr service;
- ServicesData *sdata;
-
- return_value = NULL;
- service = node->xmlChildrenNode;
- if (service == NULL) {
- return NULL;
- }
-
- while (service != NULL) {
- sdata = parse_service (service);
- if (sdata != NULL) {
- 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;
- EazelNewsData *ndata;
-
- return_value = NULL;
- news_item = node->xmlChildrenNode;
- if (news_item == NULL) {
- return NULL;
- }
-
- while (news_item) {
- ndata = parse_eazel_news_item (news_item);
- if (ndata != NULL) {
- 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;
- UpdateNewsData *ndata;
-
- return_value = NULL;
- news_item = node->xmlChildrenNode;
- if (news_item == NULL) {
- return NULL;
- }
-
- while (news_item) {
- ndata = parse_update_news_item (news_item);
- if (ndata != NULL) {
- 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 {
- EelReadFileHandle *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 = eel_read_entire_file_async (uri, summary_data_fetch_callback, handle);
-
- return handle;
-}
-
-
-void
-eazel_summary_fetch_data_cancel (EazelSummaryFetchHandle *handle)
-{
- eel_read_file_cancel (handle->handle);
- g_free (handle);
-}
-
diff --git a/components/services/summary/eazel-summary-shared.h b/components/services/summary/eazel-summary-shared.h
deleted file mode 100644
index 93ec67ce6..000000000
--- a/components/services/summary/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/icons/.cvsignore b/components/services/summary/icons/.cvsignore
deleted file mode 100644
index 282522db0..000000000
--- a/components/services/summary/icons/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/components/services/summary/icons/Makefile.am b/components/services/summary/icons/Makefile.am
deleted file mode 100644
index 7ab4d2c21..000000000
--- a/components/services/summary/icons/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/icons/active-fill.png b/components/services/summary/icons/active-fill.png
deleted file mode 100644
index ac9eb69e0..000000000
--- a/components/services/summary/icons/active-fill.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/icons/active-inactive-bridge.png b/components/services/summary/icons/active-inactive-bridge.png
deleted file mode 100644
index ff59ce82e..000000000
--- a/components/services/summary/icons/active-inactive-bridge.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/icons/active-left-bumper.png b/components/services/summary/icons/active-left-bumper.png
deleted file mode 100644
index 6415636e1..000000000
--- a/components/services/summary/icons/active-left-bumper.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/icons/active-prelight-bridge.png b/components/services/summary/icons/active-prelight-bridge.png
deleted file mode 100644
index bbc44617a..000000000
--- a/components/services/summary/icons/active-prelight-bridge.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/icons/active-right-bumper.png b/components/services/summary/icons/active-right-bumper.png
deleted file mode 100644
index 2d3243c0d..000000000
--- a/components/services/summary/icons/active-right-bumper.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/icons/fill-background.png b/components/services/summary/icons/fill-background.png
deleted file mode 100644
index b9efe3c36..000000000
--- a/components/services/summary/icons/fill-background.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/icons/inactive-active-bridge.png b/components/services/summary/icons/inactive-active-bridge.png
deleted file mode 100644
index daf841544..000000000
--- a/components/services/summary/icons/inactive-active-bridge.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/icons/inactive-fill.png b/components/services/summary/icons/inactive-fill.png
deleted file mode 100644
index 3922d04a4..000000000
--- a/components/services/summary/icons/inactive-fill.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/icons/inactive-left-bumper.png b/components/services/summary/icons/inactive-left-bumper.png
deleted file mode 100644
index 5a72fecec..000000000
--- a/components/services/summary/icons/inactive-left-bumper.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/icons/inactive-right-bumper.png b/components/services/summary/icons/inactive-right-bumper.png
deleted file mode 100644
index 561efe6ba..000000000
--- a/components/services/summary/icons/inactive-right-bumper.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/icons/prelight-active-bridge.png b/components/services/summary/icons/prelight-active-bridge.png
deleted file mode 100644
index f3d54954c..000000000
--- a/components/services/summary/icons/prelight-active-bridge.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/icons/prelight-fill.png b/components/services/summary/icons/prelight-fill.png
deleted file mode 100644
index 46a9412c8..000000000
--- a/components/services/summary/icons/prelight-fill.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/icons/prelight-left-bumper.png b/components/services/summary/icons/prelight-left-bumper.png
deleted file mode 100644
index 7f35cf75c..000000000
--- a/components/services/summary/icons/prelight-left-bumper.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/icons/prelight-right-bumper.png b/components/services/summary/icons/prelight-right-bumper.png
deleted file mode 100644
index e87c6bf4a..000000000
--- a/components/services/summary/icons/prelight-right-bumper.png
+++ /dev/null
Binary files differ
diff --git a/components/services/summary/main.c b/components/services/summary/main.c
deleted file mode 100644
index ab3aeafb2..000000000
--- a/components/services/summary/main.c
+++ /dev/null
@@ -1,130 +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 "nautilus-summary-view.h"
-#include <bonobo.h>
-#include <eel/eel-glib-extensions.h>
-#include <gconf/gconf.h>
-#include <gnome.h>
-#include <libgnomevfs/gnome-vfs-init.h>
-#include <liboaf/liboaf.h>
-#include <libtrilobite/libammonite.h>
-#include <libtrilobite/trilobite-core-messaging.h>
-#include <libtrilobite/trilobite-core-utils.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 ();
-
- eel_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-summary-callbacks.c b/components/services/summary/nautilus-summary-callbacks.c
deleted file mode 100644
index 18bbf048c..000000000
--- a/components/services/summary/nautilus-summary-callbacks.c
+++ /dev/null
@@ -1,317 +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-callbacks.h"
-
-#include "eazel-summary-shared.h"
-#include "nautilus-summary-dialogs.h"
-#include "nautilus-summary-menu-items.h"
-#include "nautilus-summary-view-private.h"
-#include <bonobo/bonobo-main.h>
-#include <eel/eel-caption-table.h>
-#include <libgnomeui/gnome-stock.h>
-#include <liboaf/liboaf.h>
-#include <libtrilobite/eazelproxy.h>
-#include <libtrilobite/libammonite.h>
-#include <libtrilobite/trilobite-redirect.h>
-#include <orb/orbit.h>
-#include <stdio.h>
-#include <unistd.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 = eel_caption_table_get_entry_text (EEL_CAPTION_TABLE (view->details->caption_table), 0);
- password = eel_caption_table_get_entry_text (EEL_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-summary-callbacks.h b/components/services/summary/nautilus-summary-callbacks.h
deleted file mode 100644
index e6abf6dff..000000000
--- a/components/services/summary/nautilus-summary-callbacks.h
+++ /dev/null
@@ -1,43 +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
-
-#include <gtk/gtkwidget.h>
-#include "nautilus-summary-view.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-summary-dialogs.c b/components/services/summary/nautilus-summary-dialogs.c
deleted file mode 100644
index be31b011d..000000000
--- a/components/services/summary/nautilus-summary-dialogs.c
+++ /dev/null
@@ -1,300 +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 <eel/eel-caption-table.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-background.h>
-#include <eel/eel-string.h>
-#include <eel/eel-gnome-extensions.h>
-#include <eel/eel-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)
-{
- eel_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 = eel_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 = eel_caption_table_new (LOGIN_DIALOG_ROW_COUNT);
- gtk_widget_show (view->details->caption_table);
-
- eel_caption_table_set_row_info (EEL_CAPTION_TABLE (view->details->caption_table),
- LOGIN_DIALOG_NAME_ROW,
- _("Username:"),
- "",
- TRUE,
- FALSE);
-
- eel_caption_table_set_row_info (EEL_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);
- eel_image_set_background_mode (EEL_IMAGE (image), EEL_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);
- eel_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_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,
- eel_gnome_dialog_get_button_by_index (dialog, LOGIN_DIALOG_OK_BUTTON_INDEX));
- eel_caption_table_entry_grab_focus (EEL_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_eel_background_color (GtkWidget *widget, const char *color)
-{
- EelBackground *background;
-
- g_return_if_fail (GTK_IS_WIDGET (widget));
- g_return_if_fail (color != NULL);
-
- background = eel_get_widget_background (widget);
-
- eel_background_reset (background);
- eel_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 (EEL_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) {
- eel_gtk_button_auto_click (GTK_BUTTON (user_data));
- }
-}
-
diff --git a/components/services/summary/nautilus-summary-dialogs.h b/components/services/summary/nautilus-summary-dialogs.h
deleted file mode 100644
index 7987c289d..000000000
--- a/components/services/summary/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_eel_background_color (GtkWidget *widget,
- const char *color);
-
-#endif /* NAUTILUS_SUMMARY_DIALOGS_H */
-
diff --git a/components/services/summary/nautilus-summary-footer.c b/components/services/summary/nautilus-summary-footer.c
deleted file mode 100644
index f64acf21d..000000000
--- a/components/services/summary/nautilus-summary-footer.c
+++ /dev/null
@@ -1,101 +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-services-footer.h"
-
-#include "eazel-services-extensions.h"
-#include "eazel-services-footer.h"
-#include "eazel-services-header.h"
-#include "eazel-summary-shared.h"
-#include "nautilus-summary-callbacks.h"
-#include "nautilus-summary-dialogs.h"
-#include "nautilus-summary-footer.h"
-#include "nautilus-summary-view-private.h"
-#include "nautilus-summary-view.h"
-#include <bonobo/bonobo-control.h>
-#include <bonobo/bonobo-main.h>
-#include <eel/eel-background.h>
-#include <eel/eel-caption-table.h>
-#include <eel/eel-gdk-extensions.h>
-#include <eel/eel-glib-extensions.h>
-#include <eel/eel-gnome-extensions.h>
-#include <eel/eel-gtk-extensions.h>
-#include <eel/eel-gtk-macros.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-string.h>
-#include <libgnomeui/gnome-stock.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
-#include <liboaf/liboaf.h>
-#include <libtrilobite/eazelproxy.h>
-#include <libtrilobite/libammonite.h>
-#include <libtrilobite/trilobite-redirect.h>
-#include <orb/orbit.h>
-#include <stdio.h>
-#include <unistd.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-summary-footer.h b/components/services/summary/nautilus-summary-footer.h
deleted file mode 100644
index 6980c14bb..000000000
--- a/components/services/summary/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-summary-menu-items.c b/components/services/summary/nautilus-summary-menu-items.c
deleted file mode 100644
index 1be544926..000000000
--- a/components/services/summary/nautilus-summary-menu-items.c
+++ /dev/null
@@ -1,186 +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-menu-items.h"
-
-#include "eazel-services-extensions.h"
-#include "eazel-services-footer.h"
-#include "eazel-services-header.h"
-#include "eazel-summary-shared.h"
-#include "nautilus-summary-callbacks.h"
-#include "nautilus-summary-dialogs.h"
-#include "nautilus-summary-view-private.h"
-#include <bonobo/bonobo-main.h>
-#include <eel/eel-background.h>
-#include <eel/eel-caption-table.h>
-#include <eel/eel-gdk-extensions.h>
-#include <eel/eel-glib-extensions.h>
-#include <eel/eel-gnome-extensions.h>
-#include <eel/eel-gtk-extensions.h>
-#include <eel/eel-gtk-macros.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-string.h>
-#include <gnome-xml/tree.h>
-#include <libgnomeui/gnome-stock.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
-#include <liboaf/liboaf.h>
-#include <libtrilobite/eazelproxy.h>
-#include <libtrilobite/libammonite.h>
-#include <libtrilobite/trilobite-redirect.h>
-#include <orb/orbit.h>
-#include <stdio.h>
-#include <unistd.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);
-
-/* A tiny bit of code cut-n-pasted from nautilus-bonobo-extensions.h */
-static void
-ui_component_set_hidden (BonoboUIComponent *ui,
- const char *path,
- gboolean hidden)
-{
- g_return_if_fail (BONOBO_IS_UI_COMPONENT (ui));
- bonobo_ui_component_set_prop (ui, path,
- "hidden",
- hidden ? "1" : "0",
- NULL);
-}
-
-/* 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));
-
- ui_component_set_hidden (ui,
- "/commands/Register",
- logged_in);
-
- ui_component_set_hidden (ui,
- "/commands/Login",
- logged_in);
-
- ui_component_set_hidden (ui,
- "/commands/Preferences",
- !logged_in);
-
- ui_component_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-summary-menu-items.h b/components/services/summary/nautilus-summary-menu-items.h
deleted file mode 100644
index 5bb627044..000000000
--- a/components/services/summary/nautilus-summary-menu-items.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_MENU_ITEMS_H
-#define NAUTILUS_SUMMARY_MENU_ITEMS_H
-
-#include <bonobo/bonobo-control.h>
-#include "nautilus-summary-view.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-summary-view-private.h b/components/services/summary/nautilus-summary-view-private.h
deleted file mode 100644
index f1ca7dfa4..000000000
--- a/components/services/summary/nautilus-summary-view-private.h
+++ /dev/null
@@ -1,124 +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 EEL_RGB_COLOR_WHITE
-#define DEFAULT_SUMMARY_TEXT_COLOR_RGB EEL_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 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-summary-view-ui.xml b/components/services/summary/nautilus-summary-view-ui.xml
deleted file mode 100644
index 6c9e0f5b9..000000000
--- a/components/services/summary/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-summary-view.c b/components/services/summary/nautilus-summary-view.c
deleted file mode 100644
index 4c5314875..000000000
--- a/components/services/summary/nautilus-summary-view.c
+++ /dev/null
@@ -1,1047 +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-services-extensions.h"
-#include "eazel-services-footer.h"
-#include "eazel-services-header.h"
-#include "eazel-summary-shared.h"
-#include "nautilus-summary-callbacks.h"
-#include "nautilus-summary-dialogs.h"
-#include "nautilus-summary-footer.h"
-#include "nautilus-summary-menu-items.h"
-#include "nautilus-summary-view-private.h"
-#include "nautilus-tabs.h"
-#include <bonobo/bonobo-control.h>
-#include <eel/eel-background.h>
-#include <eel/eel-clickable-image.h>
-#include <eel/eel-gdk-extensions.h>
-#include <eel/eel-glib-extensions.h>
-#include <eel/eel-gnome-extensions.h>
-#include <eel/eel-gtk-extensions.h>
-#include <eel/eel-gtk-macros.h>
-#include <eel/eel-label.h>
-#include <eel/eel-stock-dialogs.h>
-#include <eel/eel-string.h>
-#include <eel/eel-viewport.h>
-#include <gnome.h>
-#include <gtk/gtkalignment.h>
-#include <libgnomeui/gnome-stock.h>
-#include <liboaf/liboaf.h>
-#include <libtrilobite/eazelproxy.h>
-#include <libtrilobite/libammonite.h>
-#include <libtrilobite/trilobite-redirect.h>
-#include <stdio.h>
-#include <unistd.h>
-#ifdef HAVE_RPM
-#include "../inventory/eazel-inventory.h"
-#endif
-
-#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 NAUTILUS_COMMAND_SPECIFIER "command:"
-
-#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);
-
-
-EEL_DEFINE_CLASS_BOILERPLATE (NautilusSummaryView, nautilus_summary_view, GTK_TYPE_EVENT_BOX)
-
-
-static const char goto_button_label[] = N_("Go There");
-#define GOTO_BUTTON_LABEL _(goto_button_label)
-
-static const char softcat_goto_button_label[] = N_("More Info");
-#define SOFTCAT_GOTO_BUTTON_LABEL _(softcat_goto_button_label)
-
-static const char install_goto_button_label[] = N_("Install");
-#define INSTALL_GOTO_BUTTON_LABEL _(install_goto_button_label)
-
-
-
-
-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 char **
-localize_items (const char **items,
- int nitems)
-{
- int i;
- char **retval;
-
- retval = g_new0 (char *, nitems);
-
- for (i = 0; i < nitems; i++) {
- retval[i] = gettext (items[i]);
- }
-
- return retval;
-}
-
-
-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 (_("Eazel Services - 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),
- _("Eazel Services - 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)
-{
- char **localized_items;
- int size;
-
- if (view->details->logged_in) {
- size = EEL_N_ELEMENTS (footer_online_items);
- localized_items = localize_items (footer_online_items, size);
- } else {
- size = EEL_N_ELEMENTS (footer_offline_items);
- localized_items = localize_items (footer_offline_items, size);
- }
-
- eazel_services_footer_update (EAZEL_SERVICES_FOOTER (view->details->footer),
- (const char **) localized_items,
- size);
- g_free (localized_items);
-}
-
-static void
-create_footer (NautilusSummaryView *view)
-{
- view->details->footer = eazel_services_footer_new ();
-
- gtk_signal_connect (GTK_OBJECT (view->details->footer), "item_clicked",
- GTK_SIGNAL_FUNC (footer_item_clicked_callback), view);
-
- update_footer (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)
-{
- const char *command;
-
- if (eel_istr_has_prefix (cbdata->uri, NAUTILUS_COMMAND_SPECIFIER)) {
- command = cbdata->uri + strlen (NAUTILUS_COMMAND_SPECIFIER);
- eel_gnome_shell_execute (command);
- } else {
- 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);
- eel_clickable_image_set_prelight (EEL_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);
- eel_label_set_wrap (EEL_LABEL (label), TRUE);
- eel_label_set_justify (EEL_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
- eel_label_set_adjust_wrap_on_resize (EEL_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, 4);
-
-}
-
-
-
-
-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, 0);
- gtk_widget_show (icon_box);
- gtk_box_pack_start (GTK_BOX (news_row), icon_box, FALSE, FALSE, 7);
-
- 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, FALSE, FALSE, 2);
-
- /* 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;
- gboolean added_one;
-
- /* clear existing news. */
- gtk_container_foreach (GTK_CONTAINER (vbox),
- (GtkCallback) gtk_widget_destroy, NULL);
-
- /* build the eazel news table from the xml file */
- added_one = FALSE;
-
- for (node = data; node != NULL; node = node->next) {
- item = (*item_create) (view, node->data);
-
- if (item != NULL) {
- gtk_widget_show (item);
-
- if (added_one) {
- append_hseparator_to_vbox (vbox);
- }
-
- gtk_box_pack_start (GTK_BOX (vbox),
- GTK_WIDGET (item),
- FALSE, FALSE, added_one ? 0 : 7);
-
- added_one = TRUE;
- }
- }
-}
-
-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 = eel_viewport_new (NULL, NULL);
- eel_viewport_set_constrain_width (EEL_VIEWPORT (viewport), TRUE);
- widget_set_eel_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 gboolean
-program_uri_for_nonexistent_program (const char *uri)
-{
- return eel_istr_has_prefix (uri, NAUTILUS_COMMAND_SPECIFIER) &&
- !gnome_is_program_in_path (uri + strlen (NAUTILUS_COMMAND_SPECIFIER));
-}
-
-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;
-
- if (program_uri_for_nonexistent_program (services_node->uri)) {
- return NULL;
- }
-
- 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, 7);
-
- 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, 3);
-
- /* 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, 7);
-
- 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, 0);
-
-
- /* 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);
-#if 0
- gtk_widget_show (notebook_tabs);
-#endif
- gtk_box_pack_start (GTK_BOX (view->details->form), notebook_tabs, FALSE, FALSE, 0);
-
- /* Create the Featured Downloads pane */
- create_featured_downloads_pane (view);
-#if 0
- gtk_widget_show (view->details->featured_downloads_pane);
-#endif
- 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);
-
- EEL_CALL_PARENT (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 fetch_summary_data (NautilusSummaryView *view) {
- char *uri;
-
- /* 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);
-}
-
-#ifdef HAVE_RPM
-static void
-inventory_load_callback (EazelInventory *inventory,
- gboolean succeeded,
- gpointer callback_data)
-{
- NautilusSummaryView *view;
-
- view = NAUTILUS_SUMMARY_VIEW (callback_data);
-
- gtk_object_unref (GTK_OBJECT (inventory));
-
- fetch_summary_data (view);
-}
-#endif
-
-static void
-redirect_fetch_callback (GnomeVFSResult result,
- gboolean parsed_xml,
- gpointer callback_data)
-{
- NautilusSummaryView *view;
-#ifdef HAVE_RPM
- EazelInventory *inventory_service;
-#endif
-
- 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;
- }
-
-
-#ifdef HAVE_RPM
- if (view->details->logged_in) {
- inventory_service = eazel_inventory_get ();
-
- if (inventory_service) {
- eazel_inventory_upload (inventory_service,
- inventory_load_callback,
- view);
-
- } else {
- nautilus_summary_show_error_dialog
- (view, _("Failed to upload system inventory."));
- fetch_summary_data (view);
- }
- } else {
- fetch_summary_data (view);
- }
-#else
- fetch_summary_data (view);
-#endif
-}
-
-
-
-
-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-summary-view.h b/components/services/summary/nautilus-summary-view.h
deleted file mode 100644
index 094b92d4d..000000000
--- a/components/services/summary/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-tabs.c b/components/services/summary/nautilus-tabs.c
deleted file mode 100644
index 71e142291..000000000
--- a/components/services/summary/nautilus-tabs.c
+++ /dev/null
@@ -1,926 +0,0 @@
-/* -*- mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/* Nautilus
- * 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: Andy Hertzfeld <andy@eazel.com>
- *
- * This is the the implementation of a bit-map based tabs widget for the
- * services summary view, but it's general enough to be used elsewhere.
- *
- */
-
-#include <config.h>
-#include "nautilus-tabs.h"
-
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <libgnome/gnome-defs.h>
-#include <libgnome/gnome-util.h>
-#include <eel/eel-gdk-extensions.h>
-#include <eel/eel-gdk-pixbuf-extensions.h>
-#include <eel/eel-glib-extensions.h>
-#include <eel/eel-gnome-extensions.h>
-#include <eel/eel-gtk-extensions.h>
-#include <eel/eel-gtk-macros.h>
-#include <eel/eel-scalable-font.h>
-#include <math.h>
-#include <stdio.h>
-#include <string.h>
-
-/* constants for the tab piece pixbuf array */
-
-#define TAB_BACKGROUND 0
-#define TAB_ACTIVE_LEFT 1
-#define TAB_ACTIVE_FILL 2
-#define TAB_ACTIVE_RIGHT 3
-
-#define TAB_INACTIVE_LEFT 4
-#define TAB_INACTIVE_FILL 5
-#define TAB_INACTIVE_RIGHT 6
-
-#define TAB_PRELIGHT_LEFT 7
-#define TAB_PRELIGHT_FILL 8
-#define TAB_PRELIGHT_RIGHT 9
-
-#define TAB_INACTIVE_ACTIVE 10
-#define TAB_ACTIVE_INACTIVE 11
-#define TAB_PRELIGHT_ACTIVE 12
-#define TAB_ACTIVE_PRELIGHT 13
-
-#define LAST_TAB_OFFSET 14
-
-/* data structures */
-
-typedef struct {
- gboolean prelit;
- gboolean selected;
- char *tab_text;
- int notebook_page;
- GdkRectangle tab_rect;
-} TabItem;
-
-struct NautilusTabsDetails {
- int tab_count;
- int total_height;
-
- GdkRectangle title_rect;
- EelScalableFont *tab_font;
- int font_size;
- int selected_tab;
-
- GdkPixbuf *tab_piece_images[LAST_TAB_OFFSET];
- int tab_height;
- int tab_left_offset;
-
- GList *tab_items;
-};
-
-/* constants */
-#define TAB_RIGHT_MARGIN 4
-
-/* signals */
-enum {
- TAB_SELECTED,
- LAST_SIGNAL
-};
-static guint signals[LAST_SIGNAL];
-
-/* headers */
-
-static void nautilus_tabs_initialize_class (NautilusTabsClass *klass);
-static void nautilus_tabs_initialize (NautilusTabs *pixmap);
-static void nautilus_tabs_draw (GtkWidget *widget,
- GdkRectangle *box);
-static int nautilus_tabs_expose (GtkWidget *widget,
- GdkEventExpose *event);
-static void nautilus_tabs_destroy (GtkObject *object);
-static void nautilus_tabs_size_request (GtkWidget *widget,
- GtkRequisition *requisition);
-static int nautilus_tabs_hit_test (NautilusTabs *tabs,
- int x,
- int y);
-static void nautilus_tabs_load_tab_pieces (NautilusTabs *tabs,
- const char *tab_piece_directory);
-static gboolean nautilus_tabs_motion_event (GtkWidget *tabs,
- GdkEventMotion *event);
-static gboolean nautilus_tabs_press_event (GtkWidget *widget,
- GdkEventButton *event);
-static gboolean nautilus_tabs_leave_event (GtkWidget *tabs_widget,
- GdkEventCrossing *event);
-static void nautilus_tabs_prelight_tab (NautilusTabs *tabs,
- int which_tab);
-static void nautilus_tabs_select_tab (NautilusTabs *tabs,
- int which_tab);
-static void nautilus_tabs_unload_tab_pieces (NautilusTabs *tabs);
-static void draw_all_tabs (NautilusTabs *tabs);
-static TabItem* tab_item_find_by_name (NautilusTabs *tabs,
- const char *name);
-
-EEL_DEFINE_CLASS_BOILERPLATE (NautilusTabs, nautilus_tabs, GTK_TYPE_DRAWING_AREA)
-
-static void
-nautilus_tabs_initialize_class (NautilusTabsClass *class)
-{
- GtkObjectClass *object_class;
- GtkWidgetClass *widget_class;
-
- object_class = (GtkObjectClass *) class;
- widget_class = (GtkWidgetClass *) class;
-
- object_class->destroy = nautilus_tabs_destroy;
- widget_class->draw = nautilus_tabs_draw;
- widget_class->expose_event = nautilus_tabs_expose;
- widget_class->size_request = nautilus_tabs_size_request;
- widget_class->button_press_event = nautilus_tabs_press_event;
- widget_class->leave_notify_event = nautilus_tabs_leave_event;
- widget_class->motion_notify_event = nautilus_tabs_motion_event;
-
- /* add the "tab selected" signal */
- signals[TAB_SELECTED] = gtk_signal_new
- ("tab_selected",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusTabsClass,
- tab_selected),
- gtk_marshal_NONE__INT,
- GTK_TYPE_NONE, 1, GTK_TYPE_INT);
-
- gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL);
-}
-
-
-/* initialize a newly allocated tabs object */
-static void
-nautilus_tabs_initialize (NautilusTabs *tabs)
-{
- GtkWidget *widget = GTK_WIDGET (tabs);
- char *gray_tab_directory_path;
-
- GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);
- GTK_WIDGET_UNSET_FLAGS (widget, GTK_NO_WINDOW);
-
- gtk_widget_set_events (widget,
- gtk_widget_get_events (widget) | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK);
-
-
- tabs->details = g_new0 (NautilusTabsDetails, 1);
- tabs->details->selected_tab = -1;
-
- /* FIXME bugzilla.eazel.com 5456:
- * Hard coded font size.
- */
- tabs->details->tab_font = eel_scalable_font_get_default_bold_font ();
- tabs->details->font_size = 14;
-
- gray_tab_directory_path = g_strdup (DATADIR "/pixmaps/nautilus/gray_tab_pieces");
- nautilus_tabs_load_tab_pieces (tabs, gray_tab_directory_path);
- g_free (gray_tab_directory_path);
-
- gtk_widget_add_events (widget, GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK);
-}
-
-GtkWidget *
-nautilus_tabs_new (void)
-{
- return gtk_widget_new (nautilus_tabs_get_type (), NULL);
-}
-
-/* utility to destroy all the storage used by a tab item */
-
-static void
-tab_item_destroy (TabItem *item)
-{
- g_free (item->tab_text);
- g_free (item);
-}
-
-static void
-tab_item_destroy_cover (gpointer item, gpointer callback_data)
-{
- g_assert (callback_data == NULL);
- tab_item_destroy (item);
-}
-
-static void
-nautilus_tabs_destroy (GtkObject *object)
-{
- NautilusTabs *tabs = NAUTILUS_TABS(object);
-
- /* deallocate the tab piece images, if any */
- if (tabs->details->tab_piece_images[0] != NULL) {
- nautilus_tabs_unload_tab_pieces (tabs);
- }
-
- if (tabs->details->tab_font != NULL) {
- gtk_object_unref (GTK_OBJECT (tabs->details->tab_font));
- }
-
- /* release the tab list, if any */
- eel_g_list_free_deep_custom (tabs->details->tab_items,
- tab_item_destroy_cover,
- NULL);
- g_free (tabs->details);
-
- EEL_CALL_PARENT (GTK_OBJECT_CLASS, destroy, (object));
-}
-
-/* unload the tab piece images, if any */
-static void
-nautilus_tabs_unload_tab_pieces (NautilusTabs *tabs)
-{
- int index;
- for (index = 0; index < LAST_TAB_OFFSET; index++) {
- if (tabs->details->tab_piece_images[index]) {
- gdk_pixbuf_unref (tabs->details->tab_piece_images[index]);
- tabs->details->tab_piece_images[index] = NULL;
- }
- }
-}
-
-/* load the tab piece images */
-
-static GdkPixbuf *
-load_tab_piece (const char *piece_directory, const char *piece_name)
-{
- GdkPixbuf *pixbuf;
- gchar *image_path;
- image_path = g_strdup_printf ("%s/%s.png", piece_directory, piece_name);
- pixbuf = gdk_pixbuf_new_from_file (image_path);
- if (pixbuf == NULL) {
- g_warning ("cant load tab piece: %s", image_path);
- }
-
- g_free (image_path);
- return pixbuf;
-}
-
-static void
-nautilus_tabs_load_tab_pieces (NautilusTabs *tabs, const char* tab_piece_directory)
-{
- tabs->details->tab_piece_images[TAB_BACKGROUND] = load_tab_piece (tab_piece_directory, "fill-background");
-
- tabs->details->tab_piece_images[TAB_ACTIVE_LEFT] = load_tab_piece (tab_piece_directory, "active-left-bumper");
- tabs->details->tab_piece_images[TAB_ACTIVE_FILL] = load_tab_piece (tab_piece_directory, "active-fill");
- tabs->details->tab_piece_images[TAB_ACTIVE_RIGHT] = load_tab_piece (tab_piece_directory, "active-right-bumper");
-
- tabs->details->tab_piece_images[TAB_INACTIVE_LEFT] = load_tab_piece (tab_piece_directory, "inactive-left-bumper");
- tabs->details->tab_piece_images[TAB_INACTIVE_FILL] = load_tab_piece (tab_piece_directory, "inactive-fill");
- tabs->details->tab_piece_images[TAB_INACTIVE_RIGHT] = load_tab_piece (tab_piece_directory, "inactive-right-bumper");
-
- tabs->details->tab_piece_images[TAB_PRELIGHT_LEFT] = load_tab_piece (tab_piece_directory, "prelight-left-bumper");
- tabs->details->tab_piece_images[TAB_PRELIGHT_FILL] = load_tab_piece (tab_piece_directory, "prelight-fill");
- tabs->details->tab_piece_images[TAB_PRELIGHT_RIGHT] = load_tab_piece (tab_piece_directory, "prelight-right-bumper");
-
- tabs->details->tab_piece_images[TAB_INACTIVE_ACTIVE] = load_tab_piece (tab_piece_directory, "inactive-active-bridge");
- tabs->details->tab_piece_images[TAB_ACTIVE_INACTIVE] = load_tab_piece (tab_piece_directory, "active-inactive-bridge");
- tabs->details->tab_piece_images[TAB_PRELIGHT_ACTIVE] = load_tab_piece (tab_piece_directory, "prelight-active-bridge");
- tabs->details->tab_piece_images[TAB_ACTIVE_PRELIGHT] = load_tab_piece (tab_piece_directory, "active-prelight-bridge");
-}
-
-/* determine the tab associated with the passed-in coordinates, and pass back the notebook
- page index associated with it. */
-
-static int
-nautilus_tabs_hit_test (NautilusTabs *tabs, int x, int y)
-{
- GList *current_item;
- TabItem *tab_item;
- GdkRectangle *rect_ptr;
- int result;
-
- tabs->details->total_height = tabs->details->tab_height;
- current_item = tabs->details->tab_items;
-
- if (current_item == NULL)
- return -1;
-
- /* loop through the items, seeing if the passed in point is in one of the rectangles */
- tab_item = (TabItem*) current_item->data;
- if (current_item->next) {
- tab_item = (TabItem*) current_item->next->data;
- }
-
- result = -1;
- while (current_item != NULL) {
- tab_item = (TabItem*) current_item->data;
- rect_ptr = &tab_item->tab_rect;
-
- if ((x >= rect_ptr->x) && (x < rect_ptr->x + rect_ptr->width) &&
- (y >= rect_ptr->y) && (y< rect_ptr->y + rect_ptr->height))
- result = tab_item->notebook_page;
-
- current_item = current_item->next;
- }
- return result;
-}
-
-/* utility routine to the height of the tabs */
-/* this assumes there's only one row of them */
-static int
-measure_height (NautilusTabs *tabs)
-{
- return gdk_pixbuf_get_height (tabs->details->tab_piece_images[TAB_ACTIVE_FILL]);
-}
-
-/* resize the widget based on the number of tabs */
-
-static void
-recalculate_size(NautilusTabs *tabs)
-{
- GtkWidget *widget = GTK_WIDGET (tabs);
-
- /* layout tabs to make sure height measurement is valid */
- tabs->details->total_height = measure_height (tabs);
-
- widget->requisition.width = widget->parent ? widget->parent->allocation.width: 136;
- widget->requisition.height = tabs->details->total_height;
- gtk_widget_queue_resize (widget);
-}
-
-/* handle setting the size */
-static void
-nautilus_tabs_size_request (GtkWidget *widget, GtkRequisition *requisition)
-{
- requisition->width = widget->parent->allocation.width;
- requisition->height = measure_height (NAUTILUS_TABS (widget));;
-}
-
-/* utility to draw a single tab piece into a pixbuf */
-static int
-draw_tab_piece_aa (NautilusTabs *tabs, GdkPixbuf *dest_pixbuf, int x, int y, int x_limit, int which_piece)
-{
- GtkWidget *widget;
- GdkPixbuf *pixbuf;
- int width, height;
- int dest_width, dest_height;
- int blit_width, blit_height;
-
- widget = GTK_WIDGET (tabs);
- pixbuf = tabs->details->tab_piece_images[which_piece];
-
- /* if there's no pixbuf, just exit, returning a nominal size */
- if (pixbuf == NULL) {
- return 32;
- }
-
- width = gdk_pixbuf_get_width (pixbuf);
- height = gdk_pixbuf_get_height (pixbuf);
- dest_width = gdk_pixbuf_get_width (dest_pixbuf);
- dest_height = gdk_pixbuf_get_height (dest_pixbuf);
-
- /* trim tab piece to fit within the destination and the passed in limits */
-
- if (x_limit > 0) {
- if (x_limit < dest_width) {
- dest_width = x_limit;
- }
- }
-
- if (x + width > dest_width) {
- blit_width = dest_width - x;
- } else {
- blit_width = width;
- }
-
-
- if (y + height > dest_height) {
- blit_height = dest_height - y;
- } else {
- blit_height = height;
- }
-
-
- if (x >= 0 && y >= 0 && width > 0 && height > 0) {
- gdk_pixbuf_copy_area (pixbuf,
- 0, 0,
- blit_width, blit_height,
- dest_pixbuf,
- x, y);
- }
- return width;
-}
-
-/* fill the canvas buffer with a tiled pixmap */
-
-static void
-draw_pixbuf_tiled_aa (GdkPixbuf *src_pixbuf, GdkPixbuf *dest_pixbuf, int offset)
-{
- int x, y;
- int start_x, start_y;
- int end_x, end_y;
- int tile_width, tile_height;
- int blit_width, blit_height;
-
- tile_width = gdk_pixbuf_get_width (src_pixbuf);
- tile_height = gdk_pixbuf_get_height (src_pixbuf);
-
- start_x = 0;
- start_y = offset;
- end_x = gdk_pixbuf_get_width (dest_pixbuf);
- end_y = gdk_pixbuf_get_height (dest_pixbuf);
-
- for (y = start_y; y < end_y; y += tile_height) {
- for (x = start_x; x < end_x; x += tile_width) {
-
- if (x + tile_width < end_x) {
- blit_width = tile_width;
- } else {
- blit_width = end_x - x;
- }
-
- if (y + tile_height < end_y) {
- blit_height = tile_height;
- } else {
- blit_height = end_y - y;
- }
-
- gdk_pixbuf_copy_area (src_pixbuf,
- 0, 0,
- blit_width, blit_height,
- dest_pixbuf,
- x, y);
- }
- }
-}
-
-/* allocate_cleared_pixbuf allocates a new pixbuf with the passed-in dimensions and
- clears it to be transparent */
-static GdkPixbuf*
-allocate_cleared_pixbuf (int width, int height)
-{
- guchar *pixels_ptr;
- GdkPixbuf *pixbuf;
- int y_index, row_stride;
-
- pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, width, height);
-
- /* clear it */
- row_stride = gdk_pixbuf_get_rowstride (pixbuf);
- pixels_ptr = gdk_pixbuf_get_pixels (pixbuf);
-
- for (y_index = 0; y_index < height; y_index++) {
- memset (pixels_ptr, 0, row_stride);
- pixels_ptr += row_stride;
- }
-
- return pixbuf;
-}
-
-static int
-measure_tab_name (NautilusTabs *tabs, const char *tab_name)
-{
- return eel_scalable_font_text_width (tabs->details->tab_font,
- tabs->details->font_size,
- tab_name,
- strlen (tab_name));
-}
-
-/* utility to draw the tab label */
-static void
-draw_tab_label (NautilusTabs *tabs, GdkPixbuf *tab_pixbuf, int x_pos, const char* label, gboolean is_active, gboolean is_prelit)
-{
- int text_x, text_y;
- uint text_color;
-
- text_x = x_pos + 1;
- text_y = 5; /* calculate this to center font in label? */
-
- /* make sure we can draw at least some of it */
- if (text_x < gdk_pixbuf_get_width (tab_pixbuf)) {
- eel_scalable_font_draw_text (tabs->details->tab_font, tab_pixbuf,
- text_x, text_y,
- NULL,
- tabs->details->font_size,
- label, strlen (label),
- EEL_RGB_COLOR_BLACK, EEL_OPACITY_FULLY_OPAQUE);
- text_x -= 1;
- text_y -= 1;
-
- if (is_active) {
- text_color = EEL_RGB_COLOR_WHITE;
- } else {
- if (is_prelit) {
- text_color = EEL_RGBA_COLOR_PACK (241, 241, 241, 255);
- } else {
- text_color = EEL_RGBA_COLOR_PACK (223, 223, 223, 255);
- }
- }
-
- eel_scalable_font_draw_text (tabs->details->tab_font, tab_pixbuf,
- text_x, text_y,
- NULL,
- tabs->details->font_size,
- label, strlen (label),
- text_color,
- EEL_OPACITY_FULLY_OPAQUE);
- }
-}
-
-/* draw or layout all of the tabs.
- *
- * NOTE: currently, this only supports two tabs since it was written quickly for the summary view,
- * which only requires two. We should rewrite this to support any number of tabs when we have time.
- */
-
-static void
-draw_all_tabs (NautilusTabs *tabs)
-{
- int x_pos;
- TabItem *left_tab, *right_tab;
- GdkPixbuf *tab_pixbuf;
- GtkWidget *widget;
- int name_width;
- int text_x_pos, right_edge_pos;
- int left_bumper_piece, fill_piece_1;
- int transition_type_piece, fill_piece_2, right_bumper_piece;
-
- g_assert (NAUTILUS_IS_TABS (tabs));
-
- /* check if there's work to do; if there aren't any tabs or the widget isn't allocated yet, return */
- widget = GTK_WIDGET (tabs);
- if (widget->allocation.width <= 0 || widget->allocation.height <= 0) {
- return;
- }
- if (tabs->details->tab_items == NULL) {
- return;
- }
-
- /* set up the pointers to the two tab items */
- left_tab = (TabItem *) tabs->details->tab_items->data;
- if (tabs->details->tab_items->next) {
- right_tab = (TabItem *) tabs->details->tab_items->next->data;
- } else {
- right_tab = NULL;
- }
-
- /* determine the images to use for the different tab pieces, given the selected and prelight state
- of the two tabs. This obviously needs to be rewritten to handle more than two tabs, and should probably use
- a table instead of the if statements */
-
- if (left_tab->selected) {
- if (left_tab->prelit) {
- left_bumper_piece = TAB_PRELIGHT_LEFT;
- fill_piece_1 = TAB_PRELIGHT_FILL;
-
- } else {
- left_bumper_piece = TAB_ACTIVE_LEFT;
- fill_piece_1 = TAB_ACTIVE_FILL;
- }
-
- transition_type_piece = TAB_ACTIVE_INACTIVE;
-
- if (right_tab) {
- if (right_tab->prelit) {
- transition_type_piece = TAB_ACTIVE_PRELIGHT;
- fill_piece_2 = TAB_PRELIGHT_FILL;
- right_bumper_piece = TAB_PRELIGHT_RIGHT;
- } else {
- fill_piece_2 = TAB_INACTIVE_FILL;
- right_bumper_piece = TAB_INACTIVE_RIGHT;
- }
-
- } else {
- transition_type_piece = TAB_ACTIVE_RIGHT;
- fill_piece_2 = TAB_INACTIVE_FILL;
- right_bumper_piece = TAB_INACTIVE_RIGHT;
- }
- } else {
-
- transition_type_piece = TAB_INACTIVE_ACTIVE;
-
- if (left_tab->prelit) {
- left_bumper_piece = TAB_PRELIGHT_LEFT;
- fill_piece_1 = TAB_PRELIGHT_FILL;
- transition_type_piece = TAB_PRELIGHT_ACTIVE;
- } else {
- left_bumper_piece = TAB_INACTIVE_LEFT;
- fill_piece_1 = TAB_INACTIVE_FILL;
- }
-
- if (right_tab) {
- fill_piece_2 = right_tab->prelit ? TAB_PRELIGHT_FILL : TAB_ACTIVE_FILL;
- right_bumper_piece = right_tab->prelit ? TAB_PRELIGHT_RIGHT : TAB_ACTIVE_RIGHT;
- } else {
- fill_piece_2 = TAB_ACTIVE_FILL;
- right_bumper_piece = TAB_ACTIVE_RIGHT;
- }
- }
-
- /* allocate a pixbuf to draw into, and clear it */
- tab_pixbuf = allocate_cleared_pixbuf (widget->allocation.width, widget->allocation.height);
- x_pos = 0;
-
- /* first, fill the area with the tab background */
- draw_pixbuf_tiled_aa (tabs->details->tab_piece_images[TAB_BACKGROUND], tab_pixbuf, 0);
-
- /* draw the first tab's left bumper */
- x_pos += draw_tab_piece_aa (tabs, tab_pixbuf, x_pos, 0, -1, left_bumper_piece);
-
- /* measure the text to determine the first tab's size */
- name_width = measure_tab_name (tabs, left_tab->tab_text) + TAB_RIGHT_MARGIN;
-
- /* set up the first tab's rectangle for later hit-testing */
- left_tab->tab_rect.x = x_pos;
- left_tab->tab_rect.y = 0;
- left_tab->tab_rect.width = name_width;
- left_tab->tab_rect.height = widget->allocation.height;
-
- /* draw the first tab's fill area in a loop */
- text_x_pos = x_pos;
- right_edge_pos = x_pos + name_width;
- while (x_pos < right_edge_pos) {
- x_pos += draw_tab_piece_aa (tabs, tab_pixbuf, x_pos, 0, right_edge_pos, fill_piece_1);
- }
- x_pos = right_edge_pos;
-
- /* draw the first tab's label */
- draw_tab_label (tabs, tab_pixbuf, text_x_pos, left_tab->tab_text, left_tab->selected, left_tab->prelit);
-
- /* draw the transition piece */
- x_pos += draw_tab_piece_aa (tabs, tab_pixbuf, x_pos, 0, -1, transition_type_piece);
- /* measure the text to determine the second tab's size */
- if (right_tab != NULL) {
- name_width = measure_tab_name (tabs, right_tab->tab_text) + TAB_RIGHT_MARGIN;
-
- /* adjust position for transition piece - this shouldn't be hardwired */
- x_pos -= 12;
-
- /* set up the second tab's rectangle for hit-testing */
- right_tab->tab_rect.x = x_pos;
- right_tab->tab_rect.y = 0;
- right_tab->tab_rect.width = name_width;
- right_tab->tab_rect.height = widget->allocation.height;
-
- /* draw the second tab's fill area */
- text_x_pos = x_pos;
- right_edge_pos = x_pos + name_width;
- while (x_pos < right_edge_pos) {
- x_pos += draw_tab_piece_aa (tabs, tab_pixbuf, x_pos, 0, right_edge_pos, fill_piece_2);
- }
- x_pos = right_edge_pos;
-
- /* draw the second tab's label */
- draw_tab_label (tabs, tab_pixbuf, text_x_pos, right_tab->tab_text, right_tab->selected, right_tab->prelit);
-
- /* draw the second tab's right bumper piece */
- draw_tab_piece_aa (tabs, tab_pixbuf, x_pos, 0, -1, right_bumper_piece);
- }
-
- /* draw the off-screen buffer to the screen, then release it */
- gdk_pixbuf_render_to_drawable_alpha (tab_pixbuf,
- widget->window,
- 0, 0,
- 0, 0,
- widget->allocation.width, widget->allocation.height,
- GDK_PIXBUF_ALPHA_BILEVEL, 128,
- GDK_RGB_DITHER_MAX,
- 0, 0);
-
- gdk_pixbuf_unref (tab_pixbuf);
-}
-
-/* find a tab with a given name, or return NULL if we can't find one */
-static TabItem *
-tab_item_find_by_name (NautilusTabs *tabs, const char *name)
-{
- GList *iterator;
-
- g_return_val_if_fail (NAUTILUS_IS_TABS (tabs), NULL);
- g_return_val_if_fail (name != NULL, NULL);
-
- for (iterator = tabs->details->tab_items; iterator != NULL; iterator = iterator->next) {
- TabItem *tab_item = iterator->data;
-
- g_assert (tab_item != NULL);
- g_assert (tab_item->tab_text != NULL);
-
- if (strcmp (tab_item->tab_text, name) == 0) {
- return tab_item;
- }
- }
-
- return NULL;
-}
-
-/* handle an expose event by drawing the tabs */
-
-static int
-nautilus_tabs_expose (GtkWidget *widget, GdkEventExpose *event)
-{
- NautilusTabs *tabs;
-
- g_return_val_if_fail (NAUTILUS_IS_TABS (widget), FALSE);
- g_return_val_if_fail (event != NULL, FALSE);
-
- if (widget->window == NULL) {
- return FALSE;
- }
-
- tabs = NAUTILUS_TABS (widget);
-
- if (tabs->details->tab_count > 0) {
- draw_all_tabs (tabs);
- }
- return FALSE;
-}
-
-static void
-nautilus_tabs_draw (GtkWidget *widget, GdkRectangle *box)
-{
- /* Clear the widget get the default widget background before drawing our stuff */
- gdk_window_clear_area (widget->window,
- 0,
- 0,
- widget->allocation.width,
- widget->allocation.height);
- draw_all_tabs (NAUTILUS_TABS (widget));
-}
-
-/* add a new tab entry, return TRUE if we succeed */
-
-gboolean
-nautilus_tabs_add_tab (NautilusTabs *tabs, const char *name, int page_num)
-{
- TabItem *new_tab_item;
-
- g_return_val_if_fail (NAUTILUS_IS_TABS (tabs), FALSE);
- g_return_val_if_fail (name != NULL, FALSE);
-
- /* Check to see if we already have one with this name, if so, refuse to add it */
- if (tab_item_find_by_name (tabs, name)) {
- g_warning ("nautilus_tabs_add_view: Trying to add duplicate item '%s'", name);
- return FALSE;
- }
-
- /* allocate a new entry, and initialize it */
- new_tab_item = g_new0 (TabItem, 1);
- new_tab_item->tab_text = g_strdup (name);
- new_tab_item->prelit = FALSE;
- new_tab_item->selected = FALSE;
- new_tab_item->notebook_page = page_num;
-
- /* add it to the list */
- tabs->details->tab_items = g_list_append (tabs->details->tab_items, new_tab_item);
- if (tabs->details->selected_tab == -1) {
- tabs->details->selected_tab = page_num;
- new_tab_item->selected = TRUE;
- }
-
- tabs->details->tab_count += 1;
- recalculate_size (tabs);
- gtk_widget_queue_draw (GTK_WIDGET (tabs));
-
- return TRUE;
-}
-
-
-/* remove the specified tab entry */
-void
-nautilus_tabs_remove_tab (NautilusTabs *tabs, const char *name)
-{
- GList *next_tab;
- TabItem *tab_item;
- int old_page_number;
-
- g_return_if_fail (NAUTILUS_IS_TABS (tabs));
- g_return_if_fail (name != NULL);
-
- /* Look up the item */
- tab_item = tab_item_find_by_name (tabs, name);
-
- if (tab_item == NULL) {
- g_warning ("nautilus_tabs_remove_view: Trying to remove a non-existing item '%s'", name);
- return;
- }
-
- /* Remove the item from the list */
- tabs->details->tab_items = g_list_remove (tabs->details->tab_items, tab_item);
-
- old_page_number = tab_item->notebook_page;
- tab_item_destroy (tab_item);
-
- /* decrement all page numbers greater than the one we're removing */
- for (next_tab = tabs->details->tab_items; next_tab != NULL; next_tab = next_tab->next) {
- TabItem *item = next_tab->data;
- if (item->notebook_page >= old_page_number)
- item->notebook_page -= 1;
- }
-
- tabs->details->tab_count -= 1;
-
- recalculate_size (tabs);
- gtk_widget_queue_draw (GTK_WIDGET (tabs));
-}
-
-/* prelight a tab, from its associated notebook page number, by setting the prelight flag of
- the proper tab and clearing the others. Don't allow prelighting of the selected tab */
-static void
-nautilus_tabs_prelight_tab (NautilusTabs *tabs, int which_tab)
-{
- GList *next_tab;
- gboolean is_prelit;
- gboolean changed = FALSE;
-
- g_return_if_fail (NAUTILUS_IS_TABS (tabs));
-
- for (next_tab = tabs->details->tab_items; next_tab != NULL; next_tab = next_tab->next) {
- TabItem *item = next_tab->data;
- is_prelit = (item->notebook_page == which_tab);
- if (item->prelit != is_prelit && (!item->selected || !is_prelit)) {
- item->prelit = is_prelit;
- changed = TRUE;
- }
- }
-
- if (changed)
- gtk_widget_queue_draw (GTK_WIDGET (tabs));
-}
-
-/* select a tab, in a similar fashion */
-static void
-nautilus_tabs_select_tab (NautilusTabs *tabs, int which_tab)
-{
- GList *next_tab;
- gboolean is_selected;
- gboolean changed = FALSE;
-
- g_return_if_fail (NAUTILUS_IS_TABS (tabs));
-
- if (tabs->details->selected_tab == which_tab) {
- return;
- }
-
- tabs->details->selected_tab = which_tab;
-
- for (next_tab = tabs->details->tab_items; next_tab != NULL; next_tab = next_tab->next) {
- TabItem *item = next_tab->data;
- is_selected = (item->notebook_page == which_tab);
- if (item->selected != is_selected) {
- item->selected = is_selected;
- if (is_selected) {
- item->prelit = FALSE;
- }
- changed = TRUE;
- }
- }
-
- if (changed)
- gtk_widget_queue_draw (GTK_WIDGET (tabs));
-
- gtk_signal_emit (GTK_OBJECT (tabs),
- signals[TAB_SELECTED], which_tab);
-
-}
-
-/* handle mouse clicks by selecting a tab if necessary */
-static gboolean
-nautilus_tabs_press_event (GtkWidget *widget, GdkEventButton *event)
-{
- int which_tab;
-
- which_tab = nautilus_tabs_hit_test (NAUTILUS_TABS (widget), event->x, event->y);
- if (which_tab >= 0) {
- nautilus_tabs_select_tab (NAUTILUS_TABS (widget), which_tab);
- }
- return TRUE;
-}
-
-/* handle the leave event by turning off the preliting */
-static gboolean
-nautilus_tabs_leave_event (GtkWidget *tabs_widget, GdkEventCrossing *event)
-{
- nautilus_tabs_prelight_tab (NAUTILUS_TABS (tabs_widget), -1);
- return TRUE;
-}
-
-/* handle mouse motion events by passing it to the tabs if necessary for pre-lighting */
-static gboolean
-nautilus_tabs_motion_event (GtkWidget *tabs_widget, GdkEventMotion *event)
-{
- int x, y;
- int which_tab;
-
- gtk_widget_get_pointer (tabs_widget, &x, &y);
-
-
- /* if the motion is in the main tabs, tell them about it */
- which_tab = nautilus_tabs_hit_test (NAUTILUS_TABS (tabs_widget), x, y);
-
- nautilus_tabs_prelight_tab (NAUTILUS_TABS (tabs_widget), which_tab);
-
- return TRUE;
-}
diff --git a/components/services/summary/nautilus-tabs.h b/components/services/summary/nautilus-tabs.h
deleted file mode 100644
index 144f5d730..000000000
--- a/components/services/summary/nautilus-tabs.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/*
- * Nautilus
- *
- * Copyright (C) 2000 Eazel, Inc.
- *
- * Nautilus 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.
- *
- * Nautilus 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: Andy Hertzfeld <andy@eazel.com>
- *
- */
-
-/*
- * This is the header file for an image-based folder tabs widget.
- */
-
-#ifndef NAUTILUS_TABS_H
-#define NAUTILUS_TABS_H
-
-#include <gtk/gtkdrawingarea.h>
-
-#define NAUTILUS_TYPE_TABS (nautilus_tabs_get_type ())
-#define NAUTILUS_TABS(obj) (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_TABS, NautilusTabs))
-#define NAUTILUS_TABS_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_TABS, NautilusTabsClass))
-#define NAUTILUS_IS_TABS(obj) (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_TABS))
-#define NAUTILUS_IS_TABS_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_TABS))
-
-typedef struct NautilusTabsDetails NautilusTabsDetails;
-
-typedef struct
-{
- GtkDrawingArea parent;
- NautilusTabsDetails *details;
-} NautilusTabs;
-
-typedef struct
-{
- GtkDrawingAreaClass parent_class;
-
- void (*tab_selected) (NautilusTabs *tabs, int which_tab);
-} NautilusTabsClass;
-
-GtkType nautilus_tabs_get_type (void);
-GtkWidget *nautilus_tabs_new (void);
-gboolean nautilus_tabs_add_tab (NautilusTabs *tabs,
- const char *name,
- int page_number);
-void nautilus_tabs_remove_tab (NautilusTabs *tabs,
- const char *name);
-
-#endif /* NAUTILUS_TABS_H */
diff --git a/components/services/summary/redirects.xml b/components/services/summary/redirects.xml
deleted file mode 100644
index 197477d18..000000000
--- a/components/services/summary/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/services.xml b/components/services/summary/services.xml
deleted file mode 100644
index a1689d4bf..000000000
--- a/components/services/summary/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>
-
diff --git a/components/services/summary/tests.txt b/components/services/summary/tests.txt
deleted file mode 100644
index b8ff1482f..000000000
--- a/components/services/summary/tests.txt
+++ /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.