diff --git a/src/duckstation-qt/advancedsettingswidget.cpp b/src/duckstation-qt/advancedsettingswidget.cpp index c3597e5bf..7229ccb98 100644 --- a/src/duckstation-qt/advancedsettingswidget.cpp +++ b/src/duckstation-qt/advancedsettingswidget.cpp @@ -147,7 +147,7 @@ void AdvancedSettingsWidget::onClearWebCacheClicked() Error error; if (!HTTPCache::Clear(&error)) { - QtUtils::AsyncMessageBox(this, QMessageBox::Critical, "Failed to clear web cache"_L1, + QtUtils::AsyncMessageBox(this, QMessageBox::Critical, u"Failed to clear web cache"_s, QString::fromStdString(error.GetDescription())); } diff --git a/src/duckstation-qt/autoupdaterdialog.cpp b/src/duckstation-qt/autoupdaterdialog.cpp index 1a628393c..59cda5f76 100644 --- a/src/duckstation-qt/autoupdaterdialog.cpp +++ b/src/duckstation-qt/autoupdaterdialog.cpp @@ -1011,7 +1011,7 @@ bool AutoUpdaterDialog::processUpdate(const std::vector& update_data) // Execute new appimage. QProcess* new_process = new QProcess(); new_process->setProgram(QString::fromUtf8(appimage_path)); - new_process->setArguments(QStringList{"-updatecleanup"_L1}); + new_process->setArguments(QStringList{u"-updatecleanup"_s}); if (!new_process->startDetached()) { reportError("Failed to execute new AppImage."); diff --git a/src/duckstation-qt/biossettingswidget.cpp b/src/duckstation-qt/biossettingswidget.cpp index fb73947ae..8951acd70 100644 --- a/src/duckstation-qt/biossettingswidget.cpp +++ b/src/duckstation-qt/biossettingswidget.cpp @@ -136,9 +136,9 @@ void BIOSSettingsWidget::populateDropDownForRegion(ConsoleRegion region, QComboB cb->clear(); if (per_game) - cb->addItem(QIcon(":/icons/system-search.png"_L1), tr("Use Global Setting")); + cb->addItem(QIcon(u":/icons/system-search.png"_s), tr("Use Global Setting")); - cb->addItem(QIcon(":/icons/system-search.png"_L1), tr("Auto-Detect")); + cb->addItem(QIcon(u":/icons/system-search.png"_s), tr("Auto-Detect")); std::sort(images.begin(), images.end(), [region](const auto& left, const auto& right) { const bool left_region_match = (left.second && left.second->region == region); @@ -182,7 +182,7 @@ void BIOSSettingsWidget::setDropDownValue(QComboBox* cb, const std::optionaladdItem(QIcon(":/icons/monochrome/svg/close-line.png"_L1), tr("%1 (Missing)").arg(qname), QVariant(qname)); + cb->addItem(QIcon(u":/icons/monochrome/svg/close-line.png"_s), tr("%1 (Missing)").arg(qname), QVariant(qname)); cb->setCurrentIndex(cb->count() - 1); } diff --git a/src/duckstation-qt/controllerbindingwidgets.cpp b/src/duckstation-qt/controllerbindingwidgets.cpp index f9079a741..ed89bad76 100644 --- a/src/duckstation-qt/controllerbindingwidgets.cpp +++ b/src/duckstation-qt/controllerbindingwidgets.cpp @@ -119,7 +119,7 @@ void ControllerBindingWidget::populateWidgets() Ui::ControllerBindingWidget_AnalogController ui; ui.setupUi(m_bindings_widget); bindBindingWidgets(m_bindings_widget); - m_icon = QIcon(":/icons/monochrome/svg/controller-line.svg"_L1); + m_icon = QIcon(u":/icons/monochrome/svg/controller-line.svg"_s); image_widget = ui.image; } break; @@ -129,7 +129,7 @@ void ControllerBindingWidget::populateWidgets() Ui::ControllerBindingWidget_AnalogJoystick ui; ui.setupUi(m_bindings_widget); bindBindingWidgets(m_bindings_widget); - m_icon = QIcon(":/icons/monochrome/svg/joystick-line.svg"_L1); + m_icon = QIcon(u":/icons/monochrome/svg/joystick-line.svg"_s); image_widget = ui.image; } break; @@ -139,7 +139,7 @@ void ControllerBindingWidget::populateWidgets() Ui::ControllerBindingWidget_DigitalController ui; ui.setupUi(m_bindings_widget); bindBindingWidgets(m_bindings_widget); - m_icon = QIcon(":/icons/monochrome/svg/controller-digital-line.svg"_L1); + m_icon = QIcon(u":/icons/monochrome/svg/controller-digital-line.svg"_s); image_widget = ui.image; } break; @@ -149,7 +149,7 @@ void ControllerBindingWidget::populateWidgets() Ui::ControllerBindingWidget_GunCon ui; ui.setupUi(m_bindings_widget); bindBindingWidgets(m_bindings_widget); - m_icon = QIcon(":/icons/monochrome/svg/guncon-line.svg"_L1); + m_icon = QIcon(u":/icons/monochrome/svg/guncon-line.svg"_s); image_widget = ui.image; } break; @@ -159,7 +159,7 @@ void ControllerBindingWidget::populateWidgets() Ui::ControllerBindingWidget_NeGcon ui; ui.setupUi(m_bindings_widget); bindBindingWidgets(m_bindings_widget); - m_icon = QIcon(":/icons/monochrome/svg/negcon-line.svg"_L1); + m_icon = QIcon(u":/icons/monochrome/svg/negcon-line.svg"_s); image_widget = ui.image; } break; @@ -169,7 +169,7 @@ void ControllerBindingWidget::populateWidgets() Ui::ControllerBindingWidget_NeGconRumble ui; ui.setupUi(m_bindings_widget); bindBindingWidgets(m_bindings_widget); - m_icon = QIcon(":/icons/monochrome/svg/negcon-line.svg"_L1); + m_icon = QIcon(u":/icons/monochrome/svg/negcon-line.svg"_s); image_widget = ui.image; } break; @@ -179,7 +179,7 @@ void ControllerBindingWidget::populateWidgets() Ui::ControllerBindingWidget_Mouse ui; ui.setupUi(m_bindings_widget); bindBindingWidgets(m_bindings_widget); - m_icon = QIcon(":/icons/monochrome/svg/mouse-line.svg"_L1); + m_icon = QIcon(u":/icons/monochrome/svg/mouse-line.svg"_s); image_widget = ui.image; } break; @@ -189,21 +189,21 @@ void ControllerBindingWidget::populateWidgets() Ui::ControllerBindingWidget_Justifier ui; ui.setupUi(m_bindings_widget); bindBindingWidgets(m_bindings_widget); - m_icon = QIcon(":/icons/monochrome/svg/guncon-line.svg"_L1); + m_icon = QIcon(u":/icons/monochrome/svg/guncon-line.svg"_s); image_widget = ui.image; } break; case ControllerType::None: { - m_icon = QIcon(":/icons/monochrome/svg/controller-strike-line.svg"_L1); + m_icon = QIcon(u":/icons/monochrome/svg/controller-strike-line.svg"_s); } break; default: { createBindingWidgets(m_bindings_widget); - m_icon = QIcon(":/icons/monochrome/svg/controller-line.svg"_L1); + m_icon = QIcon(u":/icons/monochrome/svg/controller-line.svg"_s); } break; } @@ -562,7 +562,7 @@ void ControllerMacroWidget::createWidgets(ControllerBindingWidget* bwidget) m_container->addWidget(m_macros[i]); QListWidgetItem* item = new QListWidgetItem(); - item->setIcon(QIcon(":/icons/monochrome/svg/flashlight-line.svg"_L1)); + item->setIcon(QIcon(u":/icons/monochrome/svg/flashlight-line.svg"_s)); m_macroList->addItem(item); updateListItem(i); } @@ -821,7 +821,7 @@ static void createSettingWidgets(SettingsInterface* const sif, QWidget* parent_w if (std::abs(si.multiplier - 100.0f) < 0.01f) { sb->setDecimals(0); - sb->setSuffix("%"_L1); + sb->setSuffix(u"%"_s); } ControllerSettingWidgetBinder::BindWidgetToInputProfileNormalized(sif, sb, section, std::move(key_name), @@ -973,7 +973,7 @@ ControllerCustomSettingsWidget::ControllerCustomSettingsWidget(ControllerBinding QHBoxLayout* bottom_hlayout = new QHBoxLayout(); QPushButton* restore_defaults = new QPushButton(tr("Restore Default Settings"), swidget); - restore_defaults->setIcon(QIcon(":/icons/monochrome/svg/restart-line.svg"_L1)); + restore_defaults->setIcon(QIcon(u":/icons/monochrome/svg/restart-line.svg"_s)); bottom_hlayout->addStretch(1); bottom_hlayout->addWidget(restore_defaults); swidget_layout->addLayout(bottom_hlayout, current_row++, 0, 1, 4); diff --git a/src/duckstation-qt/controllerglobalsettingswidget.cpp b/src/duckstation-qt/controllerglobalsettingswidget.cpp index 01370a9ba..e80d81d24 100644 --- a/src/duckstation-qt/controllerglobalsettingswidget.cpp +++ b/src/duckstation-qt/controllerglobalsettingswidget.cpp @@ -223,7 +223,7 @@ void ControllerGlobalSettingsWidget::ledSettingsClicked() QHBoxLayout* const heading_layout = new QHBoxLayout; QLabel* const icon = new QLabel; - icon->setPixmap(QIcon(":/icons/monochrome/svg/lightbulb-line.svg"_L1).pixmap(32)); + icon->setPixmap(QIcon(u":/icons/monochrome/svg/lightbulb-line.svg"_s).pixmap(32)); QLabel* const heading = new QLabel( tr("Controller LED Settings
\nThe \"alternate\" color is used when analog mode is active.")); heading->setWordWrap(true); diff --git a/src/duckstation-qt/controllersettingswindow.cpp b/src/duckstation-qt/controllersettingswindow.cpp index ee6ee0c85..b062fb2c8 100644 --- a/src/duckstation-qt/controllersettingswindow.cpp +++ b/src/duckstation-qt/controllersettingswindow.cpp @@ -231,7 +231,7 @@ void ControllerSettingsWindow::onNewProfileClicked() Error error; if (!temp_si.Save(&error, Settings::GetSectionSaveOrder())) { - QtUtils::AsyncMessageBox(this, QMessageBox::Critical, "Error"_L1, + QtUtils::AsyncMessageBox(this, QMessageBox::Critical, u"Error"_s, QStringLiteral("Failed to save the new preset to '%1':\n%2") .arg(QString::fromStdString(temp_si.GetPath())) .arg(QString::fromStdString(error.GetDescription()))); @@ -282,7 +282,7 @@ void ControllerSettingsWindow::onDeleteProfileClicked() std::string profile_path(System::GetInputProfilePath(m_profile_name.toStdString())); if (!FileSystem::DeleteFile(profile_path.c_str())) { - QtUtils::AsyncMessageBox(this, QMessageBox::Critical, "Error"_L1, + QtUtils::AsyncMessageBox(this, QMessageBox::Critical, u"Error"_s, QStringLiteral("Failed to delete '%1'.").arg(QString::fromStdString(profile_path))); return; } @@ -442,7 +442,7 @@ void ControllerSettingsWindow::createWidgets() // global settings QListWidgetItem* item = new QListWidgetItem(); item->setText(tr("Global Settings")); - item->setIcon(QIcon(":/icons/monochrome/svg/settings-3-line.svg"_L1)); + item->setIcon(QIcon(u":/icons/monochrome/svg/settings-3-line.svg"_s)); m_ui.settingsCategory->addItem(item); m_ui.settingsCategory->setCurrentRow(0); m_global_settings = new ControllerGlobalSettingsWidget(m_ui.settingsContainer, this); @@ -481,7 +481,7 @@ void ControllerSettingsWindow::createWidgets() { QListWidgetItem* item = new QListWidgetItem(); item->setText(tr("Hotkeys")); - item->setIcon(QIcon(":/icons/monochrome/svg/keyboard-line.svg"_L1)); + item->setIcon(QIcon(u":/icons/monochrome/svg/keyboard-line.svg"_s)); m_ui.settingsCategory->addItem(item); m_hotkey_settings = new HotkeySettingsWidget(m_ui.settingsContainer, this); m_ui.settingsContainer->addWidget(m_hotkey_settings); diff --git a/src/duckstation-qt/coverdownloadwindow.cpp b/src/duckstation-qt/coverdownloadwindow.cpp index b7333dcd9..c8ef8aff2 100644 --- a/src/duckstation-qt/coverdownloadwindow.cpp +++ b/src/duckstation-qt/coverdownloadwindow.cpp @@ -20,7 +20,7 @@ using namespace Qt::StringLiterals; CoverDownloadWindow::CoverDownloadWindow() : QWidget() { m_ui.setupUi(this); - m_ui.coverIcon->setPixmap(QIcon(":/icons/monochrome/svg/artboard-2-line.svg"_L1).pixmap(32)); + m_ui.coverIcon->setPixmap(QIcon(u":/icons/monochrome/svg/artboard-2-line.svg"_s).pixmap(32)); updateEnabled(); connect(m_ui.start, &QPushButton::clicked, this, &CoverDownloadWindow::onStartClicked); diff --git a/src/duckstation-qt/debuggercodeview.cpp b/src/duckstation-qt/debuggercodeview.cpp index cf1e48c2c..9a4187e91 100644 --- a/src/duckstation-qt/debuggercodeview.cpp +++ b/src/duckstation-qt/debuggercodeview.cpp @@ -39,8 +39,8 @@ DebuggerCodeView::DebuggerCodeView(QWidget* parent) : QAbstractScrollArea(parent updateRowHeight(); // Load icons - m_pc_pixmap = QIcon(":/icons/debug-pc.png"_L1).pixmap(12); - m_breakpoint_pixmap = QIcon(":/icons/media-record.png"_L1).pixmap(12); + m_pc_pixmap = QIcon(u":/icons/debug-pc.png"_s).pixmap(12); + m_breakpoint_pixmap = QIcon(u":/icons/media-record.png"_s).pixmap(12); // Connect scroll bar connect(verticalScrollBar(), &QScrollBar::valueChanged, this, [this](int value) { diff --git a/src/duckstation-qt/debuggerwindow.cpp b/src/duckstation-qt/debuggerwindow.cpp index d4574636e..81fe60652 100644 --- a/src/duckstation-qt/debuggerwindow.cpp +++ b/src/duckstation-qt/debuggerwindow.cpp @@ -300,10 +300,10 @@ void DebuggerWindow::onCodeViewContextMenuRequested(const QPoint& pt) menu->addAction(QStringLiteral("0x%1").arg(static_cast(address), 8, 16, QChar('0')))->setEnabled(false); menu->addSeparator(); - menu->addAction(QIcon(":/icons/monochrome/svg/debug-toggle-breakpoint.svg"_L1), tr("Toggle &Breakpoint"), + menu->addAction(QIcon(u":/icons/monochrome/svg/debug-toggle-breakpoint.svg"_s), tr("Toggle &Breakpoint"), [this, address]() { toggleBreakpoint(address); }); - menu->addAction(QIcon(":/icons/monochrome/svg/debugger-go-to-cursor.svg"_L1), tr("&Run To Cursor"), [address]() { + menu->addAction(QIcon(u":/icons/monochrome/svg/debugger-go-to-cursor.svg"_s), tr("&Run To Cursor"), [address]() { Host::RunOnCoreThread([address]() { CPU::AddBreakpoint(CPU::BreakpointType::Execute, address, true, true); g_core_thread->setSystemPaused(false); @@ -311,10 +311,10 @@ void DebuggerWindow::onCodeViewContextMenuRequested(const QPoint& pt) }); menu->addSeparator(); - menu->addAction(QIcon(":/icons/monochrome/svg/debugger-go-to-address.svg"_L1), tr("View in &Dump"), + menu->addAction(QIcon(u":/icons/monochrome/svg/debugger-go-to-address.svg"_s), tr("View in &Dump"), [this, address]() { scrollToMemoryAddress(address); }); - menu->addAction(QIcon(":/icons/monochrome/svg/debug-trace-line.svg"_L1), tr("&Follow Load/Store"), + menu->addAction(QIcon(u":/icons/monochrome/svg/debug-trace-line.svg"_s), tr("&Follow Load/Store"), [this, address]() { tryFollowLoadStore(address); }); menu->popup(m_ui.codeView->mapToGlobal(pt)); diff --git a/src/duckstation-qt/debuggingsettingswidget.cpp b/src/duckstation-qt/debuggingsettingswidget.cpp index a5bfbc63f..ad8ba219f 100644 --- a/src/duckstation-qt/debuggingsettingswidget.cpp +++ b/src/duckstation-qt/debuggingsettingswidget.cpp @@ -131,13 +131,13 @@ static void addDirectoryOption(SettingsWindow* dialog, QTableWidget* table, cons layout->setContentsMargins(0, 0, 0, 0); QLineEdit* value = new QLineEdit(container); - value->setObjectName("value"_L1); + value->setObjectName(u"value"_s); SettingWidgetBinder::BindWidgetToStringSetting(dialog->getSettingsInterface(), value, std::move(section), std::move(key)); layout->addWidget(value, 1); QPushButton* browse = new QPushButton(container); - browse->setText("..."_L1); + browse->setText(u"..."_s); browse->setMaximumWidth(32); QObject::connect(browse, &QPushButton::clicked, browse, [browse, value, name]() { const QString path(QDir::toNativeSeparators(QFileDialog::getExistingDirectory( @@ -154,7 +154,7 @@ static void setDirectoryOption(QTableWidget* table, int row, const char* value) { QWidget* widget = table->cellWidget(row, 1); Assert(widget); - QLineEdit* valuew = widget->findChild("value"_L1); + QLineEdit* valuew = widget->findChild(u"value"_s); Assert(valuew); valuew->setText(QString::fromUtf8(value)); } @@ -163,7 +163,7 @@ DebuggingSettingsWidget::DebuggingSettingsWidget(SettingsWindow* dialog, QWidget : QWidget(parent), m_dialog(dialog) { m_ui.setupUi(this); - m_ui.icon->setSource(":/icons/monochrome/svg/error-warning-line.svg"_L1); + m_ui.icon->setSource(u":/icons/monochrome/svg/error-warning-line.svg"_s); connect(m_ui.resetToDefaultButton, &QPushButton::clicked, this, &DebuggingSettingsWidget::onResetToDefaultClicked); diff --git a/src/duckstation-qt/gamecheatsettingswidget.cpp b/src/duckstation-qt/gamecheatsettingswidget.cpp index 29278db78..03a811013 100644 --- a/src/duckstation-qt/gamecheatsettingswidget.cpp +++ b/src/duckstation-qt/gamecheatsettingswidget.cpp @@ -349,22 +349,22 @@ void GameCheatSettingsWidget::onCheatListContextMenuRequested(const QPoint& pos) QMenu* const context_menu = QtUtils::NewPopupMenu(m_ui.cheatList); - context_menu->addAction(QIcon(":/icons/monochrome/svg/add-line.svg"_L1), tr("Add Cheat..."), this, + context_menu->addAction(QIcon(u":/icons/monochrome/svg/add-line.svg"_s), tr("Add Cheat..."), this, &GameCheatSettingsWidget::newCode); context_menu - ->addAction(QIcon(":/icons/monochrome/svg/edit-box-line.svg"_L1), tr("Edit Cheat..."), + ->addAction(QIcon(u":/icons/monochrome/svg/edit-box-line.svg"_s), tr("Edit Cheat..."), [this, selected_code]() { editCode(selected_code); }) ->setEnabled(selected != nullptr); context_menu - ->addAction(QIcon(":/icons/monochrome/svg/minus-line.svg"_L1), tr("Remove Cheat"), + ->addAction(QIcon(u":/icons/monochrome/svg/minus-line.svg"_s), tr("Remove Cheat"), [this, selected_code]() { removeCode(selected_code, true); }) ->setEnabled(selected != nullptr); context_menu->addSeparator(); - context_menu->addAction(QIcon(":/icons/monochrome/svg/chat-off-line.svg"_L1), tr("Disable All Cheats"), this, + context_menu->addAction(QIcon(u":/icons/monochrome/svg/chat-off-line.svg"_s), tr("Disable All Cheats"), this, &GameCheatSettingsWidget::disableAllCheats); - context_menu->addAction(QIcon(":/icons/monochrome/svg/refresh-line.svg"_L1), tr("Reload Cheats"), this, + context_menu->addAction(QIcon(u":/icons/monochrome/svg/refresh-line.svg"_s), tr("Reload Cheats"), this, &GameCheatSettingsWidget::onReloadClicked); context_menu->popup(m_ui.cheatList->mapToGlobal(pos)); @@ -602,7 +602,7 @@ void GameCheatSettingsWidget::importCodes(const std::string& file_contents) if (!Cheats::ImportCodesFromString(&new_codes, file_contents, Cheats::FileFormat::Unknown, true, &error)) { QtUtils::AsyncMessageBox( - this, QMessageBox::Critical, "Error"_L1, + this, QMessageBox::Critical, u"Error"_s, QStringLiteral("Failed to parse file:\n%1").arg(QString::fromStdString(error.GetDescription()))); return; } @@ -610,7 +610,7 @@ void GameCheatSettingsWidget::importCodes(const std::string& file_contents) if (!Cheats::SaveCodesToFile(getPathForSavingCheats().c_str(), new_codes, &error)) { QtUtils::AsyncMessageBox( - this, QMessageBox::Critical, "Error"_L1, + this, QMessageBox::Critical, u"Error"_s, QStringLiteral("Failed to save file:\n%1").arg(QString::fromStdString(error.GetDescription()))); } diff --git a/src/duckstation-qt/gamelistsettingswidget.cpp b/src/duckstation-qt/gamelistsettingswidget.cpp index a1b20a132..11d930201 100644 --- a/src/duckstation-qt/gamelistsettingswidget.cpp +++ b/src/duckstation-qt/gamelistsettingswidget.cpp @@ -78,7 +78,7 @@ void GameListSettingsWidget::refreshExclusionList() for (const std::string& path : paths) { QListWidgetItem* const it = new QListWidgetItem(QString::fromStdString(path)); - it->setIcon(QIcon(":/icons/monochrome/svg/file-forbid-line.svg"_L1)); + it->setIcon(QIcon(u":/icons/monochrome/svg/file-forbid-line.svg"_s)); m_ui.excludedPaths->addItem(it); } @@ -89,7 +89,7 @@ void GameListSettingsWidget::addPathToTable(const std::string& path, bool recurs { QTreeWidgetItem* const item = new QTreeWidgetItem(); item->setFlags(item->flags() | Qt::ItemIsUserCheckable); - item->setIcon(0, QIcon(recursive ? ":/icons/monochrome/svg/folder-open-line.svg"_L1 : ":/icons/monochrome/svg/folder-line.svg"_L1)); + item->setIcon(0, QIcon(recursive ? u":/icons/monochrome/svg/folder-open-line.svg"_s : u":/icons/monochrome/svg/folder-line.svg"_s)); item->setText(0, QString::fromStdString(path)); item->setCheckState(1, recursive ? Qt::Checked : Qt::Unchecked); m_ui.searchDirectoryList->addTopLevelItem(item); @@ -149,7 +149,7 @@ void GameListSettingsWidget::onDirectoryListItemChanged(QTreeWidgetItem* item, i const std::string path = item->text(0).toStdString(); const bool recursive = (item->checkState(1) == Qt::Checked); - item->setIcon(0, QIcon(recursive ? ":/icons/monochrome/svg/folder-open-line.svg"_L1 : ":/icons/monochrome/svg/folder-line.svg"_L1)); + item->setIcon(0, QIcon(recursive ? u":/icons/monochrome/svg/folder-open-line.svg"_s : u":/icons/monochrome/svg/folder-line.svg"_s)); if (recursive) { @@ -174,10 +174,10 @@ void GameListSettingsWidget::onDirectoryListContextMenuRequested(const QPoint& p const int row = selection[0].row(); QMenu* const menu = QtUtils::NewPopupMenu(this); - menu->addAction(QIcon(":/icons/monochrome/svg/folder-reduce-line.svg"_L1), tr("Remove"), this, + menu->addAction(QIcon(u":/icons/monochrome/svg/folder-reduce-line.svg"_s), tr("Remove"), this, &GameListSettingsWidget::onRemoveSearchDirectoryButtonClicked); menu->addSeparator(); - menu->addAction(QIcon(":/icons/monochrome/svg/folder-open-line.svg"_L1), tr("Open Directory..."), [this, row]() { + menu->addAction(QIcon(u":/icons/monochrome/svg/folder-open-line.svg"_s), tr("Open Directory..."), [this, row]() { const QTreeWidgetItem* const item = m_ui.searchDirectoryList->topLevelItem(row); if (item) QtUtils::OpenURL(this, QUrl::fromLocalFile(item->text(0))); diff --git a/src/duckstation-qt/gamelistwidget.cpp b/src/duckstation-qt/gamelistwidget.cpp index dab52f9c7..c0c4c166a 100644 --- a/src/duckstation-qt/gamelistwidget.cpp +++ b/src/duckstation-qt/gamelistwidget.cpp @@ -1860,7 +1860,7 @@ GameListWidget::GameListWidget(QWidget* parent, QAction* action_view_list, QActi Ui::EmptyGameListWidget empty_ui; empty_ui.setupUi(m_empty_widget); empty_ui.supportedFormats->setText(qApp->translate("GameListWidget", SUPPORTED_FORMATS_STRING)); - empty_ui.icon->setSource(":/icons/monochrome/svg/information-line.svg"_L1); + empty_ui.icon->setSource(u":/icons/monochrome/svg/information-line.svg"_s); m_ui.stack->insertWidget(2, m_empty_widget); m_ui.viewGameList->setDefaultAction(action_view_list); diff --git a/src/duckstation-qt/gamepatchsettingswidget.cpp b/src/duckstation-qt/gamepatchsettingswidget.cpp index 2f032767f..9a5805533 100644 --- a/src/duckstation-qt/gamepatchsettingswidget.cpp +++ b/src/duckstation-qt/gamepatchsettingswidget.cpp @@ -91,7 +91,7 @@ void GamePatchSettingsWidget::reloadList() m_dialog->getSettingsInterface()->GetStringList(Cheats::PATCHES_CONFIG_SECTION, Cheats::PATCH_ENABLE_CONFIG_KEY); QWidget* container = new QWidget(m_ui.scrollArea); - container->setObjectName("patches_container"_L1); + container->setObjectName(u"patches_container"_s); QVBoxLayout* layout = new QVBoxLayout(container); m_ui.scrollArea->setWidget(container); diff --git a/src/duckstation-qt/gamesummarywidget.cpp b/src/duckstation-qt/gamesummarywidget.cpp index b84ae06a7..b7ebb74c1 100644 --- a/src/duckstation-qt/gamesummarywidget.cpp +++ b/src/duckstation-qt/gamesummarywidget.cpp @@ -296,8 +296,8 @@ void GameSummaryWidget::populateUi(const GameList::Entry* entry) m_ui.compatibilityComments->setEnabled(!m_compatibility_comments.isEmpty()); - m_ui.inputProfile->addItem(QIcon(":/icons/monochrome/svg/global-line.svg"_L1), tr("Use Global Settings")); - m_ui.inputProfile->addItem(QIcon(":/icons/monochrome/svg/controller-digital-line.svg"_L1), + m_ui.inputProfile->addItem(QIcon(u":/icons/monochrome/svg/global-line.svg"_s), tr("Use Global Settings")); + m_ui.inputProfile->addItem(QIcon(u":/icons/monochrome/svg/controller-digital-line.svg"_s), tr("Game Specific Configuration")); for (const std::string& name : InputManager::GetInputProfileNames()) m_ui.inputProfile->addItem(QString::fromStdString(name)); @@ -327,7 +327,7 @@ void GameSummaryWidget::onChangeSerialClicked() QDialog* const dialog = new QDialog(this); Ui::EditGameSerialDialog dialog_ui; dialog_ui.setupUi(dialog); - dialog_ui.icon->setPixmap(QIcon(":/icons/monochrome/svg/disc-line.svg"_L1).pixmap(32)); + dialog_ui.icon->setPixmap(QIcon(u":/icons/monochrome/svg/disc-line.svg"_s).pixmap(32)); dialog_ui.path->setText(QString::fromStdString(m_path)); dialog_ui.serial->setText(QString::fromStdString(entry->serial)); dialog_ui.serial->setFocus(); @@ -480,8 +480,8 @@ void GameSummaryWidget::populateTracksInfo() const CDImage::TrackMode mode = image->GetTrackMode(static_cast(track)); QTreeWidgetItem* row = new QTreeWidgetItem(m_ui.tracks); - row->setIcon(0, QIcon((mode == CDImage::TrackMode::Audio) ? ":/icons/monochrome/svg/file-music-line.svg"_L1 : - ":/icons/monochrome/svg/disc-line.svg"_L1)); + row->setIcon(0, QIcon((mode == CDImage::TrackMode::Audio) ? u":/icons/monochrome/svg/file-music-line.svg"_s : + u":/icons/monochrome/svg/disc-line.svg"_s)); row->setText(0, tr("Track %1").arg(track)); row->setText(1, QString::fromUtf8(track_mode_strings[static_cast(mode)])); row->setText(2, MSFToString(position)); diff --git a/src/duckstation-qt/graphicssettingswidget.cpp b/src/duckstation-qt/graphicssettingswidget.cpp index 2069b28ed..a83c42bc0 100644 --- a/src/duckstation-qt/graphicssettingswidget.cpp +++ b/src/duckstation-qt/graphicssettingswidget.cpp @@ -1151,7 +1151,7 @@ TextureReplacementSettingsDialog::TextureReplacementSettingsDialog(SettingsWindo : QDialog(parent) { m_ui.setupUi(this); - m_ui.icon->setPixmap(QIcon(":/icons/monochrome/svg/image-fill.svg"_L1).pixmap(32)); + m_ui.icon->setPixmap(QIcon(u":/icons/monochrome/svg/image-fill.svg"_s).pixmap(32)); constexpr Settings::TextureReplacementSettings::Configuration default_replacement_config; SettingsInterface* const sif = settings_window->getSettingsInterface(); diff --git a/src/duckstation-qt/inputbindingwidgets.cpp b/src/duckstation-qt/inputbindingwidgets.cpp index 7fd08ee3a..b0aab860b 100644 --- a/src/duckstation-qt/inputbindingwidgets.cpp +++ b/src/duckstation-qt/inputbindingwidgets.cpp @@ -520,7 +520,7 @@ void InputBindingWidget::showEffectBindingDialog() QHBoxLayout* const heading_layout = new QHBoxLayout(); QLabel* const icon = new QLabel(&dlg); - icon->setPixmap(QIcon(":/icons/monochrome/svg/pushpin-line.svg"_L1).pixmap(32, 32)); + icon->setPixmap(QIcon(u":/icons/monochrome/svg/pushpin-line.svg"_s).pixmap(32, 32)); QLabel* const heading = new QLabel(tr("%1
Select the device and effect to map this bind to.").arg(full_key), &dlg); heading->setWordWrap(true); diff --git a/src/duckstation-qt/isobrowserwindow.cpp b/src/duckstation-qt/isobrowserwindow.cpp index fb6f228f4..977243cef 100644 --- a/src/duckstation-qt/isobrowserwindow.cpp +++ b/src/duckstation-qt/isobrowserwindow.cpp @@ -57,7 +57,7 @@ ISOBrowserWindow* ISOBrowserWindow::createAndOpenFile(QWidget* parent, const QSt if (!ib->tryOpenFile(path, &error)) { QtUtils::AsyncMessageBox( - parent, QMessageBox::Critical, "Error"_L1, + parent, QMessageBox::Critical, u"Error"_s, QStringLiteral("Failed to open %1:\n%2").arg(path).arg(QString::fromStdString(error.GetDescription()))); delete ib; return nullptr; @@ -99,7 +99,7 @@ void ISOBrowserWindow::onOpenFileClicked() if (!tryOpenFile(path, &error)) { QtUtils::AsyncMessageBox( - this, QMessageBox::Critical, "Error"_L1, + this, QMessageBox::Critical, u"Error"_s, QStringLiteral("Failed to open %1:\n%2").arg(path).arg(QString::fromStdString(error.GetDescription()))); return; } @@ -165,16 +165,16 @@ void ISOBrowserWindow::onFileContextMenuRequested(const QPoint& pos) const QString path = items.front()->data(0, Qt::UserRole).toString(); if (is_directory) { - menu->addAction(QIcon(":/icons/monochrome/svg/file-line.svg"_L1), tr("&Open"), + menu->addAction(QIcon(u":/icons/monochrome/svg/file-line.svg"_s), tr("&Open"), [this, path]() { populateFiles(path); }); } else { - menu->addAction(QIcon(":/icons/monochrome/svg/save-3-line.svg"_L1), tr("&Extract"), + menu->addAction(QIcon(u":/icons/monochrome/svg/save-3-line.svg"_s), tr("&Extract"), [this, path]() { extractFile(path, IsoReader::ReadMode::Data); }); - menu->addAction(QIcon(":/icons/monochrome/svg/save-3-line.svg"_L1), tr("Extract (&XA)"), + menu->addAction(QIcon(u":/icons/monochrome/svg/save-3-line.svg"_s), tr("Extract (&XA)"), [this, path]() { extractFile(path, IsoReader::ReadMode::Mode2); }); - menu->addAction(QIcon(":/icons/monochrome/svg/save-3-line.svg"_L1), tr("Extract (&Raw)"), + menu->addAction(QIcon(u":/icons/monochrome/svg/save-3-line.svg"_s), tr("Extract (&Raw)"), [this, path]() { extractFile(path, IsoReader::ReadMode::Raw); }); } @@ -219,7 +219,7 @@ void ISOBrowserWindow::extractFile(const QString& path, IsoReader::ReadMode mode return [this, spath = std::move(spath), error = std::move(error), result]() mutable { if (!result) { - QtUtils::AsyncMessageBox(this, QMessageBox::Critical, "Error"_L1, + QtUtils::AsyncMessageBox(this, QMessageBox::Critical, u"Error"_s, QStringLiteral("Failed to save %1:\n%2") .arg(QtUtils::StringViewToQString(Path::GetFileName(spath))) .arg(QString::fromStdString(error.GetDescription()))); @@ -274,7 +274,7 @@ void ISOBrowserWindow::populateDirectories() enableExtractButtons(false); QTreeWidgetItem* root = new QTreeWidgetItem; - root->setIcon(0, QIcon(":/icons/monochrome/svg/disc-line.svg"_L1)); + root->setIcon(0, QIcon(u":/icons/monochrome/svg/disc-line.svg"_s)); root->setText(0, QtUtils::StringViewToQString(Path::GetFileTitle(m_image->GetPath()))); root->setData(0, Qt::UserRole, QString()); m_ui.directoryView->addTopLevelItem(root); @@ -303,7 +303,7 @@ void ISOBrowserWindow::populateSubdirectories(std::string_view dir, QTreeWidgetI continue; QTreeWidgetItem* item = new QTreeWidgetItem(parent); - item->setIcon(0, QIcon(":/icons/monochrome/svg/folder-open-line.svg"_L1)); + item->setIcon(0, QIcon(u":/icons/monochrome/svg/folder-open-line.svg"_s)); item->setText(0, QtUtils::StringViewToQString(Path::GetFileName(full_path))); item->setData(0, Qt::UserRole, QString::fromStdString(full_path)); populateSubdirectories(full_path, item); @@ -327,8 +327,8 @@ void ISOBrowserWindow::populateFiles(const QString& path) const auto add_entry = [this](const std::string& full_path, const IsoReader::ISODirectoryEntry& entry) { QTreeWidgetItem* item = new QTreeWidgetItem; - item->setIcon(0, QIcon(entry.IsDirectory() ? ":/icons/monochrome/svg/folder-open-line.svg"_L1 : - ":/icons/monochrome/svg/file-line.svg"_L1)); + item->setIcon(0, QIcon(entry.IsDirectory() ? u":/icons/monochrome/svg/folder-open-line.svg"_s : + u":/icons/monochrome/svg/file-line.svg"_s)); item->setText(0, QtUtils::StringViewToQString(Path::GetFileName(full_path))); item->setData(0, Qt::UserRole, QString::fromStdString(full_path)); item->setData(0, Qt::UserRole + 1, entry.IsDirectory()); @@ -341,7 +341,7 @@ void ISOBrowserWindow::populateFiles(const QString& path) if (!path.isEmpty()) { QTreeWidgetItem* item = new QTreeWidgetItem; - item->setIcon(0, QIcon(":/icons/monochrome/svg/folder-open-line.svg"_L1)); + item->setIcon(0, QIcon(u":/icons/monochrome/svg/folder-open-line.svg"_s)); item->setText(0, tr("")); item->setData(0, Qt::UserRole, QtUtils::StringViewToQString(Path::GetDirectory(spath))); item->setData(0, Qt::UserRole + 1, true); diff --git a/src/duckstation-qt/logwindow.cpp b/src/duckstation-qt/logwindow.cpp index 683f3ea73..be2393333 100644 --- a/src/duckstation-qt/logwindow.cpp +++ b/src/duckstation-qt/logwindow.cpp @@ -310,7 +310,7 @@ void LogWindow::updateWindowTitle() void LogWindow::createUi() { - setWindowIcon(QIcon(":/icons/monochrome/svg/file-list-line.svg"_L1)); + setWindowIcon(QIcon(u":/icons/monochrome/svg/file-list-line.svg"_s)); setWindowFlag(Qt::CustomizeWindowHint, true); setWindowFlag(Qt::WindowCloseButtonHint, false); updateWindowTitle(); @@ -417,7 +417,7 @@ void LogWindow::onSaveTriggered() QFile file(path); if (!file.open(QFile::WriteOnly | QFile::Text)) { - QtUtils::AsyncMessageBox(this, QMessageBox::Critical, "Error"_L1, "Failed to open file for writing."_L1); + QtUtils::AsyncMessageBox(this, QMessageBox::Critical, u"Error"_s, u"Failed to open file for writing."_s); return; } diff --git a/src/duckstation-qt/mainwindow.cpp b/src/duckstation-qt/mainwindow.cpp index 163becc00..011df4b36 100644 --- a/src/duckstation-qt/mainwindow.cpp +++ b/src/duckstation-qt/mainwindow.cpp @@ -1935,18 +1935,18 @@ void MainWindow::setupAdditionalUi() QActionGroup* const order_group = new QActionGroup(m_ui.menuSortBy); QAction* const ascending_action = new QAction(tr("&Ascending"), order_group); - ascending_action->setIcon(QIcon(":/icons/monochrome/svg/sort-asc.svg"_L1)); + ascending_action->setIcon(QIcon(u":/icons/monochrome/svg/sort-asc.svg"_s)); ascending_action->setCheckable(true); ascending_action->setChecked(current_sort_order == Qt::AscendingOrder); - ascending_action->setObjectName("SortAscending"_L1); + ascending_action->setObjectName(u"SortAscending"_s); m_ui.menuSortBy->addAction(ascending_action); connect(ascending_action, &QAction::triggered, this, &MainWindow::onViewSortOrderActionTriggered); QAction* const descending_action = new QAction(tr("&Descending"), order_group); - descending_action->setIcon(QIcon(":/icons/monochrome/svg/sort-desc.svg"_L1)); + descending_action->setIcon(QIcon(u":/icons/monochrome/svg/sort-desc.svg"_s)); descending_action->setCheckable(true); descending_action->setChecked(current_sort_order == Qt::DescendingOrder); - descending_action->setObjectName("SortDescending"_L1); + descending_action->setObjectName(u"SortDescending"_s); m_ui.menuSortBy->addAction(descending_action); connect(descending_action, &QAction::triggered, this, &MainWindow::onViewSortOrderActionTriggered); } @@ -1993,9 +1993,9 @@ void MainWindow::onGameListSortIndicatorOrderChanged(int column, Qt::SortOrder o { bool activate = false; - if (action->objectName() == "SortAscending"_L1) + if (action->objectName() == u"SortAscending"_s) activate = (order == Qt::AscendingOrder); - else if (action->objectName() == "SortDescending"_L1) + else if (action->objectName() == u"SortDescending"_s) activate = (order == Qt::DescendingOrder); else activate = (action->data() == column); diff --git a/src/duckstation-qt/memorycardeditorwindow.cpp b/src/duckstation-qt/memorycardeditorwindow.cpp index ce0329ba1..d1df5d402 100644 --- a/src/duckstation-qt/memorycardeditorwindow.cpp +++ b/src/duckstation-qt/memorycardeditorwindow.cpp @@ -376,7 +376,7 @@ bool MemoryCardEditorWindow::loadCard(const QString& filename, Card* card) if (!MemoryCardImage::LoadFromFile(&card->data, filename_str.c_str(), &error)) { QtUtils::AsyncMessageBox( - this, QMessageBox::Critical, "Error"_L1, + this, QMessageBox::Critical, u"Error"_s, QStringLiteral("Failed to load memory card:\n%1").arg(QString::fromStdString(error.GetDescription()))); return false; } @@ -570,7 +570,7 @@ void MemoryCardEditorWindow::saveCard(Card* card) if (!MemoryCardImage::SaveToFile(card->data, card->filename.c_str(), &error)) { QtUtils::AsyncMessageBox( - this, QMessageBox::Critical, "Error"_L1, + this, QMessageBox::Critical, u"Error"_s, QStringLiteral("Failed to save memory card: %1").arg(QString::fromStdString(error.GetDescription()))); return; } @@ -629,7 +629,7 @@ void MemoryCardEditorWindow::doCopyFile() std::vector buffer; if (!MemoryCardImage::ReadFile(src->data, *fi, &buffer, &error)) { - QtUtils::AsyncMessageBox(this, QMessageBox::Critical, "Error"_L1, + QtUtils::AsyncMessageBox(this, QMessageBox::Critical, u"Error"_s, QStringLiteral("Failed to read file %1:\n%2") .arg(QString::fromStdString(fi->filename)) .arg(QString::fromStdString(error.GetDescription()))); @@ -638,7 +638,7 @@ void MemoryCardEditorWindow::doCopyFile() if (!MemoryCardImage::WriteFile(&dst->data, fi->filename, buffer, &error)) { - QtUtils::AsyncMessageBox(this, QMessageBox::Critical, "Error"_L1, + QtUtils::AsyncMessageBox(this, QMessageBox::Critical, u"Error"_s, QStringLiteral("Failed to write file %1:\n%2") .arg(QString::fromStdString(fi->filename)) .arg(QString::fromStdString(error.GetDescription()))); @@ -660,7 +660,7 @@ void MemoryCardEditorWindow::doDeleteFile() if (!MemoryCardImage::DeleteFile(&card->data, *fi, fi->deleted)) { - QtUtils::AsyncMessageBox(this, QMessageBox::Critical, "Error"_L1, + QtUtils::AsyncMessageBox(this, QMessageBox::Critical, u"Error"_s, QStringLiteral("Failed to delete file %1").arg(QString::fromStdString(fi->filename))); return; } @@ -709,7 +709,7 @@ void MemoryCardEditorWindow::doExportSaveFile() Error error; if (!MemoryCardImage::ExportSave(&card->data, *fi, filename.toStdString().c_str(), &error)) { - QtUtils::AsyncMessageBox(this, QMessageBox::Critical, "Error"_L1, + QtUtils::AsyncMessageBox(this, QMessageBox::Critical, u"Error"_s, QStringLiteral("Failed to export save file %1:\n%2") .arg(QString::fromStdString(fi->filename)) .arg(QString::fromStdString(error.GetDescription()))); @@ -917,7 +917,7 @@ std::string MemoryCardRenameFileDialog::getNewName() const void MemoryCardRenameFileDialog::setupAdditionalUi() { - m_ui.icon->setPixmap(QIcon(":/icons/monochrome/svg/memcard-line.svg"_L1).pixmap(32)); + m_ui.icon->setPixmap(QIcon(u":/icons/monochrome/svg/memcard-line.svg"_s).pixmap(32)); for (const auto& [region, prefix] : MEMORY_CARD_FILE_REGION_PREFIXES) { diff --git a/src/duckstation-qt/memorycardsettingswidget.cpp b/src/duckstation-qt/memorycardsettingswidget.cpp index 9afc39ac9..07a5a1035 100644 --- a/src/duckstation-qt/memorycardsettingswidget.cpp +++ b/src/duckstation-qt/memorycardsettingswidget.cpp @@ -67,13 +67,13 @@ void MemoryCardSettingsWidget::createUi(SettingsWindow* dialog) QLineEdit* const directory = new QLineEdit(box); QPushButton* const browse = new QPushButton(box); browse->setToolTip(tr("Browse...")); - browse->setIcon(QIcon(":/icons/monochrome/svg/folder-open-line.svg"_L1)); + browse->setIcon(QIcon(u":/icons/monochrome/svg/folder-open-line.svg"_s)); QPushButton* const open = new QPushButton(box); open->setToolTip(tr("Open...")); - open->setIcon(QIcon(":/icons/monochrome/svg/open-folder-line.svg"_L1)); + open->setIcon(QIcon(u":/icons/monochrome/svg/open-folder-line.svg"_s)); QPushButton* const reset = new QPushButton(box); reset->setToolTip(qApp->translate("QPlatformTheme", "Reset")); - reset->setIcon(QIcon(":/icons/monochrome/svg/delete-back-2-line.svg"_L1)); + reset->setIcon(QIcon(u":/icons/monochrome/svg/delete-back-2-line.svg"_s)); hbox->addWidget(directory); hbox->addWidget(browse); hbox->addWidget(open); @@ -95,13 +95,13 @@ void MemoryCardSettingsWidget::createUi(SettingsWindow* dialog) QLineEdit* const directory = new QLineEdit(box); QPushButton* const browse = new QPushButton(box); browse->setToolTip(tr("Browse...")); - browse->setIcon(QIcon(":/icons/monochrome/svg/folder-open-line.svg"_L1)); + browse->setIcon(QIcon(u":/icons/monochrome/svg/folder-open-line.svg"_s)); QPushButton* const open = new QPushButton(box); open->setToolTip(tr("Open...")); - open->setIcon(QIcon(":/icons/monochrome/svg/open-folder-line.svg"_L1)); + open->setIcon(QIcon(u":/icons/monochrome/svg/open-folder-line.svg"_s)); QPushButton* const reset = new QPushButton(box); reset->setToolTip(qApp->translate("QPlatformTheme", "Reset")); - reset->setIcon(QIcon(":/icons/monochrome/svg/delete-back-2-line.svg"_L1)); + reset->setIcon(QIcon(u":/icons/monochrome/svg/delete-back-2-line.svg"_s)); hbox->addWidget(directory); hbox->addWidget(browse); hbox->addWidget(open); @@ -186,14 +186,14 @@ void MemoryCardSettingsWidget::createPortSettingsUi(SettingsWindow* dialog, int memory_card_layout->addWidget(ui->memory_card_path); ui->memory_card_path_browse = new QPushButton(ui->container); - ui->memory_card_path_browse->setIcon(QIcon(":/icons/monochrome/svg/folder-open-line.svg"_L1)); + ui->memory_card_path_browse->setIcon(QIcon(u":/icons/monochrome/svg/folder-open-line.svg"_s)); ui->memory_card_path_browse->setToolTip(tr("Browse...")); connect(ui->memory_card_path_browse, &QPushButton::clicked, this, [this, index]() { onBrowseMemoryCardPathClicked(index); }); memory_card_layout->addWidget(ui->memory_card_path_browse); ui->memory_card_path_reset = new QPushButton(ui->container); - ui->memory_card_path_reset->setIcon(QIcon(":/icons/monochrome/svg/delete-back-2-line.svg"_L1)); + ui->memory_card_path_reset->setIcon(QIcon(u":/icons/monochrome/svg/delete-back-2-line.svg"_s)); ui->memory_card_path_reset->setToolTip(qApp->translate("QPlatformTheme", "Reset")); connect(ui->memory_card_path_reset, &QPushButton::clicked, this, [this, index]() { onResetMemoryCardPathClicked(index); }); diff --git a/src/duckstation-qt/postprocessingsettingswidget.cpp b/src/duckstation-qt/postprocessingsettingswidget.cpp index 36b4fde4f..8eceed498 100644 --- a/src/duckstation-qt/postprocessingsettingswidget.cpp +++ b/src/duckstation-qt/postprocessingsettingswidget.cpp @@ -203,7 +203,7 @@ void PostProcessingChainConfigWidget::onAddButtonClicked() if (!PostProcessing::Config::AddStage(si, m_section, selected_shader, &error)) { QtUtils::AsyncMessageBox( - this, QMessageBox::Critical, "Error"_L1, + this, QMessageBox::Critical, u"Error"_s, QStringLiteral("Failed to add shader: %1").arg(QString::fromStdString(error.GetDescription()))); return; } @@ -669,7 +669,7 @@ PostProcessingSelectShaderDialog::PostProcessingSelectShaderDialog(QWidget* pare { m_ui.setupUi(this); - m_ui.searchIcon->setPixmap(QIcon(":/icons/monochrome/svg/mag-line.svg"_L1).pixmap(16)); + m_ui.searchIcon->setPixmap(QIcon(u":/icons/monochrome/svg/mag-line.svg"_s).pixmap(16)); m_ui.filterGroup->setId(m_ui.filterGLSL, static_cast(PostProcessing::ShaderType::GLSL)); m_ui.filterGroup->setId(m_ui.filterReshade, static_cast(PostProcessing::ShaderType::Reshade)); @@ -725,7 +725,7 @@ QTreeWidgetItem* PostProcessingSelectShaderDialog::createTreeItem(const QString& item->setText(0, display_name.mid(pos + 1)); if (is_directory) { - item->setIcon(0, QIcon(":/icons/monochrome/svg/folder-open-line.svg"_L1)); + item->setIcon(0, QIcon(u":/icons/monochrome/svg/folder-open-line.svg"_s)); item->setExpanded(true); } @@ -771,11 +771,11 @@ QIcon PostProcessingSelectShaderDialog::shaderIconFromType(const PostProcessing: switch (type) { case PostProcessing::ShaderType::GLSL: - return QIcon(":/icons/monochrome/svg/shader-glsl.svg"_L1); + return QIcon(u":/icons/monochrome/svg/shader-glsl.svg"_s); case PostProcessing::ShaderType::Reshade: - return QIcon(":/icons/monochrome/svg/shader-reshade.svg"_L1); + return QIcon(u":/icons/monochrome/svg/shader-reshade.svg"_s); case PostProcessing::ShaderType::Slang: - return QIcon(":/icons/monochrome/svg/shader-slang.svg"_L1); + return QIcon(u":/icons/monochrome/svg/shader-slang.svg"_s); default: return QIcon(); } diff --git a/src/duckstation-qt/qthost.cpp b/src/duckstation-qt/qthost.cpp index d772c16b3..47b76c6b6 100644 --- a/src/duckstation-qt/qthost.cpp +++ b/src/duckstation-qt/qthost.cpp @@ -257,11 +257,11 @@ bool QtHost::EarlyProcessStartup() // Set application details. // This is critical for Linux to show the correct application name in the task switcher, since it appears // to uses the application name to search for desktop files with the corresponding StartupWMClass. - QApplication::setApplicationName("duckstation-qt"_L1); + QApplication::setApplicationName(u"duckstation-qt"_s); QApplication::setApplicationVersion(QString::fromUtf8(g_scm_version_str)); - QApplication::setOrganizationName("Stenzek"_L1); - QApplication::setOrganizationDomain("duckstation.org"_L1); - QApplication::setDesktopFileName("org.duckstation.DuckStation"_L1); + QApplication::setOrganizationName(u"Stenzek"_s); + QApplication::setOrganizationDomain(u"duckstation.org"_s); + QApplication::setDesktopFileName(u"org.duckstation.DuckStation"_s); Error error; if (!Core::ProcessStartup(&error)) [[unlikely]] @@ -273,9 +273,9 @@ bool QtHost::EarlyProcessStartup() // allow us to override standard qt icons as well QStringList icon_theme_search_paths = QIcon::themeSearchPaths(); - if (!icon_theme_search_paths.contains(":/icons"_L1)) - icon_theme_search_paths.emplace_back(":/icons"_L1); - icon_theme_search_paths.emplace_back(":/standard-icons"_L1); + if (!icon_theme_search_paths.contains(u":/icons"_s)) + icon_theme_search_paths.emplace_back(u":/icons"_s); + icon_theme_search_paths.emplace_back(u":/standard-icons"_s); QIcon::setThemeSearchPaths(icon_theme_search_paths); QIcon::setThemeName("monochrome"); return true; @@ -537,7 +537,7 @@ void QtHost::CheckDesktopFile() desktop_file_path = fmt::format("{}/.local/share/{}", home, DESKTOP_FILE_NAME); } - const auto msgbox_title = "DuckStation"_L1; + const auto msgbox_title = u"DuckStation"_s; if (!FileSystem::FileExists(desktop_file_path.c_str())) { @@ -608,7 +608,7 @@ void QtHost::CheckDesktopFile() INFO_LOG("Desktop file path mismatch: current='{}', existing='{}'", application_path, normalized_existing); const QMessageBox::StandardButton result = QMessageBox::question( - g_main_window, "DuckStation"_L1, + g_main_window, u"DuckStation"_s, qApp ->translate("QtHost", "The existing launcher shortcut points to a different location:\n\n" "Current: %1\n" @@ -802,9 +802,9 @@ bool QtHost::InitializeFoldersAndConfig(Error* error) if (!Core::InitializeBaseSettingsLayer(Core::GetBaseSettingsPath(), &config_error)) { if (QMessageBox::question( - nullptr, "DuckStation"_L1, - "Failed to load configuration. The error was:\n\n%1\n\nThe settings file may be corrupted. Do you want to " - "delete the settings file and try again? Note that any currently-configured settings will be lost."_L1.arg( + nullptr, u"DuckStation"_s, + u"Failed to load configuration. The error was:\n\n%1\n\nThe settings file may be corrupted. Do you want to " + "delete the settings file and try again? Note that any currently-configured settings will be lost."_s.arg( QString::fromStdString(config_error.GetDescription()))) == QMessageBox::Yes) { if (!FileSystem::DeleteFile(Core::GetBaseSettingsPath().c_str(), &config_error)) @@ -915,12 +915,12 @@ void QtHost::ApplyMigrations() if (!FileSystem::IsDirectoryEmpty(achievement_icons_directory.c_str())) { QMessageBox mb( - QMessageBox::Question, "DuckStation"_L1, - "DuckStation has migrated to using an archive for caching achievement icons, which is significantly more " + QMessageBox::Question, u"DuckStation"_s, + u"DuckStation has migrated to using an archive for caching achievement icons, which is significantly more " "efficient and does not create thousands of files.\n\n" "The old directory of achievement icons is no longer needed and can be deleted.\n\n" "Do you want to delete the old achievement icons cache now?" - "\n\nNo save data or achievement progress will be lost."_L1, + "\n\nNo save data or achievement progress will be lost."_s, QMessageBox::Yes | QMessageBox::No); mb.setWindowIcon(GetAppIcon()); if (mb.exec() == QMessageBox::Yes) @@ -928,7 +928,7 @@ void QtHost::ApplyMigrations() Error error; if (!FileSystem::RecursiveDeleteDirectory(achievement_icons_directory.c_str(), &error)) { - QMessageBox::critical(nullptr, "Error"_L1, + QMessageBox::critical(nullptr, u"Error"_s, QString::fromStdString(fmt::format( "Failed to delete old achievement icons directory: {}", error.GetDescription()))); } @@ -2793,11 +2793,11 @@ InputDeviceListModel::~InputDeviceListModel() = default; QIcon InputDeviceListModel::getIconForKey(const InputBindingKey& key) { if (key.source_type == InputSourceType::Keyboard) - return QIcon(":/icons/monochrome/svg/keyboard-line.svg"_L1); + return QIcon(u":/icons/monochrome/svg/keyboard-line.svg"_s); else if (key.source_type == InputSourceType::Pointer) - return QIcon(":/icons/monochrome/svg/mouse-line.svg"_L1); + return QIcon(u":/icons/monochrome/svg/mouse-line.svg"_s); else - return QIcon(":/icons/monochrome/svg/controller-line.svg"_L1); + return QIcon(u":/icons/monochrome/svg/controller-line.svg"_s); } QString InputDeviceListModel::getDeviceName(const InputBindingKey& key) @@ -3532,7 +3532,7 @@ bool QtHost::ParseCommandLineParametersAndInitializeConfig(QApplication& app, } else if (args[i][0] == QChar('-')) { - QMessageBox::critical(nullptr, "DuckStation"_L1, QString("Unknown parameter: %1"_L1).arg(args[i])); + QMessageBox::critical(nullptr, u"DuckStation"_s, u"Unknown parameter: %1"_s.arg(args[i])); return false; } @@ -3550,7 +3550,7 @@ bool QtHost::ParseCommandLineParametersAndInitializeConfig(QApplication& app, if (!InitializeFoldersAndConfig(&error) || !LoadResources(&error)) { // NOTE: No point translating this, because no config means the language won't be loaded anyway. - QMessageBox::critical(nullptr, "DuckStation"_L1, QString::fromStdString(error.GetDescription())); + QMessageBox::critical(nullptr, u"DuckStation"_s, QString::fromStdString(error.GetDescription())); return false; } diff --git a/src/duckstation-qt/qtthemes.cpp b/src/duckstation-qt/qtthemes.cpp index 643aedf31..5a47dd5d8 100644 --- a/src/duckstation-qt/qtthemes.cpp +++ b/src/duckstation-qt/qtthemes.cpp @@ -242,7 +242,7 @@ bool QtHost::LoadStyledFusionTheme(std::string_view name) } SetThemeAttributes(true, false, is_dark); // is_dark parsed from PALETTE block - qApp->setStyle(QStyleFactory::create("Fusion"_L1)); + qApp->setStyle(QStyleFactory::create(u"Fusion"_s)); qApp->setPalette(palette); if (ShouldDisableStyleSheet()) SetStyleSheet(QString()); @@ -275,21 +275,21 @@ void QtHost::SetStyleFromSettings() qApp->setStyle(s_themes_locals.unthemed_style_name); qApp->setPalette(s_themes_locals.unthemed_palette); - QFile f(":qdarkstyle/style.qss"_L1); + QFile f(u":qdarkstyle/style.qss"_s); if (f.open(QFile::ReadOnly | QFile::Text)) SetStyleSheet(f.readAll()); } else if (theme == "fusion") { SetThemeAttributes(false, true, false); - qApp->setStyle(QStyleFactory::create("Fusion"_L1)); + qApp->setStyle(QStyleFactory::create(u"Fusion"_s)); qApp->setPalette(s_themes_locals.unthemed_palette); } #ifdef _WIN32 else if (theme == "windowsvista") { SetThemeAttributes(false, false, false); - qApp->setStyle(QStyleFactory::create("windowsvista"_L1)); + qApp->setStyle(QStyleFactory::create(u"windowsvista"_s)); qApp->setPalette(s_themes_locals.unthemed_palette); } #endif diff --git a/src/duckstation-qt/qtutils.cpp b/src/duckstation-qt/qtutils.cpp index 0d612bfc5..4538fb9ec 100644 --- a/src/duckstation-qt/qtutils.cpp +++ b/src/duckstation-qt/qtutils.cpp @@ -186,7 +186,7 @@ void QtUtils::OpenURL(QWidget* parent, const QUrl& qurl) { if (!QDesktopServices::openUrl(qurl)) { - QtUtils::AsyncMessageBox(parent, QMessageBox::Critical, "Failed to open URL"_L1, + QtUtils::AsyncMessageBox(parent, QMessageBox::Critical, u"Failed to open URL"_s, QStringLiteral("Failed to open URL.\n\nThe URL was: %1").arg(qurl.toString())); } } @@ -489,10 +489,10 @@ QIcon QtUtils::GetIconForRegion(ConsoleRegion region) return QIcon(QtHost::GetResourceQPath("images/flags/PAL.svg", true)); case ConsoleRegion::Auto: - return QIcon(":/icons/system-search.png"_L1); + return QIcon(u":/icons/system-search.png"_s); default: - return QIcon(":/icons/monochrome/svg/file-unknow-line.svg"_L1); + return QIcon(u":/icons/monochrome/svg/file-unknow-line.svg"_s); } } @@ -512,7 +512,7 @@ QIcon QtUtils::GetIconForRegion(DiscRegion region) case DiscRegion::Other: case DiscRegion::NonPS1: default: - return QIcon(":/icons/monochrome/svg/file-unknow-line.svg"_L1); + return QIcon(u":/icons/monochrome/svg/file-unknow-line.svg"_s); } } @@ -521,16 +521,16 @@ QIcon QtUtils::GetIconForEntryType(GameList::EntryType type) switch (type) { case GameList::EntryType::Disc: - return QIcon(":/icons/monochrome/svg/disc-line.svg"_L1); + return QIcon(u":/icons/monochrome/svg/disc-line.svg"_s); case GameList::EntryType::Playlist: - return QIcon(":/icons/monochrome/svg/play-list-2-line.svg"_L1); + return QIcon(u":/icons/monochrome/svg/play-list-2-line.svg"_s); case GameList::EntryType::DiscSet: - return QIcon(":/icons/monochrome/svg/multi-discs.svg"_L1); + return QIcon(u":/icons/monochrome/svg/multi-discs.svg"_s); case GameList::EntryType::PSF: - return QIcon(":/icons/monochrome/svg/file-music-line.svg"_L1); + return QIcon(u":/icons/monochrome/svg/file-music-line.svg"_s); case GameList::EntryType::PSExe: default: - return QIcon(":/icons/monochrome/svg/settings-3-line.svg"_L1); + return QIcon(u":/icons/monochrome/svg/settings-3-line.svg"_s); } } @@ -736,7 +736,7 @@ void QtUtils::SetIsMaskForMonochromeMenuBarActionIcons(QMenu* const menu) // Skip icons that aren't monochrome. const QString icon_name = icon.name(); - if (!icon_name.startsWith(":/icons/monochrome/"_L1)) + if (!icon_name.startsWith(u":/icons/monochrome/"_s)) continue; // Annoyingly this creates a new icon, we can't modify the existing icon. diff --git a/src/duckstation-qt/qtwindowinfo.cpp b/src/duckstation-qt/qtwindowinfo.cpp index dce4403c1..3690abdd3 100644 --- a/src/duckstation-qt/qtwindowinfo.cpp +++ b/src/duckstation-qt/qtwindowinfo.cpp @@ -288,7 +288,7 @@ bool Host::SetScreensaverInhibit(bool inhibit, Error* error) if (inhibit) { const QDBusReply msg = s_window_info_locals.screensaver_inhibit_interface->call( - "Inhibit", "DuckStation"_L1, "DuckStation VM is running."_L1); + "Inhibit", u"DuckStation"_s, u"DuckStation VM is running."_s); if (!msg.isValid()) { FormatQDBusReplyError(error, "Inhibit message call failed: ", msg.error()); diff --git a/src/duckstation-qt/settingswindow.cpp b/src/duckstation-qt/settingswindow.cpp index 14b1fb2a7..62f667f8c 100644 --- a/src/duckstation-qt/settingswindow.cpp +++ b/src/duckstation-qt/settingswindow.cpp @@ -66,7 +66,7 @@ SettingsWindow::SettingsWindow(const GameList::Entry* entry, std::unique_ptrSummary
This page shows information about the selected game, and allows you to " "validate your disc was dumped correctly.")); addPages(); @@ -93,7 +93,7 @@ void SettingsWindow::addPages() { addWidget( new InterfaceSettingsWidget(this, m_ui.settingsContainer), tr("Interface"), - ":/icons/monochrome/svg/settings-3-line.svg"_L1, + u":/icons/monochrome/svg/settings-3-line.svg"_s, tr("Interface Settings
These options control how the emulator looks and " "behaves.

Mouse over an option for additional information, and Shift+Wheel to scroll this panel.")); @@ -101,36 +101,36 @@ void SettingsWindow::addPages() { addWidget( m_game_list_settings = new GameListSettingsWidget(this, m_ui.settingsContainer), tr("Game List"), - ":/icons/monochrome/svg/folder-open-line.svg"_L1, + u":/icons/monochrome/svg/folder-open-line.svg"_s, tr("Game List Settings
The list above shows the directories which will be searched by " "DuckStation to populate the game list. Search directories can be added, removed, and switched to " "recursive/non-recursive.")); } - addWidget(new BIOSSettingsWidget(this, m_ui.settingsContainer), tr("BIOS"), ":/icons/monochrome/svg/chip-line.svg"_L1, + addWidget(new BIOSSettingsWidget(this, m_ui.settingsContainer), tr("BIOS"), u":/icons/monochrome/svg/chip-line.svg"_s, tr("BIOS Settings
These options control which BIOS and expansion port is " "used.

Mouse over an option for additional information, and Shift+Wheel to scroll this panel.")); addWidget( new ConsoleSettingsWidget(this, m_ui.settingsContainer), tr("Console"), - ":/icons/monochrome/svg/emulation-line.svg"_L1, + u":/icons/monochrome/svg/emulation-line.svg"_s, tr("Console Settings
These options determine the configuration of the simulated " "console.

Mouse over an option for additional information, and Shift+Wheel to scroll this panel.")); addWidget( new EmulationSettingsWidget(this, m_ui.settingsContainer), tr("Emulation"), - ":/icons/monochrome/svg/chip-2-line.svg"_L1, + u":/icons/monochrome/svg/chip-2-line.svg"_s, tr("Emulation Settings
These options determine the speed and runahead behavior of the " "system.

Mouse over an option for additional information, and Shift+Wheel to scroll this panel.")); if (isPerGameSettings()) { addWidget(new GamePatchSettingsWidget(this, m_ui.settingsContainer), tr("Patches"), - ":/icons/monochrome/svg/sparkling-line.svg"_L1, + u":/icons/monochrome/svg/sparkling-line.svg"_s, tr("Patches
This section allows you to select optional patches to apply to the game, " "which may provide performance, visual, or gameplay improvements. Activating game patches can cause " "unpredictable behavior, crashing, soft-locks, or broken saved games. Use patches at your own risk, " "no support will be provided to users who have enabled game patches.")); addWidget(new GameCheatSettingsWidget(this, m_ui.settingsContainer), tr("Cheats"), - ":/icons/monochrome/svg/cheats-line.svg"_L1, + u":/icons/monochrome/svg/cheats-line.svg"_s, tr("Cheats
This section allows you to select which cheats you wish to enable. " "Using cheats can have unpredictable effects on games, causing crashes, graphical glitches, " "and corrupted saves. Cheats also persist through save states even after being disabled, " @@ -139,34 +139,34 @@ void SettingsWindow::addPages() addWidget( new MemoryCardSettingsWidget(this, m_ui.settingsContainer), tr("Memory Cards"), - ":/icons/monochrome/svg/memcard-line.svg"_L1, + u":/icons/monochrome/svg/memcard-line.svg"_s, tr("Memory Card Settings
This page lets you control what mode the memory card emulation will " "function in, and where the images for these cards will be stored on disk.")); GraphicsSettingsWidget* graphics_settings; addWidget(graphics_settings = new GraphicsSettingsWidget(this, m_ui.settingsContainer), tr("Graphics"), - ":/icons/monochrome/svg/image-fill.svg"_L1, + u":/icons/monochrome/svg/image-fill.svg"_s, tr("Graphics Settings
These options control how the graphics of the emulated console " "are rendered. Not all options are available for the software renderer. Mouse over each option for " "additional information, and Shift+Wheel to scroll this panel.")); //: Translators may want to shorten On-Screen Display to "OSD". addWidget(new OSDSettingsWidget(this, m_ui.settingsContainer), tr("On-Screen Display"), - ":/icons/monochrome/svg/numbers-fill.svg"_L1, + u":/icons/monochrome/svg/numbers-fill.svg"_s, tr("On-Screen Display Settings
These options determine the behavior of the messages " "that are displayed while content is running.")); addWidget( new PostProcessingSettingsWidget(this, m_ui.settingsContainer), tr("Post-Processing"), - ":/icons/monochrome/svg/sun-fill.svg"_L1, + u":/icons/monochrome/svg/sun-fill.svg"_s, tr("Post-Processing Settings
Post processing allows you to alter the appearance of the image " "displayed on the screen with various filters. Shaders will be executed in sequence. Additional shaders can be " "downloaded from %1.") .arg("https://github.com/stenzek/emu-shaders")); addWidget( - new AudioSettingsWidget(this, m_ui.settingsContainer), tr("Audio"), ":/icons/monochrome/svg/volume-up-line.svg"_L1, + new AudioSettingsWidget(this, m_ui.settingsContainer), tr("Audio"), u":/icons/monochrome/svg/volume-up-line.svg"_s, tr("Audio Settings
These options control the audio output of the console. Mouse over an option " "for additional information.")); addWidget( new AchievementSettingsWidget(this, m_ui.settingsContainer), tr("Achievements"), - ":/icons/monochrome/svg/trophy-line.svg"_L1, + u":/icons/monochrome/svg/trophy-line.svg"_s, tr("Achievement Settings
DuckStation uses RetroAchievements as an achievement database and " "for tracking progress. To use achievements, please sign up for an account at %1. To view " "the achievement list in-game, press the hotkey for Open Pause Menu and select " @@ -174,14 +174,14 @@ void SettingsWindow::addPages() "Shift+Wheel to scroll this panel.") .arg("https://retroachievements.org/")); addWidget(new CaptureSettingsWidget(this, m_ui.settingsContainer), tr("Capture"), - ":/icons/monochrome/svg/vidicon-line.svg"_L1, + u":/icons/monochrome/svg/vidicon-line.svg"_s, tr("Capture Settings
These options determine how screenshots and videos are captured " "by the application.")); if (!isPerGameSettings()) { addWidget(new AdvancedSettingsWidget(this, m_ui.settingsContainer), tr("Advanced"), - ":/icons/monochrome/svg/alert-line.svg"_L1, + u":/icons/monochrome/svg/alert-line.svg"_s, tr("Advanced Settings
These options control logging and internal behavior of the " "emulator. Mouse over an option for additional information, and Shift+Wheel to scroll this panel.")); } @@ -190,7 +190,7 @@ void SettingsWindow::addPages() { addWidget( new DebuggingSettingsWidget(this, m_ui.settingsContainer), tr("Debugging"), - ":/icons/monochrome/svg/code-line.svg"_L1, + u":/icons/monochrome/svg/code-line.svg"_s, tr("Debugging Settings
These options control internal behavior of the emulator. You should " "not modify anything on this page without a good reason to do so.")); } @@ -275,7 +275,7 @@ void SettingsWindow::connectUi() } } -void SettingsWindow::addWidget(QWidget* widget, QString title, QLatin1StringView icon, QString help_text) +void SettingsWindow::addWidget(QWidget* widget, QString title, QString icon, QString help_text) { const int index = m_ui.settingsCategory->count(); diff --git a/src/duckstation-qt/settingswindow.h b/src/duckstation-qt/settingswindow.h index 6b0500cdf..ea4c66d3d 100644 --- a/src/duckstation-qt/settingswindow.h +++ b/src/duckstation-qt/settingswindow.h @@ -108,7 +108,7 @@ private: void addPages(); void reloadPages(); - void addWidget(QWidget* widget, QString title, QLatin1StringView icon, QString help_text); + void addWidget(QWidget* widget, QString title, QString icon, QString help_text); bool handleWheelEvent(QWheelEvent* event); void onCategoryCurrentRowChanged(int row); diff --git a/src/duckstation-qt/settingwidgetbinder.h b/src/duckstation-qt/settingwidgetbinder.h index 293849bc9..cda2ae933 100644 --- a/src/duckstation-qt/settingwidgetbinder.h +++ b/src/duckstation-qt/settingwidgetbinder.h @@ -82,7 +82,7 @@ template<> struct SettingAccessor { static bool getBoolValue(const QLineEdit* widget) { return widget->text().toInt() != 0; } - static void setBoolValue(QLineEdit* widget, bool value) { widget->setText(value ? "1"_L1 : "0"_L1); } + static void setBoolValue(QLineEdit* widget, bool value) { widget->setText(value ? u"1"_s : u"0"_s); } static void makeNullableBool(QLineEdit* widget, bool globalValue) { widget->setEnabled(false); } static std::optional getNullableBoolValue(const QLineEdit* widget) { return getBoolValue(widget); } static void setNullableBoolValue(QLineEdit* widget, std::optional value) @@ -268,14 +268,14 @@ struct SettingAccessor Qt::PartiallyChecked); } - static QString getStringValue(const QCheckBox* widget) { return widget->isChecked() ? "1"_L1 : "0"_L1; } + static QString getStringValue(const QCheckBox* widget) { return widget->isChecked() ? u"1"_s : u"0"_s; } static void setStringValue(QCheckBox* widget, const QString& value) { widget->setChecked(value.toInt() != 0); } static void makeNullableString(QCheckBox* widget, const QString& globalValue) { widget->setTristate(true); } static std::optional getNullableStringValue(const QCheckBox* widget) { return (widget->checkState() == Qt::PartiallyChecked) ? std::nullopt : - std::optional(widget->isChecked() ? "1"_L1 : "0"_L1); + std::optional(widget->isChecked() ? u"1"_s : u"0"_s); } static void setNullableStringValue(QCheckBox* widget, std::optional value) { @@ -416,7 +416,7 @@ struct SettingAccessor static void updateFont(QSpinBox* widget, bool isNull) { // We should be able to use QFont here.. but it doesn't update on change. - widget->setStyleSheet(isNull ? QString("font-style: italic;"_L1) : QString()); + widget->setStyleSheet(isNull ? u"font-style: italic;"_s : QString()); widget->setPrefix(isNull ? qApp->translate("SettingWidgetBinder", "Default: ") : QString()); } @@ -708,7 +708,7 @@ struct SettingAccessor setFloatValue(widget, value.value_or(0.0f)); } - static QString getStringValue(const QAction* widget) { return widget->isChecked() ? "1"_L1 : "0"_L1; } + static QString getStringValue(const QAction* widget) { return widget->isChecked() ? u"1"_s : u"0"_s; } static void setStringValue(QAction* widget, const QString& value) { widget->setChecked(value.toInt() != 0); } static void makeNullableString(QAction* widget, const QString& globalValue) { widget->setEnabled(false); } static std::optional getNullableStringValue(const QAction* widget) { return getStringValue(widget); } diff --git a/src/duckstation-qt/setupwizarddialog.cpp b/src/duckstation-qt/setupwizarddialog.cpp index 05ec2116f..20d8c8b6f 100644 --- a/src/duckstation-qt/setupwizarddialog.cpp +++ b/src/duckstation-qt/setupwizarddialog.cpp @@ -259,10 +259,10 @@ void SetupWizardDialog::onDirectoryListContextMenuRequested(const QPoint& point) const int row = selection[0].row(); QMenu* const menu = QtUtils::NewPopupMenu(this); - menu->addAction(QIcon(":/icons/monochrome/svg/folder-reduce-line.svg"_L1), tr("Remove"), this, + menu->addAction(QIcon(u":/icons/monochrome/svg/folder-reduce-line.svg"_s), tr("Remove"), this, &SetupWizardDialog::onRemoveSearchDirectoryButtonClicked); menu->addSeparator(); - menu->addAction(QIcon(":/icons/monochrome/svg/folder-open-line.svg"_L1), tr("Open Directory..."), [this, row]() { + menu->addAction(QIcon(u":/icons/monochrome/svg/folder-open-line.svg"_s), tr("Open Directory..."), [this, row]() { const QTreeWidgetItem* const item = m_ui.searchDirectoryList->topLevelItem(row); if (item) QtUtils::OpenURL(this, QUrl::fromLocalFile(item->text(0))); @@ -327,8 +327,8 @@ void SetupWizardDialog::onSearchDirectoryListItemChanged(QTreeWidgetItem* item, const std::string path = item->text(0).toStdString(); const bool recursive = (item->checkState(1) == Qt::Checked); - item->setIcon(0, QIcon(recursive ? ":/icons/monochrome/svg/folder-open-line.svg"_L1 : - ":/icons/monochrome/svg/folder-line.svg"_L1)); + item->setIcon(0, QIcon(recursive ? u":/icons/monochrome/svg/folder-open-line.svg"_s : + u":/icons/monochrome/svg/folder-line.svg"_s)); if (recursive) { @@ -348,8 +348,8 @@ void SetupWizardDialog::addPathToTable(const std::string& path, bool recursive) { QTreeWidgetItem* const item = new QTreeWidgetItem(); item->setFlags(item->flags() | Qt::ItemIsUserCheckable); - item->setIcon(0, QIcon(recursive ? ":/icons/monochrome/svg/folder-open-line.svg"_L1 : - ":/icons/monochrome/svg/folder-line.svg"_L1)); + item->setIcon(0, QIcon(recursive ? u":/icons/monochrome/svg/folder-open-line.svg"_s : + u":/icons/monochrome/svg/folder-line.svg"_s)); item->setText(0, QString::fromStdString(path)); item->setCheckState(1, recursive ? Qt::Checked : Qt::Unchecked); m_ui.searchDirectoryList->addTopLevelItem(item);