diff options
author | Jeremy Bicha <jbicha@ubuntu.com> | 2017-05-04 04:50:17 -0400 |
---|---|---|
committer | Jeremy Bicha <jbicha@ubuntu.com> | 2017-05-04 04:50:17 -0400 |
commit | a08702c22936937d2712803d91236de80159ddf0 (patch) | |
tree | ddaf8742b3658f63ff155c3d556cce1ceb019b05 | |
parent | 036507ec7ee44ead06e47789354d8f9eb0f1d2e2 (diff) | |
download | nautilus-a08702c22936937d2712803d91236de80159ddf0.tar.gz |
canvas-item: Don't wrap after . immediately followed by numbers
Nautilus allowed line wrapping for filenames after a . or _
The code made an exception for version numbers, but it
was too rigid and broke things like Ubuntu's 12.04 version
numbering. This relaxes the exception so that the line isn't
wrapped for a . or _ immediately followed by any numbers.
https://launchpad.net/bugs/942539
https://bugzilla.gnome.org/show_bug.cgi?id=781875
-rw-r--r-- | libnautilus-private/nautilus-canvas-item.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/libnautilus-private/nautilus-canvas-item.c b/libnautilus-private/nautilus-canvas-item.c index 6eebea182..d1227c8b9 100644 --- a/libnautilus-private/nautilus-canvas-item.c +++ b/libnautilus-private/nautilus-canvas-item.c @@ -1324,11 +1324,6 @@ nautilus_canvas_item_draw (EelCanvasItem *item, #define ZERO_WIDTH_SPACE "\xE2\x80\x8B" -#define ZERO_OR_THREE_DIGITS(p) \ - (!g_ascii_isdigit (*(p)) || \ - (g_ascii_isdigit (*(p+1)) && \ - g_ascii_isdigit (*(p+2)))) - static PangoLayout * create_label_layout (NautilusCanvasItem *item, @@ -1357,11 +1352,9 @@ create_label_layout (NautilusCanvasItem *item, for (p = text; *p != '\0'; p++) { str = g_string_append_c (str, *p); - if (*p == '_' || *p == '-' || (*p == '.' && ZERO_OR_THREE_DIGITS (p+1))) { + if (*p == '_' || *p == '-' || (*p == '.' && !g_ascii_isdigit(*(p+1)))) { /* Ensure that we allow to break after '_' or '.' characters, - * if they are not likely to be part of a version information, to - * not break wrapping of foobar-0.0.1. - * Wrap before IPs and long numbers, though. */ + * if they are not followed by a number */ str = g_string_append (str, ZERO_WIDTH_SPACE); } } |