From d4a106135484b052ad7343010a71f32ae907fd41 Mon Sep 17 00:00:00 2001 From: Evil Eye Date: Sat, 16 Aug 2025 09:05:54 +0200 Subject: [PATCH] Use std::string_view in MWGui::ToolTips --- apps/openmw/mwgui/class.cpp | 6 +++--- apps/openmw/mwgui/tooltips.cpp | 12 ++++++------ apps/openmw/mwgui/tooltips.hpp | 12 ++++++------ 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/apps/openmw/mwgui/class.cpp b/apps/openmw/mwgui/class.cpp index 5a03e269cf..b60e0e3116 100644 --- a/apps/openmw/mwgui/class.cpp +++ b/apps/openmw/mwgui/class.cpp @@ -300,9 +300,9 @@ namespace MWGui ESM::Class::Specialization specialization = static_cast(currentClass->mData.mSpecialization); - std::string specName{ MWBase::Environment::get().getWindowManager()->getGameSettingString( - ESM::Class::sGmstSpecializationIds[specialization], ESM::Class::sGmstSpecializationIds[specialization]) }; - mSpecializationName->setCaption(specName); + std::string_view specName = MWBase::Environment::get().getWindowManager()->getGameSettingString( + ESM::Class::sGmstSpecializationIds[specialization], ESM::Class::sGmstSpecializationIds[specialization]); + mSpecializationName->setCaption(MyGUI::UString(specName)); ToolTips::createSpecializationToolTip(mSpecializationName, specName, specialization); mFavoriteAttribute[0]->setAttributeId(ESM::Attribute::indexToRefId(currentClass->mData.mAttribute[0])); diff --git a/apps/openmw/mwgui/tooltips.cpp b/apps/openmw/mwgui/tooltips.cpp index 141bf80f07..2d5b2860a0 100644 --- a/apps/openmw/mwgui/tooltips.cpp +++ b/apps/openmw/mwgui/tooltips.cpp @@ -657,28 +657,28 @@ namespace MWGui return std::to_string(value); } - std::string ToolTips::getWeightString(const float weight, const std::string& prefix) + std::string ToolTips::getWeightString(const float weight, std::string_view prefix) { if (weight == 0) return {}; return std::format("\n{}: {}", prefix, toString(weight)); } - std::string ToolTips::getPercentString(const float value, const std::string& prefix) + std::string ToolTips::getPercentString(const float value, std::string_view prefix) { if (value == 0) return {}; return std::format("\n{}: {}%", prefix, toString(value * 100)); } - std::string ToolTips::getValueString(const int value, const std::string& prefix) + std::string ToolTips::getValueString(const int value, std::string_view prefix) { if (value == 0) return {}; return std::format("\n{}: {}", prefix, value); } - std::string ToolTips::getMiscString(const std::string& text, const std::string& prefix) + std::string ToolTips::getMiscString(std::string_view text, std::string_view prefix) { if (text.empty()) return {}; @@ -745,7 +745,7 @@ namespace MWGui return ret; } - std::string ToolTips::getDurationString(float duration, const std::string& prefix) + std::string ToolTips::getDurationString(float duration, std::string_view prefix) { auto l10n = MWBase::Environment::get().getL10nManager()->getContext("Interface"); @@ -853,7 +853,7 @@ namespace MWGui widget->setUserString("ImageTexture_AttributeImage", attribute->mIcon); } - void ToolTips::createSpecializationToolTip(MyGUI::Widget* widget, const std::string& name, int specId) + void ToolTips::createSpecializationToolTip(MyGUI::Widget* widget, std::string_view name, int specId) { widget->setUserString("Caption_Caption", name); std::string specText; diff --git a/apps/openmw/mwgui/tooltips.hpp b/apps/openmw/mwgui/tooltips.hpp index 2c817c3bde..80a555733c 100644 --- a/apps/openmw/mwgui/tooltips.hpp +++ b/apps/openmw/mwgui/tooltips.hpp @@ -67,12 +67,12 @@ namespace MWGui void setFocusObjectScreenCoords(float x, float y); ///< set the screen-space position of the tooltip for focused object - static std::string getWeightString(const float weight, const std::string& prefix); - static std::string getPercentString(const float value, const std::string& prefix); - static std::string getValueString(const int value, const std::string& prefix); + static std::string getWeightString(const float weight, std::string_view prefix); + static std::string getPercentString(const float value, std::string_view prefix); + static std::string getValueString(const int value, std::string_view prefix); ///< @return "prefix: value" or "" if value is 0 - static std::string getMiscString(const std::string& text, const std::string& prefix); + static std::string getMiscString(std::string_view text, std::string_view prefix); ///< @return "prefix: text" or "" if text is empty static std::string toString(const float value); @@ -87,14 +87,14 @@ namespace MWGui static std::string getCellRefString(const MWWorld::CellRef& cellref); ///< Returns a string containing debug tooltip information about the given cellref. - static std::string getDurationString(float duration, const std::string& prefix); + static std::string getDurationString(float duration, std::string_view prefix); ///< Returns duration as two largest time units, rounded down. Note: not localized; no line break. // these do not create an actual tooltip, but they fill in the data that is required so the tooltip // system knows what to show in case this widget is hovered static void createSkillToolTip(MyGUI::Widget* widget, ESM::RefId skillId); static void createAttributeToolTip(MyGUI::Widget* widget, ESM::RefId attributeId); - static void createSpecializationToolTip(MyGUI::Widget* widget, const std::string& name, int specId); + static void createSpecializationToolTip(MyGUI::Widget* widget, std::string_view name, int specId); static void createBirthsignToolTip(MyGUI::Widget* widget, const ESM::RefId& birthsignId); static void createRaceToolTip(MyGUI::Widget* widget, const ESM::Race* playerRace); static void createClassToolTip(MyGUI::Widget* widget, const ESM::Class& playerClass);