diff --git a/source/RobotAPI/libraries/skills_gui/gui_utils.cpp b/source/RobotAPI/libraries/skills_gui/gui_utils.cpp index 4c6a1590eea309cbd9abc91535ad6d07b4284bbf..5a2036bbd9acb4804ad23a52d3594aca1946f634 100644 --- a/source/RobotAPI/libraries/skills_gui/gui_utils.cpp +++ b/source/RobotAPI/libraries/skills_gui/gui_utils.cpp @@ -118,18 +118,14 @@ armarx::gui::getIcon(std::string name) if (armarXGuiPath.empty()) { std::scoped_lock l(m_armarXGuiPath); - armarXGuiPath = "ArmarXGui"; - ArmarXDataPath::getAbsolutePath(armarXGuiPath, armarXGuiPath); + armarXGuiPath = + "$ARMARX_WORKSPACE/armarx/ArmarXGui/source/ArmarXGui/libraries/ArmarXGuiBase/icons/"; + ArmarXDataPath::ReplaceEnvVars(armarXGuiPath); } - std::cout << armarXGuiPath; - // now we can use the path! - // what in god's good name is "armarx/ArmarXGui/data/ArmarXGui"? And why does the util - // say ArmarXGui is in there??????? - // anyways. workaround until I figure out what the hell happens here. - QPixmap pix(QString::fromStdString( - armarXGuiPath + "/../../source/ArmarXGui/libraries/ArmarXGuiBase/icons/" + name)); + // we don't check the QIcon for validity, since an invalid icon can be safely used in the gui + QPixmap pix(QString::fromStdString(armarXGuiPath + name)); return QIcon(pix); } diff --git a/source/RobotAPI/libraries/skills_gui/gui_utils.h b/source/RobotAPI/libraries/skills_gui/gui_utils.h index c958cbe2015a762cf05947b280900742074d4001..7524d7fe829e450d5c099e8aac7f038d448a75e3 100644 --- a/source/RobotAPI/libraries/skills_gui/gui_utils.h +++ b/source/RobotAPI/libraries/skills_gui/gui_utils.h @@ -20,7 +20,7 @@ namespace armarx::gui /** * @brief Get an icon in ArmarXGuiBase. * @param name The name of the icon. - * @return The icon. + * @return The icon. Empty icon if not found. */ QIcon getIcon(std::string name);