This is the code for LFUN_CITATION_CREATE as I have it in my tree:
        case LFUN_CITATION_CREATE:
        {
                InsetCommandParams p("cite");

                if (!argument.empty()) {
                        // This should be set at source, ie when typing
                        // "citation-insert foo" in the minibuffer.
                        // Question: would pybibliographer also need to be
                        // changed. Suspect so. Leave as-is therefore.
                        if (contains(argument, "|")) {
                                p.setContents(token(argument, '|', 0));
                                p.setOptions(token(argument, '|', 1));
                        } else {
                                p.setContents(argument);
                        }
                        dispatch(FuncRequest(view(), LFUN_CITATION_INSERT, 
p.getAsString()));
                } else {
                        string data = InsetCommandMailer::params2string(p);
                        owner->getDialogs().show("citation", data, 0);
                }
        }
        break;

I think that it should become something like:
        case LFUN_CITATION_SHOW:
        {
                InsetCommandParams p("cite");
                string data = InsetCommandMailer::params2string(p);
                owner->getDialogs().show("citation", data, 0);
        }
        break;

(Maybe eventually LFUN_DIALOG_SHOW "citation").

This clearly removes the ability to fill a citation inset entirely from the 
minibuffer. It does not preclude the insertion of new citations by the 
lyxserver because we now have the more sophisticated LFUN_CITATION_APPLY 
that I showed you last night.

Questions:
1. Should I move the 'hack', above into ControlMiniBuffer so that it can 
create a citation inset and then call LFUN_CITATION_APPLY.
2. Alternatively, should I just remove the 'hack'?
3. Should I leave things as they are?


-- 
Angus

Reply via email to