-
- if (p.tracking())
- changes_.reset(new Changes(*p.changes_.get()));
-}
-
-
-void Paragraph::Pimpl::setContentsFromPar(Paragraph const & par)
-{
- owner_->text_ = par.text_;
- if (par.pimpl_->tracking()) {
- changes_.reset(new Changes(*(par.pimpl_->changes_.get())));
- }
-}
-
-
-void Paragraph::Pimpl::trackChanges(Change::Type type)
-{
- if (tracking()) {
- lyxerr[Debug::CHANGES] << "already tracking for par " << id_ << endl;
- return;
- }
-
- lyxerr[Debug::CHANGES] << "track changes for par "
- << id_ << " type " << type << endl;
- changes_.reset(new Changes(type));
- changes_->set(type, 0, size() + 1);
-}
-
-
-void Paragraph::Pimpl::untrackChanges()
-{
- changes_.reset(0);
-}
-
-
-void Paragraph::Pimpl::cleanChanges(Paragraph::ChangeTracking ct)
-{
- // if the paragraph was not tracked and we don't know the buffer's
- // change tracking state, we do nothing
- if ((ct == Paragraph::trackingUnknown) && !tracking())
- return;
-
- // untrack everything if we are in a buffer where ct is disabled
- else if (ct == Paragraph::trackingOff) {
- untrackChanges();
- return;
- }
-
- // in a buffer where ct is enabled, set everything to INSERTED
- changes_.reset(new Changes(Change::INSERTED));
- changes_->set(Change::INSERTED, 0, size() + 1);