summaryrefslogtreecommitdiff
path: root/libnautilus-private/nautilus-icon-container.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2003-12-18 11:06:55 +0000
committerAlexander Larsson <alexl@src.gnome.org>2003-12-18 11:06:55 +0000
commit72aa6695e7422ad91231ccf18b26de90aceb1443 (patch)
treeab345f5b794d4c2ec87868bb937f45b6f08a55d5 /libnautilus-private/nautilus-icon-container.c
parent934d49681528e2bb95c6074e76a3d7a2072b6690 (diff)
downloadnautilus-72aa6695e7422ad91231ccf18b26de90aceb1443.tar.gz
Require gtk/glib 2.3.0
2003-12-18 Alexander Larsson <alexl@redhat.com> * configure.in: Require gtk/glib 2.3.0 * libnautilus-private/nautilus-directory.c: Use gobject private data for details * libnautilus-private/nautilus-file-private.h: * libnautilus-private/nautilus-file.[ch]: Use gobject private data for details Add has_open_window flag and setter/getter * libnautilus-private/nautilus-icon-container.[ch]: * src/file-manager/fm-icon-container.c: Support visiting modifier for icons with open windows * src/file-manager/fm-directory-view.c: Don't use filename extension in templates name * src/file-manager/fm-list-model.c: Support accept and visiting icon modifiers * src/file-manager/fm-list-view.c: Always set the drag_view on the model so that the accept modifier works * src/nautilus-window.c: (nautilus_window_set_viewed_file): Set has_open_window on file
Diffstat (limited to 'libnautilus-private/nautilus-icon-container.c')
-rw-r--r--libnautilus-private/nautilus-icon-container.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/libnautilus-private/nautilus-icon-container.c b/libnautilus-private/nautilus-icon-container.c
index 03117b798..8b6ae752a 100644
--- a/libnautilus-private/nautilus-icon-container.c
+++ b/libnautilus-private/nautilus-icon-container.c
@@ -4732,14 +4732,15 @@ nautilus_icon_container_get_icon_images (NautilusIconContainer *container,
NautilusIconData *data,
GList **emblem_icons,
char **embedded_text,
- gboolean *embedded_text_needs_loading)
+ gboolean *embedded_text_needs_loading,
+ gboolean *has_open_window)
{
NautilusIconContainerClass *klass;
klass = NAUTILUS_ICON_CONTAINER_GET_CLASS (container);
g_return_val_if_fail (klass->get_icon_images != NULL, NULL);
- return klass->get_icon_images (container, data, emblem_icons, embedded_text, embedded_text_needs_loading);
+ return klass->get_icon_images (container, data, emblem_icons, embedded_text, embedded_text_needs_loading, has_open_window);
}
@@ -4865,6 +4866,8 @@ nautilus_icon_container_update_icon (NautilusIconContainer *container,
char *embedded_text;
GdkRectangle embedded_text_rect;
gboolean embedded_text_needs_loading;
+ gboolean has_open_window;
+ char *modifier;
if (icon == NULL) {
return;
@@ -4878,7 +4881,8 @@ nautilus_icon_container_update_icon (NautilusIconContainer *container,
icon_name = nautilus_icon_container_get_icon_images (
container, icon->data,
&emblem_icon_names,
- &embedded_text, &embedded_text_needs_loading);
+ &embedded_text, &embedded_text_needs_loading,
+ &has_open_window);
/* compute the maximum size based on the scale factor */
min_image_size = MINIMUM_IMAGE_SIZE * EEL_CANVAS (container)->pixels_per_unit;
@@ -4889,10 +4893,18 @@ nautilus_icon_container_update_icon (NautilusIconContainer *container,
icon_size = MAX (icon_size, min_image_size);
icon_size = MIN (icon_size, max_image_size);
+
+ modifier = NULL;
+ if (has_open_window) {
+ modifier = "visiting";
+ }
+ if (icon == details->drop_target) {
+ modifier = "accept";
+ }
pixbuf = nautilus_icon_factory_get_pixbuf_for_icon
(icon_name,
- (icon == details->drop_target) ? "accept" : NULL,
+ modifier,
icon_size,
&attach_points,
&embedded_text_rect,