X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fminibuffer.C;h=f365325f3141da1a1ae92256223e435858313b42;hb=91a2ea274e9c27f571a3cd4798d2e8ecc1b982a7;hp=eea98c940cfc8ad47f3608b499cbf26034f4f6cd;hpb=a040c0bc6f017d0591bbc7ad1aa590589dbc40ff;p=lyx.git diff --git a/src/minibuffer.C b/src/minibuffer.C index eea98c940c..f365325f31 100644 --- a/src/minibuffer.C +++ b/src/minibuffer.C @@ -5,7 +5,7 @@ * information. * * Copyright 1995 Matthias Ettrich - * Copyright 1995-1999 The LyX Team. + * Copyright 1995-2000 The LyX Team. * * ########################################################################### */ @@ -24,6 +24,7 @@ #include "LyXView.h" #include "debug.h" #include "gettext.h" +#include "LyXAction.h" extern bool keyseqUncomplete(); extern string keyseqOptions(int l= 190); @@ -45,8 +46,8 @@ void MiniBuffer::ExecutingCB(FL_OBJECT * ob, long) { MiniBuffer * obj = static_cast(ob->u_vdata); lyxerr.debug() << "Getting ready to execute: " << obj->cur_cmd << endl; - fl_set_focus_object(obj->owner->getForm(), - obj->owner->currentView()->getWorkArea()); + obj->owner->view()->focus(true); + if (obj->cur_cmd.empty()) { obj->Init(); return ; @@ -54,22 +55,8 @@ void MiniBuffer::ExecutingCB(FL_OBJECT * ob, long) obj->Set(_("Executing:"), obj->cur_cmd); obj->addHistory(obj->cur_cmd); - // Split command into function and argument - string arg = obj->cur_cmd; - string function; - if (contains(arg, " ")) { - arg = split(arg, function, ' '); - function = strip(function); - } else { - function = arg; - arg.clear(); - } - lyxerr.debug() << "Function: " << function - << "\nArg : " << arg << endl; - // Dispatch only returns requested data for a few commands (ale) - string res = obj->owner->getLyXFunc()->Dispatch(function.c_str(), - arg.c_str()); + string res = obj->owner->getLyXFunc()->Dispatch(obj->cur_cmd); lyxerr.debug() << "Minibuffer Res: " << res << endl; obj->shows_no_match = false; @@ -105,16 +92,15 @@ int MiniBuffer::peek_event(FL_OBJECT * ob, int event, FL_Coord, FL_Coord, case XK_Tab: { // complete or increment the command - char const * s = lyxaction.getApproxFuncName(fl_get_input(ob)); - if (s && s[0]) - fl_set_input(ob, s); + string s = lyxaction.getApproxFuncName(fl_get_input(ob)); + if (!s.empty()) + fl_set_input(ob, s.c_str()); return 1; } case 27: case XK_Escape: // Abort - fl_set_focus_object(mini->owner->getForm(), - mini->owner->currentView()->getWorkArea()); + mini->owner->view()->focus(true); mini->Init(); return 1; case 13: @@ -209,10 +195,10 @@ void MiniBuffer::Init() text = owner->getLyXFunc()->keyseqOptions(); // Else, show the buffer state. - else if (owner->currentView()->available()) { + else if (owner->view()->available()) { string nicename = MakeDisplayPath(owner->buffer()-> - getFileName()); + fileName()); // Should we do this instead? (kindo like emacs) // leaves more room for other information text = "LyX: ";