* @brief Duplicates the action at @p actionId. */
| 7987 | * @brief Duplicates the action at @p actionId. |
| 7988 | */ |
| 7989 | void DataModel::ProjectModel::duplicateAction(int actionId) |
| 7990 | { |
| 7991 | if (actionId < 0 || static_cast<size_t>(actionId) >= m_actions.size()) |
| 7992 | return; |
| 7993 | |
| 7994 | const auto previousSelection = m_selectedAction; |
| 7995 | setSelectedAction(m_actions[actionId]); |
| 7996 | duplicateCurrentAction(); |
| 7997 | |
| 7998 | if (previousSelection.actionId >= 0 |
| 7999 | && static_cast<size_t>(previousSelection.actionId) < m_actions.size()) |
| 8000 | setSelectedAction(m_actions[previousSelection.actionId]); |
| 8001 | } |
| 8002 | |
| 8003 | /** |
| 8004 | * @brief Deletes the output widget at @p groupId/@p widgetId. |