#endif
#include "version.h"
-#include "lyxlookup.h"
#include "kbmap.h"
#include "lyxfunc.h"
#include "bufferlist.h"
using std::endl;
using std::find_if;
-extern void InsertAsciiFile(BufferView *, string const &, bool);
-extern void math_insert_symbol(string const &);
-extern bool math_insert_greek(char);
+extern void math_insert_symbol(BufferView *, string const &);
+extern bool math_insert_greek(BufferView *, char);
extern BufferList bufferlist;
extern LyXServer * lyxserver;
extern int greek_kb_flag;
extern kb_keymap * toplevel_keymap;
-extern bool MenuWrite(Buffer *);
-extern bool MenuWriteAs(Buffer *);
-extern int MenuRunLaTeX(Buffer *);
-extern int MenuBuildProg(Buffer *);
-extern int MenuRunChktex(Buffer *);
-extern void MenuPrint(Buffer *);
-extern void MenuSendto();
-extern void QuitLyX();
+#if 0
extern void MenuFax(Buffer *);
+#endif
extern void show_symbols_form(LyXFunc *);
extern LyXAction lyxaction;
// (alkis)
extern tex_accent_struct get_accent(kb_action action);
-extern void AutoSave(BufferView *);
-extern void MenuInsertLabel(string const &);
-extern void MenuLayoutCharacter();
-extern void MenuLayoutParagraph();
-extern void MenuLayoutPreamble();
-extern void MenuLayoutSave();
-
-extern Buffer * NewLyxFile(string const &);
-extern void LoadLyXFile(string const &);
-extern void Reconfigure(BufferView *);
-
extern LyXTextClass::size_type current_layout;
-extern int getISOCodeFromLaTeX(char *);
extern void ShowLatexLog();
if (lyxerr.debugging(Debug::KEY)) {
char * tmp = XKeysymToString(keysym);
- string stm = (tmp ? tmp : "");
+ string const stm = (tmp ? tmp : "");
lyxerr << "KeySym is "
<< stm
<< "["
- << keysym << "]"
+ << keysym << "] State is ["
+ << state << "]"
<< endl;
}
// Do nothing if we have nothing (JMarc)
// implementations? (Lgb)
// This code snippet makes lyx ignore some keys. Perhaps
// all of them should be explictly mentioned?
- if((keysym >= XK_Shift_L && keysym <= XK_Hyper_R)
+ if ((keysym >= XK_Shift_L && keysym <= XK_Hyper_R)
|| keysym == XK_Mode_switch || keysym == 0x0)
return 0;
int action = cancel_meta_seq.addkey(keysym, state
&(ShiftMask|ControlMask
|Mod1Mask));
-
+ if (lyxerr.debugging(Debug::KEY)) {
+ lyxerr << "action first set to [" << action << "]" << endl;
+ }
+
// When not cancel or meta-fake, do the normal lookup.
// Note how the meta_fake Mod1 bit is OR-ed in and reset afterwards.
// Mostly, meta_fake_bit = 0. RVDK_PATCH_5.
- if ( (action != LFUN_CANCEL) && (action != LFUN_META_FAKE) ) {
-
+ if ((action != LFUN_CANCEL) && (action != LFUN_META_FAKE)) {
+ if (lyxerr.debugging(Debug::KEY)) {
+ lyxerr << "meta_fake_bit is [" << meta_fake_bit << "]" << endl;
+ }
// remove Caps Lock and Mod2 as a modifiers
action = keyseq.addkey(keysym,
(state | meta_fake_bit)
&(ShiftMask|ControlMask
- |Mod1Mask));
+ |Mod1Mask));
+ if (lyxerr.debugging(Debug::KEY)) {
+ lyxerr << "action now set to [" << action << "]" << endl;
+ }
}
// Dont remove this unless you know what you are doing.
meta_fake_bit = 0;
// why not return already here if action == -1 and
// num_bytes == 0? (Lgb)
- if(keyseq.length > 1 || keyseq.length < -1) {
+ if (keyseq.length > 1 || keyseq.length < -1) {
string buf;
keyseq.print(buf);
owner->getMiniBuffer()->Set(buf);
return 0;
}
- char isochar = keyseq.getiso();
+ char const isochar = keyseq.getiso();
if (!(state & ControlMask) &&
!(state & Mod1Mask) &&
(isochar && keysym < 0xF000)) {
// so we`ll skip the dispatch.
return 0;
}
+ } else if (action == LFUN_SELFINSERT) {
+ // We must set the argument to the char looked up by
+ // XKeysymToString
+ XKeyEvent xke;
+ xke.type = KeyPress;
+ xke.serial = 0;
+ xke.send_event = False;
+ xke.display = fl_get_display();
+ xke.window = 0;
+ xke.root = 0;
+ xke.subwindow = 0;
+ xke.time = 0;
+ xke.x = 0;
+ xke.y = 0;
+ xke.x_root = 0;
+ xke.y_root = 0;
+ xke.state = state;
+ xke.keycode = XKeysymToKeycode(fl_get_display(), keysym);
+ xke.same_screen = True;
+ char ret[10];
+ KeySym tmpkeysym;
+ int res = XLookupString(&xke, ret, 10, &tmpkeysym, 0);
+ //Assert(keysym == tmpkeysym);
+ lyxerr[Debug::KEY] << "TmpKeysym ["
+ << tmpkeysym << "]" << endl;
+
+ if (res > 0)
+ argument = string(ret, res);
+ lyxerr[Debug::KEY] << "SelfInsert arg["
+ << argument << "]" << endl;
}
-
- bool tmp_sc = show_sc;
- show_sc = false;
- Dispatch(action, argument);
- show_sc = tmp_sc;
-
- return 0;
-}
-
-
-#if 0
-int LyXFunc::processKeyEvent(XEvent * ev)
-{
- char s_r[10];
- KeySym keysym_return = 0;
- string argument;
- XKeyEvent * keyevent = &ev->xkey;
- int num_bytes = LyXLookupString(ev, s_r, 10, &keysym_return);
- s_r[num_bytes] = '\0';
-
- if (lyxerr.debugging(Debug::KEY)) {
- char * tmp = XKeysymToString(keysym_return);
- string stm = (tmp ? tmp : "");
- lyxerr << "KeySym is "
- << stm
- << "["
- << keysym_return << "]"
- << " and num_bytes is "
- << num_bytes
- << " the string returned is \""
- << s_r << '\"'
- << endl;
- }
- // Do nothing if we have nothing (JMarc)
- if (num_bytes == 0 && keysym_return == NoSymbol) {
- lyxerr[Debug::KEY] << "Empty kbd action (probably composing)"
- << endl;
- return 0;
- }
-
- // this function should be used always [asierra060396]
- UpdatableInset * tli = owner->view()->theLockingInset();
- if (owner->view()->available() && tli && (keysym_return==XK_Escape)) {
- if (tli == tli->GetLockingInset()) {
- owner->view()->unlockInset(tli);
- owner->view()->text->CursorRight(owner->view());
- moveCursorUpdate(false);
- owner->showState();
- } else {
- tli->UnlockInsetInInset(owner->view(),
- tli->GetLockingInset(),true);
- }
- return 0;
- }
-
- // Can we be sure that this will work for all X-Windows
- // implementations? (Lgb)
- // This code snippet makes lyx ignore some keys. Perhaps
- // all of them should be explictly mentioned?
- if((keysym_return >= XK_Shift_L && keysym_return <= XK_Hyper_R)
- || keysym_return == XK_Mode_switch || keysym_return == 0x0)
- return 0;
-
- // Do a one-deep top-level lookup for
- // cancel and meta-fake keys. RVDK_PATCH_5
- cancel_meta_seq.reset();
-
- int action = cancel_meta_seq.addkey(keysym_return, keyevent->state
- &(ShiftMask|ControlMask
- |Mod1Mask));
-
- // When not cancel or meta-fake, do the normal lookup.
- // Note how the meta_fake Mod1 bit is OR-ed in and reset afterwards.
- // Mostly, meta_fake_bit = 0. RVDK_PATCH_5.
- if ( (action != LFUN_CANCEL) && (action != LFUN_META_FAKE) ) {
-
- // remove Caps Lock and Mod2 as a modifiers
- action = keyseq.addkey(keysym_return,
- (keyevent->state | meta_fake_bit)
- &(ShiftMask|ControlMask
- |Mod1Mask));
- }
- // Dont remove this unless you know what you are doing.
- meta_fake_bit = 0;
-
- if (action == 0) action = LFUN_PREFIX;
-
- if (lyxerr.debugging(Debug::KEY)) {
- string buf;
- keyseq.print(buf);
- lyxerr << "Key ["
- << action << "]["
- << buf << "]"
- << "["
- << num_bytes << "]"
- << endl;
- }
-
- // already here we know if it any point in going further
- // why not return already here if action == -1 and
- // num_bytes == 0? (Lgb)
-
- if(keyseq.length > 1 || keyseq.length < -1) {
- string buf;
- keyseq.print(buf);
- owner->getMiniBuffer()->Set(buf);
- }
-
- if (action == -1) {
- if (keyseq.length < -1) { // unknown key sequence...
- string buf;
- LyXBell();
- keyseq.print(buf);
- owner->getMiniBuffer()->Set(_("Unknown sequence:"), buf);
- return 0;
- }
- char isochar = keyseq.getiso();
- if (!(keyevent->state&ControlMask) &&
- !(keyevent->state&Mod1Mask) &&
- (isochar && keysym_return < 0xF000)) {
- argument += isochar;
- }
- if (argument.empty()) {
- lyxerr.debug() << "Empty argument!" << endl;
- // This can`t possibly be of any use
- // so we`ll skip the dispatch.
- return 0;
- }
- }
- else
- if (action == LFUN_SELFINSERT) {
- argument = s_r[0];
- }
bool tmp_sc = show_sc;
show_sc = false;
return 0;
}
-#endif
LyXFunc::func_status LyXFunc::getStatus(int ac) const
disable = !Exporter::IsExportable(buf, "dvi")
|| lyxrc.print_command == "none";
break;
+#if 0
case LFUN_FAX:
disable = !Exporter::IsExportable(buf, "ps")
|| lyxrc.fax_command == "none";
break;
- case LFUN_IMPORT:
- disable = !Importer::IsImportable(argument);
+#else
+ case LFUN_EXPORT:
+ disable = argument == "fax" &&
+ !Exporter::IsExportable(buf, argument);
break;
+#endif
case LFUN_UNDO:
disable = buf->undostack.empty();
break;
disable = !Exporter::IsExportable(buf, "program");
break;
+ case LFUN_INSERTFOOTNOTE:
+ case LFUN_FOOTMELT:
+ case LFUN_MARGINMELT:
+ // Disable insertion of floats in a tabular.
+ disable = false;
+ if (owner->view()->theLockingInset()) {
+ disable = (owner->view()->theLockingInset()->LyxCode() == Inset::TABULAR_CODE) ||
+ owner->view()->theLockingInset()->GetFirstLockingInsetOfType(Inset::TABULAR_CODE);
+ }
+ break;
+
case LFUN_LAYOUT_TABULAR:
disable = true;
if (owner->view()->theLockingInset()) {
if (buf) {
func_status box = LyXFunc::ToggleOff;
- LyXFont font;
- if (owner->view()->theLockingInset() &&
- owner->view()->theLockingInset()->getLyXText(owner->view()))
- font = owner->view()->theLockingInset()->
- getLyXText(owner->view())->real_current_font;
- else
- font = owner->view()->text->real_current_font;
+ LyXFont const & font =
+ owner->view()->getLyXText()->real_current_font;
switch (action) {
case LFUN_EMPH:
if (font.emph() == LyXFont::ON)
string const LyXFunc::Dispatch(int ac,
string const & do_not_use_this_arg)
{
+ lyxerr[Debug::ACTION] << "LyXFunc::Dispatch: action[" << ac
+ <<"] arg[" << do_not_use_this_arg << "]" << endl;
+
string argument;
kb_action action;
- LyXText * text = 0;
// we have not done anything wrong yet.
errorstat = false;
if (owner->view()->available())
owner->view()->hideCursor();
+ // We have to do this heare because of te goto below. (Lgb)
+ LyXText * text = owner->view()->getLyXText();
+
// We cannot use this function here
if (getStatus(ac) & Disabled)
goto exit_with_message;
}
}
- string shortcuts = toplevel_keymap->findbinding(pseudoaction);
+ string const shortcuts =
+ toplevel_keymap->findbinding(pseudoaction);
if (!shortcuts.empty()) {
comname += ": " + shortcuts;
return string();
else {
setMessage(N_("Text mode"));
- switch(action) {
+ switch (action) {
case LFUN_UNKNOWN_ACTION:
case LFUN_BREAKPARAGRAPH:
case LFUN_BREAKLINE:
}
}
}
- if (owner->view()->theLockingInset())
- text = owner->view()->theLockingInset()->
- getLyXText(owner->view());
}
- if (!text)
- text = owner->view()->text;
-
- switch(action) {
+ switch (action) {
// --- Misc -------------------------------------------
case LFUN_WORDFINDFORWARD :
case LFUN_WORDFINDBACKWARD : {
owner->view()->text->ClearSelection();
// Move cursor so that successive C-s 's will not stand in place.
- if( action == LFUN_WORDFINDFORWARD )
+ if (action == LFUN_WORDFINDFORWARD )
owner->view()->text->CursorRightOneWord(owner->view());
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
case LFUN_CANCEL: // RVDK_PATCH_5
keyseq.reset();
meta_fake_bit = 0;
- if(owner->view()->available())
+ if (owner->view()->available())
// cancel any selection
Dispatch(LFUN_MARK_OFF);
setMessage(N_("Cancel"));
owner->getMiniBuffer()->Set(_("Saving document"),
MakeDisplayPath(owner->buffer()->fileName()),
"...");
- MenuWrite(owner->buffer());
+ MenuWrite(owner->view(), owner->buffer());
//owner->getMiniBuffer()-> {
// Set(_("Document saved as"),
// MakeDisplayPath(owner->buffer()->fileName()));
//owner->getMiniBuffer()->Set(_("Save failed!"));
//}
} else {
- MenuWriteAs(owner->buffer());
+ MenuWriteAs(owner->view(), owner->buffer());
}
break;
case LFUN_MENUWRITEAS:
- MenuWriteAs(owner->buffer());
+ MenuWriteAs(owner->view(), owner->buffer());
break;
case LFUN_MENURELOAD:
owner->getDialogs()->showPrint();
break;
+#if 0
case LFUN_FAX:
MenuFax(owner->buffer());
break;
-
+#endif
+
case LFUN_EXPORT:
Exporter::Export(owner->buffer(), argument, false);
break;
{
InsetCommandParams p;
- if( action == LFUN_TOCVIEW )
+ if (action == LFUN_TOCVIEW )
p.setCmdName( "tableofcontents" );
- else if( action == LFUN_LOAVIEW )
+ else if (action == LFUN_LOAVIEW )
p.setCmdName( "listofalgorithms" );
- else if( action == LFUN_LOFVIEW )
+ else if (action == LFUN_LOFVIEW )
p.setCmdName( "listoffigures" );
else
p.setCmdName( "listoftables" );
{
InsetCommandParams p;
- if( action == LFUN_TOC_INSERT )
+ if (action == LFUN_TOC_INSERT )
p.setCmdName( "tableofcontents" );
- else if( action == LFUN_LOA_INSERT )
+ else if (action == LFUN_LOA_INSERT )
p.setCmdName( "listofalgorithms" );
- else if( action == LFUN_LOF_INSERT )
+ else if (action == LFUN_LOF_INSERT )
p.setCmdName( "listoffigures" );
else
p.setCmdName( "listoftables" );
Inset * inset = new InsetTOC( p );
- if( !owner->view()->insertInset( inset, "Standard", true ) )
+ if (!owner->view()->insertInset( inset, "Standard", true ) )
delete inset;
break;
}
break;
case LFUN_DEPTH:
- changeDepth(owner->view(), 0);
+ changeDepth(owner->view(), text, 0);
break;
case LFUN_DEPTH_MIN:
- changeDepth(owner->view(), -1);
+ changeDepth(owner->view(), text, -1);
break;
case LFUN_DEPTH_PLUS:
- changeDepth(owner->view(), 1);
+ changeDepth(owner->view(), text, 1);
break;
case LFUN_FREE:
&& owner->view()->text->cursor.par()->footnoteflag
!= LyXParagraph::NO_FOOTNOTE)
{ // only melt footnotes with FOOTMELT, not margins etc
- if(owner->view()->text->cursor.par()->footnotekind == LyXParagraph::FOOTNOTE)
+ if (owner->view()->text->cursor.par()->footnotekind == LyXParagraph::FOOTNOTE)
Melt(owner->view());
}
else
&& owner->view()->text->cursor.par()->footnoteflag
!= LyXParagraph::NO_FOOTNOTE) {
// only melt margins
- if(owner->view()->text->cursor.par()->footnotekind == LyXParagraph::MARGIN)
+ if (owner->view()->text->cursor.par()->footnotekind == LyXParagraph::MARGIN)
Melt(owner->view());
} else
Margin(owner->view());
owner->view()->setState();
break;
+#endif
+#ifndef NEW_INSETS
+ case LFUN_FLOATSOPERATE:
+ if (argument == "openfoot")
+ owner->view()->allFloats(1,0);
+ else if (argument == "closefoot")
+ owner->view()->allFloats(0,0);
+ else if (argument == "openfig")
+ owner->view()->allFloats(1,1);
+ else if (argument == "closefig")
+ owner->view()->allFloats(0,1);
+ break;
+#else
+#warning Find another implementation here (or another lyxfunc)!
#endif
case LFUN_HELP_COPYRIGHT:
owner->getDialogs()->showCopyright();
break;
case LFUN_LAYOUT_SAVE_DEFAULT:
- MenuLayoutSave();
+ MenuLayoutSave(owner->view());
break;
case LFUN_DROP_LAYOUTS_CHOICE:
break;
case LFUN_INSERT_LABEL:
- MenuInsertLabel(argument);
+ MenuInsertLabel(owner->view(), argument);
break;
case LFUN_REF_INSERT:
{
LyXText * tmptext = owner->view()->text;
bool is_rtl = tmptext->cursor.par()->isRightToLeftPar(owner->buffer()->params);
- if(!tmptext->mark_set)
+ if (!tmptext->mark_set)
owner->view()->beforeChange();
owner->view()->update(BufferView::SELECT|BufferView::FITCUR);
if (is_rtl)
// it simpler? (Lgb)
LyXText * txt = owner->view()->text;
bool is_rtl = txt->cursor.par()->isRightToLeftPar(owner->buffer()->params);
- if(!txt->mark_set) owner->view()->beforeChange();
+ if (!txt->mark_set) owner->view()->beforeChange();
owner->view()->update(BufferView::SELECT|BufferView::FITCUR);
LyXCursor cur = txt->cursor;
if (!is_rtl)
break;
case LFUN_UP:
- if(!owner->view()->text->mark_set) owner->view()->beforeChange();
+ if (!owner->view()->text->mark_set) owner->view()->beforeChange();
owner->view()->update(BufferView::UPDATE);
owner->view()->text->CursorUp(owner->view());
owner->view()->text->FinishUndo();
break;
case LFUN_DOWN:
- if(!owner->view()->text->mark_set)
+ if (!owner->view()->text->mark_set)
owner->view()->beforeChange();
owner->view()->update(BufferView::UPDATE);
owner->view()->text->CursorDown(owner->view());
break;
case LFUN_UP_PARAGRAPH:
- if(!owner->view()->text->mark_set)
+ if (!owner->view()->text->mark_set)
owner->view()->beforeChange();
owner->view()->update(BufferView::UPDATE);
owner->view()->text->CursorUpParagraph(owner->view());
break;
case LFUN_DOWN_PARAGRAPH:
- if(!owner->view()->text->mark_set)
+ if (!owner->view()->text->mark_set)
owner->view()->beforeChange();
owner->view()->update(BufferView::UPDATE);
owner->view()->text->CursorDownParagraph(owner->view());
break;
case LFUN_PRIOR:
- if(!text->mark_set)
+ if (!text->mark_set)
owner->view()->beforeChange();
owner->view()->update(BufferView::UPDATE);
owner->view()->cursorPrevious(text);
break;
case LFUN_NEXT:
- if(!text->mark_set)
+ if (!text->mark_set)
owner->view()->beforeChange();
owner->view()->update(BufferView::UPDATE);
owner->view()->cursorNext(text);
break;
case LFUN_HOME:
- if(!owner->view()->text->mark_set)
+ if (!owner->view()->text->mark_set)
owner->view()->beforeChange();
owner->view()->update(BufferView::SELECT|BufferView::FITCUR);
owner->view()->text->CursorHome(owner->view());
break;
case LFUN_END:
- if(!owner->view()->text->mark_set)
+ if (!owner->view()->text->mark_set)
owner->view()->beforeChange();
owner->view()->update(BufferView::SELECT|BufferView::FITCUR);
owner->view()->text->CursorEnd(owner->view());
case LFUN_SHIFT_TAB:
case LFUN_TAB:
- if(!owner->view()->text->mark_set)
+ if (!owner->view()->text->mark_set)
owner->view()->beforeChange();
owner->view()->update(BufferView::SELECT|BufferView::FITCUR);
owner->view()->text->CursorTab(owner->view());
break;
case LFUN_WORDRIGHT:
- if(!text->mark_set)
+ if (!text->mark_set)
owner->view()->beforeChange();
owner->view()->update(BufferView::SELECT|BufferView::FITCUR);
if (text->cursor.par()->isRightToLeftPar(owner->buffer()->params))
break;
case LFUN_WORDLEFT:
- if(!text->mark_set)
+ if (!text->mark_set)
owner->view()->beforeChange();
owner->view()->update(BufferView::SELECT|BufferView::FITCUR);
if (text->cursor.par()->isRightToLeftPar(owner->buffer()->params))
break;
case LFUN_BEGINNINGBUF:
- if(!owner->view()->text->mark_set)
+ if (!owner->view()->text->mark_set)
owner->view()->beforeChange();
owner->view()->update(BufferView::SELECT|BufferView::FITCUR);
owner->view()->text->CursorTop(owner->view());
break;
case LFUN_ENDBUF:
- if(!owner->view()->text->mark_set)
+ if (!owner->view()->text->mark_set)
owner->view()->beforeChange();
owner->view()->update(BufferView::SELECT|BufferView::FITCUR);
owner->view()->text->CursorBottom(owner->view());
break;
case LFUN_SETMARK:
- if(text->mark_set) {
+ if (text->mark_set) {
owner->view()->beforeChange();
owner->view()->update(BufferView::SELECT|BufferView::FITCUR);
setMessage(N_("Mark removed"));
owner->view()->text->cursor;
owner->view()->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
// It is possible to make it a lot faster still
- // just comment out the lone below...
+ // just comment out the line below...
owner->view()->showCursor();
} else {
owner->view()->cut();
case LFUN_BACKSPACE:
{
if (!owner->view()->text->selection) {
+#if 0
if (owner->getIntl()->getTrans()->backspace()) {
+#else
+ if (owner->getIntl()->getTrans().backspace()) {
+#endif
owner->view()->text->Backspace(owner->view());
owner->view()->text->sel_cursor =
owner->view()->text->cursor;
owner->view()->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
// It is possible to make it a lot faster still
- // just comment out the lone below...
+ // just comment out the line below...
owner->view()->showCursor();
}
} else {
cur_value = par->spacing.getValue();
}
- istringstream istr(argument);
+ istringstream istr(argument.c_str());
string tmp;
istr >> tmp;
{
LyXParagraph::size_type pos =
owner->view()->text->cursor.pos();
- if(pos < owner->view()->text->cursor.par()->size())
+ if (pos < owner->view()->text->cursor.par()->size())
//dispatch_buffer = owner->view()->text->
// cursor.par()->text[pos];
dispatch_buffer =
case LFUN_GETFONT:
{
LyXFont & font = owner->view()->text->current_font;
- if(font.shape() == LyXFont::ITALIC_SHAPE)
+ if (font.shape() == LyXFont::ITALIC_SHAPE)
dispatch_buffer = 'E';
- else if(font.shape() == LyXFont::SMALLCAPS_SHAPE)
+ else if (font.shape() == LyXFont::SMALLCAPS_SHAPE)
dispatch_buffer = 'N';
else
dispatch_buffer = '0';
case LFUN_GETLATEX:
{
LyXFont & font = owner->view()->text->current_font;
- if(font.latex() == LyXFont::ON)
+ if (font.latex() == LyXFont::ON)
dispatch_buffer = 'L';
else
dispatch_buffer = '0';
case LFUN_GOTO_PARAGRAPH:
{
- istringstream istr(argument);
+ istringstream istr(argument.c_str());
int id;
istr >> id;
if (keyseq.length == -1 && keyseq.getiso() != 0)
c = keyseq.getiso();
-
+
+#if 0
owner->getIntl()->getTrans()->
deadkey(c, get_accent(action).accent,
owner->view()->text);
+#else
+ owner->getIntl()->getTrans()
+ .deadkey(c, get_accent(action).accent,
+ owner->view()->text);
+#endif
// Need to reset, in case the minibuffer calls these
// actions
case LFUN_INSERT_MATRIX:
{
if (owner->view()->available()) {
- owner->view()->
- open_new_inset(new InsetFormula(false));
- owner->view()
- ->theLockingInset()
- ->LocalDispatch(owner->view(),
- action,
- argument);
+ if (owner->view()->
+ open_new_inset(new InsetFormula(false)))
+ {
+ owner->view()->theLockingInset()
+ ->LocalDispatch(owner->view(),
+ action,
+ argument);
+ }
}
}
break;
case LFUN_INSERT_MATH:
{
- math_insert_symbol(argument);
+ math_insert_symbol(owner->view(), argument);
}
break;
if (s.empty())
setErrorMessage(N_("Missing argument"));
else {
- string s1 = token(s, ' ', 1);
- int na = s1.empty() ? 0 : lyx::atoi(s1);
+ string const s1 = token(s, ' ', 1);
+ int const na = s1.empty() ? 0 : lyx::atoi(s1);
owner->view()->
open_new_inset(new InsetFormulaMacro(token(s, ' ', 0), na));
}
case LFUN_CITATION_CREATE:
{
- // Should do this "at source"
InsetCommandParams p( "cite" );
- if (contains(argument, "|")) {
- p.setContents( token(argument, '|', 0) );
- p.setOptions( token(argument, '|', 1) );
- } else {
- p.setContents( argument );
- }
-
- owner->getDialogs()->createCitation( p.getAsString() );
+ 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(LFUN_CITATION_INSERT, p.getAsString());
+ } else
+ owner->getDialogs()->createCitation( p.getAsString() );
}
break;
// ale970405+lasgoutt970425
// The argument can be up to two tokens separated
// by a space. The first one is the bibstyle.
- string db = token(argument, ' ', 0);
+ string const db = token(argument, ' ', 0);
string bibstyle = token(argument, ' ', 1);
if (bibstyle.empty())
bibstyle = "plain";
{
InsetCommandParams p( "index" );
- if( argument.empty() ) {
+ if (argument.empty()) {
// Get the word immediately preceding the cursor
LyXParagraph::size_type curpos =
owner->view()->text->cursor.pos() - 1;
string curstring;
- if( curpos >= 0 )
+ if (curpos >= 0 )
curstring = owner->view()->text
->cursor.par()->GetWord(curpos);
case LFUN_INDEX_INSERT:
{
InsetCommandParams p;
- p.setFromString( argument );
- InsetIndex * inset = new InsetIndex( p );
+ p.setFromString(argument);
+ InsetIndex * inset = new InsetIndex(p);
if (!owner->view()->insertInset(inset))
delete inset;
else
- owner->view()->updateInset( inset, true );
+ owner->view()->updateInset(inset, true);
}
break;
LyXParagraph::size_type curpos =
owner->view()->text->cursor.pos() - 1;
// Can't do that at the beginning of a paragraph
- if( curpos < 0 ) break;
+ if (curpos < 0) break;
- string curstring( owner->view()->text
- ->cursor.par()->GetWord(curpos) );
+ string const curstring(owner->view()->text
+ ->cursor.par()->GetWord(curpos));
- InsetCommandParams p( "index", curstring );
- InsetIndex * inset = new InsetIndex( p );
+ InsetCommandParams p("index", curstring);
+ InsetIndex * inset = new InsetIndex(p);
if (!owner->view()->insertInset(inset))
delete inset;
else
- owner->view()->updateInset( inset, true );
+ owner->view()->updateInset(inset, true);
}
break;
case LFUN_INDEX_PRINT:
{
- InsetCommandParams p( "printindex" );
+ InsetCommandParams p("printindex");
Inset * inset = new InsetPrintIndex(p);
if (!owner->view()->insertInset(inset, "Standard", true))
delete inset;
case LFUN_CHILDOPEN:
{
- string filename =
+ string const filename =
MakeAbsPath(argument,
OnlyPath(owner->buffer()->fileName()));
setMessage(N_("Opening child document ") +
case LFUN_INSERTFOOTNOTE:
{
LyXParagraph::footnote_kind kind;
- if (argument == "footnote")
- { kind = LyXParagraph::FOOTNOTE; }
- else if (argument == "margin")
- { kind = LyXParagraph::MARGIN; }
- else if (argument == "figure")
- { kind = LyXParagraph::FIG; }
- else if (argument == "table")
- { kind = LyXParagraph::TAB; }
- else if (argument == "wide-fig")
- { kind = LyXParagraph::WIDE_FIG; }
- else if (argument == "wide-tab")
- { kind = LyXParagraph::WIDE_TAB; }
- else if (argument == "algorithm")
- { kind = LyXParagraph::ALGORITHM; }
- else {
+ if (argument == "footnote") {
+ kind = LyXParagraph::FOOTNOTE;
+ } else if (argument == "margin") {
+ kind = LyXParagraph::MARGIN;
+ } else if (argument == "figure") {
+ kind = LyXParagraph::FIG;
+ } else if (argument == "table") {
+ kind = LyXParagraph::TAB;
+ } else if (argument == "wide-fig") {
+ kind = LyXParagraph::WIDE_FIG;
+ } else if (argument == "wide-tab") {
+ kind = LyXParagraph::WIDE_TAB;
+ } else if (argument == "algorithm") {
+ kind = LyXParagraph::ALGORITHM;
+ } else {
setErrorMessage(N_("Unknown kind of footnote"));
break;
}
case LFUN_SELFINSERT:
{
- LyXFont old_font(owner->view()->text->real_current_font);
+ LyXFont const old_font(owner->view()->text->real_current_font);
for (string::size_type i = 0; i < argument.length(); ++i) {
owner->view()->text->InsertChar(owner->view(), argument[i]);
// This needs to be in the loop, or else we
else
arg = lyxrc.date_insert_format;
char datetmp[32];
- int datetmp_len = ::strftime(datetmp, 32, arg.c_str(), now_tm);
+ int const datetmp_len =
+ ::strftime(datetmp, 32, arg.c_str(), now_tm);
for (int i = 0; i < datetmp_len; i++) {
owner->view()->text->InsertChar(owner->view(), datetmp[i]);
owner->view()->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
case LFUN_SET_COLOR:
{
- string lyx_name, x11_name;
- x11_name = split(argument, lyx_name, ' ');
+ string lyx_name;
+ string const x11_name = split(argument, lyx_name, ' ');
if (lyx_name.empty() || x11_name.empty()) {
LyXBell();
setErrorMessage(N_("Syntax: set-color <lyx_name>"
}
if (!lcolor.setColor(lyx_name, x11_name)) {
- static string err1 (N_("Set-color \""));
- static string err2 (N_("\" failed - color is undefined "
- "or may not be redefined"));
+ static string const err1 (N_("Set-color \""));
+ static string const err2 (
+ N_("\" failed - color is undefined "
+ "or may not be redefined"));
LyXBell();
- setErrorMessage(err1 + lyx_name + err2);
+ setErrorMessage(_(err1) + lyx_name + _(err2));
break;
}
lyxColorHandler->updateColor(lcolor.getFromLyXName(lyx_name));
case LFUN_UNKNOWN_ACTION:
{
- if(!owner->buffer()) {
+ if (!owner->buffer()) {
LyXBell();
setErrorMessage(N_("No document open"));
break;
* "auto_region_delete", which defaults to
* true (on). */
- if ( lyxrc.auto_region_delete ) {
+ if (lyxrc.auto_region_delete) {
if (owner->view()->text->selection){
owner->view()->text->CutSelection(owner->view(), false);
owner->view()->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
}
owner->view()->beforeChange();
- LyXFont old_font(owner->view()->text->real_current_font);
+ LyXFont const old_font(owner->view()->text->real_current_font);
for (string::size_type i = 0;
i < argument.length(); ++i) {
if (greek_kb_flag) {
- if (!math_insert_greek(argument[i]))
+ if (!math_insert_greek(owner->view(),
+ argument[i]))
+#if 0
owner->getIntl()->getTrans()->TranslateAndInsert(argument[i], owner->view()->text);
+#else
+ owner->getIntl()->getTrans().TranslateAndInsert(argument[i], owner->view()->text);
+#endif
} else
+#if 0
owner->getIntl()->getTrans()->TranslateAndInsert(argument[i], owner->view()->text);
+#else
+ owner->getIntl()->getTrans().TranslateAndInsert(argument[i], owner->view()->text);
+#endif
}
owner->view()->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
} // end of switch
exit_with_message:
- string res = getMessage();
+ string const res = getMessage();
if (res.empty()) {
if (!commandshortcut.empty()) {
- string newbuf = owner->getMiniBuffer()->GetText();
+ string const newbuf =
+ owner->getMiniBuffer()->GetText();
if (newbuf != commandshortcut) {
owner->getMiniBuffer()->Set(newbuf
+ " " +
LyXFileDlg fileDlg;
if (owner->view()->available()) {
- string trypath = owner->buffer()->filepath;
+ string const trypath = owner->buffer()->filepath;
// If directory is writeable, use this as default.
if (IsDirWriteable(trypath) == 1)
initpath = trypath;
static int newfile_number = 0;
string s;
-
+
if (lyxrc.new_ask_filename) {
ProhibitInput(owner->view());
fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
// Check if the document already is open
if (bufferlist.exists(s)) {
- switch(AskConfirmation(_("Document is already open:"),
+ switch (AskConfirmation(_("Document is already open:"),
MakeDisplayPath(s, 50),
_("Do you want to close that document now?\n"
"('No' will just switch to the open version)")))
string templname;
if (fromTemplate) {
ProhibitInput(owner->view());
- string fname = fileDlg.Select(_("Choose template"),
- lyxrc.template_path,
- "*.lyx");
+ string const fname = fileDlg.Select(_("Choose template"),
+ lyxrc.template_path,
+ "*.lyx");
AllowInput(owner->view());
if (fname.empty()) return;
templname = fname;
LyXFileDlg fileDlg;
if (owner->view()->available()) {
- string trypath = owner->buffer()->filepath;
+ string const trypath = owner->buffer()->filepath;
// If directory is writeable, use this as default.
if (IsDirWriteable(trypath) == 1)
initpath = trypath;
}
}
+
// checks for running without gui are missing.
void LyXFunc::doImport(string const & argument)
{
LyXFileDlg fileDlg;
if (owner->view()->available()) {
- string trypath = owner->buffer()->filepath;
+ string const trypath = owner->buffer()->filepath;
// If directory is writeable, use this as default.
if (IsDirWriteable(trypath) == 1)
initpath = trypath;
fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
fileDlg.SetButton(1, _("Examples"),
AddPath(system_lyxdir, "examples"));
- string text = _("Select ") + Formats::PrettyName(format)
+ string const text = _("Select ") + formats.PrettyName(format)
+ _(" file to import");
- string format2 = (format == "textparagraph") ? "text" : format;
- string extension = "*." + Formats::Extension(format2);
+ string const extension = "*." + formats.Extension(format);
filename = fileDlg.Select(text, initpath, extension);
AllowInput(owner->view());
// get absolute path of file
filename = MakeAbsPath(filename);
- string lyxfile = ChangeExtension(filename, ".lyx");
+ string const lyxfile = ChangeExtension(filename, ".lyx");
// Check if the document already is open
if (bufferlist.exists(lyxfile)) {
- switch(AskConfirmation(_("Document is already open:"),
+ switch (AskConfirmation(_("Document is already open:"),
MakeDisplayPath(lyxfile, 50),
_("Do you want to close that document now?\n"
"('No' will just switch to the open version)")))
}
// Check if a LyX document by the same root exists in filesystem
- FileInfo f(lyxfile, true);
+ FileInfo const f(lyxfile, true);
if (f.exist() && !AskQuestion(_("A document by the name"),
MakeDisplayPath(lyxfile),
_("already exists. Overwrite?"))) {
LyXFileDlg fileDlg;
if (owner->view()->available()) {
- string trypath = owner->buffer()->filepath;
+ string const trypath = owner->buffer()->filepath;
// If directory is writeable, use this as default.
if (IsDirWriteable(trypath) == 1)
initpath = trypath;
// Inserts document
owner->getMiniBuffer()->Set(_("Inserting document"),
MakeDisplayPath(filename), "...");
- bool res = owner->view()->insertLyXFile(filename);
+ bool const res = owner->view()->insertLyXFile(filename);
if (res) {
owner->getMiniBuffer()->Set(_("Document"),
MakeDisplayPath(filename),
void LyXFunc::reloadBuffer()
{
- string fn = owner->buffer()->fileName();
+ string const fn = owner->buffer()->fileName();
if (bufferlist.close(owner->buffer()))
owner->view()->buffer(bufferlist.loadLyXFile(fn));
}
// set variables that don't exist
// since there's no current buffer
owner->getDialogs()->hideBufferDependent();
- }
- else {
+ } else {
owner->view()->buffer(bufferlist.first());
}
}