X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Flstrings.h;h=f661fc5b85abc1e635348b6a484e5944fe1a2b65;hb=b96ce9a9c101a711ef8a1cdd5d6fe812a18966da;hp=9bcff42afa1a2e89470d76daa96959140006a804;hpb=83b1ac3b55ada8d9198b611e8a52ac5d02111e8b;p=lyx.git diff --git a/src/support/lstrings.h b/src/support/lstrings.h index 9bcff42afa..f661fc5b85 100644 --- a/src/support/lstrings.h +++ b/src/support/lstrings.h @@ -53,7 +53,7 @@ bool isHexChar(char_type); bool isHex(docstring const & str); -int hexToInt(docstring const & str); +unsigned int hexToInt(docstring const & str); /// is \p str pure ascii? bool isAscii(docstring const & str); @@ -276,6 +276,8 @@ docstring const protectArgument(docstring & arg, char const l = '[', /// Truncates a string with an ellipsis at the end. Leaves str unchanged and /// returns false if it is shorter than len. Otherwise resizes str to len, with /// U+2026 HORIZONTAL ELLIPSIS at the end, and returns true. +/// If mid is true, the ellipsis will be put to the mid of the string, and the first +/// and last half is appended/prepended. /// /// Warning (Unicode): The cases where we want to truncate the text and it does /// not end up converted into a QString for UI display must be really @@ -294,7 +296,8 @@ docstring const protectArgument(docstring & arg, char const l = '[', /// /// FIXME: apply those principles in the current code. /// -bool truncateWithEllipsis(docstring & str, size_t const len); +bool truncateWithEllipsis(docstring & str, size_t const len, + bool const mid = false); /// Word-wraps the provided docstring, returning a line-broken string /// of width no wider than width, with the string broken at spaces. @@ -353,10 +356,16 @@ int findToken(char const * const str[], std::string const & search_token); /// like "1000000.000000", and precision control would not be that easy either. std::string formatFPNumber(double); +/// Returns an URI/URL-style percent-encoded copy of the string \p in. +/// \p ex defines a string of characters that are excluded from the transformation +docstring to_percent_encoding(docstring const & in, docstring const & ex = docstring()); + +/// Returns a string decoded from an URI/URL-style percent-encoded string \p in. +std::string from_percent_encoding(std::string const & in); docstring bformat(docstring const & fmt, int arg1); docstring bformat(docstring const & fmt, long arg1); -#ifdef LYX_USE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT docstring bformat(docstring const & fmt, long long arg1); #endif docstring bformat(docstring const & fmt, unsigned int arg1); @@ -368,6 +377,7 @@ docstring bformat(docstring const & fmt, char const * arg1, docstring const & ar docstring bformat(docstring const & fmt, int arg1, int arg2); docstring bformat(docstring const & fmt, docstring const & arg1, docstring const & arg2, docstring const & arg3); docstring bformat(docstring const & fmt, docstring const & arg1, docstring const & arg2, docstring const & arg3, docstring const & arg4); +docstring bformat(docstring const & fmt, docstring const & arg1, docstring const & arg2, docstring const & arg3, docstring const & arg4, docstring const & arg5); } // namespace support