]> git.lyx.org Git - lyx.git/blobdiff - src/support/lstrings.cpp
Remove hardcoded values
[lyx.git] / src / support / lstrings.cpp
index 6d5f86672fda133b10f060ecd346e18bee01b4e4..99591d0c4dd495483bd6bbdeadea2d771385d1ea 100644 (file)
@@ -182,6 +182,18 @@ bool isASCII(char_type c)
 }
 
 
+bool isOpenPunctuation(char_type c)
+{
+       if (!is_utf16(c)) {
+               // assume that no non-utf16 character is an op
+               // c outside the UCS4 range is catched as well
+               return false;
+       }
+       QChar const qc = ucs4_to_qchar(c);
+       return qc.category() == QChar::Punctuation_Open;
+}
+
+
 namespace support {
 
 int compare_no_case(docstring const & s, docstring const & s2)
@@ -208,24 +220,7 @@ int compare_no_case(docstring const & s, docstring const & s2)
 
 int compare_locale(docstring const & s, docstring const & s2)
 {
-       // FIXME We have a report that this does not work on windows (bug 9030)
-       try
-       {
-               string const l = to_local8bit(s);
-               string const r = to_local8bit(s2);
-               return strcoll(l.c_str(), r.c_str());
-       }
-       catch (bad_cast & e)
-       {
-               // fall back to builtin sorting
-               LYXERR0("Could not compare using the current locale: "
-                       << e.what() << ", using fallback.");
-               if (s < s2)
-                       return -1;
-               if (s > s2)
-                       return 1;
-               return 0;
-       }
+       return QString::localeAwareCompare(toqstr(s), toqstr(s2));
 }
 
 
@@ -734,6 +729,12 @@ bool containsOnly(string const & s, string const & cset)
 }
 
 
+bool containsOnly(docstring const & s, string const & cset)
+{
+       return s.find_first_not_of(from_ascii(cset)) == string::npos;
+}
+
+
 // ale970405+lasgoutt-970425
 // rewritten to use new string (Lgb)
 string const token(string const & a, char delim, int n)
@@ -1419,7 +1420,6 @@ std::string formatFPNumber(double x)
 }
 
 
-template<>
 docstring bformat(docstring const & fmt, int arg1)
 {
        LATTEST(contains(fmt, from_ascii("%1$d")));
@@ -1428,7 +1428,6 @@ docstring bformat(docstring const & fmt, int arg1)
 }
 
 
-template<>
 docstring bformat(docstring const & fmt, long arg1)
 {
        LATTEST(contains(fmt, from_ascii("%1$d")));
@@ -1438,7 +1437,6 @@ docstring bformat(docstring const & fmt, long arg1)
 
 
 #ifdef LYX_USE_LONG_LONG
-template<>
 docstring bformat(docstring const & fmt, long long arg1)
 {
        LATTEST(contains(fmt, from_ascii("%1$d")));
@@ -1448,7 +1446,6 @@ docstring bformat(docstring const & fmt, long long arg1)
 #endif
 
 
-template<>
 docstring bformat(docstring const & fmt, unsigned int arg1)
 {
        LATTEST(contains(fmt, from_ascii("%1$d")));
@@ -1457,8 +1454,7 @@ docstring bformat(docstring const & fmt, unsigned int arg1)
 }
 
 
-template<>
-docstring bformat(docstring const & fmt, docstring arg1)
+docstring bformat(docstring const & fmt, docstring const & arg1)
 {
        LATTEST(contains(fmt, from_ascii("%1$s")));
        docstring const str = subst(fmt, from_ascii("%1$s"), arg1);
@@ -1466,7 +1462,6 @@ docstring bformat(docstring const & fmt, docstring arg1)
 }
 
 
-template<>
 docstring bformat(docstring const & fmt, char * arg1)
 {
        LATTEST(contains(fmt, from_ascii("%1$s")));
@@ -1475,8 +1470,7 @@ docstring bformat(docstring const & fmt, char * arg1)
 }
 
 
-template<>
-docstring bformat(docstring const & fmt, docstring arg1, docstring arg2)
+docstring bformat(docstring const & fmt, docstring const & arg1, docstring const & arg2)
 {
        LATTEST(contains(fmt, from_ascii("%1$s")));
        LATTEST(contains(fmt, from_ascii("%2$s")));
@@ -1486,8 +1480,7 @@ docstring bformat(docstring const & fmt, docstring arg1, docstring arg2)
 }
 
 
-template<>
-docstring bformat(docstring const & fmt, docstring arg1, int arg2)
+docstring bformat(docstring const & fmt, docstring const & arg1, int arg2)
 {
        LATTEST(contains(fmt, from_ascii("%1$s")));
        LATTEST(contains(fmt, from_ascii("%2$d")));
@@ -1497,8 +1490,7 @@ docstring bformat(docstring const & fmt, docstring arg1, int arg2)
 }
 
 
-template<>
-docstring bformat(docstring const & fmt, char const * arg1, docstring arg2)
+docstring bformat(docstring const & fmt, char const * arg1, docstring const & arg2)
 {
        LATTEST(contains(fmt, from_ascii("%1$s")));
        LATTEST(contains(fmt, from_ascii("%2$s")));
@@ -1508,7 +1500,6 @@ docstring bformat(docstring const & fmt, char const * arg1, docstring arg2)
 }
 
 
-template<>
 docstring bformat(docstring const & fmt, int arg1, int arg2)
 {
        LATTEST(contains(fmt, from_ascii("%1$d")));
@@ -1519,8 +1510,7 @@ docstring bformat(docstring const & fmt, int arg1, int arg2)
 }
 
 
-template<>
-docstring bformat(docstring const & fmt, docstring arg1, docstring arg2, docstring arg3)
+docstring bformat(docstring const & fmt, docstring const & arg1, docstring const & arg2, docstring const & arg3)
 {
        LATTEST(contains(fmt, from_ascii("%1$s")));
        LATTEST(contains(fmt, from_ascii("%2$s")));
@@ -1532,9 +1522,8 @@ docstring bformat(docstring const & fmt, docstring arg1, docstring arg2, docstri
 }
 
 
-template<>
 docstring bformat(docstring const & fmt,
-              docstring arg1, docstring arg2, docstring arg3, docstring arg4)
+              docstring const & arg1, docstring const & arg2, docstring const & arg3, docstring const & arg4)
 {
        LATTEST(contains(fmt, from_ascii("%1$s")));
        LATTEST(contains(fmt, from_ascii("%2$s")));