Edwin Leuven wrote: > > because I'm lazy (and don't see the need for that ATM). > > fair enough ;-)
OK, I'm trying to be a good guy: attached is a patch that implements dialog-toggle (and uses it for toc and view-source). Opinions? (most changes in lfuns.h are due to a miscount I detected) Jürgen
Index: src/LyXAction.cpp =================================================================== --- src/LyXAction.cpp (Revision 18108) +++ src/LyXAction.cpp (Arbeitskopie) @@ -289,7 +289,6 @@ #endif { LFUN_THESAURUS_ENTRY, "thesaurus-entry", ReadOnly }, { LFUN_TOC_INSERT, "toc-insert", Noop }, - { LFUN_TOC_VIEW, "toc-view", ReadOnly }, { LFUN_TOGGLE_CURSOR_FOLLOWS_SCROLLBAR, "toggle-cursor-follows-scrollbar", ReadOnly }, { LFUN_UNDO, "undo", Noop }, { LFUN_UP, "up", ReadOnly | NoUpdate}, @@ -327,7 +326,8 @@ { LFUN_DIALOG_SHOW, "dialog-show", NoBuffer }, { LFUN_DIALOG_SHOW_NEW_INSET, "dialog-show-new-inset", Noop }, { LFUN_DIALOG_UPDATE, "dialog-update", NoBuffer }, - { LFUN_DIALOG_HIDE, "dialog-hide", Noop }, + { LFUN_DIALOG_HIDE, "dialog-hide", NoBuffer }, + { LFUN_DIALOG_TOGGLE, "dialog-toggle", NoBuffer }, { LFUN_DIALOG_DISCONNECT_INSET, "dialog-disconnect-inset", Noop }, { LFUN_INSET_APPLY, "inset-apply", Noop }, { LFUN_INSET_DISSOLVE, "inset-dissolve", Noop }, Index: src/LyXFunc.cpp =================================================================== --- src/LyXFunc.cpp (Revision 18108) +++ src/LyXFunc.cpp (Arbeitskopie) @@ -544,6 +544,8 @@ break; } + case LFUN_DIALOG_TOGGLE: + flag.setOnOff(lyx_view_->getDialogs().visible(cmd.getArg(0))); case LFUN_DIALOG_SHOW: { string const name = cmd.getArg(0); if (!buf) @@ -637,7 +639,6 @@ case LFUN_BUFFER_UPDATE: case LFUN_BUFFER_VIEW: case LFUN_BUFFER_IMPORT: - case LFUN_TOC_VIEW: case LFUN_BUFFER_AUTO_SAVE: case LFUN_RECONFIGURE: case LFUN_HELP_OPEN: @@ -1091,14 +1092,6 @@ theApp()->gui().closeAllViews(); break; - case LFUN_TOC_VIEW: { - BOOST_ASSERT(lyx_view_); - InsetCommandParams p("tableofcontents"); - string const data = InsetCommandMailer::params2string("toc", p); - lyx_view_->getDialogs().show("toc", data, 0); - break; - } - case LFUN_BUFFER_AUTO_SAVE: autoSave(view()); break; @@ -1361,6 +1354,15 @@ Dialogs::hide(argument, 0); break; + case LFUN_DIALOG_TOGGLE: { + BOOST_ASSERT(lyx_view_); + if (lyx_view_->getDialogs().visible(cmd.getArg(0))) + dispatch(FuncRequest(LFUN_DIALOG_HIDE, argument)); + else + dispatch(FuncRequest(LFUN_DIALOG_SHOW, argument)); + break; + } + case LFUN_DIALOG_DISCONNECT_INSET: BOOST_ASSERT(lyx_view_); lyx_view_->getDialogs().disconnect(argument); Index: src/lfuns.h =================================================================== --- src/lfuns.h (Revision 18108) +++ src/lfuns.h (Arbeitskopie) @@ -40,346 +40,346 @@ // 5 LFUN_BUFFER_WRITE_AS, LFUN_BUILD_PROGRAM, - LFUN_TOC_VIEW, LFUN_BUFFER_VIEW, LFUN_BUFFER_CLOSE, + LFUN_LYX_QUIT, // 10 - LFUN_LYX_QUIT, LFUN_BUFFER_AUTO_SAVE, LFUN_UNDO, LFUN_REDO, LFUN_PASTE, + LFUN_PRIMARY_SELECTION_PASTE, // 15 - LFUN_PRIMARY_SELECTION_PASTE, LFUN_CUT, LFUN_COPY, LFUN_ERROR_NEXT, LFUN_NOTE_NEXT, + LFUN_INSET_TOGGLE, // 20 - LFUN_INSET_TOGGLE, LFUN_HYPHENATION_POINT_INSERT, LFUN_LIGATURE_BREAK_INSERT, LFUN_HFILL_INSERT, LFUN_FONT_FREE_APPLY, + LFUN_FONT_FREE_UPDATE, // 25 - LFUN_FONT_FREE_UPDATE, LFUN_FONT_EMPH, LFUN_FONT_BOLD, LFUN_FONT_ROMAN, LFUN_FONT_NOUN, + LFUN_FONT_ITAL, // 30 - LFUN_FONT_ITAL, LFUN_FONT_FRAK, LFUN_CHAR_FORWARD, LFUN_CHAR_BACKWARD, LFUN_UP, + LFUN_DOWN, // 35 - LFUN_DOWN, LFUN_SCREEN_UP, LFUN_SCREEN_DOWN, LFUN_LINE_BEGIN, LFUN_LINE_END, + LFUN_CELL_FORWARD, // 40 - LFUN_CELL_FORWARD, LFUN_CELL_BACKWARD, LFUN_WORD_FORWARD, LFUN_WORD_BACKWARD, LFUN_BUFFER_BEGIN, + LFUN_BUFFER_END, // 45 - LFUN_BUFFER_END, LFUN_CHAR_FORWARD_SELECT, LFUN_CHAR_BACKWARD_SELECT, LFUN_UP_SELECT, LFUN_DOWN_SELECT, + LFUN_SCREEN_UP_SELECT, // 50 - LFUN_SCREEN_UP_SELECT, LFUN_SCREEN_DOWN_SELECT, LFUN_LINE_BEGIN_SELECT, LFUN_LINE_END_SELECT, LFUN_WORD_FORWARD_SELECT, + LFUN_WORD_BACKWARD_SELECT, // 55 - LFUN_WORD_BACKWARD_SELECT, LFUN_WORD_SELECT, LFUN_BUFFER_BEGIN_SELECT, LFUN_BUFFER_END_SELECT, LFUN_SPACE_INSERT, // JSpitzm 20030520 + LFUN_MARK_TOGGLE, // 60 - LFUN_MARK_TOGGLE, LFUN_CHAR_DELETE_FORWARD, LFUN_CHAR_DELETE_BACKWARD, LFUN_BREAK_LINE, LFUN_BREAK_PARAGRAPH, + LFUN_BREAK_PARAGRAPH_KEEP_LAYOUT, // 65 - LFUN_BREAK_PARAGRAPH_KEEP_LAYOUT, LFUN_QUOTE_INSERT, LFUN_ACCENT_CIRCUMFLEX, LFUN_MATH_SUBSCRIPT, LFUN_MATH_SUPERSCRIPT, + LFUN_ACCENT_GRAVE, // 70 - LFUN_ACCENT_GRAVE, LFUN_ACCENT_ACUTE, LFUN_ACCENT_TILDE, LFUN_ACCENT_CEDILLA, LFUN_ACCENT_MACRON, + LFUN_ACCENT_UNDERBAR, // 75 - LFUN_ACCENT_UNDERBAR, LFUN_ACCENT_UNDERDOT, LFUN_ACCENT_CIRCLE, LFUN_ACCENT_TIE, LFUN_ACCENT_BREVE, + LFUN_ACCENT_CARON, // 80 - LFUN_ACCENT_CARON, LFUN_ACCENT_SPECIAL_CARON, LFUN_ACCENT_HUNGARIAN_UMLAUT, LFUN_ACCENT_UMLAUT, LFUN_ACCENT_DOT, + LFUN_ACCENT_OGONEK, // 85 - LFUN_ACCENT_OGONEK, LFUN_SELF_INSERT, LFUN_GETBUFNAME, LFUN_SERVER_GET_XY, LFUN_SERVER_SET_XY, + LFUN_SERVER_CHAR_AFTER, // 90 - LFUN_SERVER_CHAR_AFTER, LFUN_LINEATCURSOR, LFUN_SERVER_GET_LAYOUT, LFUN_SERVER_GET_FONT, LFUN_SERVER_GET_NAME, + LFUN_SERVER_NOTIFY, // 95 - LFUN_SERVER_NOTIFY, LFUN_SERVER_GOTO_FILE_ROW, LFUN_NOTE_INSERT, LFUN_ENVIRONMENT_INSERT, // unused as of 20060905 LFUN_KEYMAP_OFF, + LFUN_KEYMAP_PRIMARY, // 100 - LFUN_KEYMAP_PRIMARY, LFUN_KEYMAP_SECONDARY, LFUN_KEYMAP_TOGGLE, LFUN_MATH_INSERT, LFUN_MATH_MATRIX, + LFUN_MATH_LIMITS, // 105 - LFUN_MATH_LIMITS, LFUN_MATH_DELIM, // Alejandro 180696 LFUN_MATH_DISPLAY, // Alejandro 180696 LFUN_MATH_MODE, // Alejandro 040696 LFUN_MATH_NUMBER, // Alejandro 040696 + LFUN_MATH_NONUMBER, // Alejandro 180696 // 110 - LFUN_MATH_NONUMBER, // Alejandro 180696 LFUN_MATH_SIZE, // Alejandro 150896 LFUN_MATH_MACRO, // ale970510 LFUN_MATH_EXTERN, // Andre' 20010424 LFUN_MATH_MUTATE, // Andre' 20010523 + LFUN_MATH_IMPORT_SELECTION, // Andre' 20010704 // 115 - LFUN_MATH_IMPORT_SELECTION, // Andre' 20010704 LFUN_MATH_SPACE, // Andre' 20010725 LFUN_WORD_DELETE_FORWARD, LFUN_WORD_DELETE_BACKWARD, LFUN_LINE_DELETE, + LFUN_MARK_OFF, // 120 - LFUN_MARK_OFF, LFUN_MARK_ON, LFUN_LAYOUT, LFUN_LAYOUT_PARAGRAPH, LFUN_DROP_LAYOUTS_CHOICE, // used in bindings as of 20060905 + LFUN_FONT_CODE, // 125 - LFUN_FONT_CODE, LFUN_FONT_SANS, LFUN_FONT_DEFAULT, LFUN_FONT_UNDERLINE, LFUN_FONT_SIZE, + LFUN_FONT_STATE, // 130 - LFUN_FONT_STATE, LFUN_WORD_UPCASE, LFUN_WORD_LOWCASE, LFUN_WORD_CAPITALIZE, LFUN_LABEL_INSERT, + LFUN_DEPTH_DECREMENT, // 135 - LFUN_DEPTH_DECREMENT, LFUN_DEPTH_INCREMENT, LFUN_MENU_OPEN, // used in bindings as of 20060905 LFUN_CANCEL, LFUN_META_PREFIX, + LFUN_COMMAND_EXECUTE, // 140 - LFUN_COMMAND_EXECUTE, LFUN_FILE_INSERT, LFUN_FILE_INSERT_PLAINTEXT, // CFO-G 1997-11-19 LFUN_FILE_INSERT_PLAINTEXT_PARA,// Levon 2001-02-14 LFUN_FILE_NEW, // for scripting purposes + LFUN_FILE_OPEN, // 145 - LFUN_FILE_OPEN, LFUN_PARAGRAPH_UP, // Asger 1996-10-01 LFUN_PARAGRAPH_UP_SELECT, // Asger 1996-10-01 LFUN_PARAGRAPH_DOWN, // Asger 1996-10-01 LFUN_PARAGRAPH_DOWN_SELECT, // Asger 1996-10-01 + LFUN_BREAK_PARAGRAPH_SKIP, // 150 - LFUN_BREAK_PARAGRAPH_SKIP, LFUN_DELETE_BACKWARD_SKIP, LFUN_DELETE_FORWARD_SKIP, LFUN_BUFFER_NEW_TEMPLATE, // Asger 1997-02-02 LFUN_BUFFER_RELOAD, // Asger 1997-02-02 + LFUN_RECONFIGURE, // Asger 1997-02-14 // 155 - LFUN_RECONFIGURE, // Asger 1997-02-14 LFUN_INDEX_PRINT, // Lgb 97-02-27 LFUN_CELL_SPLIT, LFUN_BUFFER_CHILD_OPEN, // Ale 970528 LFUN_TOC_INSERT, // Lgb 97-05-27 + LFUN_FLOAT_LIST, // Lgb 20010503 // 160 - LFUN_FLOAT_LIST, // Lgb 20010503 LFUN_BUFFER_TOGGLE_READ_ONLY, // Lgb 97-05-27 LFUN_VC_REGISTER, // Lgb 97-07-01 LFUN_VC_CHECK_IN, // Lgb 97-07-01 LFUN_VC_CHECK_OUT, // Lgb 97-07-01 + LFUN_VC_REVERT, // Lgb 97-07-01 // 165 - LFUN_VC_REVERT, // Lgb 97-07-01 LFUN_VC_UNDO_LAST, // Lgb 97-07-01 LFUN_BUFFER_EXPORT, // Lgb 97-07-29 LFUN_LABEL_GOTO, // Ale 970806 LFUN_DOTS_INSERT, // Asger 970929 + LFUN_END_OF_SENTENCE_PERIOD_INSERT, // Asger 970929 // 170 - LFUN_END_OF_SENTENCE_PERIOD_INSERT, // Asger 970929 LFUN_TOGGLE_CURSOR_FOLLOWS_SCROLLBAR, // ARRae 971202 LFUN_BUFFER_CHKTEX, // Asger 971030 LFUN_HTML_INSERT, // CFO-G 971121; must co-exist with URL_INSERT as of 20060905 LFUN_URL_INSERT, // CFO-G 971121 + LFUN_WORD_FIND_FORWARD, // Etienne 980216 // 175 - LFUN_WORD_FIND_FORWARD, // Etienne 980216 LFUN_WORD_FIND_BACKWARD, // Etienne 980220 LFUN_APPENDIX, // ettrich 980505 LFUN_BUFFER_IMPORT, // Asger 980724 LFUN_MENU_SEPARATOR_INSERT, // Asger 990220 + LFUN_COMMAND_SEQUENCE, // Andre' 991111 // 180 - LFUN_COMMAND_SEQUENCE, // Andre' 991111 LFUN_PREFERENCES_SAVE, // Lgb 991127 LFUN_HELP_OPEN, // Jug 990627 LFUN_DATE_INSERT, // jdblair 20000131 LFUN_LANGUAGE, // Dekel 20000203 + LFUN_ERT_INSERT, // Jug 20000218 // 185 - LFUN_ERT_INSERT, // Jug 20000218 LFUN_FOOTNOTE_INSERT, // Jug 20000307 LFUN_PARAGRAPH_SPACING, // Lgb 20000411 LFUN_TABULAR_INSERT, // Jug 20000412 LFUN_LOFVIEW, // Dekel 20000519 + LFUN_LOTVIEW, // Dekel 20000519 // 190 - LFUN_LOTVIEW, // Dekel 20000519 LFUN_LOAVIEW, // Dekel 20000519 LFUN_SET_COLOR, // SLior 20000611 LFUN_MARGINALNOTE_INSERT, // Lgb 20000626 LFUN_FLOAT_INSERT, // Lgb 20000627 + LFUN_FLOAT_WIDE_INSERT, // Lgb 20010531 // 195 - LFUN_FLOAT_WIDE_INSERT, // Lgb 20010531 LFUN_CAPTION_INSERT, // Lgb 20000718; inactive as of 20060905 LFUN_BUFFER_SWITCH, LFUN_TABULAR_FEATURE, // Jug 20000728 LFUN_LAYOUT_TABULAR, // Jug 20000731 + LFUN_BUFFER_UPDATE, // Dekel 20000805 // 200 - LFUN_BUFFER_UPDATE, // Dekel 20000805 LFUN_INDEX_INSERT, // Angus 20000803 LFUN_SCREEN_FONT_UPDATE, // ARRae 20000813 LFUN_PARAGRAPH_GOTO, // Dekel 20000826 LFUN_REFERENCE_NEXT, // Dekel 20010114 + LFUN_BOOKMARK_SAVE, // Dekel 20010127 // 205 - LFUN_BOOKMARK_SAVE, // Dekel 20010127 LFUN_BOOKMARK_GOTO, // Dekel 20010127 LFUN_SELECT_FILE_SYNC, // Levon 20010214 LFUN_MESSAGE, // Lgb 20010408; for scripting purposes, output in minibuffer LFUN_CHARS_TRANSPOSE, // Lgb 20010425 + LFUN_ESCAPE, // Lgb 20010517 // 210 - LFUN_ESCAPE, // Lgb 20010517 LFUN_THESAURUS_ENTRY, // Levon 20010720 LFUN_OPTIONAL_INSERT, // Martin 12 Aug 2002 LFUN_MOUSE_PRESS, // André 9 Aug 2002 - // 215 LFUN_MOUSE_MOTION, // André 9 Aug 2002 LFUN_MOUSE_RELEASE, // André 9 Aug 2002 + // 215 LFUN_MOUSE_DOUBLE, // André 9 Aug 2002 LFUN_MOUSE_TRIPLE, // André 9 Aug 2002 LFUN_WRAP_INSERT, // Dekel 7 Apr 2002 - // 220 LFUN_CHANGES_TRACK, // Levon 20021001 (cool date !) LFUN_CHANGES_MERGE, // Levon 20021016 + // 220 LFUN_CHANGE_ACCEPT, // Levon 20021016 LFUN_CHANGE_REJECT, // Levon 20021016 LFUN_ALL_CHANGES_ACCEPT, // Levon 20021016 - // 225 LFUN_ALL_CHANGES_REJECT, // Levon 20021016 LFUN_BIBITEM_INSERT, // André 14 Feb 2003 + // 225 LFUN_DIALOG_SHOW, LFUN_DIALOG_SHOW_NEW_INSET, LFUN_DIALOG_UPDATE, + LFUN_DIALOG_HIDE, + LFUN_DIALOG_TOGGLE, // JSpitzm 20070430 // 230 - LFUN_DIALOG_HIDE, LFUN_DIALOG_DISCONNECT_INSET, LFUN_INSET_APPLY, LFUN_INSET_INSERT, LFUN_INSET_MODIFY, + LFUN_INSET_DIALOG_UPDATE, // 235 - LFUN_INSET_DIALOG_UPDATE, LFUN_INSET_SETTINGS, LFUN_PARAGRAPH_PARAMS_APPLY, LFUN_PARAGRAPH_UPDATE, LFUN_EXTERNAL_EDIT, + LFUN_BRANCH_INSERT, // 240 - LFUN_BRANCH_INSERT, LFUN_BOX_INSERT, LFUN_LINE_INSERT, LFUN_PAGEBREAK_INSERT, LFUN_REPEAT, + LFUN_FINISHED_LEFT, // 245 - LFUN_FINISHED_LEFT, LFUN_FINISHED_RIGHT, LFUN_FINISHED_UP, LFUN_FINISHED_DOWN, LFUN_CHARSTYLE_INSERT, + LFUN_WORD_FIND, // 250 - LFUN_WORD_FIND, LFUN_WORD_REPLACE, LFUN_BUFFER_EXPORT_CUSTOM, LFUN_BUFFER_PRINT, LFUN_NEXT_INSET_TOGGLE, + LFUN_ALL_INSETS_TOGGLE, // 255 - LFUN_ALL_INSETS_TOGGLE, LFUN_BUFFER_LANGUAGE, LFUN_TEXTCLASS_APPLY, LFUN_TEXTCLASS_LOAD, LFUN_BUFFER_SAVE_AS_DEFAULT, + LFUN_BUFFER_PARAMS_APPLY, // 260 - LFUN_BUFFER_PARAMS_APPLY, LFUN_LYXRC_APPLY, LFUN_GRAPHICS_EDIT, LFUN_INSET_REFRESH, LFUN_BUFFER_NEXT, + LFUN_BUFFER_PREVIOUS, // 265 - LFUN_BUFFER_PREVIOUS, LFUN_WORDS_COUNT, LFUN_CHANGES_OUTPUT, // jspitzm 20050121 LFUN_BIBTEX_DATABASE_ADD, LFUN_BIBTEX_DATABASE_DEL, + LFUN_CITATION_INSERT, // 270 - LFUN_CITATION_INSERT, LFUN_OUTLINE_UP, // Vermeer 20060323 LFUN_OUTLINE_DOWN, LFUN_OUTLINE_IN, LFUN_OUTLINE_OUT, + LFUN_PARAGRAPH_MOVE_DOWN, // Edwin 20060408 // 275 - LFUN_PARAGRAPH_MOVE_DOWN, // Edwin 20060408 LFUN_PARAGRAPH_MOVE_UP, // Edwin 20060408 LFUN_BUFFER_TOGGLE_COMPRESSION, // bpeng 20060427 LFUN_MATH_BIGDELIM, LFUN_CLIPBOARD_PASTE, + LFUN_INSET_DISSOLVE, // jspitzm 20060807 // 280 - LFUN_INSET_DISSOLVE, // jspitzm 20060807 LFUN_CHANGE_NEXT, LFUN_WINDOW_NEW, // Abdel 20061021 LFUN_WINDOW_CLOSE, // Abdel 20061023 LFUN_UNICODE_INSERT, // Lgb 20061022 + LFUN_BOOKMARK_CLEAR, // bpeng 20061031 // 285 - LFUN_BOOKMARK_CLEAR, // bpeng 20061031 LFUN_TOOLBAR_TOGGLE_STATE, // bpeng 20061101 LFUN_NOMENCL_INSERT, // Ugras LFUN_NOMENCL_PRINT, // Ugras LFUN_CLEARPAGE_INSERT, // Ugras 20061125 + LFUN_CLEARDOUBLEPAGE_INSERT, // Ugras 20061125 //290 - LFUN_CLEARDOUBLEPAGE_INSERT, // Ugras 20061125 LFUN_LASTACTION // end of the table }; Index: lib/ui/stdmenus.inc =================================================================== --- lib/ui/stdmenus.inc (Revision 18108) +++ lib/ui/stdmenus.inc (Arbeitskopie) @@ -264,7 +264,7 @@ Item "Open All Insets|O" "all-insets-toggle open" Item "Close All Insets|C" "all-insets-toggle close" Separator - Item "View Source|S" "dialog-show view-source" + Item "View Source|S" "dialog-toggle view-source" Submenu "Update|U" "view_update" ViewFormats Separator @@ -406,7 +406,7 @@ Submenu "Change Tracking|C" "document_change" OptItem "Build Program|B" "build-program" Item "LaTeX Log|L" "dialog-show latexlog" - Item "Table of Contents|T" "toc-view" + Item "Table of Contents|T" "dialog-toggle toc" Item "Start Appendix Here|A" "appendix" Separator Item "Compressed|o" "buffer-toggle-compression" Index: lib/ui/classic.ui =================================================================== --- lib/ui/classic.ui (Revision 18108) +++ lib/ui/classic.ui (Arbeitskopie) @@ -357,7 +357,7 @@ Submenu "Update|U" "update" Separator Item "LaTeX Log|L" "dialog-show latexlog" - Item "Table of Contents|C" "toc-view" + Item "Table of Contents|C" "dialog-toggle toc" Item "TeX Information|X" "dialog-show texinfo" End