20#ifndef ORES_QT_TEXT_UTILS_HPP
21#define ORES_QT_TEXT_UTILS_HPP
27#include "ores.qt/export.hpp"
32 static constexpr int max_transliterated_length = 30;
40 static bool contains_non_latin(
const QString& text) {
41 return std::any_of(text.begin(), text.end(), [](
const QChar& ch) {
43 return s != QChar::Script_Common && s != QChar::Script_Latin &&
44 s != QChar::Script_Inherited;
55 static QString display_name_with_transliteration(
56 const std::string& name,
57 const std::optional<std::string>& transliterated_name) {
58 auto qname = QString::fromStdString(name);
59 if (transliterated_name.has_value() &&
60 !transliterated_name->empty() &&
61 contains_non_latin(qname)) {
62 auto tl = QString::fromStdString(*transliterated_name);
63 if (tl.size() > max_transliterated_length)
64 tl = tl.left(max_transliterated_length) + QChar(0x2026);
65 return qname + QStringLiteral(
" (") + tl + QStringLiteral(
")");
Qt-based graphical user interface for ORE Studio.
Definition AccountController.hpp:32