summaryrefslogtreecommitdiff
path: root/libnautilus-extensions/nautilus-file-operations-progress.c
diff options
context:
space:
mode:
authorPavel Cisler <pavel@eazel.com>2000-11-16 03:32:07 +0000
committerPavel Cisler <pce@src.gnome.org>2000-11-16 03:32:07 +0000
commit0498767b316c4588f85bc823a15b5471f169f79d (patch)
tree81f3bb89f72e8b638f54d9f20584569fca1a4bf5 /libnautilus-extensions/nautilus-file-operations-progress.c
parent2803047ec478d3ca91ee27eeea087aa8ff36ec32 (diff)
downloadnautilus-0498767b316c4588f85bc823a15b5471f169f79d.tar.gz
reviewed by: John Sullivan <sullivan@eazel.com>
2000-11-15 Pavel Cisler <pavel@eazel.com> reviewed by: John Sullivan <sullivan@eazel.com> * libnautilus-extensions/nautilus-gdk-extensions.c: * libnautilus-extensions/nautilus-gdk-extensions.h: * libnautilus-extensions/nautilus-file-operations-progress.c: (set_text_unescaped_trimmed): (nautilus_string_ellipsize_start): Turn an existing truncation routine to a public one, giving it a better name. Get rid of a questionable optimization (bugzilla 2555). * libnautilus-extensions/nautilus-gdk-extensions.c: (nautilus_self_check_ellipsize_start), (nautilus_self_check_gdk_extensions): Added tests for the elipsize routine. * libnautilus-extensions/nautilus-file-operations.c: * libnautilus-extensions/nautilus-file-operations.h: (get_label_font), (nautilus_format_name_for_display), (nautilus_convert_to_formatted_name_for_display), (handle_xfer_vfs_error), (handle_xfer_overwrite), (nautilus_file_operations_move_to_trash): Fix 826: File operation alerts should truncate file names. Add a convenience call to unescape and truncate a file name, use it the places that format warning and error dialog strings. Add some missing quotes in some of the error strings. * libnautilus-extensions/nautilus-file-operations.c: (parent_for_error_dialog): Work on fixing 3093 - file operation error dialogs show up in the wrong place. Make the error dialogs use the progress dialog as their parent window, if available, if not, revert to using the original view as a parent. * libnautilus-extensions/nautilus-string.c: Added a comment pointing people to the new ellipsize routines.
Diffstat (limited to 'libnautilus-extensions/nautilus-file-operations-progress.c')
-rw-r--r--libnautilus-extensions/nautilus-file-operations-progress.c32
1 files changed, 2 insertions, 30 deletions
diff --git a/libnautilus-extensions/nautilus-file-operations-progress.c b/libnautilus-extensions/nautilus-file-operations-progress.c
index b2dee80d3..6547e2b48 100644
--- a/libnautilus-extensions/nautilus-file-operations-progress.c
+++ b/libnautilus-extensions/nautilus-file-operations-progress.c
@@ -30,6 +30,7 @@
#include <libgnomevfs/gnome-vfs-utils.h>
#include "nautilus-file-operations-progress.h"
#include "libnautilus-extensions/nautilus-gtk-extensions.h"
+#include "libnautilus-extensions/nautilus-gdk-extensions.h"
#include "libnautilus-extensions/nautilus-gtk-macros.h"
@@ -80,35 +81,6 @@ nautilus_file_operations_progress_update (NautilusFileOperationsProgress *dialog
0.0, dialog->details->bytes_total);
}
-static char *
-truncate_string_from_start (const char *string, GdkFont *font, guint length)
-{
- static guint dotdotdot = 0;
- int truncate_offset;
-
- if (gdk_string_width (font, string) <= (int) length) {
- /* string is already short enough*/
- return g_strdup (string);
- }
-
- if (!dotdotdot) {
- /* FIXME bugzilla.eazel.com 2555:
- * This value needs to get updated if a font changes while Nautilus is running
- */
- dotdotdot = gdk_string_width (font, "...");
- }
-
- /* Cut the font length of string to length. */
- length -= dotdotdot;
- for (truncate_offset = 0; ; truncate_offset++) {
- if (gdk_string_width (font, string + truncate_offset) <= (int) length) {
- break;
- }
- }
-
- return g_strdup_printf ("...%s", string + truncate_offset);
-}
-
static void
set_text_unescaped_trimmed (GtkLabel *label, const char *text, guint max_width)
{
@@ -121,7 +93,7 @@ set_text_unescaped_trimmed (GtkLabel *label, const char *text, guint max_width)
}
unescaped_text = gnome_vfs_unescape_string_for_display (text);
- trimmed_text = truncate_string_from_start (unescaped_text,
+ trimmed_text = nautilus_string_ellipsize_start (unescaped_text,
GTK_WIDGET (label)->style->font, max_width);
gtk_label_set_text (GTK_LABEL (label), trimmed_text);