mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-03 01:23:49 +00:00
Update to 2.0.2.
This commit is contained in:
parent
fed0006bfd
commit
00e8321afb
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=63566
@ -6,8 +6,7 @@
|
||||
#
|
||||
|
||||
PORTNAME= nautilus2
|
||||
PORTVERSION= 2.0.1
|
||||
PORTREVISION= 2
|
||||
PORTVERSION= 2.0.2
|
||||
CATEGORIES= x11-fm gnome
|
||||
MASTER_SITES= ${MASTER_SITE_GNOME}
|
||||
MASTER_SITE_SUBDIR= 2.0.0/sources/${PORTNAME:S/2$//}
|
||||
|
@ -1 +1 @@
|
||||
MD5 (gnome2/nautilus-2.0.1.tar.bz2) = 723d7b26e00eca6e5e01990976393e4b
|
||||
MD5 (gnome2/nautilus-2.0.2.tar.bz2) = dfc498fc40fb9636b3f55d092d20a0b3
|
||||
|
@ -1,13 +1,11 @@
|
||||
|
||||
$FreeBSD$
|
||||
|
||||
--- Makefile.in 2002/07/25 09:29:17 1.1
|
||||
+++ Makefile.in 2002/07/25 09:29:26
|
||||
@@ -150,7 +150,6 @@
|
||||
libnautilus-private \
|
||||
libnautilus-adapter \
|
||||
src \
|
||||
- test \
|
||||
components \
|
||||
po \
|
||||
data \
|
||||
--- Makefile.in.orig Thu Jul 25 17:14:09 2002
|
||||
+++ Makefile.in Thu Jul 25 17:21:33 2002
|
||||
@@ -143,7 +143,7 @@
|
||||
DESKTOP_IN_FILES = nautilus.desktop.in
|
||||
DESKTOP_FILES = $(DESKTOP_IN_FILES:.desktop.in=.desktop)
|
||||
|
||||
-SUBDIRS = libnautilus cut-n-paste-code libbackground libnautilus-private libnautilus-adapter src test components po data icons docs $(NULL)
|
||||
+SUBDIRS = libnautilus cut-n-paste-code libbackground libnautilus-private libnautilus-adapter src components po data icons docs $(NULL)
|
||||
|
||||
|
||||
EXTRA_DIST = COPYING.LIB COPYING-DOCS HACKING MAINTAINERS nautilus.spec.in nautilus.desktop nautilus.desktop.in gnome-starthere-96.png gnome-starthere.png ChangeLog-20000414 ChangeLog-20000625 ChangeLog-20000831 ChangeLog-20001018 intltool-extract.in intltool-merge.in intltool-update.in Makefile.shared add-include-prefix $(DESKTOP_IN_FILES) $(DESKTOP_FILES) $(NULL)
|
||||
|
@ -1,118 +0,0 @@
|
||||
Index: src/nautilus-sidebar.c
|
||||
===================================================================
|
||||
RCS file: /cvs/gnome/nautilus/src/nautilus-sidebar.c,v
|
||||
retrieving revision 1.214
|
||||
retrieving revision 1.215
|
||||
diff -d -u -r1.214 -r1.215
|
||||
--- src/nautilus-sidebar.c 22 Jul 2002 18:03:44 -0000 1.214
|
||||
+++ src/nautilus-sidebar.c 24 Jul 2002 20:20:51 -0000 1.215
|
||||
@@ -38,7 +38,6 @@
|
||||
#include <bonobo/bonobo-exception.h>
|
||||
|
||||
#include <eel/eel-background.h>
|
||||
-#include <eel/eel-background-style.h>
|
||||
#include <eel/eel-glib-extensions.h>
|
||||
#include <eel/eel-gtk-extensions.h>
|
||||
#include <eel/eel-gtk-macros.h>
|
||||
@@ -178,7 +177,7 @@
|
||||
TABS_PART
|
||||
} SidebarPart;
|
||||
|
||||
-EEL_CLASS_BOILERPLATE (NautilusSidebar, nautilus_sidebar, GTK_TYPE_EVENT_BOX)
|
||||
+EEL_CLASS_BOILERPLATE (NautilusSidebar, nautilus_sidebar, EEL_TYPE_BACKGROUND_BOX)
|
||||
|
||||
/* initializing the class object by installing the operations we override */
|
||||
static void
|
||||
@@ -1713,15 +1712,10 @@
|
||||
nautilus_sidebar_style_set (GtkWidget *widget, GtkStyle *previous_style)
|
||||
{
|
||||
NautilusSidebar *sidebar;
|
||||
- GtkStyle *style;
|
||||
|
||||
sidebar = NAUTILUS_SIDEBAR (widget);
|
||||
|
||||
- style = gtk_widget_get_style (widget);
|
||||
-
|
||||
- /* This is slightly hackish */
|
||||
- if (!EEL_IS_BACKGROUND_STYLE (style))
|
||||
- nautilus_sidebar_theme_changed (sidebar);
|
||||
+ nautilus_sidebar_theme_changed (sidebar);
|
||||
}
|
||||
|
||||
void
|
||||
Index: src/nautilus-sidebar.h
|
||||
===================================================================
|
||||
RCS file: /cvs/gnome/nautilus/src/nautilus-sidebar.h,v
|
||||
retrieving revision 1.15
|
||||
retrieving revision 1.16
|
||||
diff -d -u -r1.15 -r1.16
|
||||
--- src/nautilus-sidebar.h 7 Mar 2002 14:02:19 -0000 1.15
|
||||
+++ src/nautilus-sidebar.h 24 Jul 2002 20:20:51 -0000 1.16
|
||||
@@ -28,7 +28,8 @@
|
||||
#ifndef NAUTILUS_SIDEBAR_H
|
||||
#define NAUTILUS_SIDEBAR_H
|
||||
|
||||
-#include <gtk/gtkeventbox.h>
|
||||
+#include <eel/eel-background-box.h>
|
||||
+
|
||||
#include "nautilus-view-frame.h"
|
||||
|
||||
#define NAUTILUS_TYPE_SIDEBAR \
|
||||
@@ -45,12 +46,12 @@
|
||||
typedef struct NautilusSidebarDetails NautilusSidebarDetails;
|
||||
|
||||
typedef struct {
|
||||
- GtkEventBox parent_slot;
|
||||
+ EelBackgroundBox parent_slot;
|
||||
NautilusSidebarDetails *details;
|
||||
} NautilusSidebar;
|
||||
|
||||
typedef struct {
|
||||
- GtkEventBoxClass parent_slot;
|
||||
+ EelBackgroundBoxClass parent_slot;
|
||||
|
||||
void (*location_changed) (NautilusSidebar *sidebar,
|
||||
const char *location);
|
||||
Index: src/nautilus-window-manage-views.c
|
||||
===================================================================
|
||||
RCS file: /cvs/gnome/nautilus/src/nautilus-window-manage-views.c,v
|
||||
retrieving revision 1.305
|
||||
retrieving revision 1.306
|
||||
diff -d -u -r1.305 -r1.306
|
||||
--- src/nautilus-window-manage-views.c 18 Jul 2002 05:58:20 -0000 1.305
|
||||
+++ src/nautilus-window-manage-views.c 24 Jul 2002 16:26:19 -0000 1.306
|
||||
@@ -231,7 +231,7 @@
|
||||
nautilus_sidebar_set_title (window->sidebar, title);
|
||||
}
|
||||
|
||||
- if (title [0] != '\0' &&
|
||||
+ if (title [0] != '\0' && window->current_location_bookmark &&
|
||||
nautilus_bookmark_set_name (window->current_location_bookmark, title)) {
|
||||
/* Name of item in history list changed, tell listeners. */
|
||||
nautilus_send_history_list_changed ();
|
||||
Index: src/nautilus-window.c
|
||||
===================================================================
|
||||
RCS file: /cvs/gnome/nautilus/src/nautilus-window.c,v
|
||||
retrieving revision 1.392
|
||||
retrieving revision 1.393
|
||||
diff -d -u -r1.392 -r1.393
|
||||
--- src/nautilus-window.c 18 Jul 2002 05:58:21 -0000 1.392
|
||||
+++ src/nautilus-window.c 24 Jul 2002 07:45:10 -0000 1.393
|
||||
@@ -788,10 +788,16 @@
|
||||
|
||||
nautilus_window_manage_views_destroy (window);
|
||||
|
||||
+ window->sidebar = NULL;
|
||||
eel_g_object_list_free (window->sidebar_panels);
|
||||
window->sidebar_panels = NULL;
|
||||
|
||||
- if (window->content_view != NULL) {
|
||||
+ window->view_as_option_menu = NULL;
|
||||
+ window->navigation_bar = NULL;
|
||||
+ window->content_hbox = NULL;
|
||||
+ window->zoom_control = NULL;
|
||||
+
|
||||
+ if (window->content_view) {
|
||||
gtk_object_destroy (GTK_OBJECT (window->content_view));
|
||||
window->content_view = NULL;
|
||||
}
|
@ -6,8 +6,7 @@
|
||||
#
|
||||
|
||||
PORTNAME= eel2
|
||||
PORTVERSION= 2.0.1
|
||||
PORTREVISION= 1
|
||||
PORTVERSION= 2.0.2
|
||||
CATEGORIES= x11-toolkits gnome
|
||||
MASTER_SITES= ${MASTER_SITE_GNOME}
|
||||
MASTER_SITE_SUBDIR= 2.0.0/sources/${PORTNAME:S/2$//}
|
||||
|
@ -1 +1 @@
|
||||
MD5 (gnome2/eel-2.0.1.tar.bz2) = ddaf090b09ed98ae900c0a8c482cf268
|
||||
MD5 (gnome2/eel-2.0.2.tar.bz2) = 1ca31507cf27c2ee0dd762101ca66668
|
||||
|
@ -1,833 +0,0 @@
|
||||
Index: eel/Makefile.am
|
||||
===================================================================
|
||||
RCS file: /cvs/gnome/eel/eel/Makefile.am,v
|
||||
retrieving revision 1.61
|
||||
retrieving revision 1.62
|
||||
diff -d -u -r1.61 -r1.62
|
||||
--- eel/Makefile.am 3 Jul 2002 05:18:33 -0000 1.61
|
||||
+++ eel/Makefile.am 24 Jul 2002 20:19:50 -0000 1.62
|
||||
@@ -29,7 +29,7 @@
|
||||
eel-art-extensions.c \
|
||||
eel-art-gtk-extensions.c \
|
||||
eel-background.c \
|
||||
- eel-background-style.c \
|
||||
+ eel-background-box.c \
|
||||
eel-canvas-rect.c \
|
||||
eel-caption-table.c \
|
||||
eel-caption.c \
|
||||
@@ -83,7 +83,7 @@
|
||||
eel-art-extensions.h \
|
||||
eel-art-gtk-extensions.h \
|
||||
eel-background.h \
|
||||
- eel-background-style.h \
|
||||
+ eel-background-box.h \
|
||||
eel-canvas-rect.h \
|
||||
eel-caption-table.h \
|
||||
eel-caption.h \
|
||||
Index: eel/eel-background-box.c
|
||||
===================================================================
|
||||
RCS file: eel/eel-background-box.c
|
||||
diff -N eel/eel-background-box.c
|
||||
--- /dev/null 1 Jan 1970 00:00:00 -0000
|
||||
+++ eel/eel-background-box.c 24 Jul 2002 20:19:51 -0000 1.1
|
||||
@@ -0,0 +1,70 @@
|
||||
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
|
||||
+
|
||||
+/* eel-background-box.c - an event box that renders an eel background
|
||||
+
|
||||
+ Copyright (C) 2002 Sun Microsystems, Inc.
|
||||
+
|
||||
+ The Gnome 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.
|
||||
+
|
||||
+ The Gnome 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 the Gnome Library; see the file COPYING.LIB. If not,
|
||||
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
+ Boston, MA 02111-1307, USA.
|
||||
+
|
||||
+ Author: Dave Camp <dave@ximian.com>
|
||||
+*/
|
||||
+
|
||||
+#include <config.h>
|
||||
+#include "eel-background-box.h"
|
||||
+
|
||||
+#include "eel-gtk-macros.h"
|
||||
+#include "eel-background.h"
|
||||
+
|
||||
+static void eel_background_box_class_init (EelBackgroundBoxClass *background_box_class);
|
||||
+static void eel_background_box_init (EelBackgroundBox *background);
|
||||
+
|
||||
+EEL_CLASS_BOILERPLATE (EelBackgroundBox, eel_background_box, GTK_TYPE_EVENT_BOX)
|
||||
+
|
||||
+static gboolean
|
||||
+eel_background_box_expose_event (GtkWidget *widget,
|
||||
+ GdkEventExpose *event)
|
||||
+{
|
||||
+ eel_background_expose (widget, event);
|
||||
+
|
||||
+ gtk_container_propagate_expose (GTK_CONTAINER (widget),
|
||||
+ GTK_BIN (widget)->child,
|
||||
+ event);
|
||||
+
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+eel_background_box_class_init (EelBackgroundBoxClass *klass)
|
||||
+{
|
||||
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
|
||||
+
|
||||
+ widget_class->expose_event = eel_background_box_expose_event;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+eel_background_box_init (EelBackgroundBox *box)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+GtkWidget*
|
||||
+eel_background_box_new (void)
|
||||
+{
|
||||
+ EelBackgroundBox *background_box;
|
||||
+
|
||||
+ background_box = EEL_BACKGROUND_BOX (gtk_widget_new (eel_background_box_get_type (), NULL));
|
||||
+
|
||||
+ return GTK_WIDGET (background_box);
|
||||
+}
|
||||
Index: eel/eel-background-box.h
|
||||
===================================================================
|
||||
RCS file: eel/eel-background-box.h
|
||||
diff -N eel/eel-background-box.h
|
||||
--- /dev/null 1 Jan 1970 00:00:00 -0000
|
||||
+++ eel/eel-background-box.h 24 Jul 2002 20:19:51 -0000 1.1
|
||||
@@ -0,0 +1,61 @@
|
||||
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
|
||||
+
|
||||
+/* eel-background-box.c - an event box that renders an eel background
|
||||
+
|
||||
+ Copyright (C) 2002 Sun Microsystems, Inc.
|
||||
+
|
||||
+ The Gnome 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.
|
||||
+
|
||||
+ The Gnome 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 the Gnome Library; see the file COPYING.LIB. If not,
|
||||
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
+ Boston, MA 02111-1307, USA.
|
||||
+
|
||||
+ Author: Dave Camp <dave@ximian.com>
|
||||
+*/
|
||||
+
|
||||
+#ifndef EEL_BACKGROUND_BOX_H
|
||||
+#define EEL_BACKGROUND_BOX_H
|
||||
+
|
||||
+#include <glib.h>
|
||||
+#include <gtk/gtkeventbox.h>
|
||||
+
|
||||
+G_BEGIN_DECLS
|
||||
+
|
||||
+#define EEL_TYPE_BACKGROUND_BOX (eel_background_box_get_type ())
|
||||
+#define EEL_BACKGROUND_BOX(obj) (GTK_CHECK_CAST ((obj), EEL_TYPE_BACKGROUND_BOX, EelBackgroundBox))
|
||||
+#define EEL_BACKGROUND_BOX_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), EEL_TYPE_BACKGROUND_BOX, EelBackgroundBoxClass))
|
||||
+#define EEL_IS_BACKGROUND_BOX(obj) (GTK_CHECK_TYPE ((obj), EEL_TYPE_BACKGROUND_BOX))
|
||||
+#define EEL_IS_BACKGROUND_BOX_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), EEL_TYPE_BACKGROUND_BOX))
|
||||
+
|
||||
+typedef struct EelBackgroundBox EelBackgroundBox;
|
||||
+typedef struct EelBackgroundBoxClass EelBackgroundBoxClass;
|
||||
+typedef struct EelBackgroundBoxDetails EelBackgroundBoxDetails;
|
||||
+
|
||||
+struct EelBackgroundBox
|
||||
+{
|
||||
+ /* Superclass */
|
||||
+ GtkEventBox event_box;
|
||||
+};
|
||||
+
|
||||
+struct EelBackgroundBoxClass
|
||||
+{
|
||||
+ GtkEventBoxClass parent_class;
|
||||
+};
|
||||
+
|
||||
+GtkType eel_background_box_get_type (void);
|
||||
+GtkWidget *eel_background_box_new (void);
|
||||
+
|
||||
+G_END_DECLS
|
||||
+
|
||||
+#endif /* EEL_BACKGROUND_TABLE_H */
|
||||
+
|
||||
+
|
||||
Index: eel/eel-background-style.c
|
||||
===================================================================
|
||||
RCS file: eel/eel-background-style.c
|
||||
diff -N eel/eel-background-style.c
|
||||
--- eel/eel-background-style.c 17 May 2002 10:38:08 -0000 1.6
|
||||
+++ /dev/null 1 Jan 1970 00:00:00 -0000
|
||||
@@ -1,236 +0,0 @@
|
||||
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-
|
||||
-
|
||||
- eel-background-style.c: Style subclass used by EelBackground.
|
||||
-
|
||||
- Copyright (C) 2001 Bent Spoon Software
|
||||
-
|
||||
- This program 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 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
|
||||
- Library General Public License for more details.
|
||||
-
|
||||
- You should have received a copy of the GNU Library 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: Darin Adler <darin@bentspoon.com>
|
||||
-*/
|
||||
-
|
||||
-#include <config.h>
|
||||
-#include "eel-background-style.h"
|
||||
-
|
||||
-#include "eel-gdk-extensions.h"
|
||||
-#include <gtk/gtktreeview.h>
|
||||
-#include <libgnome/gnome-macros.h>
|
||||
-
|
||||
-GNOME_CLASS_BOILERPLATE (EelBackgroundStyle, eel_background_style,
|
||||
- GtkStyle, GTK_TYPE_STYLE)
|
||||
-
|
||||
-struct EelBackgroundStyleDetails {
|
||||
- EelBackground *background;
|
||||
-};
|
||||
-
|
||||
-static void
|
||||
-eel_background_style_instance_init (EelBackgroundStyle *style)
|
||||
-{
|
||||
- style->details = g_new0 (EelBackgroundStyleDetails, 1);
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
-eel_background_style_finalize (GObject *object)
|
||||
-{
|
||||
- EelBackgroundStyle *style;
|
||||
-
|
||||
- style = EEL_BACKGROUND_STYLE (object);
|
||||
-
|
||||
- if (style->details->background) {
|
||||
- g_object_unref (style->details->background);
|
||||
- }
|
||||
-
|
||||
- g_free (style->details);
|
||||
-
|
||||
- GNOME_CALL_PARENT (G_OBJECT_CLASS, finalize, (object));
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
-eel_background_style_draw_flat_box (GtkStyle *style,
|
||||
- GdkWindow *window,
|
||||
- GtkStateType state_type,
|
||||
- GtkShadowType shadow_type,
|
||||
- GdkRectangle *area,
|
||||
- GtkWidget *widget,
|
||||
- const char *detail,
|
||||
- int x,
|
||||
- int y,
|
||||
- int width,
|
||||
- int height)
|
||||
-{
|
||||
- gboolean call_parent;
|
||||
- EelBackground *background;
|
||||
- GdkGC *gc;
|
||||
- GdkGCValues gc_values;
|
||||
- EelBackgroundStyleDetails *details;
|
||||
- GdkGCValuesMask value_mask;
|
||||
- GdkColor color;
|
||||
- GdkPixmap *pixmap;
|
||||
- gboolean changes_with_size;
|
||||
- int window_width, window_height;
|
||||
-
|
||||
- call_parent = TRUE;
|
||||
-
|
||||
- background = NULL;
|
||||
- if (state_type == GTK_STATE_NORMAL) {
|
||||
- background = eel_get_widget_background (widget);
|
||||
- if (background != NULL && !GTK_IS_TREE_VIEW (widget)) {
|
||||
- call_parent = FALSE;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- if (call_parent) {
|
||||
- GNOME_CALL_PARENT (GTK_STYLE_CLASS, draw_flat_box,
|
||||
- (style, window, state_type, shadow_type, area, widget,
|
||||
- detail, x, y, width, height));
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
-
|
||||
- details = EEL_BACKGROUND_STYLE (style)->details;
|
||||
-
|
||||
- gdk_drawable_get_size (window, &window_width, &window_height);
|
||||
-
|
||||
- pixmap = eel_background_get_pixmap_and_color (background, window,
|
||||
- window_width, window_height,
|
||||
- &color,
|
||||
- &changes_with_size);
|
||||
-
|
||||
- if (!changes_with_size) {
|
||||
- /* The background was already drawn by X, since we set
|
||||
- * the GdkWindow background/back_pixmap.
|
||||
- * No need to draw it again. */
|
||||
- if (pixmap != NULL) {
|
||||
- g_object_unref (pixmap);
|
||||
- }
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- if (pixmap != NULL) {
|
||||
- gc_values.tile = pixmap;
|
||||
- gc_values.ts_x_origin = 0;
|
||||
- gc_values.ts_y_origin = 0;
|
||||
- gc_values.fill = GDK_TILED;
|
||||
- value_mask = GDK_GC_FILL | GDK_GC_TILE |
|
||||
- GDK_GC_TS_X_ORIGIN | GDK_GC_TS_Y_ORIGIN;
|
||||
- } else {
|
||||
- gdk_rgb_find_color (gtk_widget_get_colormap (widget), &color);
|
||||
- gc_values.foreground = color;
|
||||
- gc_values.fill = GDK_SOLID;
|
||||
- value_mask = GDK_GC_FILL | GDK_GC_FOREGROUND;
|
||||
- }
|
||||
-
|
||||
- gc = gdk_gc_new_with_values (window, &gc_values, value_mask);
|
||||
-
|
||||
- if (area != NULL) {
|
||||
- gdk_gc_set_clip_rectangle (gc, area);
|
||||
- }
|
||||
-
|
||||
-
|
||||
- if (width == -1) {
|
||||
- width = window_width;
|
||||
- }
|
||||
-
|
||||
- if (height == -1) {
|
||||
- height = window_height;
|
||||
- }
|
||||
-
|
||||
- gdk_draw_rectangle (window, gc, TRUE,
|
||||
- x, y,
|
||||
- width, height);
|
||||
-
|
||||
- g_object_unref (gc);
|
||||
-
|
||||
- if (pixmap != NULL) {
|
||||
- g_object_unref (pixmap);
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-EelBackgroundStyle *
|
||||
-eel_background_style_new (GtkStyle *base_style,
|
||||
- EelBackground *background)
|
||||
-{
|
||||
- EelBackgroundStyle *style;
|
||||
-
|
||||
- g_return_val_if_fail (GTK_IS_STYLE (base_style), NULL);
|
||||
- g_return_val_if_fail (EEL_IS_BACKGROUND (background), NULL);
|
||||
-
|
||||
- style = g_object_new (EEL_TYPE_BACKGROUND_STYLE, NULL);
|
||||
-
|
||||
- GTK_STYLE_CLASS (g_type_class_peek (GTK_TYPE_STYLE))->copy (GTK_STYLE (style), base_style);
|
||||
-
|
||||
- style->details->background = g_object_ref (background);
|
||||
-
|
||||
- return style;
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
-eel_background_style_set_background (GtkStyle *gtkstyle,
|
||||
- GdkWindow *window,
|
||||
- GtkStateType state_type)
|
||||
-{
|
||||
- EelBackgroundStyle *style;
|
||||
- EelBackground *background;
|
||||
- GdkColor color;
|
||||
- GdkPixmap *pixmap;
|
||||
- gboolean changes_with_size;
|
||||
- int window_width, window_height;
|
||||
-
|
||||
- style = EEL_BACKGROUND_STYLE (gtkstyle);
|
||||
-
|
||||
- background = style->details->background;
|
||||
-
|
||||
- g_return_if_fail (background != NULL);
|
||||
-
|
||||
- gdk_drawable_get_size (window, &window_width, &window_height);
|
||||
- pixmap = eel_background_get_pixmap_and_color (background, window,
|
||||
- window_width, window_height,
|
||||
- &color,
|
||||
- &changes_with_size);
|
||||
- gdk_rgb_find_color (gtkstyle->colormap, &color);
|
||||
-
|
||||
- if (pixmap != NULL && !changes_with_size) {
|
||||
- gdk_window_set_back_pixmap (window, pixmap, FALSE);
|
||||
- } else {
|
||||
- gdk_window_set_background (window, &color);
|
||||
- }
|
||||
-
|
||||
- if (pixmap != NULL) {
|
||||
- g_object_unref (pixmap);
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-static GtkStyle *
|
||||
-eel_background_style_clone (GtkStyle *style)
|
||||
-{
|
||||
- EelBackgroundStyle *new_style;
|
||||
-
|
||||
- new_style = g_object_new (G_OBJECT_TYPE (style), NULL);
|
||||
- if (EEL_BACKGROUND_STYLE (style)->details->background != NULL) {
|
||||
- new_style->details->background = g_object_ref (EEL_BACKGROUND_STYLE (style)->details->background);
|
||||
- }
|
||||
- return GTK_STYLE (new_style);
|
||||
-}
|
||||
-
|
||||
-
|
||||
-static void
|
||||
-eel_background_style_class_init (EelBackgroundStyleClass *class)
|
||||
-{
|
||||
- G_OBJECT_CLASS (class)->finalize = eel_background_style_finalize;
|
||||
- GTK_STYLE_CLASS (class)->clone = eel_background_style_clone;
|
||||
- GTK_STYLE_CLASS (class)->draw_flat_box = eel_background_style_draw_flat_box;
|
||||
- GTK_STYLE_CLASS (class)->set_background = eel_background_style_set_background;
|
||||
-}
|
||||
Index: eel/eel-background-style.h
|
||||
===================================================================
|
||||
RCS file: eel/eel-background-style.h
|
||||
diff -N eel/eel-background-style.h
|
||||
--- eel/eel-background-style.h 4 Feb 2002 16:57:24 -0000 1.2
|
||||
+++ /dev/null 1 Jan 1970 00:00:00 -0000
|
||||
@@ -1,61 +0,0 @@
|
||||
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-
|
||||
-
|
||||
- eel-background-style.h: Style subclass used by EelBackground.
|
||||
-
|
||||
- Copyright (C) 2001 Bent Spoon Software
|
||||
-
|
||||
- This program 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 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
|
||||
- Library General Public License for more details.
|
||||
-
|
||||
- You should have received a copy of the GNU Library 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: Darin Adler <darin@bentspoon.com>
|
||||
-*/
|
||||
-
|
||||
-#ifndef EEL_BACKGROUND_STYLE_H
|
||||
-#define EEL_BACKGROUND_STYLE_H
|
||||
-
|
||||
-#include <eel/eel-background.h>
|
||||
-
|
||||
-typedef struct EelBackgroundStyle EelBackgroundStyle;
|
||||
-typedef struct EelBackgroundStyleClass EelBackgroundStyleClass;
|
||||
-
|
||||
-#define EEL_TYPE_BACKGROUND_STYLE \
|
||||
- (eel_background_style_get_type ())
|
||||
-#define EEL_BACKGROUND_STYLE(obj) \
|
||||
- (GTK_CHECK_CAST ((obj), EEL_TYPE_BACKGROUND_STYLE, EelBackgroundStyle))
|
||||
-#define EEL_BACKGROUND_STYLE_CLASS(klass) \
|
||||
- (GTK_CHECK_CLASS_CAST ((klass), EEL_TYPE_BACKGROUND_STYLE, EelBackgroundStyleClass))
|
||||
-#define EEL_IS_BACKGROUND_STYLE(obj) \
|
||||
- (GTK_CHECK_TYPE ((obj), EEL_TYPE_BACKGROUND_STYLE))
|
||||
-#define EEL_IS_BACKGROUND_STYLE_CLASS(klass) \
|
||||
- (GTK_CHECK_CLASS_TYPE ((klass), EEL_TYPE_BACKGROUND_STYLE))
|
||||
-
|
||||
-GtkType eel_background_style_get_type (void);
|
||||
-EelBackgroundStyle *eel_background_style_new (GtkStyle *base_style,
|
||||
- EelBackground *background);
|
||||
-
|
||||
-typedef struct EelBackgroundStyleDetails EelBackgroundStyleDetails;
|
||||
-
|
||||
-struct EelBackgroundStyle
|
||||
-{
|
||||
- GtkStyle parent;
|
||||
- EelBackgroundStyleDetails *details;
|
||||
-};
|
||||
-
|
||||
-struct EelBackgroundStyleClass
|
||||
-{
|
||||
- GtkStyleClass parent_class;
|
||||
-};
|
||||
-
|
||||
-#endif /* EEL_BACKGROUND_STYLE_H */
|
||||
Index: eel/eel-background.c
|
||||
===================================================================
|
||||
RCS file: /cvs/gnome/eel/eel/eel-background.c,v
|
||||
retrieving revision 1.34
|
||||
retrieving revision 1.35
|
||||
diff -d -u -r1.34 -r1.35
|
||||
--- eel/eel-background.c 19 Jul 2002 20:21:50 -0000 1.34
|
||||
+++ eel/eel-background.c 24 Jul 2002 20:19:51 -0000 1.35
|
||||
@@ -25,7 +25,6 @@
|
||||
#include <config.h>
|
||||
#include "eel-background.h"
|
||||
|
||||
-#include "eel-background-style.h"
|
||||
#include "eel-gdk-extensions.h"
|
||||
#include "eel-gdk-pixbuf-extensions.h"
|
||||
#include "eel-glib-extensions.h"
|
||||
@@ -105,7 +104,6 @@
|
||||
int background_entire_height;
|
||||
GdkColor background_color;
|
||||
gboolean background_changes_with_size;
|
||||
- guint respond_to_style_set : 1;
|
||||
};
|
||||
|
||||
static void
|
||||
@@ -172,7 +170,6 @@
|
||||
background->details = g_new0 (EelBackgroundDetails, 1);
|
||||
background->details->constant_size = FALSE;
|
||||
background->details->is_solid_color = TRUE;
|
||||
- background->details->respond_to_style_set = TRUE;
|
||||
}
|
||||
|
||||
/* The safe way to clear an image from a background is:
|
||||
@@ -718,6 +715,72 @@
|
||||
}
|
||||
|
||||
void
|
||||
+eel_background_expose (GtkWidget *widget,
|
||||
+ GdkEventExpose *event)
|
||||
+{
|
||||
+ GdkColor color;
|
||||
+ int window_width;
|
||||
+ int window_height;
|
||||
+ gboolean changes_with_size;
|
||||
+ GdkPixmap *pixmap;
|
||||
+ GdkGC *gc;
|
||||
+ GdkGCValues gc_values;
|
||||
+ GdkGCValuesMask value_mask;
|
||||
+
|
||||
+ EelBackground *background;
|
||||
+
|
||||
+ if (event->window != widget->window) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ background = eel_get_widget_background (widget);
|
||||
+
|
||||
+ gdk_drawable_get_size (widget->window, &window_width, &window_height);
|
||||
+
|
||||
+ pixmap = eel_background_get_pixmap_and_color (background,
|
||||
+ widget->window,
|
||||
+ window_width,
|
||||
+ window_height,
|
||||
+ &color,
|
||||
+ &changes_with_size);
|
||||
+
|
||||
+ if (!changes_with_size) {
|
||||
+ /* The background was already drawn by X, since we set
|
||||
+ * the GdkWindow background/back_pixmap.
|
||||
+ * No need to draw it again. */
|
||||
+ if (pixmap) {
|
||||
+ g_object_unref (pixmap);
|
||||
+ }
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (pixmap) {
|
||||
+ gc_values.tile = pixmap;
|
||||
+ gc_values.ts_x_origin = 0;
|
||||
+ gc_values.ts_y_origin = 0;
|
||||
+ gc_values.fill = GDK_TILED;
|
||||
+ value_mask = GDK_GC_FILL | GDK_GC_TILE | GDK_GC_TS_X_ORIGIN | GDK_GC_TS_Y_ORIGIN;
|
||||
+ } else {
|
||||
+ gdk_rgb_find_color (gtk_widget_get_colormap (widget), &color);
|
||||
+ gc_values.foreground = color;
|
||||
+ gc_values.fill = GDK_SOLID;
|
||||
+ value_mask = GDK_GC_FILL | GDK_GC_FOREGROUND;
|
||||
+ }
|
||||
+
|
||||
+ gc = gdk_gc_new_with_values (widget->window, &gc_values, value_mask);
|
||||
+
|
||||
+ gdk_gc_set_clip_rectangle (gc, &event->area);
|
||||
+
|
||||
+ gdk_draw_rectangle (widget->window, gc, TRUE, 0, 0, window_width, window_height);
|
||||
+
|
||||
+ g_object_unref (gc);
|
||||
+
|
||||
+ if (pixmap) {
|
||||
+ g_object_unref (pixmap);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void
|
||||
eel_background_pre_draw (EelBackground *background, int entire_width, int entire_height)
|
||||
{
|
||||
eel_background_ensure_image_scaled (background, entire_width, entire_height);
|
||||
@@ -1125,59 +1188,6 @@
|
||||
eel_background_set_image_uri_and_color (background, image_uri, NULL);
|
||||
}
|
||||
|
||||
-static void
|
||||
-eel_background_set_style_font_from_default (GtkStyle *style,
|
||||
- GtkSettings *settings)
|
||||
-{
|
||||
- char *fontname;
|
||||
-
|
||||
- fontname = NULL;
|
||||
-
|
||||
- g_object_get (settings,
|
||||
- "gtk-font-name", &fontname,
|
||||
- NULL);
|
||||
-
|
||||
- if (fontname != NULL) {
|
||||
- if (style->font_desc) {
|
||||
- pango_font_description_free (style->font_desc);
|
||||
- }
|
||||
-
|
||||
- style->font_desc = pango_font_description_from_string (fontname);
|
||||
- g_free (fontname);
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-
|
||||
-static void
|
||||
-eel_background_set_widget_style (EelBackground *background,
|
||||
- GtkWidget *widget)
|
||||
-{
|
||||
- GtkStyle *style;
|
||||
- gboolean old_respond_value;
|
||||
-
|
||||
- g_return_if_fail (EEL_IS_BACKGROUND (background));
|
||||
- g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||
-
|
||||
- style = GTK_STYLE (eel_background_style_new (gtk_widget_get_style (widget),
|
||||
- background));
|
||||
-
|
||||
- /* Bad hack to make font changing work: */
|
||||
- eel_background_set_style_font_from_default (style, gtk_widget_get_settings (widget));
|
||||
-
|
||||
- old_respond_value = background->details->respond_to_style_set;
|
||||
- background->details->respond_to_style_set = FALSE;
|
||||
- gtk_widget_set_style (widget, style);
|
||||
- /* HACK: unset the USER_STYLE flag because otherwise we will not be
|
||||
- * notified of theme changes through the "style_set" signal. The real
|
||||
- * solution is not to use a style of our own, but rather paint the
|
||||
- * widget by hand when needed.
|
||||
- */
|
||||
- GTK_PRIVATE_UNSET_FLAG (widget, GTK_USER_STYLE);
|
||||
- background->details->respond_to_style_set = old_respond_value;
|
||||
-
|
||||
- g_object_unref (style);
|
||||
-}
|
||||
-
|
||||
/**
|
||||
* eel_background_is_set:
|
||||
*
|
||||
@@ -1286,6 +1296,44 @@
|
||||
}
|
||||
|
||||
static void
|
||||
+eel_background_set_up_widget (EelBackground *background, GtkWidget *widget)
|
||||
+{
|
||||
+ GtkStyle *style;
|
||||
+ GdkPixmap *pixmap;
|
||||
+ GdkColor color;
|
||||
+ int window_width;
|
||||
+ int window_height;
|
||||
+ gboolean changes_with_size;
|
||||
+
|
||||
+ if (!GTK_WIDGET_REALIZED (widget)) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ gdk_drawable_get_size (widget->window, &window_width, &window_height);
|
||||
+
|
||||
+ pixmap = eel_background_get_pixmap_and_color (background,
|
||||
+ widget->window,
|
||||
+ window_width,
|
||||
+ window_height,
|
||||
+ &color,
|
||||
+ &changes_with_size);
|
||||
+
|
||||
+ style = gtk_widget_get_style (widget);
|
||||
+
|
||||
+ gdk_rgb_find_color (style->colormap, &color);
|
||||
+
|
||||
+ if (pixmap && !changes_with_size) {
|
||||
+ gdk_window_set_back_pixmap (widget->window, pixmap, FALSE);
|
||||
+ } else {
|
||||
+ gdk_window_set_background (widget->window, &color);
|
||||
+ }
|
||||
+
|
||||
+ if (pixmap) {
|
||||
+ g_object_unref (pixmap);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
eel_background_set_up_canvas (GtkWidget *widget)
|
||||
{
|
||||
if (!GNOME_IS_CANVAS (widget)) {
|
||||
@@ -1309,64 +1357,22 @@
|
||||
eel_widget_background_changed (GtkWidget *widget, EelBackground *background)
|
||||
{
|
||||
eel_background_unrealize (background);
|
||||
- eel_background_set_widget_style (background, widget);
|
||||
+ eel_background_set_up_widget (background, widget);
|
||||
eel_background_set_up_canvas (widget);
|
||||
|
||||
gtk_widget_queue_draw (widget);
|
||||
}
|
||||
|
||||
-/* Bad hack to make font changes work for EelBackgrounds */
|
||||
-static void
|
||||
-eel_widget_font_changed (GtkWidget *widget,
|
||||
- GParamSpec *pspec,
|
||||
- GtkSettings *settings)
|
||||
-{
|
||||
- EelBackground *background;
|
||||
- GtkStyle *style;
|
||||
- gboolean old_respond_value;
|
||||
-
|
||||
- background = eel_get_widget_background (widget);
|
||||
-
|
||||
- style = gtk_style_copy (gtk_widget_get_style (widget));
|
||||
-
|
||||
- eel_background_set_style_font_from_default (style, settings);
|
||||
-
|
||||
- old_respond_value = background->details->respond_to_style_set;
|
||||
- background->details->respond_to_style_set = FALSE;
|
||||
- gtk_widget_set_style (widget, style);
|
||||
- /* HACK: unset the USER_STYLE flag because otherwise we will not be
|
||||
- * notified of theme changes through the "style_set" signal. The real
|
||||
- * solution is not to use a style of our own, but rather paint the
|
||||
- * widget by hand when needed.
|
||||
- */
|
||||
- GTK_PRIVATE_UNSET_FLAG (widget, GTK_USER_STYLE);
|
||||
- background->details->respond_to_style_set = old_respond_value;
|
||||
-
|
||||
- g_object_unref (style);
|
||||
-}
|
||||
-
|
||||
-/* Callback used when the style of a widget changes. We have to regenerate its
|
||||
- * EelBackgroundStyle so that it will match the chosen GTK+ theme.
|
||||
- */
|
||||
-static void
|
||||
-widget_style_set_cb (GtkWidget *widget, GtkStyle *previous_style, gpointer data)
|
||||
-{
|
||||
- EelBackground *background;
|
||||
-
|
||||
- background = EEL_BACKGROUND (data);
|
||||
-
|
||||
- if (!background->details->respond_to_style_set)
|
||||
- return;
|
||||
-
|
||||
- eel_widget_background_changed (widget, background);
|
||||
-}
|
||||
-
|
||||
/* Gets the background attached to a widget.
|
||||
|
||||
If the widget doesn't already have a EelBackground object,
|
||||
this will create one. To change the widget's background, you can
|
||||
just call eel_background methods on the widget.
|
||||
|
||||
+ If the widget is a canvas, nothing more needs to be done. For
|
||||
+ normal widgets, you need to call eel_background_expose() from your
|
||||
+ expose handler to draw the background.
|
||||
+
|
||||
Later, we might want a call to find out if we already have a background,
|
||||
or a way to share the same background among multiple widgets; both would
|
||||
be straightforward.
|
||||
@@ -1376,7 +1382,6 @@
|
||||
{
|
||||
gpointer data;
|
||||
EelBackground *background;
|
||||
- GtkSettings *settings;
|
||||
|
||||
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
|
||||
|
||||
@@ -1398,14 +1403,6 @@
|
||||
g_signal_connect_object (background, "appearance_changed",
|
||||
G_CALLBACK (eel_widget_background_changed), widget, G_CONNECT_SWAPPED);
|
||||
eel_widget_background_changed (widget, background);
|
||||
-
|
||||
- settings = gtk_widget_get_settings (widget);
|
||||
- g_signal_connect_object (settings, "notify::gtk-font-name",
|
||||
- G_CALLBACK (eel_widget_font_changed), widget, G_CONNECT_SWAPPED);
|
||||
-
|
||||
- g_signal_connect (widget, "style_set",
|
||||
- G_CALLBACK (widget_style_set_cb),
|
||||
- background);
|
||||
|
||||
return background;
|
||||
}
|
||||
Index: eel/eel-background.h
|
||||
===================================================================
|
||||
RCS file: /cvs/gnome/eel/eel/eel-background.h,v
|
||||
retrieving revision 1.9
|
||||
retrieving revision 1.10
|
||||
diff -d -u -r1.9 -r1.10
|
||||
--- eel/eel-background.h 3 Mar 2002 20:50:16 -0000 1.9
|
||||
+++ eel/eel-background.h 24 Jul 2002 20:19:51 -0000 1.10
|
||||
@@ -109,6 +109,10 @@
|
||||
gboolean *changes_with_size);
|
||||
|
||||
|
||||
+/* Helper function for widgets using EelBackground */
|
||||
+void eel_background_expose (GtkWidget *widget,
|
||||
+ GdkEventExpose *event);
|
||||
+
|
||||
/* For preping the background to be used in one of the two calls
|
||||
* below. Only intended to be called by eel_background_canvas_group_update.
|
||||
*/
|
||||
--- eel/Makefile.in.orig Thu Jul 25 15:10:22 2002
|
||||
+++ eel/Makefile.in Thu Jul 25 15:41:03 2002
|
||||
@@ -151,7 +151,7 @@
|
||||
eel-art-extensions.c \
|
||||
eel-art-gtk-extensions.c \
|
||||
eel-background.c \
|
||||
- eel-background-style.c \
|
||||
+ eel-background-box.c \
|
||||
eel-canvas-rect.c \
|
||||
eel-caption-table.c \
|
||||
eel-caption.c \
|
||||
@@ -206,7 +206,7 @@
|
||||
eel-art-extensions.h \
|
||||
eel-art-gtk-extensions.h \
|
||||
eel-background.h \
|
||||
- eel-background-style.h \
|
||||
+ eel-background-box.h \
|
||||
eel-canvas-rect.h \
|
||||
eel-caption-table.h \
|
||||
eel-caption.h \
|
||||
@@ -318,7 +318,7 @@
|
||||
LIBS = @LIBS@
|
||||
libeel_2_la_LIBADD =
|
||||
libeel_2_la_OBJECTS = eel-accessibility.lo eel-art-extensions.lo \
|
||||
-eel-art-gtk-extensions.lo eel-background.lo eel-background-style.lo \
|
||||
+eel-art-gtk-extensions.lo eel-background.lo eel-background-box.lo \
|
||||
eel-canvas-rect.lo eel-caption-table.lo eel-caption.lo \
|
||||
eel-cell-renderer-pixbuf-list.lo eel-dateedit-extensions.lo \
|
||||
eel-debug-drawing.lo eel-debug.lo eel-ellipsizing-label.lo \
|
@ -56,6 +56,7 @@ libdata/pkgconfig/eel-2.0.pc
|
||||
share/locale/ar/LC_MESSAGES/eel-2.0.mo
|
||||
share/locale/az/LC_MESSAGES/eel-2.0.mo
|
||||
share/locale/bg/LC_MESSAGES/eel-2.0.mo
|
||||
share/locale/bs/LC_MESSAGES/eel-2.0.mo
|
||||
share/locale/ca/LC_MESSAGES/eel-2.0.mo
|
||||
share/locale/cs/LC_MESSAGES/eel-2.0.mo
|
||||
share/locale/da/LC_MESSAGES/eel-2.0.mo
|
||||
|
Loading…
Reference in New Issue
Block a user