* ====================================================== */
#include <config.h>
+
+#ifdef HAVE_SSTREAM
+#include <sstream>
+using std::istringstream;
+#else
+#include <strstream>
+#endif
+
#include <time.h>
#include <locale.h>
// (alkis)
extern tex_accent_struct get_accent(kb_action action);
-extern void AutoSave();
+extern void AutoSave(BufferView *);
extern void SetUpdateTimer(float timer = 0.3);
extern void FreeUpdateTimer();
extern bool PreviewDVI(Buffer *);
owner->view()->unlockInset(tli);
owner->view()->text->CursorRight();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
} else {
tli->UnlockInsetInInset(owner->view(),
tli->GetLockingInset());
case LFUN_BREAKLINE:
owner->view()->text->CursorRight();
owner->view()->setState();
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_RIGHT:
if (!owner->view()->text->cursor.par->isRightToLeftPar()) {
owner->view()->text->CursorRight();
moveCursorUpdate(false);
owner->getMiniBuffer()->
- Set(CurrentState());
+ Set(CurrentState(owner->view()));
}
return string();
case LFUN_LEFT:
owner->view()->text->CursorRight();
moveCursorUpdate(false);
owner->getMiniBuffer()->
- Set(CurrentState());
+ Set(CurrentState(owner->view()));
}
return string();
default:
}
case LFUN_AUTOSAVE:
- AutoSave();
+ AutoSave(owner->view());
break;
case LFUN_UNDO:
break;
case LFUN_FREE:
- Free();
+ Free(owner->view());
break;
case LFUN_TEX:
- Tex();
+ Tex(owner->view());
owner->view()->setState();
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_MELT:
case LFUN_LANGUAGE:
{
- LangCB(argument);
+ Lang(owner->view(), argument);
owner->view()->setState();
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
}
break;
case LFUN_EMPH:
- Emph();
- owner->getMiniBuffer()->Set(CurrentState());
+ Emph(owner->view());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_BOLD:
- Bold();
- owner->getMiniBuffer()->Set(CurrentState());
+ Bold(owner->view());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_NOUN:
- Noun();
- owner->getMiniBuffer()->Set(CurrentState());
+ Noun(owner->view());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_CODE:
- Code();
- owner->getMiniBuffer()->Set(CurrentState());
+ Code(owner->view());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_SANS:
- Sans();
- owner->getMiniBuffer()->Set(CurrentState());
+ Sans(owner->view());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_ROMAN:
- Roman();
- owner->getMiniBuffer()->Set(CurrentState());
+ Roman(owner->view());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_DEFAULT:
- StyleReset();
- owner->getMiniBuffer()->Set(CurrentState());
+ StyleReset(owner->view());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_UNDERLINE:
- Underline();
- owner->getMiniBuffer()->Set(CurrentState());
+ Underline(owner->view());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_FONT_SIZE:
- FontSize(argument);
- owner->getMiniBuffer()->Set(CurrentState());
+ FontSize(owner->view(), argument);
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_FONT_STATE:
- setMessage(CurrentState());
+ setMessage(CurrentState(owner->view()));
break;
case LFUN_UPCASE_WORD:
tmptext->CursorRight();
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
}
break;
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
}
break;
owner->view()->text->CursorUp();
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_DOWN:
owner->view()->text->CursorDown();
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_UP_PARAGRAPH:
owner->view()->text->CursorUpParagraph();
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_DOWN_PARAGRAPH:
owner->view()->text->CursorDownParagraph();
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_PRIOR:
owner->view()->cursorPrevious();
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_NEXT:
owner->view()->cursorNext();
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_HOME:
owner->view()->text->CursorHome();
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_END:
owner->view()->text->CursorEnd();
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_TAB:
owner->view()->text->CursorTab();
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_WORDRIGHT:
owner->view()->text->CursorRightOneWord();
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_WORDLEFT:
owner->view()->text->CursorLeftOneWord();
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_BEGINNINGBUF:
owner->view()->text->CursorTop();
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_ENDBUF:
owner->view()->text->CursorBottom();
owner->view()->text->FinishUndo();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
owner->view()->text->CursorRight();
owner->view()->text->FinishUndo();
moveCursorUpdate(true);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_LEFTSEL:
owner->view()->text->CursorLeft();
owner->view()->text->FinishUndo();
moveCursorUpdate(true);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_UPSEL:
owner->view()->text->CursorUp();
owner->view()->text->FinishUndo();
moveCursorUpdate(true);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_DOWNSEL:
owner->view()->text->CursorDown();
owner->view()->text->FinishUndo();
moveCursorUpdate(true);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_UP_PARAGRAPHSEL:
owner->view()->text->CursorUpParagraph();
owner->view()->text->FinishUndo();
moveCursorUpdate(true);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_DOWN_PARAGRAPHSEL:
owner->view()->text->CursorDownParagraph();
owner->view()->text->FinishUndo();
moveCursorUpdate(true);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_PRIORSEL:
owner->view()->cursorPrevious();
owner->view()->text->FinishUndo();
moveCursorUpdate(true);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_NEXTSEL:
owner->view()->cursorNext();
owner->view()->text->FinishUndo();
moveCursorUpdate(true);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_HOMESEL:
owner->view()->text->CursorHome();
owner->view()->text->FinishUndo();
moveCursorUpdate(true);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_ENDSEL:
owner->view()->text->CursorEnd();
owner->view()->text->FinishUndo();
moveCursorUpdate(true);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_WORDRIGHTSEL:
owner->view()->text->CursorRightOneWord();
owner->view()->text->FinishUndo();
moveCursorUpdate(true);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_WORDLEFTSEL:
owner->view()->text->CursorLeftOneWord();
owner->view()->text->FinishUndo();
moveCursorUpdate(true);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_BEGINNINGBUFSEL:
owner->view()->text->CursorTop();
owner->view()->text->FinishUndo();
moveCursorUpdate(true);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
case LFUN_ENDBUFSEL:
owner->view()->text->CursorBottom();
owner->view()->text->FinishUndo();
moveCursorUpdate(true);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
// --- text changing commands ------------------------
}
SetUpdateTimer();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
owner->view()->setState();
break;
owner->view()->update( 1 );
SetUpdateTimer();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
/* -------> Delete word backward. */
owner->view()->update( 1 );
SetUpdateTimer();
moveCursorUpdate(false);
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
/* -------> Kill to end of line. */
owner->view()->cut();
}
SetUpdateTimer();
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
owner->view()->setState();
}
break;
owner->view()->text->sel_cursor =
owner->view()->text->cursor;
owner->view()->setState();
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
}
owner->view()->text->sel_cursor =
owner->view()->text->cursor;
owner->view()->setState();
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
break;
}
SetUpdateTimer(0.01);
owner->view()->text->sel_cursor = cursor;
owner->view()->setState();
- owner->getMiniBuffer()->Set(CurrentState());
+ owner->getMiniBuffer()->Set(CurrentState(owner->view()));
+ }
+ break;
+
+ case LFUN_PARAGRAPH_SPACING:
+ {
+ LyXParagraph * par = owner->view()->text->cursor.par;
+ Spacing::Space cur_spacing = par->spacing.getSpace();
+ float cur_value = 1.0;
+ if (cur_spacing == Spacing::Other) {
+ cur_value = par->spacing.getValue();
+ }
+
+ lyxerr << "all spacing arguments: " << argument << endl;
+ istringstream istr(argument);
+ string tmp;
+ istr >> tmp;
+ lyxerr << "spacing = " << tmp << endl;
+ Spacing::Space new_spacing = cur_spacing;
+ float new_value = cur_value;
+ if (tmp == "single") {
+ new_spacing = Spacing::Single;
+ } else if (tmp == "onehalf") {
+ new_spacing = Spacing::Onehalf;
+ } else if (tmp == "double") {
+ new_spacing = Spacing::Double;
+ } else if (tmp == "other") {
+ new_spacing = Spacing::Other;
+ float tmpval = 0.0;
+ istr >> tmpval;
+ lyxerr << "new_value = " << tmpval << endl;
+ if (tmpval != 0.0)
+ new_value = tmpval;
+ } else if (tmp == "default") {
+ new_spacing = Spacing::Default;
+ } else {
+ lyxerr << _("Unknown spacing argument: ")
+ << argument << endl;
+ }
+ if (cur_spacing != new_spacing || cur_value != new_value) {
+ par->spacing.set(new_spacing, new_value);
+ owner->view()->text->RedoParagraph();
+ owner->view()->update(-1);
+ }
}
break;
new_inset->Edit(owner->view(), 0, 0, 0);
}
break;
+
case LFUN_INSET_TEXT:
{
InsetText * new_inset = new InsetText(owner->buffer());
new_inset->Edit(owner->view(), 0, 0, 0);
}
break;
+
case LFUN_INSET_FOOTNOTE:
{
InsetFoot * new_inset = new InsetFoot(owner->buffer());
case LFUN_GETFONT:
{
- LyXFont * font = &(owner->view()->text->current_font);
- if(font->shape() == LyXFont::ITALIC_SHAPE)
+ LyXFont & font = owner->view()->text->current_font;
+ 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)
+ LyXFont & font = owner->view()->text->current_font;
+ if(font.latex() == LyXFont::ON)
dispatch_buffer = 'L';
else
dispatch_buffer = '0';
initpath = trypath;
}
- ProhibitInput();
+ ProhibitInput(owner->view());
fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
fileDlg.SetButton(1, _("Templates"), lyxrc.template_path);
fname = fileDlg.Select(_("Enter Filename for new document"),
initpath, "*.lyx", _("newfile"));
- AllowInput();
+ AllowInput(owner->view());
if (fname.empty()) {
owner->getMiniBuffer()->Set(_("Canceled."));
// The template stuff
string templname;
if (fromTemplate) {
- ProhibitInput();
+ ProhibitInput(owner->view());
fname = fileDlg.Select(_("Choose template"),
lyxrc.template_path,
"*.lyx");
templname = fname;
- AllowInput();
+ AllowInput(owner->view());
}
// find a free buffer
}
// launches dialog
- ProhibitInput();
+ ProhibitInput(owner->view());
fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
fileDlg.SetButton(1, _("Examples"),
AddPath(system_lyxdir, "examples"));
string filename = fileDlg.Select(_("Select Document to Open"),
initpath, "*.lyx");
- AllowInput();
+ AllowInput(owner->view());
// check selected filename
if (filename.empty()) {
}
// launches dialog
- ProhibitInput();
+ ProhibitInput(owner->view());
fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
fileDlg.SetButton(1, _("Examples"),
AddPath(system_lyxdir, "examples"));
string filename = fileDlg.Select(_("Select ASCII file to Import"),
initpath, "*.txt");
- AllowInput();
+ AllowInput(owner->view());
// check selected filename
if (filename.empty()) {
}
// launches dialog
- ProhibitInput();
+ ProhibitInput(owner->view());
fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
fileDlg.SetButton(1, _("Examples"),
AddPath(system_lyxdir, "examples"));
initpath, "*.tex");
}
- AllowInput();
+ AllowInput(owner->view());
// check selected filename
if (filename.empty()) {
}
// launches dialog
- ProhibitInput();
+ ProhibitInput(owner->view());
fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
fileDlg.SetButton(1, _("Examples"),
AddPath(system_lyxdir, "examples"));
string filename = fileDlg.Select(_("Select LinuxDoc file to Import"),
initpath, "*.sgml");
- AllowInput();
+ AllowInput(owner->view());
// check selected filename
if (filename.empty()) {
}
// launches dialog
- ProhibitInput();
+ ProhibitInput(owner->view());
fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
fileDlg.SetButton(1, _("Examples"),
AddPath(system_lyxdir, "examples"));
filename = fileDlg.Select(_("Select Document to Insert"),
initpath, "*.lyx");
- AllowInput();
+ AllowInput(owner->view());
// check selected filename
if (filename.empty()) {