From 6c7522fef85825a1e376d5c11828f59134fda8d3 Mon Sep 17 00:00:00 2001 From: LibretroAdmin Date: Tue, 11 Feb 2025 10:58:48 +0100 Subject: [PATCH] (Qt) Prevent some unneeded string heap allocations --- ui/drivers/qt/gridview.cpp | 30 +++++++++++++++------------- ui/drivers/qt/qt_downloads.cpp | 9 +++++---- ui/drivers/qt/qt_widgets.cpp | 24 ++++++++++++++--------- ui/drivers/ui_qt.cpp | 36 +++++++++++++++++----------------- 4 files changed, 54 insertions(+), 45 deletions(-) diff --git a/ui/drivers/qt/gridview.cpp b/ui/drivers/qt/gridview.cpp index 1565ca9426bc..f7b667e958d3 100644 --- a/ui/drivers/qt/gridview.cpp +++ b/ui/drivers/qt/gridview.cpp @@ -279,12 +279,14 @@ QModelIndex GridView::moveCursor(QAbstractItemView::CursorAction cursorAction, Q QModelIndex index = currentIndex(); if (index.isValid()) { - if ((cursorAction == MoveLeft && index.row() > 0) || (cursorAction == MoveRight && index.row() + 1 < model()->rowCount())) + if ( (cursorAction == MoveLeft && index.row() > 0) + || (cursorAction == MoveRight && index.row() + 1 < model()->rowCount())) { const int offset = (cursorAction == MoveLeft ? -1 : 1); index = model()->index(index.row() + offset, index.column(), index.parent()); } - else if ((cursorAction == MoveUp && index.row() > 0) || (cursorAction == MoveDown && index.row() + 1 < model()->rowCount())) + else if ((cursorAction == MoveUp && index.row() > 0) + || (cursorAction == MoveDown && index.row() + 1 < model()->rowCount())) { const int offset = ((m_size + m_spacing) * (cursorAction == MoveUp ? -1 : 1)); QRect rect = viewportRectForRow(index.row()).toRect(); @@ -435,24 +437,24 @@ QString GridView::getLayout() const switch (m_viewMode) { case Simple: - return "simple"; + return QStringLiteral("simple"); case Anchored: - return "anchored"; + return QStringLiteral("anchored"); case Centered: default: break; } - return "centered"; + return QStringLiteral("centered"); } void GridView::setLayout(QString layout) { - if (layout == "anchored") + if (layout == QLatin1String("anchored")) m_viewMode = Anchored; - else if (layout == "centered") + else if (layout == QLatin1String("centered")) m_viewMode = Centered; - else if (layout == "fixed") + else if (layout == QLatin1String("fixed")) m_viewMode = Simple; } @@ -487,23 +489,23 @@ QString GridItem::getThumbnailVerticalAlign() const switch (thumbnailVerticalAlignmentFlag) { case Qt::AlignTop: - return "top"; + return QStringLiteral("top"); case Qt::AlignVCenter: - return "center"; + return QStringLiteral("center"); case Qt::AlignBottom: default: break; } - return "bottom"; + return QStringLiteral("bottom"); } void GridItem::setThumbnailVerticalAlign(const QString valign) { - if (valign == "top") + if (valign == QLatin1String("top")) thumbnailVerticalAlignmentFlag = Qt::AlignTop; - else if (valign == "center") + else if (valign == QLatin1String("center")) thumbnailVerticalAlignmentFlag = Qt::AlignVCenter; - else if (valign == "bottom") + else if (valign == QLatin1String("bottom")) thumbnailVerticalAlignmentFlag = Qt::AlignBottom; } diff --git a/ui/drivers/qt/qt_downloads.cpp b/ui/drivers/qt/qt_downloads.cpp index 528821716a83..2dc69b533a48 100644 --- a/ui/drivers/qt/qt_downloads.cpp +++ b/ui/drivers/qt/qt_downloads.cpp @@ -97,7 +97,7 @@ void MainWindow::onThumbnailPackDownloadNetworkSslErrors(const QList { const QSslError &error = errors.at(i); QString string = - QString("Ignoring SSL error code ") + QStringLiteral("Ignoring SSL error code ") + QString::number(error.error()) + ": " + error.errorString(); @@ -389,7 +389,7 @@ void MainWindow::onThumbnailDownloadNetworkSslErrors( { const QSslError &error = errors.at(i); QString string = - QString("Ignoring SSL error code ") + QStringLiteral("Ignoring SSL error code ") + QString::number(error.error()) + ": " + error.errorString(); @@ -675,7 +675,7 @@ void MainWindow::onPlaylistThumbnailDownloadNetworkSslErrors(const QList hash2; QHash hash3; QHash hash4; - const QHash &itemHash = m_playlistModel->index(i, 0).data(PlaylistModel::HASH).value< QHash >(); + const QHash &itemHash = + m_playlistModel->index(i, 0).data(PlaylistModel::HASH).value< QHash >(); hash["db_name"] = itemHash.value("db_name"); hash["label_noext"] = itemHash.value("label_noext"); diff --git a/ui/drivers/qt/qt_widgets.cpp b/ui/drivers/qt/qt_widgets.cpp index 9c7881fe776a..d346ac2363af 100644 --- a/ui/drivers/qt/qt_widgets.cpp +++ b/ui/drivers/qt/qt_widgets.cpp @@ -1127,12 +1127,14 @@ void FileDropWidget::paintEvent(QPaintEvent *event) void FileDropWidget::keyPressEvent(QKeyEvent *event) { - if (event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter) + int key = event->key(); + if ( key == Qt::Key_Return + || key == Qt::Key_Enter) { event->accept(); emit enterPressed(); } - else if (event->key() == Qt::Key_Delete) + else if (key == Qt::Key_Delete) { event->accept(); emit deletePressed(); @@ -1149,7 +1151,8 @@ void FileDropWidget::dragEnterEvent(QDragEnterEvent *event) event->acceptProposedAction(); } -/* Workaround for QTBUG-72844. Without it, you can't drop on this if you first drag over another widget that doesn't accept drops. */ +/* Workaround for QTBUG-72844. Without it, you can't drop on this if you + * first drag over another widget that doesn't accept drops. */ void FileDropWidget::dragMoveEvent(QDragMoveEvent *event) { event->acceptProposedAction(); @@ -1161,9 +1164,9 @@ void FileDropWidget::dropEvent(QDropEvent *event) if (data->hasUrls()) { - QList urls = data->urls(); - QStringList files; int i; + QStringList files; + QList urls = data->urls(); for (i = 0; i < urls.count(); i++) { @@ -1196,7 +1199,9 @@ void MainWindow::onFileDropWidgetContextMenuRequested(const QPoint &pos) if (!specialPlaylist) { - downloadThumbnailAction.reset(new QAction(QString(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_QT_DOWNLOAD_THUMBNAIL)), this)); + downloadThumbnailAction.reset(new QAction( + QString(msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_QT_DOWNLOAD_THUMBNAIL)), this)); menu->addAction(downloadThumbnailAction.data()); } @@ -1270,8 +1275,7 @@ void MainWindow::onFileDropWidgetContextMenuRequested(const QPoint &pos) addFilesToPlaylist(QStringList()); else if (selectedAction == addFolderAction.data()) { - QString dirPath = QFileDialog::getExistingDirectory( - this, + QString dirPath = QFileDialog::getExistingDirectory(this, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_QT_SELECT_FOLDER), QString(), QFileDialog::ShowDirsOnly); @@ -1312,7 +1316,9 @@ void MainWindow::onFileDropWidgetContextMenuRequested(const QPoint &pos) if (!updateCurrentPlaylistEntry(contentHash)) { - showMessageBox(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_QT_COULD_NOT_UPDATE_PLAYLIST_ENTRY), MainWindow::MSGBOX_TYPE_ERROR, Qt::ApplicationModal, false); + showMessageBox(msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_QT_COULD_NOT_UPDATE_PLAYLIST_ENTRY), + MainWindow::MSGBOX_TYPE_ERROR, Qt::ApplicationModal, false); return; } } diff --git a/ui/drivers/ui_qt.cpp b/ui/drivers/ui_qt.cpp index 3cb823e24195..1356f1a6317d 100644 --- a/ui/drivers/ui_qt.cpp +++ b/ui/drivers/ui_qt.cpp @@ -2103,13 +2103,12 @@ void MainWindow::onLaunchWithComboBoxIndexChanged(int) MainWindow::Theme MainWindow::getThemeFromString(QString themeString) { - if (themeString == "default") + if (themeString == QLatin1String("default")) return THEME_SYSTEM_DEFAULT; - else if (themeString == "dark") + else if (themeString == QLatin1String("dark")) return THEME_DARK; - else if (themeString == "custom") + else if (themeString == QLatin1String("custom")) return THEME_CUSTOM; - return THEME_SYSTEM_DEFAULT; } @@ -3048,7 +3047,8 @@ void MainWindow::setCoreActions() { QVariantMap map = m_launchWithComboBox->itemData(i, Qt::UserRole).toMap(); - if (map.value("core_path").toString() == hash["core_path"] || map.value("core_name").toString() == coreName) + if ( map.value("core_path").toString() == hash["core_path"] + || map.value("core_name").toString() == coreName) { found_existing = true; break; @@ -3877,13 +3877,13 @@ QString MainWindow::getCurrentThumbnailTypeString() ThumbnailType MainWindow::getThumbnailTypeFromString(QString thumbnailType) { - if (thumbnailType == "boxart") + if (thumbnailType == QLatin1String("boxart")) return THUMBNAIL_TYPE_BOXART; - else if (thumbnailType == "screenshot") + else if (thumbnailType == QLatin1String("screenshot")) return THUMBNAIL_TYPE_SCREENSHOT; - else if (thumbnailType == "title") + else if (thumbnailType == QLatin1String("title")) return THUMBNAIL_TYPE_TITLE_SCREEN; - else if (thumbnailType == "logo") + else if (thumbnailType == QLatin1String("logo")) return THUMBNAIL_TYPE_LOGO; return THUMBNAIL_TYPE_BOXART; @@ -3925,7 +3925,7 @@ void MainWindow::onContributorsClicked() dialog->layout()->addWidget(buttonBox); textEdit->setReadOnly(true); - textEdit->setHtml(QString("
") + retroarch_contributors_list + "
"); + textEdit->setHtml(QStringLiteral("
") + retroarch_contributors_list + "
"); dialog->resize(480, 640); dialog->exec(); @@ -3935,7 +3935,7 @@ void MainWindow::showAbout() { QScopedPointer dialog(new QDialog()); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok); - QString text = QString("RetroArch ") + PACKAGE_VERSION + + QString text = QStringLiteral("RetroArch ") + PACKAGE_VERSION + "

" + "www.libretro.com" "

" + "www.retroarch.com" #ifdef HAVE_GIT_VERSION @@ -4870,9 +4870,9 @@ static void* ui_companion_qt_init(void) { QString viewType = qsettings->value("view_type", "list").toString(); - if (viewType == "list") + if (viewType == QLatin1String("list")) mainwindow->setCurrentViewType(MainWindow::VIEW_TYPE_LIST); - else if (viewType == "icons") + else if (viewType == QLatin1String("icons")) mainwindow->setCurrentViewType(MainWindow::VIEW_TYPE_ICONS); else mainwindow->setCurrentViewType(MainWindow::VIEW_TYPE_LIST); @@ -4884,13 +4884,13 @@ static void* ui_companion_qt_init(void) { QString thumbnailType = qsettings->value("icon_view_thumbnail_type", "boxart").toString(); - if (thumbnailType == "boxart") + if (thumbnailType == QLatin1String("boxart")) mainwindow->setCurrentThumbnailType(THUMBNAIL_TYPE_BOXART); - else if (thumbnailType == "screenshot") + else if (thumbnailType == QLatin1String("screenshot")) mainwindow->setCurrentThumbnailType(THUMBNAIL_TYPE_SCREENSHOT); - else if (thumbnailType == "title") + else if (thumbnailType == QLatin1String("title")) mainwindow->setCurrentThumbnailType(THUMBNAIL_TYPE_TITLE_SCREEN); - else if (thumbnailType == "logo") + else if (thumbnailType == QLatin1String("logo")) mainwindow->setCurrentThumbnailType(THUMBNAIL_TYPE_LOGO); else mainwindow->setCurrentThumbnailType(THUMBNAIL_TYPE_BOXART); @@ -5113,7 +5113,7 @@ void LoadCoreTableWidget::keyPressEvent(QKeyEvent *event) { int key = event->key(); if ( key == Qt::Key_Return - || key == Qt::Key_Enter) + || key == Qt::Key_Enter) { event->accept(); emit enterPressed();