On Sat, Mar 25, 2006 at 06:44:42PM +0100, Abdelrazak Younes wrote: > Martin Vermeer a écrit : > >See attached. > > > >The Deeper and Shallower ("In" and "Out") functionalities are not yet > >implemented. > > > >You can test the moving of a sectioning header plus belonging text up > >and down by entering into the minibuffer: "outline 0" or "outline 1". > > > >I have this stuff also working from qt2, with buttons on the TOC pop-up > >window ;-) > > > >For now this is very preliminary. But is this the way we want to go for > >implementing outlining? > > > I have not tested the patch yet but I have some questions: > It seems from the code that if I want to move say a chapter from 2 to 6, > I have to repeat the outline operation 4 times. Am I correct? > If yes, an additional argument for the destination would be good: > > -void Outline(OutlineOp mode, Buffer * buf, pit_type & origin) > +void Outline(OutlineOp mode, Buffer * buf, pit_type const destination, > pit_type & origin)
Not useful when accessing the functionality from the GUI. Then you just press the Up or Down button as many times as it takes. The minibuffer is just for demoing. Now, a "dragging" operation by mouse would be something different. If you promise to implement that in qt4, you could convince me ;-) > But at the end the code would be the same as Cut&Paste, wouldn't it? > Maybe a clean-up of CutAndPaste.[Ch] is in order so that we could use > that... > What do you think? Yes, I was thinking that too at first. But the difference is that here we always handle whole paragraphs. Using the full C&P here would be serious overkill. One thing that this prototype does not do though (and what using C&P would give for free), is take change tracking into account. Easiest would be to just disable CT during outlining, as I am not sure it would make much sense to actually track these huge structural changes. - Martin
pgp9yQJb9QBQu.pgp
Description: PGP signature