summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Hertzfeld <andy@src.gnome.org>2000-08-07 05:55:25 +0000
committerAndy Hertzfeld <andy@src.gnome.org>2000-08-07 05:55:25 +0000
commit58113f497774f7408d568edb829827fed014080e (patch)
tree1ea78a9c63a127c66a23431e6bf7899d23988947
parent64e7b04f00af2c4e68f231531efba6d9f6980a1c (diff)
downloadnautilus-58113f497774f7408d568edb829827fed014080e.tar.gz
made assigned emblems appear earlier in the list than intrinsic ones,
made assigned emblems appear earlier in the list than intrinsic ones, since they are more important to the user and also, at Bud's suggestion distinguished the additional info beneath the file name from the filename by drawing it in a different color
-rw-r--r--ChangeLog21
-rw-r--r--libnautilus-extensions/nautilus-file.c32
-rw-r--r--libnautilus-extensions/nautilus-icon-canvas-item.c20
-rw-r--r--libnautilus-extensions/nautilus-icon-container.c15
-rw-r--r--libnautilus-extensions/nautilus-icon-container.h3
-rw-r--r--libnautilus-extensions/nautilus-icon-private.h3
-rw-r--r--libnautilus-private/nautilus-file.c32
-rw-r--r--libnautilus-private/nautilus-icon-canvas-item.c20
-rw-r--r--libnautilus-private/nautilus-icon-container.c15
-rw-r--r--libnautilus-private/nautilus-icon-container.h3
-rw-r--r--libnautilus-private/nautilus-icon-private.h3
11 files changed, 119 insertions, 48 deletions
diff --git a/ChangeLog b/ChangeLog
index 5bc890854..8e41a0c18 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2000-08-06 Andy Hertzfeld <andy@eazel.com>
+
+ * libnautilus-extensions/nautilus-file.c:
+ (nautilus_file_get_emblem_names):
+ make intrinsic emblems appear in the list after the assigned ones because
+ the assigned ones are more important to the user.
+
+ * libnautilus-extensions/nautilus-icon-canvas-item.c:
+ (nautilus_icon_canvas_item_initialize_class),
+ (draw_or_measure_label_text):
+ At Bud's suggestion, distinguish the additional info from the file name by
+ drawing it in a different color
+ * libnautilus-extensions/nautilus-icon-container.c:
+ (nautilus_icon_container_get_label_color), (update_label_color):
+ set up the file name color and the additional info color separately
+ return one or the other based on parameter passed in to get_label_color
+ * libnautilus-extensions/nautilus-icon-container.h:
+ added an additional parameter to get_label_color to select which color to return
+ * libnautilus-extensions/nautilus-icon-private.h:
+ added a new field for the additional info color
+
2000-08-05 Andy Hertzfeld <andy@eazel.com>
fixed embedded icon text clarity (we were using helvetica 9, which wasn't installed
diff --git a/libnautilus-extensions/nautilus-file.c b/libnautilus-extensions/nautilus-file.c
index 1c05248ca..ab5cf4f76 100644
--- a/libnautilus-extensions/nautilus-file.c
+++ b/libnautilus-extensions/nautilus-file.c
@@ -3070,28 +3070,28 @@ nautilus_file_get_emblem_names (NautilusFile *file)
g_return_val_if_fail (NAUTILUS_IS_FILE (file), NULL);
names = nautilus_file_get_keywords (file);
-
- if (!nautilus_file_can_read (file)) {
- names = g_list_prepend
- (names, g_strdup (EMBLEM_NAME_CANT_READ));
-
+
+ if (nautilus_file_is_search_result (file)
+ && nautilus_file_is_in_trash (file)) {
+ names = g_list_append
+ (names, g_strdup (EMBLEM_NAME_TRASH));
}
- if (!nautilus_file_can_write (file)) {
- names = g_list_prepend
- (names, g_strdup (EMBLEM_NAME_CANT_WRITE));
-
- }
-
if (nautilus_file_is_symbolic_link (file)) {
- names = g_list_prepend
+ names = g_list_append
(names, g_strdup (EMBLEM_NAME_SYMBOLIC_LINK));
}
- if (nautilus_file_is_search_result (file)
- && nautilus_file_is_in_trash (file)) {
- names = g_list_prepend
- (names, g_strdup (EMBLEM_NAME_TRASH));
+ if (!nautilus_file_can_write (file)) {
+ names = g_list_append
+ (names, g_strdup (EMBLEM_NAME_CANT_WRITE));
+
+ }
+
+ if (!nautilus_file_can_read (file)) {
+ names = g_list_append
+ (names, g_strdup (EMBLEM_NAME_CANT_READ));
+
}
return names;
diff --git a/libnautilus-extensions/nautilus-icon-canvas-item.c b/libnautilus-extensions/nautilus-icon-canvas-item.c
index 5731cb6f4..aa1b3569b 100644
--- a/libnautilus-extensions/nautilus-icon-canvas-item.c
+++ b/libnautilus-extensions/nautilus-icon-canvas-item.c
@@ -116,7 +116,8 @@ static guint signals[LAST_SIGNAL];
static GdkColor highlight_background_color;
static GdkColor highlight_text_color;
-
+static GdkColor highlight_text_info_color;
+
/* GtkObject */
static void nautilus_icon_canvas_item_initialize_class (NautilusIconCanvasItemClass *class);
static void nautilus_icon_canvas_item_initialize (NautilusIconCanvasItem *item);
@@ -235,6 +236,7 @@ nautilus_icon_canvas_item_initialize_class (NautilusIconCanvasItemClass *class)
/* set up the highlight colors - soon, get these from preferences */
gdk_color_parse ("rgb:00/00/00", &highlight_background_color);
gdk_color_parse ("rgb:FF/FF/FF", &highlight_text_color);
+ gdk_color_parse ("rgb:AA/AA/FF", &highlight_text_info_color);
}
/* Object initialization function for the icon item. */
@@ -668,6 +670,9 @@ draw_or_measure_label_text (NautilusIconCanvasItem *item,
gdk_colormap_alloc_color
(gtk_widget_get_colormap (GTK_WIDGET (canvas_item->canvas)),
&highlight_text_color, FALSE, TRUE);
+ gdk_colormap_alloc_color
+ (gtk_widget_get_colormap (GTK_WIDGET (canvas_item->canvas)),
+ &highlight_text_info_color, FALSE, TRUE);
gdk_gc_set_foreground (gc, &highlight_background_color);
@@ -681,7 +686,7 @@ draw_or_measure_label_text (NautilusIconCanvasItem *item,
}
if (!needs_highlight && drawable != NULL) {
- label_color = nautilus_icon_container_get_label_color (NAUTILUS_ICON_CONTAINER (canvas_item->canvas));
+ label_color = nautilus_icon_container_get_label_color (NAUTILUS_ICON_CONTAINER (canvas_item->canvas), TRUE);
gdk_rgb_gc_set_foreground (gc, label_color);
}
@@ -722,6 +727,17 @@ draw_or_measure_label_text (NautilusIconCanvasItem *item,
text_left + 1, icon_bottom + height_so_far);
}
}
+
+ if (drawable != NULL && i == 0) {
+ if (needs_highlight) {
+ gdk_gc_set_foreground (gc, &highlight_text_info_color);
+
+ } else {
+ label_color = nautilus_icon_container_get_label_color (NAUTILUS_ICON_CONTAINER (canvas_item->canvas), FALSE);
+ gdk_rgb_gc_set_foreground (gc, label_color);
+ }
+
+ }
width_so_far = MAX (width_so_far, icon_text_info->width);
height_so_far += icon_text_info->height;
diff --git a/libnautilus-extensions/nautilus-icon-container.c b/libnautilus-extensions/nautilus-icon-container.c
index 4c28597e2..9ae834759 100644
--- a/libnautilus-extensions/nautilus-icon-container.c
+++ b/libnautilus-extensions/nautilus-icon-container.c
@@ -3786,10 +3786,15 @@ nautilus_icon_container_set_single_click_mode (NautilusIconContainer *container,
/* update the label color when the background changes */
guint32
-nautilus_icon_container_get_label_color (NautilusIconContainer *container)
+nautilus_icon_container_get_label_color (NautilusIconContainer *container, gboolean is_name)
{
g_return_val_if_fail (NAUTILUS_IS_ICON_CONTAINER (container), 0);
- return container->details->label_color;
+ if (is_name) {
+ return container->details->label_color;
+ } else {
+ return container->details->label_info_color;
+ }
+
}
static void
@@ -3800,9 +3805,11 @@ update_label_color (NautilusBackground *background,
g_assert (NAUTILUS_IS_ICON_CONTAINER (container));
if (nautilus_background_is_dark (background)) {
- container->details->label_color = 0xEEEEEE;
+ container->details->label_color = 0xEFEFEF;
+ container->details->label_info_color = 0xAAAAEF;
} else {
- container->details->label_color = 0x000000;
+ container->details->label_color = 000000;
+ container->details->label_info_color = 0x00007F;
}
}
diff --git a/libnautilus-extensions/nautilus-icon-container.h b/libnautilus-extensions/nautilus-icon-container.h
index de2f58eca..a8bf09fb7 100644
--- a/libnautilus-extensions/nautilus-icon-container.h
+++ b/libnautilus-extensions/nautilus-icon-container.h
@@ -166,7 +166,8 @@ gboolean nautilus_icon_container_is_renaming (NautilusIconCo
/* label color for items to use */
-guint32 nautilus_icon_container_get_label_color (NautilusIconContainer *container);
+guint32 nautilus_icon_container_get_label_color (NautilusIconContainer *container,
+ gboolean first_line);
/* options */
int nautilus_icon_container_get_zoom_level (NautilusIconContainer *view);
diff --git a/libnautilus-extensions/nautilus-icon-private.h b/libnautilus-extensions/nautilus-icon-private.h
index 33467a17d..4b9c7562e 100644
--- a/libnautilus-extensions/nautilus-icon-private.h
+++ b/libnautilus-extensions/nautilus-icon-private.h
@@ -164,7 +164,8 @@ struct NautilusIconContainerDetails {
/* color for text labels */
guint32 label_color;
-
+ guint32 label_info_color;
+
/* State used so arrow keys don't wander if icons aren't lined up.
* Keeps track of last axis arrow key was used on.
*/
diff --git a/libnautilus-private/nautilus-file.c b/libnautilus-private/nautilus-file.c
index 1c05248ca..ab5cf4f76 100644
--- a/libnautilus-private/nautilus-file.c
+++ b/libnautilus-private/nautilus-file.c
@@ -3070,28 +3070,28 @@ nautilus_file_get_emblem_names (NautilusFile *file)
g_return_val_if_fail (NAUTILUS_IS_FILE (file), NULL);
names = nautilus_file_get_keywords (file);
-
- if (!nautilus_file_can_read (file)) {
- names = g_list_prepend
- (names, g_strdup (EMBLEM_NAME_CANT_READ));
-
+
+ if (nautilus_file_is_search_result (file)
+ && nautilus_file_is_in_trash (file)) {
+ names = g_list_append
+ (names, g_strdup (EMBLEM_NAME_TRASH));
}
- if (!nautilus_file_can_write (file)) {
- names = g_list_prepend
- (names, g_strdup (EMBLEM_NAME_CANT_WRITE));
-
- }
-
if (nautilus_file_is_symbolic_link (file)) {
- names = g_list_prepend
+ names = g_list_append
(names, g_strdup (EMBLEM_NAME_SYMBOLIC_LINK));
}
- if (nautilus_file_is_search_result (file)
- && nautilus_file_is_in_trash (file)) {
- names = g_list_prepend
- (names, g_strdup (EMBLEM_NAME_TRASH));
+ if (!nautilus_file_can_write (file)) {
+ names = g_list_append
+ (names, g_strdup (EMBLEM_NAME_CANT_WRITE));
+
+ }
+
+ if (!nautilus_file_can_read (file)) {
+ names = g_list_append
+ (names, g_strdup (EMBLEM_NAME_CANT_READ));
+
}
return names;
diff --git a/libnautilus-private/nautilus-icon-canvas-item.c b/libnautilus-private/nautilus-icon-canvas-item.c
index 5731cb6f4..aa1b3569b 100644
--- a/libnautilus-private/nautilus-icon-canvas-item.c
+++ b/libnautilus-private/nautilus-icon-canvas-item.c
@@ -116,7 +116,8 @@ static guint signals[LAST_SIGNAL];
static GdkColor highlight_background_color;
static GdkColor highlight_text_color;
-
+static GdkColor highlight_text_info_color;
+
/* GtkObject */
static void nautilus_icon_canvas_item_initialize_class (NautilusIconCanvasItemClass *class);
static void nautilus_icon_canvas_item_initialize (NautilusIconCanvasItem *item);
@@ -235,6 +236,7 @@ nautilus_icon_canvas_item_initialize_class (NautilusIconCanvasItemClass *class)
/* set up the highlight colors - soon, get these from preferences */
gdk_color_parse ("rgb:00/00/00", &highlight_background_color);
gdk_color_parse ("rgb:FF/FF/FF", &highlight_text_color);
+ gdk_color_parse ("rgb:AA/AA/FF", &highlight_text_info_color);
}
/* Object initialization function for the icon item. */
@@ -668,6 +670,9 @@ draw_or_measure_label_text (NautilusIconCanvasItem *item,
gdk_colormap_alloc_color
(gtk_widget_get_colormap (GTK_WIDGET (canvas_item->canvas)),
&highlight_text_color, FALSE, TRUE);
+ gdk_colormap_alloc_color
+ (gtk_widget_get_colormap (GTK_WIDGET (canvas_item->canvas)),
+ &highlight_text_info_color, FALSE, TRUE);
gdk_gc_set_foreground (gc, &highlight_background_color);
@@ -681,7 +686,7 @@ draw_or_measure_label_text (NautilusIconCanvasItem *item,
}
if (!needs_highlight && drawable != NULL) {
- label_color = nautilus_icon_container_get_label_color (NAUTILUS_ICON_CONTAINER (canvas_item->canvas));
+ label_color = nautilus_icon_container_get_label_color (NAUTILUS_ICON_CONTAINER (canvas_item->canvas), TRUE);
gdk_rgb_gc_set_foreground (gc, label_color);
}
@@ -722,6 +727,17 @@ draw_or_measure_label_text (NautilusIconCanvasItem *item,
text_left + 1, icon_bottom + height_so_far);
}
}
+
+ if (drawable != NULL && i == 0) {
+ if (needs_highlight) {
+ gdk_gc_set_foreground (gc, &highlight_text_info_color);
+
+ } else {
+ label_color = nautilus_icon_container_get_label_color (NAUTILUS_ICON_CONTAINER (canvas_item->canvas), FALSE);
+ gdk_rgb_gc_set_foreground (gc, label_color);
+ }
+
+ }
width_so_far = MAX (width_so_far, icon_text_info->width);
height_so_far += icon_text_info->height;
diff --git a/libnautilus-private/nautilus-icon-container.c b/libnautilus-private/nautilus-icon-container.c
index 4c28597e2..9ae834759 100644
--- a/libnautilus-private/nautilus-icon-container.c
+++ b/libnautilus-private/nautilus-icon-container.c
@@ -3786,10 +3786,15 @@ nautilus_icon_container_set_single_click_mode (NautilusIconContainer *container,
/* update the label color when the background changes */
guint32
-nautilus_icon_container_get_label_color (NautilusIconContainer *container)
+nautilus_icon_container_get_label_color (NautilusIconContainer *container, gboolean is_name)
{
g_return_val_if_fail (NAUTILUS_IS_ICON_CONTAINER (container), 0);
- return container->details->label_color;
+ if (is_name) {
+ return container->details->label_color;
+ } else {
+ return container->details->label_info_color;
+ }
+
}
static void
@@ -3800,9 +3805,11 @@ update_label_color (NautilusBackground *background,
g_assert (NAUTILUS_IS_ICON_CONTAINER (container));
if (nautilus_background_is_dark (background)) {
- container->details->label_color = 0xEEEEEE;
+ container->details->label_color = 0xEFEFEF;
+ container->details->label_info_color = 0xAAAAEF;
} else {
- container->details->label_color = 0x000000;
+ container->details->label_color = 000000;
+ container->details->label_info_color = 0x00007F;
}
}
diff --git a/libnautilus-private/nautilus-icon-container.h b/libnautilus-private/nautilus-icon-container.h
index de2f58eca..a8bf09fb7 100644
--- a/libnautilus-private/nautilus-icon-container.h
+++ b/libnautilus-private/nautilus-icon-container.h
@@ -166,7 +166,8 @@ gboolean nautilus_icon_container_is_renaming (NautilusIconCo
/* label color for items to use */
-guint32 nautilus_icon_container_get_label_color (NautilusIconContainer *container);
+guint32 nautilus_icon_container_get_label_color (NautilusIconContainer *container,
+ gboolean first_line);
/* options */
int nautilus_icon_container_get_zoom_level (NautilusIconContainer *view);
diff --git a/libnautilus-private/nautilus-icon-private.h b/libnautilus-private/nautilus-icon-private.h
index 33467a17d..4b9c7562e 100644
--- a/libnautilus-private/nautilus-icon-private.h
+++ b/libnautilus-private/nautilus-icon-private.h
@@ -164,7 +164,8 @@ struct NautilusIconContainerDetails {
/* color for text labels */
guint32 label_color;
-
+ guint32 label_info_color;
+
/* State used so arrow keys don't wander if icons aren't lined up.
* Keeps track of last axis arrow key was used on.
*/