mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-11 05:07:00 -04:00
Clean up pointer use:
* Use unique_ptr for Actions instead of manual memory management * Use unique_ptr in KeywordDatabase * Use unique_ptr instead of shared_ptr for file formats * Don't pass shared_ptr to Reader/Writer, use references instead Also * Switch to C++17 so we can use map::try_emplace
This commit is contained in:
@@ -166,9 +166,9 @@ void SymbolPartList::onLeftUp(wxMouseEvent& ev) {
|
||||
if (par != drop_parent && par->parts.size() == 1 && !par->isSymbolSymmetry()) {
|
||||
// this leaves a group without elements, remove it
|
||||
findParent(*par, par, drag_position); // parent of the group
|
||||
symbol->actions.addAction(new UngroupReorderSymbolPartsAction(*par, drag_position, *drop_parent, drop_position));
|
||||
symbol->actions.addAction(make_unique<UngroupReorderSymbolPartsAction>(*par, drag_position, *drop_parent, drop_position));
|
||||
} else {
|
||||
symbol->actions.addAction(new ReorderSymbolPartsAction(*par, drag_position, *drop_parent, drop_position));
|
||||
symbol->actions.addAction(make_unique<ReorderSymbolPartsAction>(*par, drag_position, *drop_parent, drop_position));
|
||||
}
|
||||
} else {
|
||||
Refresh(false);
|
||||
@@ -257,14 +257,14 @@ void SymbolPartList::onChar(wxKeyEvent& ev) {
|
||||
if (cursor > 0 && cursor <= typing_in->name.size()) {
|
||||
String new_name = typing_in->name;
|
||||
new_name.erase(cursor - 1, 1);
|
||||
symbol->actions.addAction(new SymbolPartNameAction(typing_in, new_name, cursor, cursor - 1));
|
||||
symbol->actions.addAction(make_unique<SymbolPartNameAction>(typing_in, new_name, cursor, cursor - 1));
|
||||
}
|
||||
break;
|
||||
case WXK_DELETE:
|
||||
if (cursor < typing_in->name.size()) {
|
||||
String new_name = typing_in->name;
|
||||
new_name.erase(cursor, 1);
|
||||
symbol->actions.addAction(new SymbolPartNameAction(typing_in, new_name, cursor, cursor));
|
||||
symbol->actions.addAction(make_unique<SymbolPartNameAction>(typing_in, new_name, cursor, cursor));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -281,7 +281,7 @@ void SymbolPartList::onChar(wxKeyEvent& ev) {
|
||||
#endif
|
||||
String new_name = typing_in->name;
|
||||
new_name.insert(cursor, 1, key);
|
||||
symbol->actions.addAction(new SymbolPartNameAction(typing_in, new_name, cursor, cursor + 1));
|
||||
symbol->actions.addAction(make_unique<SymbolPartNameAction>(typing_in, new_name, cursor, cursor + 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user