2023-08-05 10:42:26 -06:00
|
|
|
/*
|
2024-10-04 13:19:50 +02:00
|
|
|
* Copyright (c) 2022, Andreas Kling <andreas@ladybird.org>
|
2023-08-05 10:42:26 -06:00
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
*/
|
|
|
|
|
2025-02-22 21:51:15 +13:00
|
|
|
#include <LibURL/Parser.h>
|
2024-11-09 12:50:33 -05:00
|
|
|
#include <UI/Qt/StringUtils.h>
|
2023-08-05 10:42:26 -06:00
|
|
|
|
2023-12-16 17:49:34 +03:30
|
|
|
AK::ByteString ak_byte_string_from_qstring(QString const& qstring)
|
2023-08-05 10:42:26 -06:00
|
|
|
{
|
2024-02-14 12:10:58 +01:00
|
|
|
auto utf8_data = qstring.toUtf8();
|
|
|
|
return AK::ByteString(utf8_data.data(), utf8_data.size());
|
2023-08-05 10:42:26 -06:00
|
|
|
}
|
|
|
|
|
2025-05-01 11:38:31 -04:00
|
|
|
AK::ByteString ak_byte_string_from_qbytearray(QByteArray const& qbytearray)
|
|
|
|
{
|
|
|
|
return AK::ByteString(qbytearray.data(), qbytearray.size());
|
|
|
|
}
|
|
|
|
|
2023-12-04 10:08:16 -05:00
|
|
|
String ak_string_from_qstring(QString const& qstring)
|
2023-08-05 10:42:26 -06:00
|
|
|
{
|
2023-12-04 10:12:06 -05:00
|
|
|
auto utf8_data = qstring.toUtf8();
|
2023-12-04 10:08:16 -05:00
|
|
|
return MUST(String::from_utf8(StringView(utf8_data.data(), utf8_data.size())));
|
2023-08-05 10:42:26 -06:00
|
|
|
}
|
|
|
|
|
2023-12-04 09:55:47 -05:00
|
|
|
QString qstring_from_ak_string(StringView ak_string)
|
2023-08-05 10:42:26 -06:00
|
|
|
{
|
2023-12-04 09:55:47 -05:00
|
|
|
return QString::fromUtf8(ak_string.characters_without_null_termination(), static_cast<qsizetype>(ak_string.length()));
|
2023-08-05 10:42:26 -06:00
|
|
|
}
|
2024-01-30 19:15:55 -07:00
|
|
|
|
2025-05-01 11:38:31 -04:00
|
|
|
QByteArray qbytearray_from_ak_string(StringView ak_string)
|
|
|
|
{
|
|
|
|
return { ak_string.characters_without_null_termination(), static_cast<qsizetype>(ak_string.length()) };
|
|
|
|
}
|
|
|
|
|
2025-02-22 21:51:15 +13:00
|
|
|
Optional<URL::URL> ak_url_from_qstring(QString const& qstring)
|
2024-01-30 19:15:55 -07:00
|
|
|
{
|
2024-02-14 12:10:58 +01:00
|
|
|
auto utf8_data = qstring.toUtf8();
|
2025-02-22 21:51:15 +13:00
|
|
|
return URL::Parser::basic_parse(StringView(utf8_data.data(), utf8_data.size()));
|
2024-01-30 19:15:55 -07:00
|
|
|
}
|
|
|
|
|
2024-03-18 16:22:27 +13:00
|
|
|
URL::URL ak_url_from_qurl(QUrl const& qurl)
|
2024-01-30 19:15:55 -07:00
|
|
|
{
|
2025-02-22 21:51:15 +13:00
|
|
|
return ak_url_from_qstring(qurl.toString()).value();
|
2024-01-30 19:15:55 -07:00
|
|
|
}
|