On Sat, May 05, 2018 at 05:11:31PM +0000, Scott Kostyshak wrote:
> On Sat, May 05, 2018 at 04:05:49PM +0000, Richard Kimberly Heck wrote:
> > On 05/05/2018 11:56 AM, Scott Kostyshak wrote:
> > > The attached patch is an attempt to only show the "Accept Change" and
> > > "Reject Change" options in the context menu when there is a change in
> > > the selection.
> > >
> > > It works well except if the selection is inside an inset. For example,
> > > when in a LyX Note, ppos_beg and ppos_end refer to the position within
> > > the note. Does each inset have its own ParagraphList? If so, how do I
> > > access it?
> > 
> > If it's an InsetText, then it has its own Text object, which has paragraphs:
> >     ParagraphList const & pars = theInset.text().paragraphs();
> 
> Thanks, Riki. that's exactly what I needed. New patch attached.
> 
> The next problem is that I need to check all paragraphs on all depths.
> For example, if there is a change inside a LyX Note, and I select the
> LyX Note from the outside of the inset, isChanged() is false because I
> guess it checks whether the entire note was changed, not the contents of
> the note.
> 
> I'll look into this.

I'm unsure what approach to take. One option would be to define
"isChanged()" to return true if there is a change in the paragraph or in
any paragraph within the paragraph. I think that currently, isChanged()
checks only the top-level paragraph. I have no idea if this is a
reasonable change to make.

If that is not a correct approach, then I suppose that I need to check
each paragraph on all levels myself. In this case, is there a way to
iterate through all paragraphs and nested paragraphs of a selection? If
there is not currently a way, would this be useful as a new helper
method?

Scott

Attachment: signature.asc
Description: PGP signature

Reply via email to