FOSSredder 0.5.0
Loading...
Searching...
No Matches
StringConversions.h
Go to the documentation of this file.
1
6
7#pragma once
8
9#include <QFile>
10#include <QString>
11#include <QStringList>
12
13#include <string>
14#include <vector>
15
16namespace ui::strings {
17
23inline std::string toStdString(const QString& value) {
24 const auto utf8 = value.toUtf8();
25 return std::string(utf8.constData(), static_cast<size_t>(utf8.size()));
26}
27
34inline std::string toEncodedPath(const QString& path) {
35 const auto encodedPath = QFile::encodeName(path);
36 return std::string(encodedPath.constData(),
37 static_cast<size_t>(encodedPath.size()));
38}
39
45inline std::vector<std::string> toStdList(const QStringList& values) {
46 std::vector<std::string> out;
47 out.reserve(static_cast<size_t>(values.size()));
48 for (const auto& value : values) {
49 out.push_back(value.toStdString());
50 }
51 return out;
52}
53
59inline QString normalizedText(const QString& value) {
60 return value.trimmed().simplified().toLower();
61}
62
63} // namespace ui::strings
std::vector< std::string > toStdList(const QStringList &values)
Converts a Qt string list into a standard string vector.
std::string toStdString(const QString &value)
Converts a QString to a UTF-8 encoded std::string.
std::string toEncodedPath(const QString &path)
Converts a filesystem path to the platform-encoded byte representation.
QString normalizedText(const QString &value)
Normalizes text for case-insensitive UI comparisons.