[haiku-commits] haiku: hrev45165 - src/preferences/backgrounds

  • From: zharik@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 15 Jan 2013 13:02:31 +0100 (CET)

hrev45165 adds 1 changeset to branch 'master'
old head: 2b934bb6aee4cdd891e5b727e0c0e66897816229
new head: 3c7eaf396cc792b8bea0955301ee11afb5a8bafd
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=3c7eaf3+%5E2b934bb

----------------------------------------------------------------------------

3c7eaf3: Truncate background image name in multibyte-aware way

                                        [ Siarzhuk Zharski <zharik@xxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev45165
Commit:      3c7eaf396cc792b8bea0955301ee11afb5a8bafd
URL:         http://cgit.haiku-os.org/haiku/commit/?id=3c7eaf3
Author:      Siarzhuk Zharski <zharik@xxxxxx>
Date:        Tue Jan 15 11:56:17 2013 UTC

----------------------------------------------------------------------------

1 file changed, 6 insertions(+), 7 deletions(-)
src/preferences/backgrounds/BackgroundImage.cpp | 13 ++++++-------

----------------------------------------------------------------------------

diff --git a/src/preferences/backgrounds/BackgroundImage.cpp 
b/src/preferences/backgrounds/BackgroundImage.cpp
index a4b41ec..9c55d8c 100644
--- a/src/preferences/backgrounds/BackgroundImage.cpp
+++ b/src/preferences/backgrounds/BackgroundImage.cpp
@@ -561,16 +561,15 @@ Image::Image(BPath path)
        fBitmap(NULL),
        fPath(path)
 {
-       const int32 kMaxWidth = 40;
+       const int32 kMaxNameChars = 40;
        fName = path.Leaf();
-       int extra = fName.Length() - kMaxWidth;
+       int extra = fName.CountChars() - kMaxNameChars;
        if (extra > 0) {
+               BString extension;
                int offset = fName.FindLast('.');
-               if (offset > 0) {
-                       offset++;
-                       fName.Truncate(offset - extra) << B_UTF8_ELLIPSIS;
-                       fName.Append(path.Leaf() + offset);
-               }
+               if (offset > 0)
+                       fName.CopyInto(extension, ++offset, -1);
+               fName.TruncateChars(kMaxNameChars) << B_UTF8_ELLIPSIS << 
extension;
        }
 }
 


Other related posts:

  • » [haiku-commits] haiku: hrev45165 - src/preferences/backgrounds - zharik