]> Dogcows Code - chaz/openbox/blobdiff - otk/label.cc
layout fixes, give widgets a default texture, etc.
[chaz/openbox] / otk / label.cc
index 43d06f77aa6e8b0ad5e2ee1951ba51e976c200b3..587e321250300a287153bcbd7fcc080b5814e8a1 100644 (file)
@@ -55,7 +55,14 @@ void Label::setText(const ustring &text)
   std::string::size_type p = 0;
   while (p != std::string::npos) {
     std::string::size_type p2 = s.find('\n', p);
-    _parsedtext.push_back(s.substr(p, (p2==std::string::npos?p2:p2-p)));
+    std::string s(s.substr(p, (p2==std::string::npos?p2:p2-p)));
+
+    // turn tabs into spaces (multiples of 8)
+    std::string::size_type t;
+    while ((t = s.find('\t')) != std::string::npos)
+      s.replace(t, 1, std::string(8 - t % 8, ' '));
+
+    _parsedtext.push_back(s);
     _parsedtext.back().setUtf8(utf);
     p = (p2==std::string::npos?p2:p2+1);
   }
This page took 0.020346 seconds and 4 git commands to generate.