summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarin Adler <darin@src.gnome.org>2001-11-08 23:09:35 +0000
committerDarin Adler <darin@src.gnome.org>2001-11-08 23:09:35 +0000
commitbc8ad1bf56e6d753527fe1f997e0bb2714939212 (patch)
tree13d6ac23bb91c3d9c92afddb20f89d328489a254
parenta41821552cec10cac863df302efd740fefb646c5 (diff)
downloadnautilus-bc8ad1bf56e6d753527fe1f997e0bb2714939212.tar.gz
Remove e-paned.
* configure.in: * cut-n-paste-code/widgets/Makefile.am: * cut-n-paste-code/widgets/e-paned: * libnautilus-private/Makefile.am: * libnautilus-private/nautilus-horizontal-splitter.c: * libnautilus-private/nautilus-horizontal-splitter.h: * src/nautilus-window.c: (nautilus_window_constructed), (nautilus_window_set_content_view_widget), (nautilus_window_hide_sidebar), (nautilus_window_show_sidebar), (nautilus_window_sidebar_showing): Remove e-paned. * configure.in: * data/Makefile.am: * data/linksets/ * libnautilus-private/Makefile.am: * libnautilus-private/nautilus-file-utilities.c: * libnautilus-private/nautilus-link-set.c: * libnautilus-private/nautilus-link-set.h: * src/Makefile.am: * src/nautilus-link-set-window.c: * src/nautilus-link-set-window.h: * src/nautilus-sidebar.c: (metadata_button_callback): Remove link sets. * libnautilus-private/nautilus-program-chooser.c: (launch_mime_capplet_on_ok), (launch_mime_capplet_and_close_dialog): * src/nautilus-window-menus.c: (forget_history_if_yes), (remove_bookmarks_for_uri_if_yes): Destroy dialogs when done, since GtkDialog doesn't do this for us. * src/nautilus-preferences-dialog.c: (preferences_dialog_create): Get rid of close signal handler, since default close handler does the same thing as a delete_event, which is what we want. We still might have to do something fancier on a delete_event.
-rw-r--r--ChangeLog39
-rw-r--r--configure.in2
-rw-r--r--cut-n-paste-code/widgets/Makefile.am1
-rw-r--r--cut-n-paste-code/widgets/e-paned/.cvsignore6
-rw-r--r--cut-n-paste-code/widgets/e-paned/Makefile.am14
-rw-r--r--cut-n-paste-code/widgets/e-paned/README.changes59
-rw-r--r--cut-n-paste-code/widgets/e-paned/e-hpaned.c377
-rw-r--r--cut-n-paste-code/widgets/e-paned/e-hpaned.h72
-rw-r--r--cut-n-paste-code/widgets/e-paned/e-paned.c623
-rw-r--r--cut-n-paste-code/widgets/e-paned/e-paned.h134
-rw-r--r--cut-n-paste-code/widgets/e-paned/e-vpaned.c376
-rw-r--r--cut-n-paste-code/widgets/e-paned/e-vpaned.h72
-rw-r--r--data/Makefile.am1
-rw-r--r--data/linksets/.cvsignore2
-rw-r--r--data/linksets/Makefile.am13
-rw-r--r--data/linksets/apps.xml6
-rw-r--r--data/linksets/desktop.xml4
-rw-r--r--data/linksets/home.xml5
-rw-r--r--data/linksets/portals.xml5
-rw-r--r--data/linksets/search_engines.xml5
-rw-r--r--libnautilus-private/Makefile.am4
-rw-r--r--libnautilus-private/nautilus-file-utilities.c1
-rw-r--r--libnautilus-private/nautilus-horizontal-splitter.c377
-rw-r--r--libnautilus-private/nautilus-horizontal-splitter.h6
-rw-r--r--libnautilus-private/nautilus-link-set.c212
-rw-r--r--libnautilus-private/nautilus-link-set.h38
-rw-r--r--libnautilus-private/nautilus-program-chooser.c8
-rw-r--r--src/Makefile.am3
-rw-r--r--src/nautilus-information-panel.c15
-rw-r--r--src/nautilus-link-set-window.c267
-rw-r--r--src/nautilus-link-set-window.h40
-rw-r--r--src/nautilus-navigation-window-menus.c3
-rw-r--r--src/nautilus-navigation-window.c38
-rw-r--r--src/nautilus-object-window.c38
-rw-r--r--src/nautilus-preferences-dialog.c18
-rw-r--r--src/nautilus-sidebar.c15
-rw-r--r--src/nautilus-spatial-window.c38
-rw-r--r--src/nautilus-window-menus.c3
-rw-r--r--src/nautilus-window.c38
39 files changed, 171 insertions, 2807 deletions
diff --git a/ChangeLog b/ChangeLog
index 41f3364e0..128f83006 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,44 @@
2001-11-08 Darin Adler <darin@bentspoon.com>
+ * configure.in:
+ * cut-n-paste-code/widgets/Makefile.am:
+ * cut-n-paste-code/widgets/e-paned:
+ * libnautilus-private/Makefile.am:
+ * libnautilus-private/nautilus-horizontal-splitter.c:
+ * libnautilus-private/nautilus-horizontal-splitter.h:
+ * src/nautilus-window.c: (nautilus_window_constructed),
+ (nautilus_window_set_content_view_widget),
+ (nautilus_window_hide_sidebar), (nautilus_window_show_sidebar),
+ (nautilus_window_sidebar_showing):
+ Remove e-paned.
+
+ * configure.in:
+ * data/Makefile.am:
+ * data/linksets/
+ * libnautilus-private/Makefile.am:
+ * libnautilus-private/nautilus-file-utilities.c:
+ * libnautilus-private/nautilus-link-set.c:
+ * libnautilus-private/nautilus-link-set.h:
+ * src/Makefile.am:
+ * src/nautilus-link-set-window.c:
+ * src/nautilus-link-set-window.h:
+ * src/nautilus-sidebar.c: (metadata_button_callback):
+ Remove link sets.
+
+ * libnautilus-private/nautilus-program-chooser.c:
+ (launch_mime_capplet_on_ok),
+ (launch_mime_capplet_and_close_dialog):
+ * src/nautilus-window-menus.c: (forget_history_if_yes),
+ (remove_bookmarks_for_uri_if_yes):
+ Destroy dialogs when done, since GtkDialog doesn't do this for us.
+
+ * src/nautilus-preferences-dialog.c: (preferences_dialog_create):
+ Get rid of close signal handler, since default close handler does
+ the same thing as a delete_event, which is what we want. We still
+ might have to do something fancier on a delete_event.
+
+2001-11-08 Darin Adler <darin@bentspoon.com>
+
* NEWS: Remove Nautilus 1 news. This file is empty for now.
* RENAMING: Add some renaming ideas.
* TODO: Add a tiny porting to-do list. I should take that
diff --git a/configure.in b/configure.in
index d4853bfad..29bbf7714 100644
--- a/configure.in
+++ b/configure.in
@@ -575,11 +575,9 @@ components/throbber/Makefile
components/tree/Makefile
cut-n-paste-code/Makefile
cut-n-paste-code/widgets/Makefile
-cut-n-paste-code/widgets/e-paned/Makefile
cut-n-paste-code/widgets/gimphwrapbox/Makefile
data/Makefile
data/emblems/Makefile
-data/linksets/Makefile
data/patterns/Makefile
help/Makefile
help/nautilus-quick-reference/C/Makefile
diff --git a/cut-n-paste-code/widgets/Makefile.am b/cut-n-paste-code/widgets/Makefile.am
index 46f787a7b..a99521d8f 100644
--- a/cut-n-paste-code/widgets/Makefile.am
+++ b/cut-n-paste-code/widgets/Makefile.am
@@ -1,6 +1,5 @@
NULL=
SUBDIRS =\
- e-paned \
gimphwrapbox \
$(NULL)
diff --git a/cut-n-paste-code/widgets/e-paned/.cvsignore b/cut-n-paste-code/widgets/e-paned/.cvsignore
deleted file mode 100644
index 799fc9785..000000000
--- a/cut-n-paste-code/widgets/e-paned/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-.deps
-.libs
-*.lo
-*.la
-Makefile
-Makefile.in
diff --git a/cut-n-paste-code/widgets/e-paned/Makefile.am b/cut-n-paste-code/widgets/e-paned/Makefile.am
deleted file mode 100644
index b2595586c..000000000
--- a/cut-n-paste-code/widgets/e-paned/Makefile.am
+++ /dev/null
@@ -1,14 +0,0 @@
-NULL=
-
-noinst_LTLIBRARIES = libe-paned.la
-
-INCLUDES = $(E_PANED_CFLAGS)
-
-libe_paned_la_SOURCES = \
- e-hpaned.c \
- e-paned.c \
- e-vpaned.c \
- e-hpaned.h \
- e-paned.h \
- e-vpaned.h \
- $(NULL)
diff --git a/cut-n-paste-code/widgets/e-paned/README.changes b/cut-n-paste-code/widgets/e-paned/README.changes
deleted file mode 100644
index 2e147f267..000000000
--- a/cut-n-paste-code/widgets/e-paned/README.changes
+++ /dev/null
@@ -1,59 +0,0 @@
-
-I had to update this widget to fix an annoying sidebar bug (6294 and
-probably 6499).
-
-This is the patch I applied, so please check this if and when updating
-e-paned from it's original source:
-
-
---- e-paned.c 1997/01/02 07:38:15 1.1
-+++ e-paned.c 2001/02/27 20:17:26
-@@ -606,7 +606,12 @@ e_paned_compute_position(EPaned *paned,
- paned->min_position,
- paned->max_position);
-
-- paned->last_allocation = allocation;
-+ /* Only remember the last allocation if no position has been set
-+ * yet, or the last allocation was already previously stored. Otherwise
-+ * the second half of the above if can wrongly move the split
-+ */
-+ if (!paned->position_set || paned->last_allocation >= 0)
-+ paned->last_allocation = allocation;
- }
-
- gboolean
-
-
-Other previous changes to the files in this directory are:
-
---- e-hpaned.c 1997/01/02 07:38:15 1.1
-+++ e-hpaned.c 2000/09/26 00:52:16 1.2
-@@ -111,11 +111,7 @@ e_hpaned_init (EHPaned *hpaned)
- GtkWidget *
- e_hpaned_new (void)
- {
-- EHPaned *hpaned;
--
-- hpaned = gtk_type_new (E_TYPE_HPANED);
--
-- return GTK_WIDGET (hpaned);
-+ return gtk_widget_new (E_TYPE_HPANED, NULL);
- }
-
- static void
-
---- e-vpaned.c 1997/01/02 07:38:15 1.1
-+++ e-vpaned.c 2000/09/26 00:52:16 1.2
-@@ -111,11 +111,7 @@ e_vpaned_init (EVPaned *vpaned)
- GtkWidget *
- e_vpaned_new (void)
- {
-- EVPaned *vpaned;
--
-- vpaned = gtk_type_new (E_TYPE_VPANED);
--
-- return GTK_WIDGET (vpaned);
-+ return gtk_widget_new (E_TYPE_VPANED, NULL);
- }
-
- static void
diff --git a/cut-n-paste-code/widgets/e-paned/e-hpaned.c b/cut-n-paste-code/widgets/e-paned/e-hpaned.c
deleted file mode 100644
index f6655cc01..000000000
--- a/cut-n-paste-code/widgets/e-paned/e-hpaned.c
+++ /dev/null
@@ -1,377 +0,0 @@
-/* EPaned - A slightly more advanced paned widget.
- * Copyright (C) 2000 Helix Code, Inc.
- *
- * Author: Christopher James Lahey <clahey@helixcode.com>
- *
- * based on GtkPaned from Gtk+. Gtk+ Copyright notice follows.
- */
-
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-1999. See the AUTHORS
- * file for a list of people on the GTK+ Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#include "e-hpaned.h"
-
-static void e_hpaned_class_init (EHPanedClass *klass);
-static void e_hpaned_init (EHPaned *hpaned);
-static void e_hpaned_size_request (GtkWidget *widget,
- GtkRequisition *requisition);
-static void e_hpaned_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation);
-static void e_hpaned_xor_line (EPaned *paned);
-static gboolean e_hpaned_button_press (GtkWidget *widget,
- GdkEventButton *event);
-static gboolean e_hpaned_button_release (GtkWidget *widget,
- GdkEventButton *event);
-static gboolean e_hpaned_motion (GtkWidget *widget,
- GdkEventMotion *event);
-static gboolean e_hpaned_handle_shown (EPaned *paned);
-
-GtkType
-e_hpaned_get_type (void)
-{
- static GtkType hpaned_type = 0;
-
- if (!hpaned_type)
- {
- static const GtkTypeInfo hpaned_info =
- {
- "EHPaned",
- sizeof (EHPaned),
- sizeof (EHPanedClass),
- (GtkClassInitFunc) e_hpaned_class_init,
- (GtkObjectInitFunc) e_hpaned_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- hpaned_type = gtk_type_unique (E_TYPE_PANED, &hpaned_info);
- }
-
- return hpaned_type;
-}
-
-static void
-e_hpaned_class_init (EHPanedClass *klass)
-{
- GtkWidgetClass *widget_class;
- EPanedClass *paned_class;
-
- widget_class = (GtkWidgetClass *) klass;
- paned_class = E_PANED_CLASS (klass);
-
- widget_class->size_request = e_hpaned_size_request;
- widget_class->size_allocate = e_hpaned_size_allocate;
- widget_class->button_press_event = e_hpaned_button_press;
- widget_class->button_release_event = e_hpaned_button_release;
- widget_class->motion_notify_event = e_hpaned_motion;
-
- paned_class->handle_shown = e_hpaned_handle_shown;
-}
-
-static void
-e_hpaned_init (EHPaned *hpaned)
-{
- EPaned *paned;
-
- g_return_if_fail (hpaned != NULL);
- g_return_if_fail (E_IS_PANED (hpaned));
-
- paned = E_PANED (hpaned);
-
- paned->cursor_type = GDK_SB_H_DOUBLE_ARROW;
-}
-
-GtkWidget *
-e_hpaned_new (void)
-{
- return gtk_widget_new (E_TYPE_HPANED, NULL);
-}
-
-static void
-e_hpaned_size_request (GtkWidget *widget,
- GtkRequisition *requisition)
-{
- EPaned *paned;
- GtkRequisition child_requisition;
-
- g_return_if_fail (widget != NULL);
- g_return_if_fail (E_IS_HPANED (widget));
- g_return_if_fail (requisition != NULL);
-
- paned = E_PANED (widget);
- requisition->width = 0;
- requisition->height = 0;
-
- if (paned->child1 && GTK_WIDGET_VISIBLE (paned->child1))
- {
- gtk_widget_size_request (paned->child1, &child_requisition);
-
- requisition->height = child_requisition.height;
- requisition->width = child_requisition.width;
- }
-
- if (paned->child2 && GTK_WIDGET_VISIBLE (paned->child2))
- {
- gtk_widget_size_request (paned->child2, &child_requisition);
-
- requisition->height = MAX(requisition->height, child_requisition.height);
- requisition->width += child_requisition.width;
- }
-
-
- requisition->width += GTK_CONTAINER (paned)->border_width * 2;
- requisition->height += GTK_CONTAINER (paned)->border_width * 2;
- if (e_paned_handle_shown(paned))
- requisition->width += paned->handle_size;
-}
-
-static void
-e_hpaned_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation)
-{
- EPaned *paned;
- GtkRequisition child1_requisition;
- GtkRequisition child2_requisition;
- GtkAllocation child1_allocation;
- GtkAllocation child2_allocation;
- gint border_width;
- gboolean handle_shown;
-
- g_return_if_fail (widget != NULL);
- g_return_if_fail (E_IS_HPANED (widget));
- g_return_if_fail (allocation != NULL);
-
- widget->allocation = *allocation;
- paned = E_PANED (widget);
- border_width = GTK_CONTAINER (paned)->border_width;
-
- if (paned->child1 && GTK_WIDGET_VISIBLE (paned->child1))
- gtk_widget_get_child_requisition (paned->child1, &child1_requisition);
- else
- child1_requisition.width = 0;
-
- if (paned->child2 && GTK_WIDGET_VISIBLE (paned->child2))
- gtk_widget_get_child_requisition (paned->child2, &child2_requisition);
- else
- child2_requisition.width = 0;
-
- e_paned_compute_position (paned,
- MAX (1, (gint) widget->allocation.width
- - 2 * border_width),
- child1_requisition.width,
- child2_requisition.width);
-
- /* Move the handle before the children so we don't get extra expose events */
-
- if (GTK_WIDGET_REALIZED (widget))
- gdk_window_move_resize (widget->window,
- allocation->x, allocation->y,
- allocation->width,
- allocation->height);
-
- handle_shown = e_paned_handle_shown(paned);
- if (handle_shown)
- {
- paned->handle_xpos = paned->child1_size + border_width;
- paned->handle_ypos = border_width;
- paned->handle_width = paned->handle_size;
- paned->handle_height = MAX (1, (gint) widget->allocation.height - 2 * border_width);
-
- if (GTK_WIDGET_REALIZED (widget))
- {
- gdk_window_move_resize (paned->handle,
- paned->handle_xpos,
- paned->handle_ypos,
- paned->handle_size,
- paned->handle_height);
- if (paned->handle)
- gdk_window_show(paned->handle);
- }
- }
- else
- {
- if (paned->handle && GTK_WIDGET_REALIZED (widget))
- gdk_window_hide(paned->handle);
- }
-
- child1_allocation.height = child2_allocation.height = MAX (1, (gint) allocation->height - border_width * 2);
- child1_allocation.width = paned->child1_size;
- child1_allocation.x = border_width;
- child1_allocation.y = child2_allocation.y = border_width;
-
- if (handle_shown)
- child2_allocation.x = child1_allocation.x + child1_allocation.width + paned->handle_width;
- else
- child2_allocation.x = child1_allocation.x + child1_allocation.width;
- child2_allocation.width = MAX (1, (gint) allocation->width - child2_allocation.x - border_width);
-
- /* Now allocate the childen, making sure, when resizing not to
- * overlap the windows */
- if (GTK_WIDGET_MAPPED (widget) &&
- paned->child1 && GTK_WIDGET_VISIBLE (paned->child1) &&
- paned->child1->allocation.width < child1_allocation.width)
- {
- if (paned->child2 && GTK_WIDGET_VISIBLE (paned->child2))
- gtk_widget_size_allocate (paned->child2, &child2_allocation);
- gtk_widget_size_allocate (paned->child1, &child1_allocation);
- }
- else
- {
- if (paned->child1 && GTK_WIDGET_VISIBLE (paned->child1))
- gtk_widget_size_allocate (paned->child1, &child1_allocation);
- if (paned->child2 && GTK_WIDGET_VISIBLE (paned->child2))
- gtk_widget_size_allocate (paned->child2, &child2_allocation);
- }
-}
-
-static void
-e_hpaned_xor_line (EPaned *paned)
-{
- GtkWidget *widget;
- GdkGCValues values;
- guint16 xpos;
-
- widget = GTK_WIDGET(paned);
-
- if (!paned->xor_gc)
- {
- values.function = GDK_INVERT;
- values.subwindow_mode = GDK_INCLUDE_INFERIORS;
- paned->xor_gc = gdk_gc_new_with_values (widget->window,
- &values,
- GDK_GC_FUNCTION | GDK_GC_SUBWINDOW);
- }
-
- gdk_gc_set_line_attributes (paned->xor_gc, 2, GDK_LINE_SOLID,
- GDK_CAP_NOT_LAST, GDK_JOIN_BEVEL);
-
- xpos = paned->child1_size
- + GTK_CONTAINER (paned)->border_width + paned->handle_size / 2;
-
- gdk_draw_line (widget->window, paned->xor_gc,
- xpos,
- 0,
- xpos,
- widget->allocation.height - 1);
-}
-
-static gboolean
-e_hpaned_button_press (GtkWidget *widget,
- GdkEventButton *event)
-{
- EPaned *paned;
-
- g_return_val_if_fail (widget != NULL, FALSE);
- g_return_val_if_fail (E_IS_PANED (widget), FALSE);
-
- paned = E_PANED (widget);
-
- if (!paned->in_drag &&
- event->window == paned->handle && event->button == 1)
- {
- paned->old_child1_size = paned->child1_size;
- paned->in_drag = TRUE;
- /* We need a server grab here, not gtk_grab_add(), since
- * we don't want to pass events on to the widget's children */
- gdk_pointer_grab(paned->handle, FALSE,
- GDK_POINTER_MOTION_HINT_MASK
- | GDK_BUTTON1_MOTION_MASK
- | GDK_BUTTON_RELEASE_MASK,
- NULL, NULL, event->time);
- paned->child1_size = e_paned_quantized_size(paned, paned->child1_size + event->x - paned->handle_size / 2);
- paned->child1_size = CLAMP (paned->child1_size, 0,
- widget->allocation.width
- - paned->handle_size
- - 2 * GTK_CONTAINER (paned)->border_width);
- e_hpaned_xor_line (paned);
-
- return TRUE;
- }
-
- return FALSE;
-}
-
-static gboolean
-e_hpaned_button_release (GtkWidget *widget,
- GdkEventButton *event)
-{
- EPaned *paned;
-
- g_return_val_if_fail (widget != NULL, FALSE);
- g_return_val_if_fail (E_IS_PANED (widget), FALSE);
-
- paned = E_PANED (widget);
-
- if (paned->in_drag && (event->button == 1))
- {
- e_hpaned_xor_line (paned);
- paned->in_drag = FALSE;
- paned->position_set = TRUE;
- gdk_pointer_ungrab (event->time);
- gtk_widget_queue_resize (GTK_WIDGET (paned));
-
- return TRUE;
- }
-
- return FALSE;
-}
-
-static gboolean
-e_hpaned_motion (GtkWidget *widget,
- GdkEventMotion *event)
-{
- EPaned *paned;
- gint x;
-
- g_return_val_if_fail (widget != NULL, FALSE);
- g_return_val_if_fail (E_IS_PANED (widget), FALSE);
-
- paned = E_PANED (widget);
-
- if (event->is_hint || event->window != widget->window)
- gtk_widget_get_pointer(widget, &x, NULL);
- else
- x = event->x;
-
- if (paned->in_drag)
- {
- gint size = x - GTK_CONTAINER (paned)->border_width - paned->handle_size / 2;
-
- e_hpaned_xor_line (paned);
- paned->child1_size = CLAMP (e_paned_quantized_size(paned, size), paned->min_position, paned->max_position);
- e_hpaned_xor_line (paned);
- }
-
- return TRUE;
-}
-
-static gboolean
-e_hpaned_handle_shown (EPaned *paned)
-{
- return ((paned->child1 && paned->child2) &&
- (GTK_WIDGET_VISIBLE (paned->child1) && GTK_WIDGET_VISIBLE (paned->child2)));
-}
diff --git a/cut-n-paste-code/widgets/e-paned/e-hpaned.h b/cut-n-paste-code/widgets/e-paned/e-hpaned.h
deleted file mode 100644
index 8832cf107..000000000
--- a/cut-n-paste-code/widgets/e-paned/e-hpaned.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* EPaned - A slightly more advanced paned widget.
- * Copyright (C) 2000 Helix Code, Inc.
- *
- * Author: Christopher James Lahey <clahey@helixcode.com>
- *
- * based on GtkPaned from Gtk+. Gtk+ Copyright notice follows.
- */
-
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GTK+ Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#ifndef __E_HPANED_H__
-#define __E_HPANED_H__
-
-#include "e-paned.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define E_TYPE_HPANED (e_hpaned_get_type ())
-#define E_HPANED(obj) (GTK_CHECK_CAST ((obj), E_TYPE_HPANED, EHPaned))
-#define E_HPANED_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_TYPE_HPANED, EHPanedClass))
-#define E_IS_HPANED(obj) (GTK_CHECK_TYPE ((obj), E_TYPE_HPANED))
-#define E_IS_HPANED_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), E_TYPE_HPANED))
-#define E_HPANED_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), E_TYPE_HPANED, EHPanedClass))
-
-
-typedef struct _EHPaned EHPaned;
-typedef struct _EHPanedClass EHPanedClass;
-
-struct _EHPaned
-{
- EPaned paned;
-};
-
-struct _EHPanedClass
-{
- EPanedClass parent_class;
-};
-
-GtkType e_hpaned_get_type (void);
-GtkWidget *e_hpaned_new (void);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __E_HPANED_H__ */
diff --git a/cut-n-paste-code/widgets/e-paned/e-paned.c b/cut-n-paste-code/widgets/e-paned/e-paned.c
deleted file mode 100644
index 3c138541e..000000000
--- a/cut-n-paste-code/widgets/e-paned/e-paned.c
+++ /dev/null
@@ -1,623 +0,0 @@
-/* EPaned - A slightly more advanced paned widget.
- * Copyright (C) 2000 Helix Code, Inc.
- *
- * Author: Christopher James Lahey <clahey@helixcode.com>
- *
- * based on GtkPaned from Gtk+. Gtk+ Copyright notice follows.
- */
-
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GTK+ Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#include "e-paned.h"
-
-enum {
- ARG_0,
- ARG_HANDLE_SIZE,
- ARG_QUANTUM,
-};
-
-static void e_paned_class_init (EPanedClass *klass);
-static void e_paned_init (EPaned *paned);
-
-static GtkContainerClass *parent_class = NULL;
-
-
-GtkType
-e_paned_get_type (void)
-{
- static GtkType paned_type = 0;
-
- if (!paned_type)
- {
- static const GtkTypeInfo paned_info =
- {
- "EPaned",
- sizeof (EPaned),
- sizeof (EPanedClass),
- (GtkClassInitFunc) e_paned_class_init,
- (GtkObjectInitFunc) e_paned_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- paned_type = gtk_type_unique (GTK_TYPE_CONTAINER, &paned_info);
- }
-
- return paned_type;
-}
-
-static GtkType
-e_paned_child_type (GtkContainer *container)
-{
- if (!E_PANED (container)->child1 || !E_PANED (container)->child2)
- return GTK_TYPE_WIDGET;
- else
- return G_TYPE_NONE;
-}
-
-static void
-e_paned_init (EPaned *paned)
-{
- GTK_WIDGET_UNSET_FLAGS (paned, GTK_NO_WINDOW);
-
- paned->child1 = NULL;
- paned->child2 = NULL;
- paned->handle = NULL;
- paned->xor_gc = NULL;
- paned->cursor_type = GDK_CROSS;
-
- paned->handle_width = 5;
- paned->handle_height = 5;
- paned->handle_size = 5;
- paned->position_set = FALSE;
- paned->last_allocation = -1;
- paned->in_drag = FALSE;
-
- paned->handle_xpos = -1;
- paned->handle_ypos = -1;
-
- paned->old_child1_size = 0;
- paned->quantum = 1;
-}
-
-static void
-e_paned_set_arg (GtkObject *object,
- GtkArg *arg,
- guint arg_id)
-{
- EPaned *paned = E_PANED (object);
-
- switch (arg_id)
- {
- case ARG_HANDLE_SIZE:
- e_paned_set_handle_size (paned, GTK_VALUE_UINT (*arg));
- break;
- case ARG_QUANTUM:
- paned->quantum = GTK_VALUE_UINT (*arg);
- if (paned->quantum == 0)
- paned->quantum = 1;
- break;
- default:
- break;
- }
-}
-
-static void
-e_paned_get_arg (GtkObject *object,
- GtkArg *arg,
- guint arg_id)
-{
- EPaned *paned = E_PANED (object);
-
- switch (arg_id)
- {
- case ARG_HANDLE_SIZE:
- GTK_VALUE_UINT (*arg) = paned->handle_size;
- break;
- case ARG_QUANTUM:
- GTK_VALUE_UINT (*arg) = paned->quantum;
- break;
- default:
- arg->type = G_TYPE_INVALID;
- break;
- }
-}
-
-static void
-e_paned_realize (GtkWidget *widget)
-{
- EPaned *paned;
- GdkWindowAttr attributes;
- gint attributes_mask;
-
- g_return_if_fail (widget != NULL);
- g_return_if_fail (E_IS_PANED (widget));
-
- GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
- paned = E_PANED (widget);
-
- attributes.x = widget->allocation.x;
- attributes.y = widget->allocation.y;
- attributes.width = widget->allocation.width;
- attributes.height = widget->allocation.height;
- attributes.window_type = GDK_WINDOW_CHILD;
- attributes.wclass = GDK_INPUT_OUTPUT;
- attributes.visual = gtk_widget_get_visual (widget);
- attributes.colormap = gtk_widget_get_colormap (widget);
- attributes.event_mask = gtk_widget_get_events (widget) | GDK_EXPOSURE_MASK;
- attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
-
- widget->window = gdk_window_new (gtk_widget_get_parent_window(widget),
- &attributes, attributes_mask);
- gdk_window_set_user_data (widget->window, paned);
-
- attributes.x = paned->handle_xpos;
- attributes.y = paned->handle_ypos;
- attributes.width = paned->handle_width;
- attributes.height = paned->handle_height;
- attributes.cursor = gdk_cursor_new (paned->cursor_type);
- attributes.event_mask |= (GDK_BUTTON_PRESS_MASK |
- GDK_BUTTON_RELEASE_MASK |
- GDK_POINTER_MOTION_MASK |
- GDK_POINTER_MOTION_HINT_MASK);
- attributes_mask |= GDK_WA_CURSOR;
-
- paned->handle = gdk_window_new (widget->window,
- &attributes, attributes_mask);
- gdk_window_set_user_data (paned->handle, paned);
- gdk_cursor_destroy (attributes.cursor);
-
- widget->style = gtk_style_attach (widget->style, widget->window);
-
- gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL);
- gtk_style_set_background (widget->style, paned->handle, GTK_STATE_NORMAL);
-
- gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
-
- if (e_paned_handle_shown(paned))
- gdk_window_show (paned->handle);
-}
-
-static void
-e_paned_map (GtkWidget *widget)
-{
- EPaned *paned;
-
- g_return_if_fail (widget != NULL);
- g_return_if_fail (E_IS_PANED (widget));
-
- GTK_WIDGET_SET_FLAGS (widget, GTK_MAPPED);
- paned = E_PANED (widget);
-
- if (paned->child1 &&
- GTK_WIDGET_VISIBLE (paned->child1) &&
- !GTK_WIDGET_MAPPED (paned->child1))
- gtk_widget_map (paned->child1);
- if (paned->child2 &&
- GTK_WIDGET_VISIBLE (paned->child2) &&
- !GTK_WIDGET_MAPPED (paned->child2))
- gtk_widget_map (paned->child2);
-
- gdk_window_show (widget->window);
-}
-
-static void
-e_paned_unmap (GtkWidget *widget)
-{
- g_return_if_fail (widget != NULL);
- g_return_if_fail (E_IS_PANED (widget));
-
- GTK_WIDGET_UNSET_FLAGS (widget, GTK_MAPPED);
-
- gdk_window_hide (widget->window);
-}
-
-static void
-e_paned_unrealize (GtkWidget *widget)
-{
- EPaned *paned;
-
- g_return_if_fail (widget != NULL);
- g_return_if_fail (E_IS_PANED (widget));
-
- paned = E_PANED (widget);
-
- if (paned->xor_gc)
- {
- gdk_gc_destroy (paned->xor_gc);
- paned->xor_gc = NULL;
- }
-
- if (paned->handle)
- {
- gdk_window_set_user_data (paned->handle, NULL);
- gdk_window_destroy (paned->handle);
- paned->handle = NULL;
- }
-
- if (GTK_WIDGET_CLASS (parent_class)->unrealize)
- (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget);
-}
-
-#if GNOME2_CONVERSION_COMPLETE
-
-static gint
-e_paned_expose (GtkWidget *widget,
- GdkEventExpose *event)
-{
- EPaned *paned;
- GdkEvent child_event;
-
- g_return_val_if_fail (widget != NULL, FALSE);
- g_return_val_if_fail (E_IS_PANED (widget), FALSE);
- g_return_val_if_fail (event != NULL, FALSE);
-
- if (GTK_WIDGET_DRAWABLE (widget))
- {
- paned = E_PANED (widget);
-
- if (paned->handle && event->window == paned->handle)
- {
- if (e_paned_handle_shown(paned))
- {
- event->area.x += paned->handle_xpos;
- event->area.y += paned->handle_ypos;
- gtk_widget_draw (widget, &event->area);
- }
- }
- else
- {
- child_event.expose = *event;
- if (paned->child1 &&
- GTK_WIDGET_NO_WINDOW (paned->child1) &&
- gtk_widget_intersect (paned->child1, &event->area, &child_event.expose.area))
- gtk_widget_event (paned->child1, &child_event);
-
- if (paned->child2 &&
- GTK_WIDGET_NO_WINDOW (paned->child2) &&
- gtk_widget_intersect (paned->child2, &event->area, &child_event.expose.area))
- gtk_widget_event (paned->child2, &child_event);
- }
- }
-
- return FALSE;
-}
-
-#endif
-
-void
-e_paned_add1 (EPaned *paned,
- GtkWidget *widget)
-{
- e_paned_pack1 (paned, widget, FALSE, TRUE);
-}
-
-void
-e_paned_add2 (EPaned *paned,
- GtkWidget *widget)
-{
- e_paned_pack2 (paned, widget, TRUE, TRUE);
-}
-
-void
-e_paned_pack1 (EPaned *paned,
- GtkWidget *child,
- gboolean resize,
- gboolean shrink)
-{
- g_return_if_fail (paned != NULL);
- g_return_if_fail (E_IS_PANED (paned));
- g_return_if_fail (GTK_IS_WIDGET (child));
-
- if (!paned->child1)
- {
- paned->child1 = child;
- paned->child1_resize = resize;
- paned->child1_shrink = shrink;
-
- gtk_widget_set_parent (child, GTK_WIDGET (paned));
-
- if (GTK_WIDGET_REALIZED (child->parent))
- gtk_widget_realize (child);
-
- if (GTK_WIDGET_VISIBLE (child->parent) && GTK_WIDGET_VISIBLE (child))
- {
- if (GTK_WIDGET_MAPPED (child->parent))
- gtk_widget_map (child);
-
- gtk_widget_queue_resize (child);
- }
- }
-}
-
-void
-e_paned_pack2 (EPaned *paned,
- GtkWidget *child,
- gboolean resize,
- gboolean shrink)
-{
- g_return_if_fail (paned != NULL);
- g_return_if_fail (E_IS_PANED (paned));
- g_return_if_fail (GTK_IS_WIDGET (child));
-
- if (!paned->child2)
- {
- paned->child2 = child;
- paned->child2_resize = resize;
- paned->child2_shrink = shrink;
-
- gtk_widget_set_parent (child, GTK_WIDGET (paned));
-
- if (GTK_WIDGET_REALIZED (child->parent))
- gtk_widget_realize (child);
-
- if (GTK_WIDGET_VISIBLE (child->parent) && GTK_WIDGET_VISIBLE (child))
- {
- if (GTK_WIDGET_MAPPED (child->parent))
- gtk_widget_map (child);
-
- gtk_widget_queue_resize (child);
- }
- }
-}
-
-
-static void
-e_paned_add (GtkContainer *container,
- GtkWidget *widget)
-{
- EPaned *paned;
-
- g_return_if_fail (container != NULL);
- g_return_if_fail (E_IS_PANED (container));
- g_return_if_fail (widget != NULL);
-
- paned = E_PANED (container);
-
- if (!paned->child1)
- e_paned_add1 (E_PANED (container), widget);
- else if (!paned->child2)
- e_paned_add2 (E_PANED (container), widget);
-}
-
-static void
-e_paned_remove (GtkContainer *container,
- GtkWidget *widget)
-{
- EPaned *paned;
- gboolean was_visible;
-
- g_return_if_fail (container != NULL);
- g_return_if_fail (E_IS_PANED (container));
- g_return_if_fail (widget != NULL);
-
- paned = E_PANED (container);
- was_visible = GTK_WIDGET_VISIBLE (widget);
-
- if (paned->child1 == widget)
- {
- gtk_widget_unparent (widget);
-
- paned->child1 = NULL;
-
- if (was_visible && GTK_WIDGET_VISIBLE (container))
- gtk_widget_queue_resize (GTK_WIDGET (container));
- }
- else if (paned->child2 == widget)
- {
- gtk_widget_unparent (widget);
-
- paned->child2 = NULL;
-
- if (was_visible && GTK_WIDGET_VISIBLE (container))
- gtk_widget_queue_resize (GTK_WIDGET (container));
- }
-}
-
-static void
-e_paned_forall (GtkContainer *container,
- gboolean include_internals,
- GtkCallback callback,
- gpointer callback_data)
-{
- EPaned *paned;
-
- g_return_if_fail (container != NULL);
- g_return_if_fail (E_IS_PANED (container));
- g_return_if_fail (callback != NULL);
-
- paned = E_PANED (container);
-
- if (paned->child1)
- (*callback) (paned->child1, callback_data);
- if (paned->child2)
- (*callback) (paned->child2, callback_data);
-}
-
-gint
-e_paned_get_position (EPaned *paned)
-{
- g_return_val_if_fail (paned != NULL, 0);
- g_return_val_if_fail (E_IS_PANED (paned), 0);
-
- return paned->child1_size;
-}
-
-void
-e_paned_set_position (EPaned *paned,
- gint position)
-{
- g_return_if_fail (paned != NULL);
- g_return_if_fail (E_IS_PANED (paned));
-
- if (position >= 0)
- {
- /* We don't clamp here - the assumption is that
- * if the total allocation changes at the same time
- * as the position, the position set is with reference
- * to the new total size. If only the position changes,
- * then clamping will occur in e_paned_compute_position()
- */
- paned->child1_size = position;
- paned->position_set = TRUE;
- }
- else
- {
- paned->position_set = FALSE;
- }
-
- gtk_widget_queue_resize (GTK_WIDGET (paned));
-}
-
-void
-e_paned_set_handle_size (EPaned *paned,
- guint16 size)
-{
- g_return_if_fail (paned != NULL);
- g_return_if_fail (E_IS_PANED (paned));
-
- gtk_widget_queue_resize (GTK_WIDGET (paned));
-
- paned->handle_size = size;
-}
-
-void
-e_paned_compute_position(EPaned *paned,
- gint allocation,
- gint child1_req,
- gint child2_req)
-{
- g_return_if_fail (paned != NULL);
- g_return_if_fail (E_IS_PANED (paned));
-
- if (e_paned_handle_shown(paned))
- allocation -= (gint) paned->handle_size;
-
- paned->min_position = paned->child1_shrink ? 0 : child1_req;
-
- paned->max_position = allocation;
- if (!paned->child2_shrink)
- paned->max_position = MAX (1, paned->max_position - child2_req);
-
- if (!paned->position_set)
- {
- if (paned->child1_resize && !paned->child2_resize)
- paned->child1_size = MAX (1, allocation - child2_req);
- else if (!paned->child1_resize && paned->child2_resize)
- paned->child1_size = child1_req;
- else if (child1_req + child2_req != 0)
- paned->child1_size = allocation * ((gdouble)child1_req / (child1_req + child2_req));
- else
- paned->child1_size = allocation * 0.5;
- }
- else
- {
- /* If the position was set before the initial allocation.
- * (paned->last_allocation <= 0) just clamp it and leave it.
- */
- if (paned->last_allocation > 0)
- {
- if (paned->child1_resize && !paned->child2_resize)
- paned->child1_size += allocation - paned->last_allocation;
- else if (!(!paned->child1_resize && paned->child2_resize))
- paned->child1_size = allocation * ((gdouble) paned->child1_size / (paned->last_allocation));
- }
- }
-
- paned->child1_size = CLAMP (paned->child1_size,
- paned->min_position,
- paned->max_position);
-
- /* Only remember the last allocation if no position has been set
- * yet, or the last allocation was already previously stored. Otherwise
- * the second half of the above if can wrongly move the split
- */
- if (!paned->position_set || paned->last_allocation >= 0)
- paned->last_allocation = allocation;
-}
-
-gboolean
-e_paned_handle_shown(EPaned *paned)
-{
- EPanedClass *klass = E_PANED_CLASS(G_OBJECT_GET_CLASS(paned));
- if (klass->handle_shown)
- return (*klass->handle_shown)(paned);
- else
- return TRUE;
-}
-
-gint
-e_paned_quantized_size(EPaned *paned,
- gint size)
-{
- gint quantization = size - paned->old_child1_size;
- if (quantization > 0)
- quantization += paned->quantum / 2;
- else
- quantization -= paned->quantum / 2;
- quantization /= paned->quantum;
- quantization *= paned->quantum;
- return paned->old_child1_size + quantization;
-}
-
-static void
-e_paned_class_init (EPanedClass *klass)
-{
- GtkObjectClass *object_class;
- GtkWidgetClass *widget_class;
- GtkContainerClass *container_class;
-
- object_class = (GtkObjectClass *) klass;
- widget_class = (GtkWidgetClass *) klass;
- container_class = (GtkContainerClass *) klass;
-
- parent_class = gtk_type_class (GTK_TYPE_CONTAINER);
-
- object_class->set_arg = e_paned_set_arg;
- object_class->get_arg = e_paned_get_arg;
-
- widget_class->realize = e_paned_realize;
- widget_class->map = e_paned_map;
- widget_class->unmap = e_paned_unmap;
- widget_class->unrealize = e_paned_unrealize;
-#if GNOME2_CONVERSION_COMPLETE
- widget_class->expose_event = e_paned_expose;
-#endif
-
- container_class->add = e_paned_add;
- container_class->remove = e_paned_remove;
- container_class->forall = e_paned_forall;
- container_class->child_type = e_paned_child_type;
-
- klass->handle_shown = NULL;
-
- gtk_object_add_arg_type("EPaned::handle_size", G_TYPE_UINT,
- GTK_ARG_READWRITE, ARG_HANDLE_SIZE);
- gtk_object_add_arg_type("EPaned::quantum", G_TYPE_UINT,
- GTK_ARG_READWRITE, ARG_QUANTUM);
-}
diff --git a/cut-n-paste-code/widgets/e-paned/e-paned.h b/cut-n-paste-code/widgets/e-paned/e-paned.h
deleted file mode 100644
index e3799a6bc..000000000
--- a/cut-n-paste-code/widgets/e-paned/e-paned.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/* EPaned - A slightly more advanced paned widget.
- * Copyright (C) 2000 Helix Code, Inc.
- *
- * Author: Christopher James Lahey <clahey@helixcode.com>
- *
- * based on GtkPaned from Gtk+. Gtk+ Copyright notice follows.
- */
-
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GTK+ Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#ifndef __E_PANED_H__
-#define __E_PANED_H__
-
-#include <gtk/gtkcontainer.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
-#define E_TYPE_PANED (e_paned_get_type ())
-#define E_PANED(obj) (GTK_CHECK_CAST ((obj), E_TYPE_PANED, EPaned))
-#define E_PANED_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_TYPE_PANED, EPanedClass))
-#define E_IS_PANED(obj) (GTK_CHECK_TYPE ((obj), E_TYPE_PANED))
-#define E_IS_PANED_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), E_TYPE_PANED))
-#define E_PANED_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), E_TYPE_PANED, EPanedClass))
-
-
-typedef struct _EPaned EPaned;
-typedef struct _EPanedClass EPanedClass;
-
-struct _EPaned
-{
- GtkContainer container;
-
- GtkWidget *child1;
- GtkWidget *child2;
-
- GdkWindow *handle;
- GdkGC *xor_gc;
- GdkCursorType cursor_type;
-
- /*< public >*/
- guint16 handle_size;
-
- /*< private >*/
- guint16 handle_width;
- guint16 handle_height;
-
- gint child1_size;
- gint last_allocation;
- gint min_position;
- gint max_position;
-
- gint old_child1_size;
- gint quantum;
-
- guint position_set : 1;
- guint in_drag : 1;
- guint child1_shrink : 1;
- guint child1_resize : 1;
- guint child2_shrink : 1;
- guint child2_resize : 1;
-
- gint16 handle_xpos;
- gint16 handle_ypos;
-};
-
-struct _EPanedClass
-{
- GtkContainerClass parent_class;
-
- /* Protected virtual method. */
- gboolean (*handle_shown) (EPaned *paned);
-};
-
-
-GtkType e_paned_get_type (void);
-void e_paned_add1 (EPaned *paned,
- GtkWidget *child);
-void e_paned_add2 (EPaned *paned,
- GtkWidget *child);
-void e_paned_pack1 (EPaned *paned,
- GtkWidget *child,
- gboolean resize,
- gboolean shrink);
-void e_paned_pack2 (EPaned *paned,
- GtkWidget *child,
- gboolean resize,
- gboolean shrink);
-gint e_paned_get_position (EPaned *paned);
-void e_paned_set_position (EPaned *paned,
- gint position);
-void e_paned_set_handle_size (EPaned *paned,
- guint16 size);
-
-/* Internal function */
-void e_paned_compute_position (EPaned *paned,
- gint allocation,
- gint child1_req,
- gint child2_req);
-
-gboolean e_paned_handle_shown (EPaned *paned);
-gint e_paned_quantized_size (EPaned *paned,
- int size);
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __E_PANED_H__ */
diff --git a/cut-n-paste-code/widgets/e-paned/e-vpaned.c b/cut-n-paste-code/widgets/e-paned/e-vpaned.c
deleted file mode 100644
index 37cf70713..000000000
--- a/cut-n-paste-code/widgets/e-paned/e-vpaned.c
+++ /dev/null
@@ -1,376 +0,0 @@
-/* EPaned - A slightly more advanced paned widget.
- * Copyright (C) 2000 Helix Code, Inc.
- *
- * Author: Christopher James Lahey <clahey@helixcode.com>
- *
- * based on GtkPaned from Gtk+. Gtk+ Copyright notice follows.
- */
-
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-1999. See the AUTHORS
- * file for a list of people on the GTK+ Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#include "e-vpaned.h"
-
-static void e_vpaned_class_init (EVPanedClass *klass);
-static void e_vpaned_init (EVPaned *vpaned);
-static void e_vpaned_size_request (GtkWidget *widget,
- GtkRequisition *requisition);
-static void e_vpaned_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation);
-static void e_vpaned_xor_line (EPaned *paned);
-static gboolean e_vpaned_button_press (GtkWidget *widget,
- GdkEventButton *event);
-static gboolean e_vpaned_button_release (GtkWidget *widget,
- GdkEventButton *event);
-static gboolean e_vpaned_motion (GtkWidget *widget,
- GdkEventMotion *event);
-static gboolean e_vpaned_handle_shown (EPaned *paned);
-
-GtkType
-e_vpaned_get_type (void)
-{
- static GtkType vpaned_type = 0;
-
- if (!vpaned_type)
- {
- static const GtkTypeInfo vpaned_info =
- {
- "EVPaned",
- sizeof (EVPaned),
- sizeof (EVPanedClass),
- (GtkClassInitFunc) e_vpaned_class_init,
- (GtkObjectInitFunc) e_vpaned_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- vpaned_type = gtk_type_unique (E_TYPE_PANED, &vpaned_info);
- }
-
- return vpaned_type;
-}
-
-static void
-e_vpaned_class_init (EVPanedClass *klass)
-{
- GtkWidgetClass *widget_class;
- EPanedClass *paned_class;
-
- widget_class = (GtkWidgetClass *) klass;
- paned_class = E_PANED_CLASS (klass);
-
- widget_class->size_request = e_vpaned_size_request;
- widget_class->size_allocate = e_vpaned_size_allocate;
- widget_class->button_press_event = e_vpaned_button_press;
- widget_class->button_release_event = e_vpaned_button_release;
- widget_class->motion_notify_event = e_vpaned_motion;
-
- paned_class->handle_shown = e_vpaned_handle_shown;
-}
-
-static void
-e_vpaned_init (EVPaned *vpaned)
-{
- EPaned *paned;
-
- g_return_if_fail (vpaned != NULL);
- g_return_if_fail (E_IS_PANED (vpaned));
-
- paned = E_PANED (vpaned);
-
- paned->cursor_type = GDK_SB_V_DOUBLE_ARROW;
-}
-
-GtkWidget *
-e_vpaned_new (void)
-{
- return gtk_widget_new (E_TYPE_VPANED, NULL);
-}
-
-static void
-e_vpaned_size_request (GtkWidget *widget,
- GtkRequisition *requisition)
-{
- EPaned *paned;
- GtkRequisition child_requisition;
-
- g_return_if_fail (widget != NULL);
- g_return_if_fail (E_IS_VPANED (widget));
- g_return_if_fail (requisition != NULL);
-
- paned = E_PANED (widget);
- requisition->width = 0;
- requisition->height = 0;
-
- if (paned->child1 && GTK_WIDGET_VISIBLE (paned->child1))
- {
- gtk_widget_size_request (paned->child1, &child_requisition);
-
- requisition->height = child_requisition.height;
- requisition->width = child_requisition.width;
- }
-
- if (paned->child2 && GTK_WIDGET_VISIBLE (paned->child2))
- {
- gtk_widget_size_request (paned->child2, &child_requisition);
-
- requisition->width = MAX (requisition->width, child_requisition.width);
- requisition->height += child_requisition.height;
- }
-
- requisition->height += GTK_CONTAINER (paned)->border_width * 2;
- requisition->width += GTK_CONTAINER (paned)->border_width * 2;
- if (e_paned_handle_shown(paned))
- requisition->height += paned->handle_size;
-}
-
-static void
-e_vpaned_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation)
-{
- EPaned *paned;
- GtkRequisition child1_requisition;
- GtkRequisition child2_requisition;
- GtkAllocation child1_allocation;
- GtkAllocation child2_allocation;
- gint border_width;
- gboolean handle_shown;
-
- g_return_if_fail (widget != NULL);
- g_return_if_fail (E_IS_VPANED (widget));
- g_return_if_fail (allocation != NULL);
-
- widget->allocation = *allocation;
- paned = E_PANED (widget);
- border_width = GTK_CONTAINER (widget)->border_width;
-
- if (paned->child1 && GTK_WIDGET_VISIBLE (paned->child1))
- gtk_widget_get_child_requisition (paned->child1, &child1_requisition);
- else
- child1_requisition.height = 0;
-
- if (paned->child2 && GTK_WIDGET_VISIBLE (paned->child2))
- gtk_widget_get_child_requisition (paned->child2, &child2_requisition);
- else
- child2_requisition.height = 0;
-
- e_paned_compute_position (paned,
- MAX (1, (gint) widget->allocation.height
- - 2 * border_width),
- child1_requisition.height,
- child2_requisition.height);
-
- /* Move the handle before the children so we don't get extra expose events */
-
- if (GTK_WIDGET_REALIZED (widget))
- gdk_window_move_resize (widget->window,
- allocation->x, allocation->y,
- allocation->width,
- allocation->height);
-
- handle_shown = e_paned_handle_shown(paned);
- if (handle_shown)
- {
- paned->handle_xpos = border_width;
- paned->handle_ypos = paned->child1_size + border_width;
- paned->handle_width = MAX (1, (gint) widget->allocation.width - 2 * border_width);
- paned->handle_height = paned->handle_size;
-
- if (GTK_WIDGET_REALIZED (widget))
- {
- gdk_window_move_resize (paned->handle,
- paned->handle_xpos,
- paned->handle_ypos,
- paned->handle_width,
- paned->handle_size);
- if (paned->handle)
- gdk_window_show(paned->handle);
- }
- }
- else
- {
- if (paned->handle && GTK_WIDGET_REALIZED (widget))
- gdk_window_hide(paned->handle);
- }
-
- child1_allocation.width = child2_allocation.width = MAX (1, (gint) allocation->width - border_width * 2);
- child1_allocation.height = paned->child1_size;
- child1_allocation.x = child2_allocation.x = border_width;
- child1_allocation.y = border_width;
-
- if (handle_shown)
- child2_allocation.y = child1_allocation.y + child1_allocation.height + paned->handle_height;
- else
- child2_allocation.y = child1_allocation.y + child1_allocation.height;
- child2_allocation.height = MAX(1, (gint) allocation->height - child2_allocation.y - border_width);
-
- /* Now allocate the childen, making sure, when resizing not to
- * overlap the windows */
- if (GTK_WIDGET_MAPPED (widget) &&
- paned->child1 && GTK_WIDGET_VISIBLE (paned->child1) &&
- paned->child1->allocation.height < child1_allocation.height)
- {
- if (paned->child2 && GTK_WIDGET_VISIBLE (paned->child2))
- gtk_widget_size_allocate(paned->child2, &child2_allocation);
- gtk_widget_size_allocate(paned->child1, &child1_allocation);
- }
- else
- {
- if (paned->child1 && GTK_WIDGET_VISIBLE (paned->child1))
- gtk_widget_size_allocate(paned->child1, &child1_allocation);
- if (paned->child2 && GTK_WIDGET_VISIBLE (paned->child2))
- gtk_widget_size_allocate(paned->child2, &child2_allocation);
- }
-}
-
-static void
-e_vpaned_xor_line (EPaned *paned)
-{
- GtkWidget *widget;
- GdkGCValues values;
- guint16 ypos;
-
- widget = GTK_WIDGET (paned);
-
- if (!paned->xor_gc)
- {
- values.function = GDK_INVERT;
- values.subwindow_mode = GDK_INCLUDE_INFERIORS;
- paned->xor_gc = gdk_gc_new_with_values (widget->window,
- &values,
- GDK_GC_FUNCTION | GDK_GC_SUBWINDOW);
- }
-
- gdk_gc_set_line_attributes (paned->xor_gc, 2, GDK_LINE_SOLID,
- GDK_CAP_NOT_LAST, GDK_JOIN_BEVEL);
-
- ypos = paned->child1_size
- + GTK_CONTAINER (paned)->border_width + paned->handle_size / 2;
-
- gdk_draw_line (widget->window, paned->xor_gc,
- 0,
- ypos,
- widget->allocation.width - 1,
- ypos);
-}
-
-static gboolean
-e_vpaned_button_press (GtkWidget *widget,
- GdkEventButton *event)
-{
- EPaned *paned;
-
- g_return_val_if_fail (widget != NULL, FALSE);
- g_return_val_if_fail (E_IS_PANED (widget), FALSE);
-
- paned = E_PANED (widget);
-
- if (!paned->in_drag &&
- (event->window == paned->handle) && (event->button == 1))
- {
- paned->old_child1_size = paned->child1_size;
- paned->in_drag = TRUE;
- /* We need a server grab here, not gtk_grab_add(), since
- * we don't want to pass events on to the widget's children */
- gdk_pointer_grab (paned->handle, FALSE,
- GDK_POINTER_MOTION_HINT_MASK
- | GDK_BUTTON1_MOTION_MASK
- | GDK_BUTTON_RELEASE_MASK, NULL, NULL,
- event->time);
- paned->child1_size = e_paned_quantized_size(paned, paned->child1_size + event->y - paned->handle_size / 2);
- paned->child1_size = CLAMP (paned->child1_size, 0,
- widget->allocation.height -
- paned->handle_size -
- 2 * GTK_CONTAINER (paned)->border_width);
- e_vpaned_xor_line(paned);
-
- return TRUE;
- }
-
- return FALSE;
-}
-
-static gboolean
-e_vpaned_button_release (GtkWidget *widget,
- GdkEventButton *event)
-{
- EPaned *paned;
-
- g_return_val_if_fail (widget != NULL, FALSE);
- g_return_val_if_fail (E_IS_PANED (widget), FALSE);
-
- paned = E_PANED (widget);
-
- if (paned->in_drag && (event->button == 1))
- {
- e_vpaned_xor_line (paned);
- paned->in_drag = FALSE;
- paned->position_set = TRUE;
- gdk_pointer_ungrab (event->time);
- gtk_widget_queue_resize (GTK_WIDGET (paned));
-
- return TRUE;
- }
-
- return FALSE;
-}
-
-static gboolean
-e_vpaned_motion (GtkWidget *widget,
- GdkEventMotion *event)
-{
- EPaned *paned;
- gint y;
-
- g_return_val_if_fail (widget != NULL, FALSE);
- g_return_val_if_fail (E_IS_PANED (widget), FALSE);
-
- if (event->is_hint || event->window != widget->window)
- gtk_widget_get_pointer (widget, NULL, &y);
- else
- y = event->y;
-
- paned = E_PANED (widget);
-
- if (paned->in_drag)
- {
- gint size = y - GTK_CONTAINER(paned)->border_width - paned->handle_size / 2;
-
- e_vpaned_xor_line (paned);
- paned->child1_size = CLAMP (e_paned_quantized_size(paned, size), paned->min_position, paned->max_position);
- e_vpaned_xor_line(paned);
- }
-
- return TRUE;
-}
-
-static gboolean
-e_vpaned_handle_shown (EPaned *paned)
-{
- return ((paned->child1 && paned->child2) &&
- (GTK_WIDGET_VISIBLE (paned->child1) && GTK_WIDGET_VISIBLE (paned->child2)));
-}
diff --git a/cut-n-paste-code/widgets/e-paned/e-vpaned.h b/cut-n-paste-code/widgets/e-paned/e-vpaned.h
deleted file mode 100644
index fbd18e8ea..000000000
--- a/cut-n-paste-code/widgets/e-paned/e-vpaned.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* EPaned - A slightly more advanced paned widget.
- * Copyright (C) 2000 Helix Code, Inc.
- *
- * Author: Christopher James Lahey <clahey@helixcode.com>
- *
- * based on GtkPaned from Gtk+. Gtk+ Copyright notice follows.
- */
-
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GTK+ Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#ifndef __E_VPANED_H__
-#define __E_VPANED_H__
-
-#include "e-paned.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define E_TYPE_VPANED (e_vpaned_get_type ())
-#define E_VPANED(obj) (GTK_CHECK_CAST ((obj), E_TYPE_VPANED, EVPaned))
-#define E_VPANED_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_TYPE_VPANED, EVPanedClass))
-#define E_IS_VPANED(obj) (GTK_CHECK_TYPE ((obj), E_TYPE_VPANED))
-#define E_IS_VPANED_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), E_TYPE_VPANED))
-#define E_VPANED_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), E_TYPE_VPANED, EVPanedClass))
-
-
-typedef struct _EVPaned EVPaned;
-typedef struct _EVPanedClass EVPanedClass;
-
-struct _EVPaned
-{
- EPaned paned;
-};
-
-struct _EVPanedClass
-{
- EPanedClass parent_class;
-};
-
-GtkType e_vpaned_get_type (void);
-GtkWidget *e_vpaned_new (void);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __E_VPANED_H__ */
diff --git a/data/Makefile.am b/data/Makefile.am
index ff0e52b7f..6cd4ceb79 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -50,7 +50,6 @@ EXTRA_DIST = $(nautilusdata_DATA) \
SUBDIRS = \
emblems \
- linksets \
patterns \
$(NULL)
diff --git a/data/linksets/.cvsignore b/data/linksets/.cvsignore
deleted file mode 100644
index 282522db0..000000000
--- a/data/linksets/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/data/linksets/Makefile.am b/data/linksets/Makefile.am
deleted file mode 100644
index 8f72f873c..000000000
--- a/data/linksets/Makefile.am
+++ /dev/null
@@ -1,13 +0,0 @@
-NULL=
-
-linkdir = $(datadir)/nautilus/linksets
-
-link_DATA = \
- apps.xml \
- desktop.xml \
- home.xml \
- portals.xml \
- search_engines.xml \
- $(NULL)
-
-EXTRA_DIST = $(link_DATA)
diff --git a/data/linksets/apps.xml b/data/linksets/apps.xml
deleted file mode 100644
index 718afeca5..000000000
--- a/data/linksets/apps.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<linkset _name="Applications">
- <link _name="Netscape" image="netscape.png" uri="command:netscape"/>
- <link _name="The Gimp" image="gnome-gimp.png" uri="command:gimp"/>
- <link _name="Gnumeric" image="gnome-gnumeric.png" uri="command:gnumeric"/>
-</linkset>
diff --git a/data/linksets/desktop.xml b/data/linksets/desktop.xml
deleted file mode 100644
index 7f1179b41..000000000
--- a/data/linksets/desktop.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0"?>
-<linkset _name="Desktop">
- <link _name="Trash" image="trash-empty.png" uri="~/Trash"/>
-</linkset>
diff --git a/data/linksets/home.xml b/data/linksets/home.xml
deleted file mode 100644
index b77d3c05f..000000000
--- a/data/linksets/home.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0"?>
-<linkset _name="Home Directory">
- <link _name="Computer" image="computer.svg" uri="hardware:overview"/>
- <link _name="Services" image="hand" uri="eazel:"/>
- </linkset>
diff --git a/data/linksets/portals.xml b/data/linksets/portals.xml
deleted file mode 100644
index 336d56936..000000000
--- a/data/linksets/portals.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0"?>
-<linkset _name="Portals">
- <link _name="Yahoo" image="http://dellbert.differnet.com/webicons/yahoo.png" uri="http://www.yahoo.com"/>
- <link _name="Excite" image="http://dellbert.differnet.com/webicons/excite.png" uri="http://www.excite.com"/>
- </linkset>
diff --git a/data/linksets/search_engines.xml b/data/linksets/search_engines.xml
deleted file mode 100644
index bf0bbcc7d..000000000
--- a/data/linksets/search_engines.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0"?>
-<linkset _name="Search Engines">
- <link _name="Google" image="http://dellbert.differnet.com/webicons/google.png" uri="http://www.google.com"/>
- <link _name="Alta Vista" image="http://dellbert.differnet.com/webicons/altavista.png" uri="http://www.altavista.com"/>
- </linkset>
diff --git a/libnautilus-private/Makefile.am b/libnautilus-private/Makefile.am
index c657b2860..c16b7fea5 100644
--- a/libnautilus-private/Makefile.am
+++ b/libnautilus-private/Makefile.am
@@ -5,14 +5,12 @@ lib_LTLIBRARIES=libnautilus-private.la
INCLUDES = \
-I$(top_srcdir) \
-I$(top_builddir) \
- -I$(top_srcdir)/cut-n-paste-code/widgets/e-paned \
$(LIBNAUTILUS_PRIVATE_CFLAGS) \
-DDATADIR=\""$(datadir)"\" \
-DNAUTILUS_DATADIR=\""$(datadir)/nautilus"\" \
$(NULL)
dependency_static_libs = \
- $(top_builddir)/cut-n-paste-code/widgets/e-paned/libe-paned.la \
$(top_builddir)/cut-n-paste-code/widgets/gimphwrapbox/libgtkhwrapbox.la \
$(NULL)
@@ -112,8 +110,6 @@ libnautilus_private_la_SOURCES = \
nautilus-link-desktop-file.h \
nautilus-link-historical.c \
nautilus-link-historical.h \
- nautilus-link-set.c \
- nautilus-link-set.h \
nautilus-link.c \
nautilus-link.h \
nautilus-marshal-guts.h \
diff --git a/libnautilus-private/nautilus-file-utilities.c b/libnautilus-private/nautilus-file-utilities.c
index a5b05aab5..19d2a8f67 100644
--- a/libnautilus-private/nautilus-file-utilities.c
+++ b/libnautilus-private/nautilus-file-utilities.c
@@ -27,7 +27,6 @@
#include "nautilus-global-preferences.h"
#include "nautilus-lib-self-check-functions.h"
-#include "nautilus-link-set.h"
#include "nautilus-metadata.h"
#include "nautilus-metafile.h"
#include <eel/eel-glib-extensions.h>
diff --git a/libnautilus-private/nautilus-horizontal-splitter.c b/libnautilus-private/nautilus-horizontal-splitter.c
index 3a5c5a674..1f18dadc8 100644
--- a/libnautilus-private/nautilus-horizontal-splitter.c
+++ b/libnautilus-private/nautilus-horizontal-splitter.c
@@ -26,13 +26,12 @@
#include "nautilus-horizontal-splitter.h"
#include <eel/eel-gtk-macros.h>
-
#include <stdlib.h>
struct NautilusHorizontalSplitterDetails {
- gboolean down;
- double down_position;
- guint32 down_time;
+ double press_x;
+ guint32 press_time;
+ int press_position;
int saved_size;
};
@@ -43,62 +42,21 @@ struct NautilusHorizontalSplitterDetails {
#define SPLITTER_CLICK_SLOP 1
#define SPLITTER_CLICK_TIMEOUT 400
-/* NautilusHorizontalSplitterClass methods */
-static void nautilus_horizontal_splitter_class_init (NautilusHorizontalSplitterClass *horizontal_splitter_class);
-static void nautilus_horizontal_splitter_init (NautilusHorizontalSplitter *horizontal_splitter);
-static gboolean nautilus_horizontal_splitter_button_press (GtkWidget *widget,
- GdkEventButton *event);
-static gboolean nautilus_horizontal_splitter_button_release (GtkWidget *widget,
- GdkEventButton *event);
-static gboolean nautilus_horizontal_splitter_motion (GtkWidget *widget,
- GdkEventMotion *event);
-
-/* GtkObjectClass methods */
-static void nautilus_horizontal_splitter_destroy (GtkObject *object);
-
-/* GtkWidgetClass methods */
-#if GNOME2_CONVERSION_COMPLETE
-static void nautilus_horizontal_splitter_draw (GtkWidget *widget,
- GdkRectangle *area);
-#endif
+static void nautilus_horizontal_splitter_class_init (NautilusHorizontalSplitterClass *horizontal_splitter_class);
+static void nautilus_horizontal_splitter_init (NautilusHorizontalSplitter *horizontal_splitter);
EEL_CLASS_BOILERPLATE (NautilusHorizontalSplitter,
- nautilus_horizontal_splitter,
- E_TYPE_HPANED)
-
-/* GtkObjectClass methods */
-static void
-nautilus_horizontal_splitter_class_init (NautilusHorizontalSplitterClass *horizontal_splitter_class)
-{
- GtkObjectClass *object_class;
- GtkWidgetClass *widget_class;
-
- object_class = GTK_OBJECT_CLASS (horizontal_splitter_class);
- widget_class = GTK_WIDGET_CLASS (horizontal_splitter_class);
-
- /* GtkObjectClass */
- object_class->destroy = nautilus_horizontal_splitter_destroy;
-
- /* GtkWidgetClass */
-#if GNOME2_CONVERSION_COMPLETE
- widget_class->draw = nautilus_horizontal_splitter_draw;
-#endif
- widget_class->button_press_event = nautilus_horizontal_splitter_button_press;
- widget_class->button_release_event = nautilus_horizontal_splitter_button_release;
- widget_class->motion_notify_event = nautilus_horizontal_splitter_motion;
-
-}
+ nautilus_horizontal_splitter,
+ GTK_TYPE_HPANED)
static void
nautilus_horizontal_splitter_init (NautilusHorizontalSplitter *horizontal_splitter)
{
horizontal_splitter->details = g_new0 (NautilusHorizontalSplitterDetails, 1);
- e_paned_set_handle_size (E_PANED (horizontal_splitter), BAR_WIDTH);
}
-/* GtkObjectClass methods */
static void
-nautilus_horizontal_splitter_destroy (GtkObject *object)
+nautilus_horizontal_splitter_finalize (GObject *object)
{
NautilusHorizontalSplitter *horizontal_splitter;
@@ -106,223 +64,64 @@ nautilus_horizontal_splitter_destroy (GtkObject *object)
g_free (horizontal_splitter->details);
- /* Chain */
- EEL_CALL_PARENT (GTK_OBJECT_CLASS, destroy, (object));
+ EEL_CALL_PARENT (G_OBJECT_CLASS, finalize, (object));
}
-#if GNOME2_CONVERSION_COMPLETE
-
static void
-draw_resize_bar (GtkWidget *widget,
- GdkWindow *window,
- const GdkRectangle *area)
+splitter_expand (NautilusHorizontalSplitter *splitter, int position)
{
- GtkStyle *style;
- GdkGC *gcs[BAR_WIDTH];
- guint i;
-
- g_assert (widget != NULL);
- g_assert (window != NULL);
- g_assert (area != NULL);
- g_assert (area->width == BAR_WIDTH);
+ g_return_if_fail (NAUTILUS_IS_HORIZONTAL_SPLITTER (splitter));
- style = widget->style;
+ if (position >= CLOSED_THRESHOLD) {
+ return;
+ }
- g_assert (style != NULL);
-
- gcs[0] = style->fg_gc[GTK_STATE_NORMAL];
- gcs[1] = style->fg_gc[GTK_STATE_SELECTED];
- gcs[2] = style->light_gc[GTK_STATE_ACTIVE];
- gcs[3] = style->bg_gc[GTK_STATE_NORMAL];
- gcs[4] = style->mid_gc[GTK_STATE_ACTIVE];
- gcs[5] = style->dark_gc[GTK_STATE_NORMAL];
- gcs[6] = style->fg_gc[GTK_STATE_NORMAL];
-
- for (i = 0; i < BAR_WIDTH; i++)
- {
- gdk_draw_line (window,
- gcs[i],
- area->x + i,
- area->y,
- area->x + i,
- area->y + area->height - 1);
+ position = splitter->details->saved_size;
+ if (position < CLOSED_THRESHOLD) {
+ position = NOMINAL_SIZE;
}
+
+ gtk_paned_set_position (GTK_PANED (splitter), position);
}
-/* Number of ridges in the thumb currently hardcoded to 8 */
-#define NUM_RIDGES 8
-
-/* These control the layout of the ridges */
-#define RIDGE_HEIGHT 2
-#define RIDGE_EDGE_OFFSET 2
-#define BETWEEN_RIDGE_OFFSET 1
-
static void
-draw_resize_bar_thumb (GtkWidget *widget,
- GdkWindow *window,
- const GdkRectangle *area)
+splitter_collapse (NautilusHorizontalSplitter *splitter, int position)
{
- EPaned *paned;
- GtkStyle *style;
- GdkGC *light_gc;
- GdkGC *dark_gc;
- guint total_thumb_height;
-
- g_assert (widget != NULL);
- g_assert (window != NULL);
- g_assert (area != NULL);
- g_assert (area->width == BAR_WIDTH);
-
- style = widget->style;
- g_assert (style != NULL);
-
- paned = E_PANED (widget);
-
- light_gc = style->light_gc[GTK_STATE_ACTIVE];
- dark_gc = style->dark_gc[GTK_STATE_NORMAL];
-
- total_thumb_height = (NUM_RIDGES * RIDGE_HEIGHT) + ((NUM_RIDGES - 1) * BETWEEN_RIDGE_OFFSET);
-
- /* Make sure the thumb aint bigger than the handle */
- if (total_thumb_height > paned->handle_height)
- {
- total_thumb_height = paned->handle_height;
- }
+ g_return_if_fail (NAUTILUS_IS_HORIZONTAL_SPLITTER (splitter));
- /* Draw the thumb only if we have enough space for at least one ridge */
- if (total_thumb_height > RIDGE_HEIGHT)
- {
- gint y = paned->handle_ypos + (paned->handle_height - total_thumb_height) / 2;
- guint i;
-
- for (i = 0; i < NUM_RIDGES; i++)
- {
- gint x1 = area->x + RIDGE_EDGE_OFFSET;
- gint x2 = area->x + BAR_WIDTH - RIDGE_EDGE_OFFSET;
-
- gdk_draw_line (window,
- dark_gc,
- x1,
- y,
- x2,
- y);
-
- y += BETWEEN_RIDGE_OFFSET;
-
- gdk_draw_line (window,
- light_gc,
- x1,
- y,
- x2,
- y);
-
- y += RIDGE_HEIGHT;
- }
- }
+ splitter->details->saved_size = position;
+ gtk_paned_set_position (GTK_PANED (splitter), 0);
}
-/* GtkWidgetClass methods */
static void
-nautilus_horizontal_splitter_draw (GtkWidget *widget,
- GdkRectangle *area)
+splitter_toggle (NautilusHorizontalSplitter *splitter, int position)
{
- EPaned *paned;
- GdkRectangle handle_area, child_area;
- guint16 border_width;
-
- g_return_if_fail (widget != NULL);
- g_return_if_fail (E_IS_PANED (widget));
-
- if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_MAPPED (widget)) {
- paned = E_PANED (widget);
- border_width = GTK_CONTAINER (paned)->border_width;
-
- gdk_window_clear_area (widget->window,
- area->x, area->y, area->width,
- area->height);
-
- if (e_paned_handle_shown(paned)) {
- handle_area.x = paned->handle_xpos;
- handle_area.y = paned->handle_ypos;
- handle_area.width = paned->handle_size;
- handle_area.height = paned->handle_height;
-
- if (gdk_rectangle_intersect (&handle_area, area, &child_area)) {
- child_area.x -= paned->handle_xpos;
- child_area.y -= paned->handle_ypos;
-
- /* Simply things by always drawing the full width of the bar. */
- child_area.x = 0;
- child_area.width = BAR_WIDTH;
-
- draw_resize_bar (widget, paned->handle, &child_area);
- draw_resize_bar_thumb (widget, paned->handle, &child_area);
- }
- }
-
- /* Redraw the children
- */
- if (paned->child1 && gtk_widget_intersect (paned->child1, area, &child_area)) {
- gtk_widget_draw (paned->child1, &child_area);
- }
+ g_return_if_fail (NAUTILUS_IS_HORIZONTAL_SPLITTER (splitter));
- if (paned->child2 && gtk_widget_intersect (paned->child2, area, &child_area)) {
- gtk_widget_draw (paned->child2, &child_area);
- }
+ if (gtk_paned_get_position (GTK_PANED (splitter)) >= CLOSED_THRESHOLD) {
+ nautilus_horizontal_splitter_collapse (splitter);
+ } else {
+ nautilus_horizontal_splitter_expand (splitter);
}
}
-#endif
-
void
nautilus_horizontal_splitter_expand (NautilusHorizontalSplitter *splitter)
{
- int position;
-
- g_return_if_fail (NAUTILUS_IS_HORIZONTAL_SPLITTER (splitter));
-
- position = e_paned_get_position (E_PANED (splitter));
-
- if (position >= CLOSED_THRESHOLD) {
- return;
- }
-
- position = splitter->details->saved_size;
- if (position < CLOSED_THRESHOLD) {
- position = NOMINAL_SIZE;
- }
-
- e_paned_set_position (E_PANED (splitter), position);
+ splitter_expand (splitter, gtk_paned_get_position (GTK_PANED (splitter)));
}
void
nautilus_horizontal_splitter_collapse (NautilusHorizontalSplitter *splitter)
{
- int position;
-
- g_return_if_fail (NAUTILUS_IS_HORIZONTAL_SPLITTER (splitter));
-
- position = e_paned_get_position (E_PANED (splitter));
-
- if (position < CLOSED_THRESHOLD) {
- return;
- }
-
- splitter->details->saved_size = position;
- e_paned_set_position (E_PANED (splitter), 0);
+ splitter_collapse (splitter, gtk_paned_get_position (GTK_PANED (splitter)));
}
/* routine to toggle the open/closed state of the splitter */
void
nautilus_horizontal_splitter_toggle_position (NautilusHorizontalSplitter *splitter)
{
- g_return_if_fail (NAUTILUS_IS_HORIZONTAL_SPLITTER (splitter));
-
- if (e_paned_get_position (E_PANED (splitter)) >= CLOSED_THRESHOLD) {
- nautilus_horizontal_splitter_collapse (splitter);
- } else {
- nautilus_horizontal_splitter_expand (splitter);
- }
+ splitter_toggle (splitter, gtk_paned_get_position (GTK_PANED (splitter)));
}
/* NautilusHorizontalSplitter public methods */
@@ -336,120 +135,58 @@ nautilus_horizontal_splitter_new (void)
static gboolean
nautilus_horizontal_splitter_button_press (GtkWidget *widget, GdkEventButton *event)
{
+ gboolean result;
NautilusHorizontalSplitter *splitter;
+ int position;
splitter = NAUTILUS_HORIZONTAL_SPLITTER (widget);
- if (event->window != E_PANED (widget)->handle) {
- splitter->details->down = FALSE;
- } else {
- splitter->details->down = TRUE;
- splitter->details->down_position = event->x;
- splitter->details->down_time = event->time;
- }
+ position = gtk_paned_get_position (GTK_PANED (widget));
- return EEL_CALL_PARENT_WITH_RETURN_VALUE
+ result = EEL_CALL_PARENT_WITH_RETURN_VALUE
(GTK_WIDGET_CLASS, button_press_event, (widget, event));
-}
-
-static void
-splitter_xor_line (EPaned *paned)
-{
- GtkWidget *widget;
- GdkGCValues values;
- guint16 xpos, half_width;
- gint8 dash_list[2];
-
- widget = GTK_WIDGET(paned);
-
- if (!paned->xor_gc) {
- values.function = GDK_INVERT;
- values.subwindow_mode = GDK_INCLUDE_INFERIORS;
- paned->xor_gc = gdk_gc_new_with_values (widget->window, &values,
- GDK_GC_FUNCTION | GDK_GC_SUBWINDOW);
+ if (result) {
+ splitter->details->press_x = event->x;
+ splitter->details->press_time = event->time;
+ splitter->details->press_position = position;
}
- gdk_gc_set_line_attributes (paned->xor_gc, 1, GDK_LINE_ON_OFF_DASH,
- GDK_CAP_NOT_LAST, GDK_JOIN_BEVEL);
-
- /* Make line appear as every other pixel dash */
- dash_list[0] = 1;
- dash_list[1] = 1;
- gdk_gc_set_dashes (paned->xor_gc, 1, dash_list, 2);
-
- xpos = paned->child1_size + GTK_CONTAINER (paned)->border_width + paned->handle_size / 2;
- half_width = paned->handle_size / 2;
-
- gdk_draw_line (widget->window, paned->xor_gc, xpos - half_width, 0, xpos - half_width,
- widget->allocation.height - 1);
-
- gdk_draw_line (widget->window, paned->xor_gc, xpos + half_width, 0, xpos + half_width,
- widget->allocation.height - 1);
-
+ return result;
}
-
/* handle mouse ups by seeing if it was a tap and toggling the open state accordingly */
static gboolean
nautilus_horizontal_splitter_button_release (GtkWidget *widget, GdkEventButton *event)
{
+ gboolean result;
NautilusHorizontalSplitter *splitter;
int delta, delta_time;
- EPaned *paned;
-
splitter = NAUTILUS_HORIZONTAL_SPLITTER (widget);
- if (event->window == E_PANED (widget)->handle
- && splitter->details->down) {
- delta = abs (event->x - splitter->details->down_position);
- delta_time = abs (splitter->details->down_time - event->time);
+ result = EEL_CALL_PARENT_WITH_RETURN_VALUE
+ (GTK_WIDGET_CLASS, button_release_event, (widget, event));
+
+ if (result) {
+ delta = abs (event->x - splitter->details->press_x);
+ delta_time = event->time - splitter->details->press_time;
if (delta < SPLITTER_CLICK_SLOP && delta_time < SPLITTER_CLICK_TIMEOUT) {
nautilus_horizontal_splitter_toggle_position (splitter);
}
}
- splitter->details->down = FALSE;
-
-
- paned = E_PANED (widget);
-
- if (paned->in_drag && (event->button == 1)) {
- splitter_xor_line (paned);
- paned->in_drag = FALSE;
- paned->position_set = TRUE;
- gdk_pointer_ungrab (event->time);
- gtk_widget_queue_resize (GTK_WIDGET (paned));
- return TRUE;
- }
-
- return FALSE;
+ return result;
}
-static gboolean
-nautilus_horizontal_splitter_motion (GtkWidget *widget, GdkEventMotion *event)
+static void
+nautilus_horizontal_splitter_class_init (NautilusHorizontalSplitterClass *class)
{
- EPaned *paned;
- gint x;
-
- g_return_val_if_fail (widget != NULL, FALSE);
- g_return_val_if_fail (E_IS_PANED (widget), FALSE);
-
- paned = E_PANED (widget);
-
- if (event->is_hint || event->window != widget->window) {
- gtk_widget_get_pointer(widget, &x, NULL);
- } else {
- x = event->x;
- }
+ GtkWidgetClass *widget_class;
+
+ widget_class = GTK_WIDGET_CLASS (class);
- if (paned->in_drag) {
- gint size = x - GTK_CONTAINER (paned)->border_width - paned->handle_size / 2;
- splitter_xor_line (paned);
- paned->child1_size = CLAMP (e_paned_quantized_size (paned, size), paned->min_position, paned->max_position);
- splitter_xor_line (paned);
- }
+ G_OBJECT_CLASS (class)->finalize = nautilus_horizontal_splitter_finalize;
- return TRUE;
+ widget_class->button_press_event = nautilus_horizontal_splitter_button_press;
+ widget_class->button_release_event = nautilus_horizontal_splitter_button_release;
}
-
diff --git a/libnautilus-private/nautilus-horizontal-splitter.h b/libnautilus-private/nautilus-horizontal-splitter.h
index 4db95128b..a4cc639d1 100644
--- a/libnautilus-private/nautilus-horizontal-splitter.h
+++ b/libnautilus-private/nautilus-horizontal-splitter.h
@@ -25,7 +25,7 @@
#ifndef NAUTILUS_HORIZONTAL_SPLITTER_H
#define NAUTILUS_HORIZONTAL_SPLITTER_H
-#include "e-hpaned.h"
+#include <gtk/gtkhpaned.h>
G_BEGIN_DECLS
@@ -38,12 +38,12 @@ G_BEGIN_DECLS
typedef struct NautilusHorizontalSplitterDetails NautilusHorizontalSplitterDetails;
typedef struct {
- EHPaned parent_slot;
+ GtkHPaned parent_slot;
NautilusHorizontalSplitterDetails *details;
} NautilusHorizontalSplitter;
typedef struct {
- EHPanedClass parent_slot;
+ GtkHPanedClass parent_slot;
} NautilusHorizontalSplitterClass;
/* NautilusHorizontalSplitter public methods */
diff --git a/libnautilus-private/nautilus-link-set.c b/libnautilus-private/nautilus-link-set.c
deleted file mode 100644
index fc89d79c6..000000000
--- a/libnautilus-private/nautilus-link-set.c
+++ /dev/null
@@ -1,212 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-
-
- nautilus-link-set.c: xml-based link file sets.
-
- 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>
-*/
-
-#include <config.h>
-#include "nautilus-link-set.h"
-
-#include "nautilus-file-utilities.h"
-#include "nautilus-file.h"
-#include "nautilus-global-preferences.h"
-#include "nautilus-link.h"
-#include "nautilus-metadata.h"
-#include <eel/eel-glib-extensions.h>
-#include <eel/eel-string.h>
-#include <eel/eel-xml-extensions.h>
-#include <libxml/parser.h>
-#include <libxml/xmlmemory.h>
-#include <gtk/gtktogglebutton.h>
-#include <gtk/gtkwindow.h>
-#include <libgnome/gnome-util.h>
-#include <libgnomevfs/gnome-vfs.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-/* routine to create a new link file in the specified directory */
-static gboolean
-create_new_link (const char *directory_path, const char *name, const char *image, const char *uri)
-{
- xmlDocPtr output_document;
- xmlNodePtr root_node;
- char *file_name;
- int result;
-
- /* create a new xml document */
- output_document = xmlNewDoc ("1.0");
-
- /* add the root node to the output document */
- root_node = xmlNewDocNode (output_document, NULL, "nautilus_object", NULL);
- xmlDocSetRootElement (output_document, root_node);
-
- /* Add mime magic string so that the mime sniffer can recognize us.
- * Note: The value of the tag has no meaning. */
- xmlSetProp (root_node, "nautilus_link", "Nautilus Link");
-
- /* Add link and custom icon tags */
- xmlSetProp (root_node, "custom_icon", image);
- xmlSetProp (root_node, "link", uri);
-
- /* all done, so save the xml document as a link file */
- file_name = nautilus_make_path (directory_path, name);
- result = xmlSaveFile (file_name, output_document);
- g_free (file_name);
-
- xmlFreeDoc (output_document);
-
- return result > 0;
-}
-
-/* utility to return link set path */
-
-static xmlDocPtr
-get_link_set_document(const char *link_set_name)
-{
- char *link_set_path;
- xmlDocPtr document;
-
- link_set_path = g_strdup_printf ("%s/linksets/%s.xml",
- NAUTILUS_DATADIR,
- link_set_name);
- document = xmlParseFile (link_set_path);
- g_free (link_set_path);
-
- return document;
-}
-
-/* install a link set into the specified directory */
-
-gboolean
-nautilus_link_set_install (const char *directory_path, const char *link_set_name)
-{
- xmlDocPtr document;
- xmlNodePtr node;
- char *link_name, *image_name, *uri, *full_uri;
- gboolean created;
-
- /* load and parse the link set document */
- document = get_link_set_document (link_set_name);
- if (document == NULL) {
- g_warning ("could not load %s", link_set_name);
- return FALSE;
- }
-
- /* loop through the entries, generating link files */
- for (node = eel_xml_get_children (xmlDocGetRootElement (document));
- node != NULL; node = node->next) {
- if (strcmp (node->name, "link") == 0) {
- link_name = eel_xml_get_property_translated (node, "name");
- image_name = xmlGetProp (node, "image");
- uri = xmlGetProp (node, "uri");
-
- /* Expand special URIs */
- full_uri = gnome_vfs_expand_initial_tilde (uri);
-
- /* create the link file */
- created = create_new_link (directory_path, link_name,
- image_name, full_uri);
-
- xmlFree (link_name);
- xmlFree (image_name);
- xmlFree (uri);
- g_free (full_uri);
-
- if (!created) {
- xmlFreeDoc (document);
- return FALSE;
- }
- }
- }
-
- xmlFreeDoc (document);
- return TRUE;
-}
-
-/* test to see if a link set is installed. Return TRUE if all of the members are installed, false otherwise */
-
-gboolean
-nautilus_link_set_is_installed (const char *directory_path, const char *link_set_name)
-{
- xmlDocPtr document;
- xmlNodePtr node;
- char *link_name, *file_name;
-
- /* load and parse the link set document */
- document = get_link_set_document (link_set_name);
- if (document == NULL) {
- g_warning ("could not load %s", link_set_name);
- return FALSE;
- }
-
- /* loop through the entries, testing to see if any are present */
- for (node = eel_xml_get_children (xmlDocGetRootElement (document));
- node != NULL; node = node->next) {
- if (strcmp (node->name, "link") == 0) {
- link_name = eel_xml_get_property_translated (node, "name");
- file_name = nautilus_make_path (directory_path, link_name);
- xmlFree (link_name);
-
- if (!g_file_exists (file_name)) {
- g_free (file_name);
- xmlFreeDoc (document);
- return FALSE;
- }
- g_free (file_name);
- }
- }
-
- xmlFreeDoc (document);
- return TRUE;
-}
-
-/* remove a link set from the specified directory */
-void
-nautilus_link_set_remove (const char *directory_path, const char *link_set_name)
-{
- xmlDocPtr document;
- xmlNodePtr node;
- char *link_name, *file_name;
-
- document = get_link_set_document(link_set_name);
- if (document == NULL) {
- g_message ("could not load %s", link_set_name);
- return;
- }
-
- /* loop through the entries in the xml file, formulating the names of the link files and
- deleting them or decrementing their reference count */
- for (node = eel_xml_get_children (xmlDocGetRootElement (document));
- node != NULL; node = node->next) {
- if (strcmp (node->name, "link") == 0) {
- /* formulate the link file path name */
- link_name = eel_xml_get_property_translated (node, "name");
- file_name = nautilus_make_path (directory_path, link_name);
- xmlFree (link_name);
-
- /* delete the file */
- unlink (file_name);
- g_free (link_name);
- }
- }
-
- xmlFreeDoc (document);
-}
diff --git a/libnautilus-private/nautilus-link-set.h b/libnautilus-private/nautilus-link-set.h
deleted file mode 100644
index 64bb00f4a..000000000
--- a/libnautilus-private/nautilus-link-set.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-
-
- nautilus-link-set.h: xml-based sets of link files
-
- 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: Andy Hertzfeld <andy@eazel.com>
-*/
-
-#ifndef NAUTILUS_LINK_SET_H
-#define NAUTILUS_LINK_SET_H
-
-#include <glib.h>
-#include <gtk/gtkwindow.h>
-
-gboolean nautilus_link_set_install (const char *directory_path,
- const char *link_set_name);
-void nautilus_link_set_remove (const char *directory_path,
- const char *link_set_name);
-gboolean nautilus_link_set_is_installed (const char *directory_path,
- const char *link_set_name);
-
-#endif /* NAUTILUS_LINK_SET_H */
diff --git a/libnautilus-private/nautilus-program-chooser.c b/libnautilus-private/nautilus-program-chooser.c
index 38d8b60b6..f8482d6f1 100644
--- a/libnautilus-private/nautilus-program-chooser.c
+++ b/libnautilus-private/nautilus-program-chooser.c
@@ -938,6 +938,7 @@ launch_mime_capplet_on_ok (GtkDialog *dialog, int response, gpointer callback_da
if (response == GTK_RESPONSE_OK) {
launch_mime_capplet (callback_data);
}
+ gtk_object_destroy (GTK_OBJECT (dialog));
}
static void
@@ -951,13 +952,10 @@ launch_mime_capplet_and_close_dialog (GtkButton *button, gpointer callback_data)
file_pair = get_selected_program_file_pair (GTK_DIALOG (callback_data));
mime_type = nautilus_file_get_mime_type (file_pair->file);
launch_mime_capplet (mime_type);
-
- /* Don't leave a nested modal dialogs in the wake of switching
- * user's attention to the capplet.
- */
- gtk_dialog_response (GTK_DIALOG (callback_data), GTK_RESPONSE_OK);
g_free (mime_type);
+
+ gtk_object_destroy (GTK_OBJECT (callback_data));
}
static void
diff --git a/src/Makefile.am b/src/Makefile.am
index eb074b047..ca0ad5cf4 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -6,7 +6,6 @@ bin_PROGRAMS=nautilus
INCLUDES =\
-I$(top_srcdir) \
- -I$(top_srcdir)/cut-n-paste-code/widgets/e-paned \
-I$(top_srcdir)/cut-n-paste-code/widgets/gimphwrapbox \
$(NAUTILUS_SRC_CFLAGS) \
-DDATADIR=\""$(datadir)"\" \
@@ -50,7 +49,6 @@ nautilus_SOURCES = \
nautilus-component-adapter-factory.c \
nautilus-desktop-window.c \
nautilus-first-time-druid.c \
- nautilus-link-set-window.c \
nautilus-location-bar.c \
nautilus-main.c \
nautilus-navigation-bar.c \
@@ -86,7 +84,6 @@ nautilus_SOURCES = \
nautilus-component-adapter-factory.h \
nautilus-desktop-window.h \
nautilus-first-time-druid.h \
- nautilus-link-set-window.h \
nautilus-location-bar.h \
nautilus-main.h \
nautilus-navigation-bar.h \
diff --git a/src/nautilus-information-panel.c b/src/nautilus-information-panel.c
index 3f2a3a4fb..0a188ddc7 100644
--- a/src/nautilus-information-panel.c
+++ b/src/nautilus-information-panel.c
@@ -30,7 +30,6 @@
#include <config.h>
#include "nautilus-sidebar.h"
-#include "nautilus-link-set-window.h"
#include "nautilus-sidebar-tabs.h"
#include "nautilus-sidebar-title.h"
@@ -1282,23 +1281,13 @@ command_button_callback (GtkWidget *button, char *id_str)
/* interpret commands for buttons specified by metadata. Handle some built-in ones explicitly, or fork
a shell to handle general ones */
-/* for now, we only handle a few built in commands */
+/* for now, we don't have any of these */
static void
metadata_button_callback (GtkWidget *button, const char *command_str)
{
- GtkWindow *window;
NautilusSidebar *sidebar;
- char *path;
-
+
sidebar = NAUTILUS_SIDEBAR (gtk_object_get_user_data (GTK_OBJECT (button)));
- if (strcmp (command_str, "#linksets") == 0) {
- window = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (sidebar)));
- path = gnome_vfs_get_local_path_from_uri (sidebar->details->uri);
- if (path != NULL) {
- nautilus_link_set_toggle_configure_window (path, window);
- g_free (path);
- }
- }
}
static void
diff --git a/src/nautilus-link-set-window.c b/src/nautilus-link-set-window.c
deleted file mode 100644
index cfae507dd..000000000
--- a/src/nautilus-link-set-window.c
+++ /dev/null
@@ -1,267 +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.
- *
- * 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>
- */
-
-/* nautilus-link-set-window.c: window of checkboxes for configuring link sets
- */
-
-#include <config.h>
-#include "nautilus-link-set-window.h"
-
-#include "nautilus-window.h"
-#include <eel/eel-glib-extensions.h>
-#include <eel/eel-string.h>
-#include <eel/eel-xml-extensions.h>
-#include <libxml/parser.h>
-#include <libxml/xmlmemory.h>
-#include <gtk/gtkcheckbutton.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkscrolledwindow.h>
-#include <gtk/gtksignal.h>
-#include <gtk/gtktable.h>
-#include <gtk/gtktogglebutton.h>
-#include <gtk/gtkvbox.h>
-#include <gtk/gtkwindow.h>
-#include <libgnome/gnome-i18n.h>
-#include <libgnomeui/gnome-uidefs.h>
-#include <libgnomevfs/gnome-vfs.h>
-#include <libnautilus-private/nautilus-file.h>
-#include <libnautilus-private/nautilus-global-preferences.h>
-#include <libnautilus-private/nautilus-link-set.h>
-#include <libnautilus-private/nautilus-link.h>
-#include <libnautilus-private/nautilus-metadata.h>
-#include <stdlib.h>
-
-/* global to hold the currently allocated link set window, if any */
-
-static GtkWindow *link_set_window = NULL;
-
-/* handle the check box toggling */
-static void
-link_set_check_box_toggled (GtkToggleButton *button, GtkWindow *window_to_update)
-{
- char *path, *name;
-
- path = g_object_get_data (G_OBJECT (button), "nautilus_directory_path");
- name = g_object_get_data (G_OBJECT (button), "nautilus_link_set_name");
-
- if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)))
- nautilus_link_set_install(path, name);
- else
- nautilus_link_set_remove(path, name);
-
- /* tell the associated window to reload in order to display the new links (or lack thereof) */
- nautilus_window_reload (NAUTILUS_WINDOW(window_to_update));
-}
-
-/* utility to make a link set checkbox that installs and removes it's corresponding
- link set when toggled */
-
-static void
-make_link_set_check_box(const char *directory_path, GtkWidget *checkbox_table,
- int index, char *name, GtkWindow *window)
-{
- GtkWidget *checkbox, *label;
-
- /* add a checkbox and a label */
-
- checkbox = gtk_check_button_new ();
- gtk_widget_show (checkbox);
-
- label = gtk_label_new (name);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_widget_show(label);
-
- gtk_container_add (GTK_CONTAINER (checkbox), label);
- gtk_widget_show(checkbox);
-
- /* Set initial state of checkbox. */
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbox), nautilus_link_set_is_installed(directory_path, name));
-
- /* Attach the parameters and a signal handler. */
- g_object_set_data_full (G_OBJECT (checkbox),
- "nautilus_directory_path",
- g_strdup (directory_path),
- g_free);
-
- g_object_set_data_full (G_OBJECT (checkbox),
- "nautilus_link_set_name",
- g_strdup(name),
- g_free);
-
- g_signal_connect (G_OBJECT (checkbox),
- "toggled",
- G_CALLBACK (link_set_check_box_toggled),
- window);
-
-
- /* attach the checkbox to the table */
- if (index % 2) {
- gtk_table_attach_defaults (GTK_TABLE (checkbox_table), checkbox,
- 0, 1,
- index >> 1, (index >> 1) + 1);
- } else {
- gtk_table_attach_defaults (GTK_TABLE (checkbox_table), checkbox,
- 1, 2,
- index >> 1, (index >> 1) + 1);
- }
-}
-
-/* utility routine to return a list of link set names by iterating the link set directory */
-static GList *
-get_link_set_names (void)
-{
- GnomeVFSResult result;
- GnomeVFSFileInfo *current_file_info;
- GList *list, *node;
- char *link_set_uri, *link_set_name, *dot_pos;
- GList *link_set_list;
-
- /* get a uri to the link set directory */
- link_set_uri = gnome_vfs_get_uri_from_local_path (NAUTILUS_DATADIR "/linksets");
-
- /* get the directory info */
- result = gnome_vfs_directory_list_load (&list, link_set_uri,
- GNOME_VFS_FILE_INFO_FOLLOW_LINKS);
- if (result != GNOME_VFS_OK) {
- g_free (link_set_uri);
- return NULL;
- }
-
- link_set_list = NULL;
-
- /* FIXME bugzilla.gnome.org 45049: The names should really come from the names inside the files. */
- /* build the list by iterating through the directory info */
- for (node = list; node != NULL; node = node->next) {
- current_file_info = node->data;
- link_set_name = g_strdup (current_file_info->name);
-
- /* strip file type suffix */
- dot_pos = strrchr (link_set_name, '.');
- if (dot_pos != NULL) {
- *dot_pos = '\0';
- }
-
- link_set_list = g_list_prepend (link_set_list, link_set_name);
- }
-
- gnome_vfs_file_info_list_free (list);
- g_free (link_set_uri);
-
- return eel_g_str_list_alphabetize (link_set_list);
-}
-
-/* create a window used to configure the link sets in the passed in directory */
-GtkWindow *
-nautilus_link_set_configure_window (const char *directory_path, GtkWindow *window_to_update)
-{
- char *temp_str;
- int link_set_count, index;
- GtkWindow *window;
- GtkWidget *vbox, *label;
- GtkWidget *checkbox_table, *scrolled_window;
- GList *link_set_names, *current_link_set;
-
- /* Create the window. */
- window = GTK_WINDOW (gtk_window_new (GTK_WINDOW_TOPLEVEL));
- gtk_container_set_border_width (GTK_CONTAINER (window), GNOME_PAD);
- gtk_widget_set_usize(GTK_WIDGET(window), 280, 120);
-
- /* set the window title */
- gtk_window_set_title (window, _("Link sets"));
- gtk_window_set_wmclass (window, "link_sets", "Nautilus");
-
- /* fetch the link set names */
- link_set_names = get_link_set_names ();
- link_set_count = g_list_length (link_set_names);
-
- /* allocate a vbox to hold the contents of the window */
- vbox = gtk_vbox_new(FALSE, 0);
- gtk_container_add(GTK_CONTAINER(window), vbox);
- gtk_widget_show(vbox);
-
- /* add a descriptive label */
- label = gtk_label_new(_("Add or remove sets of links by clicking on the checkboxes below."));
- gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
- gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 4);
- gtk_widget_show(label);
-
- /* allocate a table to hold the link set checkboxes */
- checkbox_table = gtk_table_new ((link_set_count + 1) / 2, 2, TRUE);
- gtk_widget_show (checkbox_table);
- gtk_container_set_border_width (GTK_CONTAINER (checkbox_table), GNOME_PAD);
-
- scrolled_window = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
- GTK_POLICY_NEVER,
- GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window),
- checkbox_table);
- gtk_box_pack_start(GTK_BOX(vbox), scrolled_window, TRUE, TRUE, 0);
- gtk_widget_show (scrolled_window);
-
- /* iterate the directory to add a checkbox for each linkset found */
- index = 0;
- for (current_link_set = link_set_names; current_link_set != NULL;
- current_link_set = current_link_set->next) {
- temp_str = (char *) current_link_set->data;
- if ((temp_str[0] != '.') && (temp_str[0] != '\0'))
- make_link_set_check_box(directory_path, checkbox_table,
- index++, temp_str, window_to_update);
- }
-
- eel_g_list_free_deep (link_set_names);
-
- /* show the window */
- gtk_window_set_position(window, GTK_WIN_POS_CENTER);
- gtk_widget_show(GTK_WIDGET(window));
- return window;
-}
-
-/* callback to clear the window global when the window is deleted */
-static gboolean
-delete_window_callback (GtkWidget *widget,
- GdkEvent *event,
- gpointer user_data)
-{
- link_set_window = NULL;
- return FALSE;
-}
-
-/* toggle the visiblity of the link set window */
-GtkWindow *
-nautilus_link_set_toggle_configure_window (const char *directory_path, GtkWindow *window_to_update)
-{
- if (link_set_window != NULL) {
- gtk_widget_destroy (GTK_WIDGET (link_set_window));
- link_set_window = NULL;
- } else {
- link_set_window = nautilus_link_set_configure_window (directory_path,
- window_to_update);
-
- g_signal_connect (G_OBJECT (link_set_window), "delete_event",
- G_CALLBACK (delete_window_callback), NULL);
- }
-
- return link_set_window;
-}
diff --git a/src/nautilus-link-set-window.h b/src/nautilus-link-set-window.h
deleted file mode 100644
index e33ea13a3..000000000
--- a/src/nautilus-link-set-window.h
+++ /dev/null
@@ -1,40 +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.
- *
- * 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>
- */
-
-/* nautilus-link-set-window.h: window for configuring link sets
- */
-
-#ifndef NAUTILUS_LINK_SET_WINDOW_H
-#define NAUTILUS_LINK_SET_WINDOW_H
-
-#include <glib.h>
-#include <libnautilus-private/nautilus-link-set.h>
-#include <gtk/gtkwindow.h>
-
-GtkWindow *nautilus_link_set_configure_window (const char *directory_path,
- GtkWindow *window);
-GtkWindow *nautilus_link_set_toggle_configure_window (const char *directory_path,
- GtkWindow *window_to_update);
-
-#endif /* NAUTILUS_LINK_SET_H */
diff --git a/src/nautilus-navigation-window-menus.c b/src/nautilus-navigation-window-menus.c
index 652ab9a05..38667db89 100644
--- a/src/nautilus-navigation-window-menus.c
+++ b/src/nautilus-navigation-window-menus.c
@@ -350,6 +350,7 @@ forget_history_if_yes (GtkDialog *dialog, int response, gpointer callback_data)
if (response == GTK_RESPONSE_YES) {
nautilus_forget_history ();
}
+ gtk_object_destroy (GTK_OBJECT (dialog));
}
static void
@@ -791,6 +792,8 @@ remove_bookmarks_for_uri_if_yes (GtkDialog *dialog, int response, gpointer callb
uri = callback_data;
nautilus_bookmark_list_delete_items_with_uri (get_bookmark_list (), uri);
}
+
+ gtk_object_destroy (GTK_OBJECT (dialog));
}
static void
diff --git a/src/nautilus-navigation-window.c b/src/nautilus-navigation-window.c
index 86d47defa..766af2ce5 100644
--- a/src/nautilus-navigation-window.c
+++ b/src/nautilus-navigation-window.c
@@ -601,7 +601,6 @@ nautilus_window_constructed (NautilusWindow *window)
GtkWidget *view_as_menu_vbox;
int sidebar_width;
BonoboControl *location_bar_wrapper;
- EPaned *panel;
CORBA_Environment ev;
Bonobo_PropertyBag property_bag;
@@ -683,12 +682,11 @@ nautilus_window_constructed (NautilusWindow *window)
set_initial_window_geometry (window);
window->content_hbox = nautilus_horizontal_splitter_new ();
- panel = E_PANED (window->content_hbox);
/* FIXME bugzilla.gnome.org 41245: Saved in pixels instead of in %? */
/* FIXME bugzilla.gnome.org 41245: No reality check on the value? */
sidebar_width = eel_preferences_get_integer (NAUTILUS_PREFERENCES_SIDEBAR_WIDTH);
- e_paned_set_position (E_PANED (window->content_hbox), sidebar_width);
+ gtk_paned_set_position (GTK_PANED (window->content_hbox), sidebar_width);
}
gtk_widget_show (window->content_hbox);
bonobo_window_set_contents (BONOBO_WINDOW (window), window->content_hbox);
@@ -703,9 +701,9 @@ nautilus_window_constructed (NautilusWindow *window)
gtk_widget_show (GTK_WIDGET (window->sidebar));
g_signal_connect (G_OBJECT (window->sidebar), "location_changed",
G_CALLBACK (go_to_callback), window);
- e_paned_pack1 (E_PANED (window->content_hbox),
- GTK_WIDGET (window->sidebar),
- FALSE, TRUE);
+ gtk_paned_pack1 (GTK_PANED (window->content_hbox),
+ GTK_WIDGET (window->sidebar),
+ FALSE, TRUE);
#if 0
bonobo_ui_engine_add_sync (bonobo_window_get_ui_engine (BONOBO_WINDOW (window)),
sidebar_sync);
@@ -1930,13 +1928,13 @@ nautilus_window_set_content_view_widget (NautilusWindow *window,
* We should use inheritance instead of these special cases
* for the desktop window.
*/
- if (!E_IS_PANED (window->content_hbox)) {
+ if (!GTK_IS_PANED (window->content_hbox)) {
gtk_container_add (GTK_CONTAINER (window->content_hbox),
GTK_WIDGET (new_view));
} else {
- e_paned_pack2 (E_PANED (window->content_hbox),
- GTK_WIDGET (new_view),
- TRUE, TRUE);
+ gtk_paned_pack2 (GTK_PANED (window->content_hbox),
+ GTK_WIDGET (new_view),
+ TRUE, TRUE);
}
}
@@ -2071,28 +2069,19 @@ nautilus_window_hide_sidebar (NautilusWindow *window)
if (window->sidebar == NULL) {
return;
}
- gtk_widget_hide (GTK_WIDGET (window->sidebar));
- if (window->content_hbox != NULL) {
- e_paned_set_position (E_PANED (window->content_hbox), 0);
- }
+ nautilus_horizontal_splitter_collapse
+ (NAUTILUS_HORIZONTAL_SPLITTER (window->content_hbox));
nautilus_window_update_show_hide_menu_items (window);
}
void
nautilus_window_show_sidebar (NautilusWindow *window)
{
- GtkWidget *widget;
-
if (window->sidebar == NULL) {
return;
}
- widget = GTK_WIDGET (window->sidebar);
- gtk_widget_show (widget);
- if (window->content_hbox != NULL) {
- e_paned_set_position (E_PANED (window->content_hbox), widget->allocation.width);
- /* Make sure sidebar is not in collapsed form also */
- nautilus_horizontal_splitter_expand (NAUTILUS_HORIZONTAL_SPLITTER (window->content_hbox));
- }
+ nautilus_horizontal_splitter_expand
+ (NAUTILUS_HORIZONTAL_SPLITTER (window->content_hbox));
nautilus_window_update_show_hide_menu_items (window);
}
@@ -2101,7 +2090,8 @@ nautilus_window_sidebar_showing (NautilusWindow *window)
{
g_return_val_if_fail (NAUTILUS_IS_WINDOW (window), FALSE);
- return window->sidebar != NULL && GTK_WIDGET_VISIBLE (window->sidebar);
+ return GTK_IS_PANED (window->content_hbox)
+ && gtk_paned_get_position (GTK_PANED (window->content_hbox)) != 0;
}
void
diff --git a/src/nautilus-object-window.c b/src/nautilus-object-window.c
index 86d47defa..766af2ce5 100644
--- a/src/nautilus-object-window.c
+++ b/src/nautilus-object-window.c
@@ -601,7 +601,6 @@ nautilus_window_constructed (NautilusWindow *window)
GtkWidget *view_as_menu_vbox;
int sidebar_width;
BonoboControl *location_bar_wrapper;
- EPaned *panel;
CORBA_Environment ev;
Bonobo_PropertyBag property_bag;
@@ -683,12 +682,11 @@ nautilus_window_constructed (NautilusWindow *window)
set_initial_window_geometry (window);
window->content_hbox = nautilus_horizontal_splitter_new ();
- panel = E_PANED (window->content_hbox);
/* FIXME bugzilla.gnome.org 41245: Saved in pixels instead of in %? */
/* FIXME bugzilla.gnome.org 41245: No reality check on the value? */
sidebar_width = eel_preferences_get_integer (NAUTILUS_PREFERENCES_SIDEBAR_WIDTH);
- e_paned_set_position (E_PANED (window->content_hbox), sidebar_width);
+ gtk_paned_set_position (GTK_PANED (window->content_hbox), sidebar_width);
}
gtk_widget_show (window->content_hbox);
bonobo_window_set_contents (BONOBO_WINDOW (window), window->content_hbox);
@@ -703,9 +701,9 @@ nautilus_window_constructed (NautilusWindow *window)
gtk_widget_show (GTK_WIDGET (window->sidebar));
g_signal_connect (G_OBJECT (window->sidebar), "location_changed",
G_CALLBACK (go_to_callback), window);
- e_paned_pack1 (E_PANED (window->content_hbox),
- GTK_WIDGET (window->sidebar),
- FALSE, TRUE);
+ gtk_paned_pack1 (GTK_PANED (window->content_hbox),
+ GTK_WIDGET (window->sidebar),
+ FALSE, TRUE);
#if 0
bonobo_ui_engine_add_sync (bonobo_window_get_ui_engine (BONOBO_WINDOW (window)),
sidebar_sync);
@@ -1930,13 +1928,13 @@ nautilus_window_set_content_view_widget (NautilusWindow *window,
* We should use inheritance instead of these special cases
* for the desktop window.
*/
- if (!E_IS_PANED (window->content_hbox)) {
+ if (!GTK_IS_PANED (window->content_hbox)) {
gtk_container_add (GTK_CONTAINER (window->content_hbox),
GTK_WIDGET (new_view));
} else {
- e_paned_pack2 (E_PANED (window->content_hbox),
- GTK_WIDGET (new_view),
- TRUE, TRUE);
+ gtk_paned_pack2 (GTK_PANED (window->content_hbox),
+ GTK_WIDGET (new_view),
+ TRUE, TRUE);
}
}
@@ -2071,28 +2069,19 @@ nautilus_window_hide_sidebar (NautilusWindow *window)
if (window->sidebar == NULL) {
return;
}
- gtk_widget_hide (GTK_WIDGET (window->sidebar));
- if (window->content_hbox != NULL) {
- e_paned_set_position (E_PANED (window->content_hbox), 0);
- }
+ nautilus_horizontal_splitter_collapse
+ (NAUTILUS_HORIZONTAL_SPLITTER (window->content_hbox));
nautilus_window_update_show_hide_menu_items (window);
}
void
nautilus_window_show_sidebar (NautilusWindow *window)
{
- GtkWidget *widget;
-
if (window->sidebar == NULL) {
return;
}
- widget = GTK_WIDGET (window->sidebar);
- gtk_widget_show (widget);
- if (window->content_hbox != NULL) {
- e_paned_set_position (E_PANED (window->content_hbox), widget->allocation.width);
- /* Make sure sidebar is not in collapsed form also */
- nautilus_horizontal_splitter_expand (NAUTILUS_HORIZONTAL_SPLITTER (window->content_hbox));
- }
+ nautilus_horizontal_splitter_expand
+ (NAUTILUS_HORIZONTAL_SPLITTER (window->content_hbox));
nautilus_window_update_show_hide_menu_items (window);
}
@@ -2101,7 +2090,8 @@ nautilus_window_sidebar_showing (NautilusWindow *window)
{
g_return_val_if_fail (NAUTILUS_IS_WINDOW (window), FALSE);
- return window->sidebar != NULL && GTK_WIDGET_VISIBLE (window->sidebar);
+ return GTK_IS_PANED (window->content_hbox)
+ && gtk_paned_get_position (GTK_PANED (window->content_hbox)) != 0;
}
void
diff --git a/src/nautilus-preferences-dialog.c b/src/nautilus-preferences-dialog.c
index c1cc22048..069d7cdb7 100644
--- a/src/nautilus-preferences-dialog.c
+++ b/src/nautilus-preferences-dialog.c
@@ -430,14 +430,6 @@ dialog_button_response_callback (GtkDialog *dialog,
gtk_widget_hide (GTK_WIDGET (dialog));
}
-static gboolean
-dialog_close_callback (GtkWidget *dialog,
- gpointer user_data)
-{
- gtk_widget_hide (dialog);
- return TRUE;
-}
-
static GtkWidget *
preferences_dialog_create (void)
{
@@ -449,14 +441,10 @@ preferences_dialog_create (void)
gtk_window_set_wmclass (GTK_WINDOW (dialog), "nautilus_preferences", "Nautilus");
g_signal_connect (G_OBJECT (dialog),
- "response",
- G_CALLBACK (dialog_button_response_callback),
- dialog);
+ "response",
+ G_CALLBACK (dialog_button_response_callback),
+ dialog);
- g_signal_connect (G_OBJECT (dialog),
- "close",
- G_CALLBACK (dialog_close_callback),
- NULL);
return dialog;
}
diff --git a/src/nautilus-sidebar.c b/src/nautilus-sidebar.c
index 3f2a3a4fb..0a188ddc7 100644
--- a/src/nautilus-sidebar.c
+++ b/src/nautilus-sidebar.c
@@ -30,7 +30,6 @@
#include <config.h>
#include "nautilus-sidebar.h"
-#include "nautilus-link-set-window.h"
#include "nautilus-sidebar-tabs.h"
#include "nautilus-sidebar-title.h"
@@ -1282,23 +1281,13 @@ command_button_callback (GtkWidget *button, char *id_str)
/* interpret commands for buttons specified by metadata. Handle some built-in ones explicitly, or fork
a shell to handle general ones */
-/* for now, we only handle a few built in commands */
+/* for now, we don't have any of these */
static void
metadata_button_callback (GtkWidget *button, const char *command_str)
{
- GtkWindow *window;
NautilusSidebar *sidebar;
- char *path;
-
+
sidebar = NAUTILUS_SIDEBAR (gtk_object_get_user_data (GTK_OBJECT (button)));
- if (strcmp (command_str, "#linksets") == 0) {
- window = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (sidebar)));
- path = gnome_vfs_get_local_path_from_uri (sidebar->details->uri);
- if (path != NULL) {
- nautilus_link_set_toggle_configure_window (path, window);
- g_free (path);
- }
- }
}
static void
diff --git a/src/nautilus-spatial-window.c b/src/nautilus-spatial-window.c
index 86d47defa..766af2ce5 100644
--- a/src/nautilus-spatial-window.c
+++ b/src/nautilus-spatial-window.c
@@ -601,7 +601,6 @@ nautilus_window_constructed (NautilusWindow *window)
GtkWidget *view_as_menu_vbox;
int sidebar_width;
BonoboControl *location_bar_wrapper;
- EPaned *panel;
CORBA_Environment ev;
Bonobo_PropertyBag property_bag;
@@ -683,12 +682,11 @@ nautilus_window_constructed (NautilusWindow *window)
set_initial_window_geometry (window);
window->content_hbox = nautilus_horizontal_splitter_new ();
- panel = E_PANED (window->content_hbox);
/* FIXME bugzilla.gnome.org 41245: Saved in pixels instead of in %? */
/* FIXME bugzilla.gnome.org 41245: No reality check on the value? */
sidebar_width = eel_preferences_get_integer (NAUTILUS_PREFERENCES_SIDEBAR_WIDTH);
- e_paned_set_position (E_PANED (window->content_hbox), sidebar_width);
+ gtk_paned_set_position (GTK_PANED (window->content_hbox), sidebar_width);
}
gtk_widget_show (window->content_hbox);
bonobo_window_set_contents (BONOBO_WINDOW (window), window->content_hbox);
@@ -703,9 +701,9 @@ nautilus_window_constructed (NautilusWindow *window)
gtk_widget_show (GTK_WIDGET (window->sidebar));
g_signal_connect (G_OBJECT (window->sidebar), "location_changed",
G_CALLBACK (go_to_callback), window);
- e_paned_pack1 (E_PANED (window->content_hbox),
- GTK_WIDGET (window->sidebar),
- FALSE, TRUE);
+ gtk_paned_pack1 (GTK_PANED (window->content_hbox),
+ GTK_WIDGET (window->sidebar),
+ FALSE, TRUE);
#if 0
bonobo_ui_engine_add_sync (bonobo_window_get_ui_engine (BONOBO_WINDOW (window)),
sidebar_sync);
@@ -1930,13 +1928,13 @@ nautilus_window_set_content_view_widget (NautilusWindow *window,
* We should use inheritance instead of these special cases
* for the desktop window.
*/
- if (!E_IS_PANED (window->content_hbox)) {
+ if (!GTK_IS_PANED (window->content_hbox)) {
gtk_container_add (GTK_CONTAINER (window->content_hbox),
GTK_WIDGET (new_view));
} else {
- e_paned_pack2 (E_PANED (window->content_hbox),
- GTK_WIDGET (new_view),
- TRUE, TRUE);
+ gtk_paned_pack2 (GTK_PANED (window->content_hbox),
+ GTK_WIDGET (new_view),
+ TRUE, TRUE);
}
}
@@ -2071,28 +2069,19 @@ nautilus_window_hide_sidebar (NautilusWindow *window)
if (window->sidebar == NULL) {
return;
}
- gtk_widget_hide (GTK_WIDGET (window->sidebar));
- if (window->content_hbox != NULL) {
- e_paned_set_position (E_PANED (window->content_hbox), 0);
- }
+ nautilus_horizontal_splitter_collapse
+ (NAUTILUS_HORIZONTAL_SPLITTER (window->content_hbox));
nautilus_window_update_show_hide_menu_items (window);
}
void
nautilus_window_show_sidebar (NautilusWindow *window)
{
- GtkWidget *widget;
-
if (window->sidebar == NULL) {
return;
}
- widget = GTK_WIDGET (window->sidebar);
- gtk_widget_show (widget);
- if (window->content_hbox != NULL) {
- e_paned_set_position (E_PANED (window->content_hbox), widget->allocation.width);
- /* Make sure sidebar is not in collapsed form also */
- nautilus_horizontal_splitter_expand (NAUTILUS_HORIZONTAL_SPLITTER (window->content_hbox));
- }
+ nautilus_horizontal_splitter_expand
+ (NAUTILUS_HORIZONTAL_SPLITTER (window->content_hbox));
nautilus_window_update_show_hide_menu_items (window);
}
@@ -2101,7 +2090,8 @@ nautilus_window_sidebar_showing (NautilusWindow *window)
{
g_return_val_if_fail (NAUTILUS_IS_WINDOW (window), FALSE);
- return window->sidebar != NULL && GTK_WIDGET_VISIBLE (window->sidebar);
+ return GTK_IS_PANED (window->content_hbox)
+ && gtk_paned_get_position (GTK_PANED (window->content_hbox)) != 0;
}
void
diff --git a/src/nautilus-window-menus.c b/src/nautilus-window-menus.c
index 652ab9a05..38667db89 100644
--- a/src/nautilus-window-menus.c
+++ b/src/nautilus-window-menus.c
@@ -350,6 +350,7 @@ forget_history_if_yes (GtkDialog *dialog, int response, gpointer callback_data)
if (response == GTK_RESPONSE_YES) {
nautilus_forget_history ();
}
+ gtk_object_destroy (GTK_OBJECT (dialog));
}
static void
@@ -791,6 +792,8 @@ remove_bookmarks_for_uri_if_yes (GtkDialog *dialog, int response, gpointer callb
uri = callback_data;
nautilus_bookmark_list_delete_items_with_uri (get_bookmark_list (), uri);
}
+
+ gtk_object_destroy (GTK_OBJECT (dialog));
}
static void
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 86d47defa..766af2ce5 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -601,7 +601,6 @@ nautilus_window_constructed (NautilusWindow *window)
GtkWidget *view_as_menu_vbox;
int sidebar_width;
BonoboControl *location_bar_wrapper;
- EPaned *panel;
CORBA_Environment ev;
Bonobo_PropertyBag property_bag;
@@ -683,12 +682,11 @@ nautilus_window_constructed (NautilusWindow *window)
set_initial_window_geometry (window);
window->content_hbox = nautilus_horizontal_splitter_new ();
- panel = E_PANED (window->content_hbox);
/* FIXME bugzilla.gnome.org 41245: Saved in pixels instead of in %? */
/* FIXME bugzilla.gnome.org 41245: No reality check on the value? */
sidebar_width = eel_preferences_get_integer (NAUTILUS_PREFERENCES_SIDEBAR_WIDTH);
- e_paned_set_position (E_PANED (window->content_hbox), sidebar_width);
+ gtk_paned_set_position (GTK_PANED (window->content_hbox), sidebar_width);
}
gtk_widget_show (window->content_hbox);
bonobo_window_set_contents (BONOBO_WINDOW (window), window->content_hbox);
@@ -703,9 +701,9 @@ nautilus_window_constructed (NautilusWindow *window)
gtk_widget_show (GTK_WIDGET (window->sidebar));
g_signal_connect (G_OBJECT (window->sidebar), "location_changed",
G_CALLBACK (go_to_callback), window);
- e_paned_pack1 (E_PANED (window->content_hbox),
- GTK_WIDGET (window->sidebar),
- FALSE, TRUE);
+ gtk_paned_pack1 (GTK_PANED (window->content_hbox),
+ GTK_WIDGET (window->sidebar),
+ FALSE, TRUE);
#if 0
bonobo_ui_engine_add_sync (bonobo_window_get_ui_engine (BONOBO_WINDOW (window)),
sidebar_sync);
@@ -1930,13 +1928,13 @@ nautilus_window_set_content_view_widget (NautilusWindow *window,
* We should use inheritance instead of these special cases
* for the desktop window.
*/
- if (!E_IS_PANED (window->content_hbox)) {
+ if (!GTK_IS_PANED (window->content_hbox)) {
gtk_container_add (GTK_CONTAINER (window->content_hbox),
GTK_WIDGET (new_view));
} else {
- e_paned_pack2 (E_PANED (window->content_hbox),
- GTK_WIDGET (new_view),
- TRUE, TRUE);
+ gtk_paned_pack2 (GTK_PANED (window->content_hbox),
+ GTK_WIDGET (new_view),
+ TRUE, TRUE);
}
}
@@ -2071,28 +2069,19 @@ nautilus_window_hide_sidebar (NautilusWindow *window)
if (window->sidebar == NULL) {
return;
}
- gtk_widget_hide (GTK_WIDGET (window->sidebar));
- if (window->content_hbox != NULL) {
- e_paned_set_position (E_PANED (window->content_hbox), 0);
- }
+ nautilus_horizontal_splitter_collapse
+ (NAUTILUS_HORIZONTAL_SPLITTER (window->content_hbox));
nautilus_window_update_show_hide_menu_items (window);
}
void
nautilus_window_show_sidebar (NautilusWindow *window)
{
- GtkWidget *widget;
-
if (window->sidebar == NULL) {
return;
}
- widget = GTK_WIDGET (window->sidebar);
- gtk_widget_show (widget);
- if (window->content_hbox != NULL) {
- e_paned_set_position (E_PANED (window->content_hbox), widget->allocation.width);
- /* Make sure sidebar is not in collapsed form also */
- nautilus_horizontal_splitter_expand (NAUTILUS_HORIZONTAL_SPLITTER (window->content_hbox));
- }
+ nautilus_horizontal_splitter_expand
+ (NAUTILUS_HORIZONTAL_SPLITTER (window->content_hbox));
nautilus_window_update_show_hide_menu_items (window);
}
@@ -2101,7 +2090,8 @@ nautilus_window_sidebar_showing (NautilusWindow *window)
{
g_return_val_if_fail (NAUTILUS_IS_WINDOW (window), FALSE);
- return window->sidebar != NULL && GTK_WIDGET_VISIBLE (window->sidebar);
+ return GTK_IS_PANED (window->content_hbox)
+ && gtk_paned_get_position (GTK_PANED (window->content_hbox)) != 0;
}
void