projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Keep model up to date when reordering KDMs.
[dcpomatic.git]
/
src
/
lib
/
dkdm_wrapper.cc
diff --git
a/src/lib/dkdm_wrapper.cc
b/src/lib/dkdm_wrapper.cc
index 809739e06fd471d14a564fbc1de468d6a1f93f59..76f9217aac4a64d3b6f589aa20290511a66ddad4 100644
(file)
--- a/
src/lib/dkdm_wrapper.cc
+++ b/
src/lib/dkdm_wrapper.cc
@@
-71,10
+71,18
@@
DKDMGroup::as_xml (xmlpp::Element* node) const
}
void
}
void
-DKDMGroup::add (shared_ptr<DKDMBase> child)
+DKDMGroup::add (shared_ptr<DKDMBase> child
, shared_ptr<DKDM> previous
)
{
DCPOMATIC_ASSERT (child);
{
DCPOMATIC_ASSERT (child);
- _children.push_back (child);
+ if (previous) {
+ list<shared_ptr<DKDMBase> >::iterator i = find (_children.begin(), _children.end(), previous);
+ if (i != _children.end ()) {
+ ++i;
+ }
+ _children.insert (i, child);
+ } else {
+ _children.push_back (child);
+ }
child->set_parent (dynamic_pointer_cast<DKDMGroup> (shared_from_this ()));
}
child->set_parent (dynamic_pointer_cast<DKDMGroup> (shared_from_this ()));
}