From bbf49b024acfe0204d85f6ad3f6d79dd67f6f0a7 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Fri, 19 Feb 2021 14:09:01 +0400 Subject: [PATCH] Fix implicit conversions from QByteArray --- .../export/data/export_data_types.cpp | 5 ++- .../passport/passport_panel_edit_scans.cpp | 2 +- .../platform/linux/file_utilities_linux.cpp | 7 ++-- .../platform/linux/linux_gsd_media_keys.cpp | 18 +++++------ .../platform/linux/linux_gtk_file_dialog.cpp | 30 ++++++++--------- .../platform/linux/linux_open_with_dialog.cpp | 2 +- .../platform/linux/main_window_linux.cpp | 6 ++-- .../linux/notifications_manager_linux.cpp | 32 +++++++++---------- .../platform/linux/specific_linux.cpp | 10 +++--- .../SourceFiles/storage/localimageloader.cpp | 2 +- Telegram/lib_spellcheck | 2 +- 11 files changed, 60 insertions(+), 56 deletions(-) diff --git a/Telegram/SourceFiles/export/data/export_data_types.cpp b/Telegram/SourceFiles/export/data/export_data_types.cpp index c4c30d8cc..52958126c 100644 --- a/Telegram/SourceFiles/export/data/export_data_types.cpp +++ b/Telegram/SourceFiles/export/data/export_data_types.cpp @@ -642,7 +642,10 @@ std::pair WriteImageThumb( ? largePath.mid(0, firstDot) + postfix + largePath.mid(firstDot) : largePath + postfix; const auto result = Output::File::PrepareRelativePath(basePath, thumb); - if (!image.save(basePath + result, finalFormat, finalQuality)) { + if (!image.save( + basePath + result, + finalFormat.constData(), + finalQuality)) { return {}; } return { result, finalSize }; diff --git a/Telegram/SourceFiles/passport/passport_panel_edit_scans.cpp b/Telegram/SourceFiles/passport/passport_panel_edit_scans.cpp index 85b77c712..9ef957d15 100644 --- a/Telegram/SourceFiles/passport/passport_panel_edit_scans.cpp +++ b/Telegram/SourceFiles/passport/passport_panel_edit_scans.cpp @@ -55,7 +55,7 @@ std::variant ProcessImage(QByteArray &&bytes) { auto result = QByteArray(); { QBuffer buffer(&result); - if (!image.save(&buffer, QByteArray("JPG"), kJpegQuality)) { + if (!image.save(&buffer, "JPG", kJpegQuality)) { return ReadScanError::Unknown; } base::take(image); diff --git a/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp b/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp index b9ebef8c0..11d264843 100644 --- a/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp @@ -29,7 +29,7 @@ namespace File { void UnsafeOpenUrl(const QString &url) { if (!g_app_info_launch_default_for_uri( - url.toUtf8(), + url.toUtf8().constData(), nullptr, nullptr)) { QDesktopServices::openUrl(url); @@ -57,7 +57,10 @@ void UnsafeLaunch(const QString &filepath) { const auto absolutePath = QFileInfo(filepath).absoluteFilePath(); if (!g_app_info_launch_default_for_uri( - g_filename_to_uri(absolutePath.toUtf8(), nullptr, nullptr), + g_filename_to_uri( + absolutePath.toUtf8().constData(), + nullptr, + nullptr), nullptr, nullptr)) { if (!UnsafeShowOpenWith(filepath)) { diff --git a/Telegram/SourceFiles/platform/linux/linux_gsd_media_keys.cpp b/Telegram/SourceFiles/platform/linux/linux_gsd_media_keys.cpp index e6bda1eb0..6ea0c8d14 100644 --- a/Telegram/SourceFiles/platform/linux/linux_gsd_media_keys.cpp +++ b/Telegram/SourceFiles/platform/linux/linux_gsd_media_keys.cpp @@ -103,9 +103,9 @@ GSDMediaKeys::GSDMediaKeys() { auto reply = g_dbus_connection_call_sync( _dbusConnection, - _service.toUtf8(), - _objectPath.toUtf8(), - _interface.toUtf8(), + _service.toUtf8().constData(), + _objectPath.toUtf8().constData(), + _interface.toUtf8().constData(), "GrabMediaPlayerKeys", g_variant_new( "(su)", @@ -127,10 +127,10 @@ GSDMediaKeys::GSDMediaKeys() { _signalId = g_dbus_connection_signal_subscribe( _dbusConnection, - _service.toUtf8(), - _interface.toUtf8(), + _service.toUtf8().constData(), + _interface.toUtf8().constData(), "MediaPlayerKeyPressed", - _objectPath.toUtf8(), + _objectPath.toUtf8().constData(), nullptr, G_DBUS_SIGNAL_FLAGS_NONE, KeyPressed, @@ -150,9 +150,9 @@ GSDMediaKeys::~GSDMediaKeys() { if (_grabbed) { auto reply = g_dbus_connection_call_sync( _dbusConnection, - _service.toUtf8(), - _objectPath.toUtf8(), - _interface.toUtf8(), + _service.toUtf8().constData(), + _objectPath.toUtf8().constData(), + _interface.toUtf8().constData(), "ReleaseMediaPlayerKeys", g_variant_new( "(s)", diff --git a/Telegram/SourceFiles/platform/linux/linux_gtk_file_dialog.cpp b/Telegram/SourceFiles/platform/linux/linux_gtk_file_dialog.cpp index 96c725c7b..eaede478f 100644 --- a/Telegram/SourceFiles/platform/linux/linux_gtk_file_dialog.cpp +++ b/Telegram/SourceFiles/platform/linux/linux_gtk_file_dialog.cpp @@ -310,9 +310,7 @@ GtkFileDialog::GtkFileDialog(QWidget *parent, const QString &caption, const QStr d.reset(new QGtkDialog(gtk_file_chooser_dialog_new("", nullptr, GTK_FILE_CHOOSER_ACTION_OPEN, - // https://developer.gnome.org/gtk3/stable/GtkFileChooserDialog.html#gtk-file-chooser-dialog-new - // first_button_text doesn't need explicit conversion to char*, while all others are vardict - tr::lng_cancel(tr::now).toUtf8(), GTK_RESPONSE_CANCEL, + tr::lng_cancel(tr::now).toUtf8().constData(), GTK_RESPONSE_CANCEL, tr::lng_box_ok(tr::now).toUtf8().constData(), GTK_RESPONSE_OK, nullptr))); d.data()->accept( @@ -400,7 +398,7 @@ bool GtkFileDialog::defaultNameFilterDisables() const { void GtkFileDialog::setDirectory(const QString &directory) { GtkDialog *gtkDialog = d->gtkDialog(); - gtk_file_chooser_set_current_folder(gtk_file_chooser_cast(gtkDialog), directory.toUtf8()); + gtk_file_chooser_set_current_folder(gtk_file_chooser_cast(gtkDialog), directory.toUtf8().constData()); } QDir GtkFileDialog::directory() const { @@ -511,7 +509,7 @@ GtkFileChooserAction gtkFileChooserAction(QFileDialog::FileMode fileMode, QFileD void GtkFileDialog::applyOptions() { GtkDialog *gtkDialog = d->gtkDialog(); - gtk_window_set_title(gtk_window_cast(gtkDialog), _windowTitle.toUtf8()); + gtk_window_set_title(gtk_window_cast(gtkDialog), _windowTitle.toUtf8().constData()); gtk_file_chooser_set_local_only(gtk_file_chooser_cast(gtkDialog), true); const GtkFileChooserAction action = gtkFileChooserAction(_fileMode, _acceptMode); @@ -532,12 +530,12 @@ void GtkFileDialog::applyOptions() { for_const (const auto &filename, _initialFiles) { if (_acceptMode == QFileDialog::AcceptSave) { QFileInfo fi(filename); - gtk_file_chooser_set_current_folder(gtk_file_chooser_cast(gtkDialog), fi.path().toUtf8()); - gtk_file_chooser_set_current_name(gtk_file_chooser_cast(gtkDialog), fi.fileName().toUtf8()); + gtk_file_chooser_set_current_folder(gtk_file_chooser_cast(gtkDialog), fi.path().toUtf8().constData()); + gtk_file_chooser_set_current_name(gtk_file_chooser_cast(gtkDialog), fi.fileName().toUtf8().constData()); } else if (filename.endsWith('/')) { - gtk_file_chooser_set_current_folder(gtk_file_chooser_cast(gtkDialog), filename.toUtf8()); + gtk_file_chooser_set_current_folder(gtk_file_chooser_cast(gtkDialog), filename.toUtf8().constData()); } else { - gtk_file_chooser_select_filename(gtk_file_chooser_cast(gtkDialog), filename.toUtf8()); + gtk_file_chooser_select_filename(gtk_file_chooser_cast(gtkDialog), filename.toUtf8().constData()); } } @@ -549,19 +547,19 @@ void GtkFileDialog::applyOptions() { GtkWidget *acceptButton = gtk_dialog_get_widget_for_response(gtkDialog, GTK_RESPONSE_OK); if (acceptButton) { /*if (opts->isLabelExplicitlySet(QFileDialogOptions::Accept)) - gtk_button_set_label(gtk_button_cast(acceptButton), opts->labelText(QFileDialogOptions::Accept).toUtf8()); + gtk_button_set_label(gtk_button_cast(acceptButton), opts->labelText(QFileDialogOptions::Accept).toUtf8().constData()); else*/ if (_acceptMode == QFileDialog::AcceptOpen) - gtk_button_set_label(gtk_button_cast(acceptButton), tr::lng_open_link(tr::now).toUtf8()); + gtk_button_set_label(gtk_button_cast(acceptButton), tr::lng_open_link(tr::now).toUtf8().constData()); else - gtk_button_set_label(gtk_button_cast(acceptButton), tr::lng_settings_save(tr::now).toUtf8()); + gtk_button_set_label(gtk_button_cast(acceptButton), tr::lng_settings_save(tr::now).toUtf8().constData()); } GtkWidget *rejectButton = gtk_dialog_get_widget_for_response(gtkDialog, GTK_RESPONSE_CANCEL); if (rejectButton) { /*if (opts->isLabelExplicitlySet(QFileDialogOptions::Reject)) - gtk_button_set_label(gtk_button_cast(rejectButton), opts->labelText(QFileDialogOptions::Reject).toUtf8()); + gtk_button_set_label(gtk_button_cast(rejectButton), opts->labelText(QFileDialogOptions::Reject).toUtf8().constData()); else*/ - gtk_button_set_label(gtk_button_cast(rejectButton), tr::lng_cancel(tr::now).toUtf8()); + gtk_button_set_label(gtk_button_cast(rejectButton), tr::lng_cancel(tr::now).toUtf8().constData()); } } } @@ -579,7 +577,7 @@ void GtkFileDialog::setNameFilters(const QStringList &filters) { auto name = filter;//.left(filter.indexOf(QLatin1Char('('))); auto extensions = cleanFilterList(filter); - gtk_file_filter_set_name(gtkFilter, name.isEmpty() ? extensions.join(QStringLiteral(", ")).toUtf8() : name.toUtf8()); + gtk_file_filter_set_name(gtkFilter, name.isEmpty() ? extensions.join(QStringLiteral(", ")).toUtf8().constData() : name.toUtf8().constData()); for_const (auto &ext, extensions) { auto caseInsensitiveExt = QString(); caseInsensitiveExt.reserve(4 * ext.size()); @@ -593,7 +591,7 @@ void GtkFileDialog::setNameFilters(const QStringList &filters) { } } - gtk_file_filter_add_pattern(gtkFilter, caseInsensitiveExt.toUtf8()); + gtk_file_filter_add_pattern(gtkFilter, caseInsensitiveExt.toUtf8().constData()); } gtk_file_chooser_add_filter(gtk_file_chooser_cast(gtkDialog), gtkFilter); diff --git a/Telegram/SourceFiles/platform/linux/linux_open_with_dialog.cpp b/Telegram/SourceFiles/platform/linux/linux_open_with_dialog.cpp index 63ffba923..5e87f10e8 100644 --- a/Telegram/SourceFiles/platform/linux/linux_open_with_dialog.cpp +++ b/Telegram/SourceFiles/platform/linux/linux_open_with_dialog.cpp @@ -49,7 +49,7 @@ private: }; OpenWithDialog::OpenWithDialog(const QString &filepath) -: _gfileInstance(g_file_new_for_path(filepath.toUtf8())) +: _gfileInstance(g_file_new_for_path(filepath.toUtf8().constData())) , _gtkWidget(gtk_app_chooser_dialog_new( nullptr, GTK_DIALOG_MODAL, diff --git a/Telegram/SourceFiles/platform/linux/main_window_linux.cpp b/Telegram/SourceFiles/platform/linux/main_window_linux.cpp index 4cfc4b0d0..367ec0a3e 100644 --- a/Telegram/SourceFiles/platform/linux/main_window_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/main_window_linux.cpp @@ -537,9 +537,9 @@ void MainWindow::initHook() { G_BUS_TYPE_SESSION, G_DBUS_PROXY_FLAGS_NONE, nullptr, - kSNIWatcherService.utf8(), - kSNIWatcherObjectPath.utf8(), - kSNIWatcherInterface.utf8(), + kSNIWatcherService.utf8().constData(), + kSNIWatcherObjectPath.utf8().constData(), + kSNIWatcherInterface.utf8().constData(), nullptr, nullptr); diff --git a/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp b/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp index 5d90b2e4f..fc856bfe2 100644 --- a/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp @@ -363,10 +363,10 @@ NotificationData::NotificationData( _notificationRepliedSignalId = g_dbus_connection_signal_subscribe( _dbusConnection, - kService.utf8(), - kInterface.utf8(), + kService.utf8().constData(), + kInterface.utf8().constData(), "NotificationReplied", - kObjectPath.utf8(), + kObjectPath.utf8().constData(), nullptr, G_DBUS_SIGNAL_FLAGS_NONE, signalEmitted, @@ -380,10 +380,10 @@ NotificationData::NotificationData( _actionInvokedSignalId = g_dbus_connection_signal_subscribe( _dbusConnection, - kService.utf8(), - kInterface.utf8(), + kService.utf8().constData(), + kInterface.utf8().constData(), "ActionInvoked", - kObjectPath.utf8(), + kObjectPath.utf8().constData(), nullptr, G_DBUS_SIGNAL_FLAGS_NONE, signalEmitted, @@ -420,14 +420,14 @@ NotificationData::NotificationData( _hints.emplace( qsl("desktop-entry"), - g_variant_new_string(GetLauncherBasename().toUtf8())); + g_variant_new_string(GetLauncherBasename().toUtf8().constData())); _notificationClosedSignalId = g_dbus_connection_signal_subscribe( _dbusConnection, - kService.utf8(), - kInterface.utf8(), + kService.utf8().constData(), + kInterface.utf8().constData(), "NotificationClosed", - kObjectPath.utf8(), + kObjectPath.utf8().constData(), nullptr, G_DBUS_SIGNAL_FLAGS_NONE, signalEmitted, @@ -497,9 +497,9 @@ void NotificationData::show() { g_dbus_connection_call( _dbusConnection, - kService.utf8(), - kObjectPath.utf8(), - kInterface.utf8(), + kService.utf8().constData(), + kObjectPath.utf8().constData(), + kInterface.utf8().constData(), "Notify", g_variant_new( "(susssasa{sv}i)", @@ -559,9 +559,9 @@ void NotificationData::notificationShown( void NotificationData::close() { g_dbus_connection_call( _dbusConnection, - kService.utf8(), - kObjectPath.utf8(), - kInterface.utf8(), + kService.utf8().constData(), + kObjectPath.utf8().constData(), + kInterface.utf8().constData(), "CloseNotification", g_variant_new("(u)", _notificationId), nullptr, diff --git a/Telegram/SourceFiles/platform/linux/specific_linux.cpp b/Telegram/SourceFiles/platform/linux/specific_linux.cpp index bb26a1bf0..a7c343ff0 100644 --- a/Telegram/SourceFiles/platform/linux/specific_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/specific_linux.cpp @@ -743,7 +743,7 @@ void RegisterCustomScheme(bool force) { .arg(neededCommandlineBuilder); auto currentAppInfo = g_app_info_get_default_for_type( - kHandlerTypeName.utf8(), + kHandlerTypeName.utf8().constData(), true); if (currentAppInfo) { @@ -758,7 +758,7 @@ void RegisterCustomScheme(bool force) { } auto registeredAppInfoList = g_app_info_get_recommended_for_type( - kHandlerTypeName.utf8()); + kHandlerTypeName.utf8().constData()); for (auto l = registeredAppInfoList; l != nullptr; l = l->next) { const auto currentRegisteredAppInfo = reinterpret_cast( @@ -781,15 +781,15 @@ void RegisterCustomScheme(bool force) { } auto newAppInfo = g_app_info_create_from_commandline( - neededCommandlineBuilder.toUtf8(), - AppName.utf8(), + neededCommandlineBuilder.toUtf8().constData(), + AppName.utf8().constData(), G_APP_INFO_CREATE_SUPPORTS_URIS, &error); if (newAppInfo) { g_app_info_set_as_default_for_type( newAppInfo, - kHandlerTypeName.utf8(), + kHandlerTypeName.utf8().constData(), &error); g_object_unref(newAppInfo); diff --git a/Telegram/SourceFiles/storage/localimageloader.cpp b/Telegram/SourceFiles/storage/localimageloader.cpp index 81038b936..26d871b09 100644 --- a/Telegram/SourceFiles/storage/localimageloader.cpp +++ b/Telegram/SourceFiles/storage/localimageloader.cpp @@ -107,7 +107,7 @@ PreparedFileThumbnail FinalizeFileThumbnail( bool isSticker) { prepared.name = isSticker ? qsl("thumb.webp") : qsl("thumb.jpg"); if (FileThumbnailUploadRequired(filemime, filesize)) { - const auto format = QByteArray(isSticker ? "WEBP" : "JPG"); + const auto format = isSticker ? "WEBP" : "JPG"; auto buffer = QBuffer(&prepared.bytes); prepared.image.save(&buffer, format, kThumbnailQuality); } diff --git a/Telegram/lib_spellcheck b/Telegram/lib_spellcheck index 1b540b38e..a92ba8f1e 160000 --- a/Telegram/lib_spellcheck +++ b/Telegram/lib_spellcheck @@ -1 +1 @@ -Subproject commit 1b540b38ed78e9a3cba93e9ba4ce4525ab692277 +Subproject commit a92ba8f1ee41e8c56b3cfced8498b33ec270228e