- if (same_ids)
- id_ = p.id_;
- else
- id_ = paragraph_id++;
-
- if (p.tracking())
- changes_.reset(new Changes(*p.changes_.get()));
-}
-
-
-void Paragraph::Pimpl::clear()
-{
- text.clear();
-#warning changes ?
-}
-
-
-void Paragraph::Pimpl::setContentsFromPar(Paragraph const * par)
-{
- lyx::Assert(par);
- text = par->pimpl_->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());
-}
-
-
-void Paragraph::Pimpl::untrackChanges()
-{
- changes_.reset(0);
-}
-
-
-void Paragraph::Pimpl::cleanChanges()
-{
- // if we're not tracking, we don't want to reset...
- if (!tracking())
- return;
-
- changes_.reset(new Changes(Change::INSERTED));
- changes_->set(Change::INSERTED, 0, size());