15class AddPluginCommand :
public QUndoCommand
18 static constexpr auto CommandId = 1763165707;
22 plugins::PluginUuidReference plugin_ref,
23 std::optional<int> index = std::nullopt)
24 : QUndoCommand (QObject::tr (
"Add Plugin")), plugin_group_ (plugin_group),
25 plugin_ref_ (std::move (plugin_ref)), index_ (index)
29 int id ()
const override {
return CommandId; }
31 void undo ()
override { plugin_group_.remove_plugin (plugin_ref_.id ()); }
35 if (index_.has_value ())
37 plugin_group_.insert_plugin (plugin_ref_, index_.value ());
41 plugin_group_.append_plugin (plugin_ref_);
47 plugins::PluginUuidReference plugin_ref_;
48 std::optional<int> index_;