Converts a camelCase JSON key to a human-readable display string. "metadataScraperDialog" → "Metadata scraper dialog" "navigationTreeQSS" → "Navigation tree qss" Consecutive uppercase letters (acronyms) are kept together as one word.
| 40 | // "navigationTreeQSS" → "Navigation tree qss" |
| 41 | // Consecutive uppercase letters (acronyms) are kept together as one word. |
| 42 | static QString displayKey(const QString &key) |
| 43 | { |
| 44 | QString result; |
| 45 | for (int i = 0; i < key.size(); ++i) { |
| 46 | const bool isUpper = key[i].isUpper(); |
| 47 | const bool prevIsLower = (i > 0) && key[i - 1].isLower(); |
| 48 | const bool nextIsLower = (i + 1 < key.size()) && key[i + 1].isLower(); |
| 49 | if (i > 0 && isUpper && (prevIsLower || nextIsLower)) |
| 50 | result += ' '; |
| 51 | result += result.isEmpty() ? key[i].toUpper() : key[i].toLower(); |
| 52 | } |
| 53 | return result; |
| 54 | } |
| 55 | |
| 56 | ThemeEditorDialog::ThemeEditorDialog(const QJsonObject ¶ms, QWidget *parent) |
| 57 | : QDialog(parent), params(normalizeThemeJson(params)) |