#pragma implementation
#endif
+#include <algorithm>
+
#include "menus.h"
#include "version.h"
#include "lyxfont.h"
#include "lyxtext.h"
#include "gettext.h"
#include "layout.h"
+#include "lyx_cb.h"
+#include "bufferview_funcs.h"
+#include "insets/insetref.h"
+#include "insets/insettabular.h"
+#include "tabular.h"
+
+#include "frontends/Dialogs.h"
+
+using std::vector;
+using std::endl;
+using std::max;
+using std::min;
+using std::sort;
extern FD_form_screen * fd_form_screen;
extern BufferList bufferlist;
extern void MenuLayoutSave();
extern void ShowCredits();
-extern void ShowCopyright();
extern void show_symbols_form(LyXFunc *);
-extern void ProhibitInput();
-extern void AllowInput();
extern void LaTeXOptions(BufferView *);
// A bunch of wrappers
Menus::ShowEditMenu(ob, data);
}
+extern "C" void C_Menus_ShowTocMenu(FL_OBJECT * ob, long data)
+{
+ Menus::ShowTocMenu(ob, data);
+}
+
+extern "C" void C_Menus_ShowRefsMenu(FL_OBJECT * ob, long data)
+{
+ Menus::ShowRefsMenu(ob, data);
+}
+
extern "C" void C_Menus_ShowLayoutMenu(FL_OBJECT * ob, long data)
{
Menus::ShowLayoutMenu(ob, data);
fl_set_object_shortcut(menu_file, "", 1);
fl_set_object_shortcut(menu_file2, "", 1);
fl_set_object_shortcut(menu_edit, "", 1);
+ fl_set_object_shortcut(menu_toc, "", 1);
+ fl_set_object_shortcut(menu_refs, "", 1);
fl_set_object_shortcut(menu_layout, "", 1);
fl_set_object_shortcut(menu_math, "", 1);
fl_set_object_shortcut(menu_insert, "", 1);
}
-inline BufferView * Menus::currentView()
+inline
+BufferView * Menus::currentView()
{
return _view->view();
}
ShowFileMenu(menu_file, 0);
else if (menuName == _("Edit"))
ShowEditMenu(menu_edit, 0);
+ else if (menuName == _("TOC"))
+ ShowTocMenu(menu_toc, 0);
+ else if (menuName == _("Refs"))
+ ShowRefsMenu(menu_refs, 0);
else if (menuName == _("Layout"))
ShowLayoutMenu(menu_layout, 0);
else if (menuName == _("Insert"))
fl_set_object_callback(obj, C_Menus_ShowEditMenu, 0);
obj->u_vdata = this;
+ /// TOC menu button
+ menu_toc = obj =
+ fl_add_button(FL_TOUCH_BUTTON,
+ moffset, yloc,
+ fl_get_string_width(FL_BOLD_STYLE,
+ MENU_LABEL_SIZE,
+ _("TOC"),
+ strlen(_("TOC"))) + mbadd,
+ mbheight, _("TOC"));
+ moffset += obj->w + air;
+ fl_set_object_shortcut(obj, scex(_("MB|#T")), 1);
+ fl_set_object_callback(obj, C_Menus_ShowTocMenu, 0);
+ obj->u_vdata = this;
+
+ /// Refs menu button
+ menu_refs = obj =
+ fl_add_button(FL_TOUCH_BUTTON,
+ moffset, yloc,
+ fl_get_string_width(FL_BOLD_STYLE,
+ MENU_LABEL_SIZE,
+ _("Refs"),
+ strlen(_("Refs"))) + mbadd,
+ mbheight, _("Refs"));
+ moffset += obj->w + air;
+ fl_set_object_shortcut(obj, scex(_("MB|#R")), 1);
+ fl_set_object_callback(obj, C_Menus_ShowRefsMenu, 0);
+ obj->u_vdata = this;
+
// Layout menu button
menu_layout = obj =
fl_add_button(FL_TOUCH_BUTTON,
// this is not very nice....
fl_set_input(fd_form_screen->input_roman,
- lyxrc->roman_font_name.c_str());
+ lyxrc.roman_font_name.c_str());
fl_set_input(fd_form_screen->input_sans,
- lyxrc->sans_font_name.c_str());
+ lyxrc.sans_font_name.c_str());
fl_set_input(fd_form_screen->input_typewriter,
- lyxrc->typewriter_font_name.c_str());
+ lyxrc.typewriter_font_name.c_str());
fl_set_input(fd_form_screen->input_font_norm,
- lyxrc->font_norm.c_str());
+ lyxrc.font_norm.c_str());
char tmpstring[10];
- sprintf(tmpstring, "%d", lyxrc->zoom);
+ sprintf(tmpstring, "%d", lyxrc.zoom);
fl_set_input(fd_form_screen->intinput_size, tmpstring);
if (fd_form_screen->form_screen->visible) {
fl_raise_form(fd_form_screen->form_screen);
"|LaTeX...%x30"
"|Ascii Text as Lines...%x31"
"|Ascii Text as Paragraphs%x32"
- "|Noweb%x33"));
-
+ "|Noweb%x33"
+ "|LinuxDoc%x34"));
+
fl_setpup_shortcut(SubFileImport, 30, scex(_("FIM|Ll#l#L")));
fl_setpup_shortcut(SubFileImport, 31, scex(_("FIM|Aa#a#A")));
fl_setpup_shortcut(SubFileImport, 32, scex(_("FIM|Pp#p#P")));
fl_setpup_shortcut(SubFileImport, 33, scex(_("FIM|Nn#n#N")));
+ fl_setpup_shortcut(SubFileImport, 34, scex(_("FIM|Dd#d#D")));
// Export sub-menu
"|as LinuxDoc...%x40"
"|as DVI...%x41"
"|as PostScript...%x42"
- "|as Ascii Text...%x43"));
+ "|as Ascii Text...%x43"
+ "|as HTML...%x44"));
else if(DocBook)
SubFileExport= fl_defpup(FL_ObjWin(ob),
_("Export%t"
"|as DocBook...%x40"
"|as DVI...%x41"
"|as PostScript...%x42"
- "|as Ascii Text...%x43"));
+ "|as Ascii Text...%x43"
+ "|as HTML...%x44"));
fl_setpup_shortcut(SubFileExport, 40, scex(_("FEX|Ll#l#L")));
fl_setpup_shortcut(SubFileExport, 41, scex(_("FEX|Dd#d#D")));
fl_setpup_shortcut(SubFileExport, 42, scex(_("FEX|Pp#p#P")));
fl_setpup_shortcut(SubFileExport, 43, scex(_("FEX|Tt#t#T")));
+ fl_setpup_shortcut(SubFileExport, 44, scex(_("FEX|Hh#h#H")));
+
if (!LinuxDoc && !DocBook) {
- fl_setpup_shortcut(SubFileExport, 44, scex(_("FEX|Hh#h#H")));
fl_setpup_shortcut(SubFileExport, 45, scex(_("FEX|mM#m#M")));
}
// These commands are disabled when the corresponding programs
// are not installed. I simply grey them out, since I do not
// want to change their number (JMarc)
- bool hasLaTeX = lyxrc->latex_command != "none";
+ bool hasLaTeX = lyxrc.latex_command != "none";
- if (!hasLaTeX || lyxrc->view_dvi_command == "none")
+ if (!hasLaTeX || lyxrc.view_dvi_command == "none")
fl_setpup_mode(FileMenu, 8, FL_PUP_GREY);
- if (!hasLaTeX || lyxrc->view_ps_command == "none")
+ if (!hasLaTeX || lyxrc.view_ps_command == "none")
fl_setpup_mode(FileMenu, 9, FL_PUP_GREY);
if (!hasLaTeX) {
fl_setpup_mode(FileMenu, 11, FL_PUP_GREY);
}
- if (lyxrc->literate_command == "none" || ! Literate)
+ if (lyxrc.literate_command == "none" || ! Literate)
fl_setpup_mode(FileMenu, 12, FL_PUP_GREY);
- if (!hasLaTeX || lyxrc->print_command == "none")
+ if (!hasLaTeX || lyxrc.print_command == "none")
fl_setpup_mode(FileMenu, 13, FL_PUP_GREY);
- if (!hasLaTeX || lyxrc->fax_command == "none")
+ if (!hasLaTeX || lyxrc.fax_command == "none")
fl_setpup_mode(FileMenu, 14, FL_PUP_GREY);
- bool hasReLyX = lyxrc->relyx_command != "none";
+ bool hasReLyX = lyxrc.relyx_command != "none";
if (!hasReLyX) {
// Disable import LaTeX and Noweb
fl_setpup_mode(SubFileImport, 30, FL_PUP_GREY);
fl_setpup_mode(SubFileImport, 33, FL_PUP_GREY);
}
+ if ( lyxrc.linuxdoc_to_lyx_command == "none")
+ fl_setpup_mode(SubFileImport, 34, FL_PUP_GREY);
+
if (!hasLaTeX) {
// Disable export dvi and export postscript
fl_setpup_mode(SubFileExport, 41, FL_PUP_GREY);
fl_setpup_mode(SubFileExport, 42, FL_PUP_GREY);
}
- if (lyxrc->html_command == "none") {
+ if ((!LinuxDoc && !DocBook && lyxrc.html_command == "none") ||
+ ( LinuxDoc && lyxrc.linuxdoc_to_html_command == "none") ||
+ ( DocBook && lyxrc.docbook_to_html_command == "none")) {
// Disable export HTML
fl_setpup_mode(SubFileExport, 44, FL_PUP_GREY);
}
// make the lastfiles menu
int ii = 1;
- for (LastFiles::Files::const_iterator cit = lastfiles->begin();
+ for (LastFiles::const_iterator cit = lastfiles->begin();
cit != lastfiles->end() && ii < 10; ++cit, ++ii) {
string tmp = tostr(ii);
- string tmp2 = tmp + "#" + tmp;;
+ string tmp2 = tmp + "#" + tmp;
tmp += ". " + MakeDisplayPath((*cit), 30);
fl_addtopup(FileMenu, tmp.c_str());
fl_setpup_shortcut(FileMenu, 18 - 1 + ii, tmp2.c_str());
break;
case 33: tmpfunc->Dispatch(LFUN_IMPORT, "noweb");
break;
+ case 34: tmpfunc->Dispatch(LFUN_IMPORT, "linuxdoc");
+ break;
case 16: // export menu
case 40:
if (!LinuxDoc && !DocBook)
break;
case 43: tmpfunc->Dispatch(LFUN_EXPORT, "ascii");
break;
- case 44: tmpfunc->Dispatch(LFUN_EXPORT, "html");
+ case 44:
+ if (!LinuxDoc && !DocBook)
+ tmpfunc->Dispatch(LFUN_EXPORT, "html");
+ else if(LinuxDoc)
+ tmpfunc->Dispatch(LFUN_EXPORT, "html-linuxdoc");
+ else
+ tmpfunc->Dispatch(LFUN_EXPORT, "html-docbook");
break;
case 45: tmpfunc->Dispatch(LFUN_EXPORT, "custom");
break;
fl_freepup(SubFileExport);
fl_freepup(FileMenu);
- AllowInput();
+ AllowInput(men->currentView());
}
"|LaTeX...%x15"
"|Ascii Text as Lines...%x16"
"|Ascii Text as Paragraphs...%x17"
- "|Noweb...%x18"));
+ "|Noweb...%x18"
+ "|LinuxDoc...%x19"));
fl_setpup_shortcut(SubFileImport, 15, scex(_("FIM|Ll#l#L")));
fl_setpup_shortcut(SubFileImport, 16, scex(_("FIM|Aa#a#A")));
fl_setpup_shortcut(SubFileImport, 17, scex(_("FIM|Pp#p#P")));
fl_setpup_shortcut(SubFileImport, 18, scex(_("FIM|Nn#n#N")));
+ fl_setpup_shortcut(SubFileImport, 19, scex(_("FIM|Dd#d#D")));
- bool hasReLyX = lyxrc->relyx_command != "none";
+ bool hasReLyX = lyxrc.relyx_command != "none";
if (!hasReLyX) {
// Disable import LaTeX and Noweb
fl_setpup_mode(SubFileImport, 15, FL_PUP_GREY);
fl_setpup_mode(SubFileImport, 18, FL_PUP_GREY);
}
+ if ( lyxrc.linuxdoc_to_lyx_command == "none")
+ fl_setpup_mode(SubFileImport, 19, FL_PUP_GREY);
+
// This can be done cleaner later.
int FileMenu = fl_defpup(FL_ObjWin(ob),
_("New..."
// make the lastfiles menu
int ii = 1;
- for (LastFiles::Files::const_iterator cit = lastfiles->begin();
+ for (LastFiles::const_iterator cit = lastfiles->begin();
cit != lastfiles->end() && ii < 10; ++cit, ++ii) {
string tmp = tostr(ii);
- string tmp2 = tmp + "#" + tmp;;
+ string tmp2 = tmp + "#" + tmp;
tmp += ". " + MakeDisplayPath((*cit), 30);
fl_addtopup(FileMenu, tmp.c_str());
fl_setpup_shortcut(FileMenu, 18 - 1 + ii, tmp2.c_str());
break;
case 18: tmpfunc->Dispatch(LFUN_IMPORT, "noweb");
break;
+ case 19: tmpfunc->Dispatch(LFUN_IMPORT, "linuxdoc");
+ break;
case 5:
tmpfunc->Dispatch(LFUN_QUIT);
break;
fl_freepup(SubFileImport);
fl_freepup(FileMenu);
- AllowInput();
+ AllowInput(men->currentView());
return;
}
// Table submenu
int SubEditTable = fl_newpup(FL_ObjWin(ob));
if (men->currentView()->available() &&
- men->currentView()->text->cursor.par->table &&
+ men->currentView()->text->cursor.par()->table &&
!tmpbuffer->isReadonly()){
+ LyXTable * table = men->currentView()->text->cursor.par()->table;
fl_addtopup(SubEditTable, _("Table%t"));
- if (men->currentView()->text->cursor.par->table->
- IsMultiColumn(men->currentView()->text->
- NumberOfCell(men->currentView()->
- text->cursor.par,
- men->currentView()->
- text->cursor.pos)))
+ if (table->IsMultiColumn(men->currentView()->text->
+ NumberOfCell(men->currentView()->
+ text->cursor.par(),
+ men->currentView()->
+ text->cursor.pos())))
fl_addtopup(SubEditTable, _("|Multicolumn%B%x44%l"));
else
fl_addtopup(SubEditTable, _("|Multicolumn%b%x44%l"));
fl_setpup_shortcut(SubEditTable, 44, scex(_("EMT|Mm#m#M")));
- if (men->currentView()->text->cursor.par->table->
- TopLine(men->currentView()->text->
- NumberOfCell(men->currentView()->
- text->cursor.par,
- men->currentView()->text->
- cursor.pos)))
+ if (table->TopLine(men->currentView()->text->
+ NumberOfCell(men->currentView()->
+ text->cursor.par(),
+ men->currentView()->text->
+ cursor.pos())))
fl_addtopup(SubEditTable, _("|Line Top%B%x36"));
else
fl_addtopup(SubEditTable, _("|Line Top%b%x36"));
fl_setpup_shortcut(SubEditTable, 36, scex(_("EMT|Tt#t#T")));
- if (men->currentView()->text->cursor.par->table->
- BottomLine(men->currentView()->text->
- NumberOfCell(men->currentView()->
- text->cursor.par,
- men->currentView()->
- text->cursor.pos)))
+ if (table->BottomLine(men->currentView()->text->
+ NumberOfCell(men->currentView()->
+ text->cursor.par(),
+ men->currentView()->
+ text->cursor.pos())))
fl_addtopup(SubEditTable, _("|Line Bottom%B%x37"));
else
fl_addtopup(SubEditTable, _("|Line Bottom%b%x37"));
fl_setpup_shortcut(SubEditTable, 37, scex(_("EMT|Bb#b#B")));
- if (men->currentView()->text->cursor.par->table->
- LeftLine(men->currentView()->text->
- NumberOfCell(men->currentView()->
- text->cursor.par,
- men->currentView()->
- text->cursor.pos)))
+ if (table->LeftLine(men->currentView()->text->
+ NumberOfCell(men->currentView()->
+ text->cursor.par(),
+ men->currentView()->
+ text->cursor.pos())))
fl_addtopup(SubEditTable, _("|Line Left%B%x38"));
else
fl_addtopup(SubEditTable, _("|Line Left%b%x38"));
fl_setpup_shortcut(SubEditTable, 38, scex(_("EMT|Ll#l#L")));
- if (men->currentView()->text->cursor.par->table->
- RightLine(men->currentView()->text->
- NumberOfCell(men->currentView()->
- text->cursor.par,
- men->currentView()->
- text->cursor.pos)))
+ if (table->RightLine(men->currentView()->text->
+ NumberOfCell(men->currentView()->
+ text->cursor.par(),
+ men->currentView()->
+ text->cursor.pos())))
fl_addtopup(SubEditTable, _("|Line Right%B%x39%l"));
else
fl_addtopup(SubEditTable, _("|Line Right%b%x39%l"));
fl_setpup_shortcut(SubEditTable, 39, scex(_("EMT|Rr#r#R")));
- int align = men->currentView()->text->cursor.par->
+ int align =
table->GetAlignment(men->currentView()->text->
NumberOfCell(men->currentView()->
- text->cursor.par,
+ text->cursor.par(),
men->currentView()->
- text->cursor.pos));
+ text->cursor.pos()));
if (align == LYX_ALIGN_LEFT)
fl_addtopup(SubEditTable, _("|Align Left%R%x40"));
else
// xgettext:no-c-format
fl_addtopup(SubEditTable, _("|Delete Table%x43"));
fl_setpup_shortcut(SubEditTable, 43, scex(_("EMT|Dd#d#D")));
- }
- else {
+ } else if (men->currentView()->the_locking_inset &&
+ (men->currentView()->the_locking_inset->LyxCode() ==
+ Inset::TABULAR_CODE) &&
+ !tmpbuffer->isReadonly()) {
+ InsetTabular * inset = static_cast<InsetTabular *>(men->currentView()->the_locking_inset);
+ LyXTabular * table = inset->tabular;
+
+ fl_addtopup(SubEditTable, _("Table%t"));
+
+ if (table->IsMultiColumn(inset->GetActCell()))
+ fl_addtopup(SubEditTable, _("|Multicolumn%B%x44%l"));
+ else
+ fl_addtopup(SubEditTable, _("|Multicolumn%b%x44%l"));
+ fl_setpup_shortcut(SubEditTable, 44, scex(_("EMT|Mm#m#M")));
+
+ if (table->TopLine(inset->GetActCell()))
+ fl_addtopup(SubEditTable, _("|Line Top%B%x36"));
+ else
+ fl_addtopup(SubEditTable, _("|Line Top%b%x36"));
+ fl_setpup_shortcut(SubEditTable, 36, scex(_("EMT|Tt#t#T")));
+
+ if (table->BottomLine(inset->GetActCell()))
+ fl_addtopup(SubEditTable, _("|Line Bottom%B%x37"));
+ else
+ fl_addtopup(SubEditTable, _("|Line Bottom%b%x37"));
+ fl_setpup_shortcut(SubEditTable, 37, scex(_("EMT|Bb#b#B")));
+
+ if (table->LeftLine(inset->GetActCell()))
+ fl_addtopup(SubEditTable, _("|Line Left%B%x38"));
+ else
+ fl_addtopup(SubEditTable, _("|Line Left%b%x38"));
+ fl_setpup_shortcut(SubEditTable, 38, scex(_("EMT|Ll#l#L")));
+
+ if (table->RightLine(inset->GetActCell()))
+ fl_addtopup(SubEditTable, _("|Line Right%B%x39%l"));
+ else
+ fl_addtopup(SubEditTable, _("|Line Right%b%x39%l"));
+ fl_setpup_shortcut(SubEditTable, 39, scex(_("EMT|Rr#r#R")));
+
+ int align = table->GetAlignment(inset->GetActCell());
+ if (align == LYX_ALIGN_LEFT)
+ fl_addtopup(SubEditTable, _("|Align Left%R%x40"));
+ else
+ fl_addtopup(SubEditTable, _("|Align Left%r%x40"));
+ fl_setpup_shortcut(SubEditTable, 40, scex(_("EMT|eE#e#E")));
+
+ if (align == LYX_ALIGN_RIGHT)
+ fl_addtopup(SubEditTable, _("|Align Right%R%x41"));
+ else
+ fl_addtopup(SubEditTable, _("|Align Right%r%x41"));
+ fl_setpup_shortcut(SubEditTable, 41, scex(_("EMT|iI#i#I")));
+
+ if (align == LYX_ALIGN_CENTER)
+ fl_addtopup(SubEditTable, _("|Align Center%R%x42%l"));
+ else
+ fl_addtopup(SubEditTable, _("|Align Center%r%x42%l"));
+ fl_setpup_shortcut(SubEditTable, 42, scex(_("EMT|Cc#c#C")));
+
+ // xgettext:no-c-format
+ fl_addtopup(SubEditTable, _("|Append Row%x32"));
+ fl_setpup_shortcut(SubEditTable, 32, scex(_("EMT|oO#o#O")));
+ // xgettext:no-c-format
+ fl_addtopup(SubEditTable, _("|Append Column%x33%l"));
+ fl_setpup_shortcut(SubEditTable, 33, scex(_("EMT|uU#u#U")));
+ // xgettext:no-c-format
+ fl_addtopup(SubEditTable, _("|Delete Row%x34"));
+ fl_setpup_shortcut(SubEditTable, 34, scex(_("EMT|wW#w#W")));
+ // xgettext:no-c-format
+ fl_addtopup(SubEditTable, _("|Delete Column%x35%l"));
+ fl_setpup_shortcut(SubEditTable, 35, scex(_("EMT|nN#n#N")));
+ // xgettext:no-c-format
+ fl_addtopup(SubEditTable, _("|Delete Table%x43"));
+ fl_setpup_shortcut(SubEditTable, 43, scex(_("EMT|Dd#d#D")));
+ } else {
fl_addtopup(SubEditTable, _("Table%t"));
// xgettext:no-c-format
fl_addtopup(SubEditTable, _("|Insert table%x31"));
"|Table%m"
"|Spellchecker...."
"|Check TeX"
- "|Table of Contents...%l"
+ "|Table of Contents..."
+ "|List of Figures..."
+ "|List of Tables..."
+ "|List of Algorithms...%l"
"|Version Control%m%l"
"|View LaTeX log file%l"
"|Paste Primary Selection as Lines"
fl_setpup_shortcut(EditMenu, 7, scex(_("EM|Ee#e#E")));
fl_setpup_shortcut(EditMenu, 8, scex(_("EM|Nn#n#N")));
fl_setpup_shortcut(EditMenu, 9, scex(_("EM|Ii#i#I")));
- fl_setpup_shortcut(EditMenu, 10, scex(_("EM|Tt#t#T")));
+ //fl_setpup_shortcut(EditMenu, 10, scex(_("EM|Tt#t#T")));
fl_setpup_shortcut(EditMenu, 11, scex(_("EM|Ss#s#S")));
fl_setpup_shortcut(EditMenu, 12, scex(_("EM|hH#h#H")));
- fl_setpup_shortcut(EditMenu, 13, scex(_("EM|aA#a#A")));
- fl_setpup_shortcut(EditMenu, 14, scex(_("EM|Vv#v#V")));
- fl_setpup_shortcut(EditMenu, 15, scex(_("EM|wW#w#W")));
- fl_setpup_shortcut(EditMenu, 16, scex(_("EM|Ll#l#L")));
- fl_setpup_shortcut(EditMenu, 17, scex(_("EM|gG#g#G")));
+ fl_setpup_shortcut(EditMenu, 13, scex(_("EM|Tt#t#T")));
+ //fl_setpup_shortcut(EditMenu, 14, scex(_("EM|Ff#f#F")));
+ //fl_setpup_shortcut(EditMenu, 15, scex(_("EM|bB#b#B")));
+ //fl_setpup_shortcut(EditMenu, 16, scex(_("EM|mM#m#M")));
+ fl_setpup_shortcut(EditMenu, 17, scex(_("EM|Vv#v#V")));
+ fl_setpup_shortcut(EditMenu, 18, scex(_("EM|wW#w#W")));
+ fl_setpup_shortcut(EditMenu, 19, scex(_("EM|Ll#l#L")));
+ fl_setpup_shortcut(EditMenu, 20, scex(_("EM|gG#g#G")));
// disable unavailable entries.
if(tmpbuffer->undostack.empty())
fl_setpup_mode(EditMenu, 1, FL_PUP_GREY);
if(tmpbuffer->redostack.empty())
fl_setpup_mode(EditMenu, 2, FL_PUP_GREY);
- if(lyxrc->isp_command == "none")
+ if(lyxrc.isp_command == "none")
fl_setpup_mode(EditMenu, 11, FL_PUP_GREY);
- if(lyxrc->chktex_command == "none")
+ if(lyxrc.chktex_command == "none")
fl_setpup_mode(EditMenu, 12, FL_PUP_GREY);
if (tmpbuffer->isReadonly()) {
fl_setpup_mode(EditMenu, 2, FL_PUP_GREY);
fl_setpup_mode(EditMenu, 3, FL_PUP_GREY);
fl_setpup_mode(EditMenu, 5, FL_PUP_GREY);
- fl_setpup_mode(EditMenu, 16, FL_PUP_GREY);
- fl_setpup_mode(EditMenu, 17, FL_PUP_GREY);
+ fl_setpup_mode(EditMenu, 19, FL_PUP_GREY);
+ fl_setpup_mode(EditMenu, 20, FL_PUP_GREY);
}
fl_setpup_position(men->_view->getForm()->x + ob->x,
case 11: tmpfunc->Dispatch(LFUN_SPELLCHECK); break;
case 12: tmpfunc->Dispatch(LFUN_RUNCHKTEX); break;
case 13: tmpfunc->Dispatch(LFUN_TOCVIEW); break;
- case 14: // version control
+ case 14: tmpfunc->Dispatch(LFUN_LOFVIEW); break;
+ case 15: tmpfunc->Dispatch(LFUN_LOTVIEW); break;
+ case 16: tmpfunc->Dispatch(LFUN_LOAVIEW); break;
+ case 17: // version control
break;
- case 15: tmpfunc->Dispatch(LFUN_LATEX_LOG); break;
- case 16: tmpfunc->Dispatch(LFUN_PASTESELECTION, "line"); break;
- case 17: tmpfunc->Dispatch(LFUN_PASTESELECTION, "paragraph"); break;
+ case 18: tmpfunc->Dispatch(LFUN_LATEX_LOG); break;
+ case 19: tmpfunc->Dispatch(LFUN_PASTESELECTION, "line"); break;
+ case 20: tmpfunc->Dispatch(LFUN_PASTESELECTION, "paragraph"); break;
// floats & insets sub-menu
case 21: men->currentView()->toggleFloat(); break;
men->currentView()->hideCursor();
if (!men->currentView()->text->selection){
men->currentView()->beforeChange();
- men->currentView()->update(-2);
+ men->currentView()->update(BufferView::SELECT|BufferView::FITCUR);
+ }
+ if (men->currentView()->the_locking_inset &&
+ (men->currentView()->the_locking_inset->LyxCode()
+ == Inset::TABULAR_CODE)) {
+ InsetTabular * inset =
+ static_cast<InsetTabular *>
+ (men->currentView()->the_locking_inset);
+ inset->TabularFeatures(men->currentView(), choice - 32);
+ } else {
+ men->currentView()->text->
+ TableFeatures(men->currentView(), choice - 32);
+ men->currentView()->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
}
- men->currentView()->text->
- TableFeatures(choice - 32);
- men->currentView()->update(1);
}
break;
// version control sub-menu
fl_freepup(SubVersionControl);
}
+vector<int>::size_type const max_number_of_menus = 32;
+unsigned int const max_number_of_items = 25;
+
+string Limit_string_length(string const & str) {
+ string::size_type const max_item_length = 45;
+
+ if (str.size() > max_item_length)
+ return str.substr(0, max_item_length-3) + "...";
+ else
+ return str;
+}
+
+void Add_to_toc_menu(vector<Buffer::TocItem> const & toclist,
+ unsigned int from, unsigned int to, int depth,
+ int menu, vector<int> & menus, FL_OBJECT * ob)
+{
+ if (to - from <= max_number_of_items) {
+ for (unsigned int i = from; i < to; ++i) {
+ string entry(4 * max(0, toclist[i].depth - depth),' ');
+ entry += toclist[i].str;
+ entry = Limit_string_length(entry);
+ entry += "%x" + tostr(i + 1);
+ fl_addtopup(menu, entry.c_str());
+ }
+ } else {
+ unsigned int pos = from;
+ unsigned int count = 0;
+ while (pos < to) {
+ ++count;
+ if (count > max_number_of_items) {
+ fl_addtopup(menu, ". . .%d");
+ break;
+ }
+ unsigned int new_pos = pos+1;
+ while (new_pos < to &&
+ toclist[new_pos].depth > depth)
+ ++new_pos;
+
+ string entry(4 * max(0, toclist[pos].depth - depth), ' ');
+ entry += toclist[pos].str;
+ entry = Limit_string_length(entry);
+
+ if (new_pos == pos + 1) {
+ entry += "%x";
+ entry += tostr(pos + 1);
+ fl_addtopup(menu, entry.c_str());
+ } else if (menus.size() < max_number_of_menus) {
+ int menu2 = fl_newpup(FL_ObjWin(ob));
+ menus.push_back(menu2);
+ Add_to_toc_menu(toclist, pos, new_pos,
+ depth + 1, menu2, menus,ob);
+ entry += "%m";
+ fl_addtopup(menu, entry.c_str(), menu2);
+ } else {
+ entry += "%d";
+ fl_addtopup(menu, entry.c_str());
+ }
+ pos = new_pos;
+ }
+ }
+}
+
+int const BIG_NUM = 1048576;
+
+void Menus::ShowTocMenu(FL_OBJECT * ob, long)
+{
+ Menus * men = static_cast<Menus*>(ob->u_vdata);
+ vector<int> menus;
+
+ // set the pseudo menu-button
+ fl_set_object_boxtype(ob, FL_UP_BOX);
+ fl_set_button(ob, 0);
+ fl_redraw_object(ob);
+
+ int TocMenu = fl_newpup(FL_ObjWin(ob));
+ menus.push_back(TocMenu);
+ vector<vector<Buffer::TocItem> > toclist =
+ men->currentView()->buffer()->getTocList();
+
+ //xgettext:no-c-format
+ static char const * MenuNames[3] = { N_("List of Figures%m"),
+ //xgettext:no-c-format
+ N_("List of Tables%m"),
+ //xgettext:no-c-format
+ N_("List of Algorithms%m") };
+
+ int max_nonempty = 0;
+ for (int j = 1; j <= 3; ++j)
+ if (!toclist[j].empty())
+ max_nonempty = j;
+
+ for (int j = 1; j <= 3; ++j)
+ if (!toclist[j].empty()) {
+ int menu2 = fl_newpup(FL_ObjWin(ob));
+ menus.push_back(menu2);
+ for (unsigned int i = 0; i < toclist[j].size(); ++i) {
+ if (i > max_number_of_items) {
+ fl_addtopup(menu2, ". . .%d");
+ break;
+ }
+ string entry = Limit_string_length(toclist[j][i].str);
+ entry += "%x" + tostr(i+1+j*BIG_NUM);
+ fl_addtopup(menu2, entry.c_str());
+ }
+ if (j == max_nonempty) {
+ string tmp = _(MenuNames[j-1]);
+ tmp += "%l";
+ fl_addtopup(TocMenu, tmp.c_str(), menu2);
+ } else
+ fl_addtopup(TocMenu, _(MenuNames[j-1]), menu2);
+ }
+
+ Add_to_toc_menu(toclist[0], 0, toclist[0].size(), 0,
+ TocMenu, menus, ob);
+
+ fl_setpup_position(
+ men->_view->getForm()->x + ob->x,
+ men->_view->getForm()->y + ob->y + ob->h + 10);
+ int choice = fl_dopup(TocMenu);
+ XFlush(fl_display);
+
+ // set the pseudo menu-button back
+ fl_set_object_boxtype(ob, FL_FLAT_BOX);
+ fl_redraw_object(ob);
+ if (choice == 0)
+ men->_view->getLyXFunc()->Dispatch(LFUN_TOCVIEW);
+ else if (choice > 0) {
+ int type = choice / BIG_NUM;
+ int num = (choice % BIG_NUM) - 1;
+ BufferView *bv = men->currentView();
+ bv->beforeChange();
+ bv->text->SetCursor(bv, toclist[type][num].par, 0);
+ bv->text->sel_cursor = bv->text->cursor;
+ bv->update(BufferView::SELECT|BufferView::FITCUR);
+ }
+ for (unsigned int i = 0; i < menus.size(); ++i)
+ fl_freepup(menus[i]);
+}
+
+void Add_to_refs_menu(vector<string> const & label_list, int offset,
+ int menu, vector<int> & menus, FL_OBJECT * ob)
+{
+ typedef vector<string>::size_type size_type;
+ size_type const max_number_of_items = 25;
+ size_type const max_number_of_items2 = 20;
+ string::size_type const max_item_length = 40;
+ string::size_type const max_item_length2 = 20;
+
+ if (label_list.size() <= max_number_of_items)
+ for (size_type i = 0; i < label_list.size(); ++i) {
+ string entry = label_list[i];
+ if (entry.size() > max_item_length)
+ entry = entry.substr(0, max_item_length-1) + "$";
+ entry += "%x" + tostr(i+offset);
+ fl_addtopup(menu, entry.c_str());
+ }
+ else {
+ size_type count = 0;
+ for (size_type i = 0; i < label_list.size();
+ i += max_number_of_items2) {
+ ++count;
+ if (count > max_number_of_items) {
+ fl_addtopup(menu, ". . .%d");
+ break;
+ }
+ size_type j = min(label_list.size(),
+ i+max_number_of_items2);
+
+ string entry;
+ if (label_list[i].size() > max_item_length2)
+ entry += label_list[i].substr(0, max_item_length2-1) + "$";
+ else
+ entry += label_list[i];
+ entry += "..";
+ if (label_list[j-1].size() > max_item_length2)
+ entry += label_list[j-1].substr(0, max_item_length2-1) + "$";
+ else
+ entry += label_list[j-1];
+
+ if (menus.size() < max_number_of_menus) {
+ int menu2 = fl_newpup(FL_ObjWin(ob));
+ menus.push_back(menu2);
+ for (size_type k = i; k < j; ++k) {
+ string entry2 = label_list[k];
+ if (entry2.size() > max_item_length)
+ entry2 = entry2.substr(0, max_item_length-1) + "$";
+ entry2 += "%x" + tostr(k+offset);
+ fl_addtopup(menu2, entry2.c_str());
+ }
+ entry += "%m";
+ fl_addtopup(menu, entry.c_str(), menu2);
+ } else {
+ entry += "%d";
+ fl_addtopup(menu, entry.c_str());
+ }
+ }
+ }
+}
+
+void Menus::ShowRefsMenu(FL_OBJECT * ob, long)
+{
+ vector<int> menus;
+
+ Menus * men = static_cast<Menus*>(ob->u_vdata);
+
+ // set the pseudo menu-button
+ fl_set_object_boxtype(ob, FL_UP_BOX);
+ fl_set_button(ob, 0);
+ fl_redraw_object(ob);
+
+ int RefsMenu = fl_newpup(FL_ObjWin(ob));
+ menus.push_back(RefsMenu);
+ Buffer * buffer = men->currentView()->buffer();
+ vector<string> label_list = buffer->getLabelList();
+ sort(label_list.begin(), label_list.end());
+
+ //xgettext:no-c-format
+ static char const * MenuNames[6] = { N_("Insert Reference%m"),
+ //xgettext:no-c-format
+ N_("Insert Page Number%m"),
+ //xgettext:no-c-format
+ N_("Insert vref%m"),
+ //xgettext:no-c-format
+ N_("Insert vpageref%m"),
+ //xgettext:no-c-format
+ N_("Insert Pretty Ref%m"),
+ //xgettext:no-c-format
+ N_("Goto Reference%m") };
+
+ for (int j = 0; j < 6; ++j) {
+ if (menus.size() < max_number_of_menus) {
+ int menu2 = fl_newpup(FL_ObjWin(ob));
+ menus.push_back(menu2);
+ Add_to_refs_menu(label_list, (j+1)*BIG_NUM, menu2, menus, ob);
+ fl_addtopup(RefsMenu, _(MenuNames[j]), menu2);
+ } else {
+ string tmp = _(MenuNames[j]);
+ tmp += "%d";
+ fl_addtopup(RefsMenu, tmp.c_str());
+ }
+ }
+ fl_addtopup(RefsMenu, _("Go Back"));
+
+ bool empty = label_list.empty();
+ bool sgml = buffer->isSGML();
+ bool readonly = buffer->isReadonly();
+
+ if (empty)
+ fl_setpup_mode(RefsMenu, 6, FL_PUP_GREY);
+ if (empty || readonly) {
+ fl_setpup_mode(RefsMenu, 1, FL_PUP_GREY);
+ fl_setpup_mode(RefsMenu, 2, FL_PUP_GREY);
+ }
+ if (empty || readonly || sgml) {
+ fl_setpup_mode(RefsMenu, 3, FL_PUP_GREY);
+ fl_setpup_mode(RefsMenu, 4, FL_PUP_GREY);
+ fl_setpup_mode(RefsMenu, 5, FL_PUP_GREY);
+ }
+ if (men->currentView()->NoSavedPositions())
+ fl_setpup_mode(RefsMenu, 7, FL_PUP_GREY);
+
+ fl_setpup_position(
+ men->_view->getForm()->x + ob->x,
+ men->_view->getForm()->y + ob->y + ob->h + 10);
+ int choice = fl_dopup(RefsMenu);
+ XFlush(fl_display);
+
+ // set the pseudo menu-button back
+ fl_set_object_boxtype(ob, FL_FLAT_BOX);
+ fl_redraw_object(ob);
+
+ if (choice == 7)
+ men->_view->getLyXFunc()->Dispatch(LFUN_REFBACK);
+ else if (choice >= BIG_NUM) {
+ int type = (choice / BIG_NUM) - 1;
+ int num = choice % BIG_NUM;
+ if (type >= 5)
+ men->_view->getLyXFunc()->Dispatch(LFUN_REFGOTO,
+ label_list[num].c_str());
+ else {
+ static string const commands[5]
+ = { "\\ref", "\\pageref", "\\vref", "\\vpageref",
+ "\\prettyref"};
+ string t = commands[type] + "{" + label_list[num] + "}";
+ men->currentView()->insertInset(new InsetRef(t, buffer));
+ }
+ }
+
+ for (unsigned int i = 0; i < menus.size(); ++i)
+ fl_freepup(menus[i]);
+}
+
void Menus::ShowLayoutMenu(FL_OBJECT * ob, long)
{
"|Emphasize Style%b"
"|Noun Style%b"
"|Bold Style%b"
- "|TeX Style%b"
+ "|TeX Style%b%l"
"|Change Environment Depth"
- "|LaTeX Preamble...%l"
+ "|LaTeX Preamble..."
+ "|Start of Appendix%l"
"|Save layout as default"));
fl_setpup_shortcut(LayoutMenu, 1, scex(_("LM|Cc#c#C")));
fl_setpup_shortcut(LayoutMenu, 2, scex(_("LM|Pp#p#P")));
fl_setpup_shortcut(LayoutMenu, 10, scex(_("LM|Tt#t#T")));
fl_setpup_shortcut(LayoutMenu, 11, scex(_("LM|vV#v#V")));
fl_setpup_shortcut(LayoutMenu, 12, scex(_("LM|Ll#l#L")));
- fl_setpup_shortcut(LayoutMenu, 13, scex(_("LM|Ss#s#S")));
+ fl_setpup_shortcut(LayoutMenu, 13, scex(_("LM|xX#x#X")));
+ fl_setpup_shortcut(LayoutMenu, 14, scex(_("LM|Ss#s#S")));
// Set values of checkboxes according to font
LyXFont font = men->currentView()->text->real_current_font;
fl_setpup_mode(LayoutMenu, 10, FL_PUP_CHECK);
// Grey out unavailable entries
- if (!men->currentView()->text->cursor.par->table)
+ if (!men->currentView()->text->cursor.par()->table)
fl_setpup_mode(LayoutMenu, 5, FL_PUP_GREY);
if (tmpbuffer->isReadonly()) {
case 10: tmpfunc->Dispatch(LFUN_TEX); break;
case 11: tmpfunc->Dispatch(LFUN_DEPTH_PLUS); break;
case 12: tmpfunc->Dispatch(LFUN_LAYOUT_PREAMBLE); break;
- case 13: tmpfunc->Dispatch(LFUN_LAYOUT_SAVE_DEFAULT); break;
+ case 13: tmpfunc->Dispatch(LFUN_APPENDIX); break;
+ case 14: tmpfunc->Dispatch(LFUN_LAYOUT_SAVE_DEFAULT); break;
}
fl_freepup(LayoutMenu);
}
"|Table...%l"
"|Include File..."
"|Import ASCII File%m"
- "|Insert LyX File...%l"
+ "|Insert LyX File..."
+ "|Insert external material...%l"
"|Footnote"
"|Margin Note"
"|Floats%m%l"
fl_setpup_shortcut(InsertMenu, 3, scex(_("IM|cC#c#C")));
fl_setpup_shortcut(InsertMenu, 4, scex(_("IM|Aa#a#A")));
fl_setpup_shortcut(InsertMenu, 5, scex(_("IM|Xx#x#X")));
- fl_setpup_shortcut(InsertMenu, 6, scex(_("IM|Ff#f#F")));
- fl_setpup_shortcut(InsertMenu, 7, scex(_("IM|Mm#m#M")));
- fl_setpup_shortcut(InsertMenu, 8, scex(_("IM|oO#o#O")));
- fl_setpup_shortcut(InsertMenu, 9, scex(_("IM|Tt#t#T")));
- fl_setpup_shortcut(InsertMenu, 10, scex(_("IM|Ss#s#S")));
- fl_setpup_shortcut(InsertMenu, 11, scex(_("IM|Nn#n#N")));
- fl_setpup_shortcut(InsertMenu, 12, scex(_("IM|Ll#l#L")));
- fl_setpup_shortcut(InsertMenu, 13, scex(_("IM|rR#r#R")));
- fl_setpup_shortcut(InsertMenu, 14, scex(_("IM|iI#i#I")));
- fl_setpup_shortcut(InsertMenu, 15, scex(_("IM|dD#d#D")));
- fl_setpup_shortcut(InsertMenu, 16, scex(_("IM|wW#w#W")));
+ fl_setpup_shortcut(InsertMenu, 6, scex(_("IM|Ee#e#E")));
+ fl_setpup_shortcut(InsertMenu, 7, scex(_("IM|Ff#f#F")));
+ fl_setpup_shortcut(InsertMenu, 8, scex(_("IM|Mm#m#M")));
+ fl_setpup_shortcut(InsertMenu, 9, scex(_("IM|oO#o#O")));
+ fl_setpup_shortcut(InsertMenu, 10, scex(_("IM|Tt#t#T")));
+ fl_setpup_shortcut(InsertMenu, 11, scex(_("IM|Ss#s#S")));
+ fl_setpup_shortcut(InsertMenu, 12, scex(_("IM|Nn#n#N")));
+ fl_setpup_shortcut(InsertMenu, 13, scex(_("IM|Ll#l#L")));
+ fl_setpup_shortcut(InsertMenu, 14, scex(_("IM|rR#r#R")));
+ fl_setpup_shortcut(InsertMenu, 15, scex(_("IM|iI#i#I")));
+ fl_setpup_shortcut(InsertMenu, 16, scex(_("IM|dD#d#D")));
+ fl_setpup_shortcut(InsertMenu, 17, scex(_("IM|wW#w#W")));
fl_addtopup(InsertMenu, _("|URL..."));
- fl_setpup_shortcut(InsertMenu, 17, scex(_("IM|Uu#u#U")));
+ fl_setpup_shortcut(InsertMenu, 18, scex(_("IM|Uu#u#U")));
if (tmpbuffer->isReadonly()) {
- for (int ii = 1; ii <= 16; ++ii)
+ for (int ii = 1; ii <= 17; ++ii)
fl_setpup_mode(InsertMenu, ii, FL_PUP_GREY);
- fl_setpup_mode(InsertMenu, 17, FL_PUP_GREY);
+ fl_setpup_mode(InsertMenu, 18, FL_PUP_GREY);
}
fl_setpup_position(
case 43:
break;
- case 6: tmpfunc->Dispatch(LFUN_FOOTMELT); break
+ case 6: tmpfunc->Dispatch(LFUN_INSET_EXTERNAL); break;
+
+ case 7: tmpfunc->Dispatch(LFUN_FOOTMELT); break
;
- case 7: tmpfunc->Dispatch(LFUN_MARGINMELT); break;
+ case 8: tmpfunc->Dispatch(LFUN_MARGINMELT); break;
- case 8: // Float sub-menu
+ case 9: // Float sub-menu
case 71:
tmpfunc->Dispatch(LFUN_INSERTFOOTNOTE, "figure");
break;
tmpfunc->Dispatch(LFUN_INSERTFOOTNOTE, "algorithm");
break;
- case 9: // Table/List submenu
+ case 10: // Table/List submenu
break;
case 21: tmpfunc->Dispatch(LFUN_TOC_INSERT); break;
case 22: tmpfunc->Dispatch(LFUN_LOF_INSERT); break;
case 25: tmpfunc->Dispatch(LFUN_INDEX_PRINT); break;
case 26: tmpfunc->Dispatch(LFUN_INSERT_BIBTEX); break;
- case 10: // Special Character submenu
+ case 11: // Special Character submenu
break;
case 31: tmpfunc->Dispatch(LFUN_HFILL); break;
case 32: tmpfunc->Dispatch(LFUN_HYPHENATION); break;
case 37: tmpfunc->Dispatch(LFUN_QUOTE); break;
case 38: tmpfunc->Dispatch(LFUN_MENU_SEPARATOR); break;
- case 11: tmpfunc->Dispatch(LFUN_INSERT_NOTE); break;
- case 12: tmpfunc->Dispatch(LFUN_INSERT_LABEL); break;
- case 13: tmpfunc->Dispatch(LFUN_INSERT_REF); break;
- case 14: tmpfunc->Dispatch(LFUN_INSERT_CITATION); break;
- case 15: tmpfunc->Dispatch(LFUN_INDEX_INSERT); break;
- case 16: tmpfunc->Dispatch(LFUN_INDEX_INSERT_LAST); break;
- case 17: tmpfunc->Dispatch(LFUN_URL); break;
+ case 12: tmpfunc->Dispatch(LFUN_INSERT_NOTE); break;
+ case 13: tmpfunc->Dispatch(LFUN_INSERT_LABEL); break;
+ case 14: tmpfunc->Dispatch(LFUN_INSERT_REF); break;
+ case 15: tmpfunc->Dispatch(LFUN_INSERT_CITATION); break;
+ case 16: tmpfunc->Dispatch(LFUN_INDEX_INSERT); break;
+ case 17: tmpfunc->Dispatch(LFUN_INDEX_INSERT_LAST); break;
+ case 18: tmpfunc->Dispatch(LFUN_URL); break;
}
}
fl_freepup(InsertMenu);
show_symbols_form(tmpfunc);
break;
}
- men->currentView()->update(0);
+ men->currentView()->update(BufferView::SELECT|BufferView::FITCUR);
}
fl_freepup(MathMenu);
}
"|Spellchecker Options..."
"|Keyboard..."
"|LaTeX...%l"
- "|Reconfigure" ));
+ "|Reconfigure"
+ "|Preferences"));
fl_setpup_shortcut(OptionsMenu, 1, scex(_("OM|Ff#f#F")));
fl_setpup_shortcut(OptionsMenu, 2, scex(_("OM|Ss#s#S")));
fl_setpup_shortcut(OptionsMenu, 3, scex(_("OM|Kk#k#K")));
fl_setpup_shortcut(OptionsMenu, 4, scex(_("OM|Ll#l#L")));
fl_setpup_shortcut(OptionsMenu, 5, scex(_("OM|Rr#r#R")));
+ fl_setpup_shortcut(OptionsMenu, 6, scex(_("OM|Pp#p#P")));
- if(lyxrc->isp_command == "none")
+ if(lyxrc.isp_command == "none")
fl_setpup_mode(OptionsMenu, 2, FL_PUP_GREY);
fl_setpup_position(
case 3: men->_view->getIntl()->MenuKeymap(); break;
case 4: LaTeXOptions(men->_view->view()); break;
case 5: tmpfunc->Dispatch(LFUN_RECONFIGURE); break;
+ case 6: men->_view->getDialogs()->showPreferences(); break;
default: break;
}
fl_freepup(OptionsMenu);
char const * doc_files [] = {"Intro", "Tutorial",
"UserGuide", "Extended",
"Customization", "Reference",
- "BUGS", "LaTeXConfig"};
+ "FAQ", "TOC",
+ "BUGS", "LyXConfig"};
void Menus::ShowHelpMenu(FL_OBJECT * ob, long)
{
Menus * men = static_cast<Menus*>(ob->u_vdata);
+ LyXFunc * tmpfunc = men->_view->getLyXFunc();
// set the pseudo menu-button
fl_set_object_boxtype(ob, FL_UP_BOX);
"|Extended Features"
"|Customization"
"|Reference Manual"
+ "|FAQ"
+ "|Table of Contents"
"|Known Bugs"
"|LaTeX Configuration%l"
"|Copyright and Warranty..."
fl_setpup_shortcut(HelpMenu, 4, scex(_("HM|xX#x#X")));
fl_setpup_shortcut(HelpMenu, 5, scex(_("HM|Cc#C#c")));
fl_setpup_shortcut(HelpMenu, 6, scex(_("HM|Rr#R#r")));
- fl_setpup_shortcut(HelpMenu, 7, scex(_("HM|Kk#K#k")));
- fl_setpup_shortcut(HelpMenu, 8, scex(_("HM|Ll#L#l")));
- fl_setpup_shortcut(HelpMenu, 9, scex(_("HM|oO#o#O")));
- fl_setpup_shortcut(HelpMenu, 10, scex(_("HM|eE#e#E")));
- fl_setpup_shortcut(HelpMenu, 11, scex(_("HM|Vv#v#V")));
+ fl_setpup_shortcut(HelpMenu, 7, scex(_("HM|Ff#F#f")));
+ fl_setpup_shortcut(HelpMenu, 8, scex(_("HM|aA#a#A")));
+ fl_setpup_shortcut(HelpMenu, 9, scex(_("HM|Kk#K#k")));
+ fl_setpup_shortcut(HelpMenu, 10, scex(_("HM|Ll#L#l")));
+ fl_setpup_shortcut(HelpMenu, 11, scex(_("HM|oO#o#O")));
+ fl_setpup_shortcut(HelpMenu, 12, scex(_("HM|eE#e#E")));
+ fl_setpup_shortcut(HelpMenu, 13, scex(_("HM|Vv#v#V")));
fl_setpup_position(
men->_view->getForm()->x + ob->x,
switch (choice) {
case 1: case 2: case 3: case 4: case 5:
- case 6: case 7: case 8:
- ProhibitInput();
+ case 6: case 7: case 8: case 9: case 10:
+ ProhibitInput(men->currentView());
men->MenuDocu(doc_files[choice - 1]);
- AllowInput();
+ AllowInput(men->currentView());
break;
- case 9: ShowCopyright(); break;
- case 10: ShowCredits(); break;
- case 11:
- ProhibitInput();
+ case 11: tmpfunc->Dispatch(LFUN_HELP_COPYRIGHT); break;
+ case 12: ShowCredits(); break;
+ case 13:
+ ProhibitInput(men->currentView());
fl_show_message((string(_("LyX Version ")) + LYX_VERSION
+ _(" of ") + LYX_RELEASE).c_str(),
(_("Library directory: ")
+ MakeDisplayPath(system_lyxdir)).c_str(),
(_("User directory: ")
+ MakeDisplayPath(user_lyxdir)).c_str());
- AllowInput();
+ AllowInput(men->currentView());
break;
}
fl_freepup(HelpMenu);