On Fri, Feb 21, 2003 at 04:56:55PM +0000, Angus Leeming wrote:

> until that is done. However, the attached patch is the Brave New World of 
> controllers and I'd value your considered perusal.

Hrm, it's not very Linus friendly is it :

 95 files changed, 2471 insertions(+), 881 deletions(-)

Oh  hrm, I guess this  is because of the intermediate state ...

Why all the near-duplicated code in BufferView_pimpl.C ? Can't you
templatise this :

+       case LFUN_CITATION_APPLY: {
+               InsetCommandParams params;
+               InsetCommandMailer::string2params(ev.argument, params);
+
+               InsetBase * base =
+                       owner_->getDialogs().getOpenInset("citation");
+               InsetCitation * inset = static_cast<InsetCitation *>(base);
+               if (inset) {
+                       inset->setParams(params);
+               } else {
+                       inset = new InsetCitation(params);
+                       if (!insertInset(inset)) {
+                               delete inset;
+                               break;
+                       } else {
+                               inset->setLoadingBuffer(bv_->buffer(), false);
+                       }
+               }
+               updateInset(inset, true);
        }

to at least some degree ?

+       case LFUN_DIALOG_HIDE:
+               owner ->getDialogs().hide(argument)

whitespace typo

> with full control over the contents. The hook exists 
> (LFUN_DIALOG_SHOW_NEXT_INSET "name") to open the dialog of the next inset 
> after the cursor of a given type (or even just the next inset with a 
> dialog...) but there is no code to do so and I don't propose adding it. 
> feel free to take up that particular baton.

OK. What about getStatus() of these ? Is that almost ready to fly too ?

It looks good, I think, but it's hard to see in patch form, especially as the old code 
still exists ;)

regards
john

Reply via email to