Fix bug 4741: Pasting with middle mouse button into read only document works

http://bugzilla.lyx.org/show_bug.cgi?id=4741

Create a new LFUN selection-paste (to paste the internal selection), and bind
middle mouse button to
    command-alternatives selection-paste ; primary-selection-paste paragraph



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@28156 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jean-Marc Lasgouttes 2009-01-14 14:32:59 +00:00
parent 7890255bf8
commit 9af89bbb3e
3 changed files with 85 additions and 77 deletions

View File

@ -48,366 +48,367 @@ enum FuncCode
LFUN_PASTE, LFUN_PASTE,
LFUN_PRIMARY_SELECTION_PASTE, LFUN_PRIMARY_SELECTION_PASTE,
// 15 // 15
LFUN_SELECTION_PASTE, // JMarc 2008/12/15
LFUN_CUT, LFUN_CUT,
LFUN_COPY, LFUN_COPY,
LFUN_CLOSE_TAB_GROUP, LFUN_CLOSE_TAB_GROUP,
LFUN_NOTE_NEXT, LFUN_NOTE_NEXT,
LFUN_INSET_TOGGLE,
// 20 // 20
LFUN_INSET_TOGGLE,
LFUN_HFILL_INSERT, LFUN_HFILL_INSERT,
LFUN_TEXTSTYLE_APPLY, LFUN_TEXTSTYLE_APPLY,
LFUN_TEXTSTYLE_UPDATE, LFUN_TEXTSTYLE_UPDATE,
LFUN_FONT_EMPH, LFUN_FONT_EMPH,
LFUN_FONT_BOLD,
// 25 // 25
LFUN_FONT_BOLD,
LFUN_FONT_BOLDSYMBOL, LFUN_FONT_BOLDSYMBOL,
LFUN_FONT_ROMAN, LFUN_FONT_ROMAN,
LFUN_FONT_NOUN, LFUN_FONT_NOUN,
LFUN_FONT_ITAL, LFUN_FONT_ITAL,
LFUN_FONT_FRAK,
// 30 // 30
LFUN_FONT_FRAK,
LFUN_CHAR_FORWARD, LFUN_CHAR_FORWARD,
LFUN_CHAR_BACKWARD, LFUN_CHAR_BACKWARD,
LFUN_UP, LFUN_UP,
LFUN_DOWN, LFUN_DOWN,
LFUN_SCREEN_UP,
// 35 // 35
LFUN_SCREEN_UP,
LFUN_SCREEN_DOWN, LFUN_SCREEN_DOWN,
LFUN_LINE_BEGIN, LFUN_LINE_BEGIN,
LFUN_LINE_END, LFUN_LINE_END,
LFUN_CELL_FORWARD, LFUN_CELL_FORWARD,
LFUN_CELL_BACKWARD,
// 40 // 40
LFUN_CELL_BACKWARD,
LFUN_WORD_FORWARD, LFUN_WORD_FORWARD,
LFUN_WORD_BACKWARD, LFUN_WORD_BACKWARD,
LFUN_BUFFER_BEGIN, LFUN_BUFFER_BEGIN,
LFUN_BUFFER_END, LFUN_BUFFER_END,
LFUN_CHAR_FORWARD_SELECT,
// 45 // 45
LFUN_CHAR_FORWARD_SELECT,
LFUN_CHAR_BACKWARD_SELECT, LFUN_CHAR_BACKWARD_SELECT,
LFUN_UP_SELECT, LFUN_UP_SELECT,
LFUN_DOWN_SELECT, LFUN_DOWN_SELECT,
LFUN_SCREEN_UP_SELECT, LFUN_SCREEN_UP_SELECT,
LFUN_SCREEN_DOWN_SELECT,
// 50 // 50
LFUN_SCREEN_DOWN_SELECT,
LFUN_LINE_BEGIN_SELECT, LFUN_LINE_BEGIN_SELECT,
LFUN_LINE_END_SELECT, LFUN_LINE_END_SELECT,
LFUN_WORD_FORWARD_SELECT, LFUN_WORD_FORWARD_SELECT,
LFUN_WORD_BACKWARD_SELECT, LFUN_WORD_BACKWARD_SELECT,
LFUN_WORD_SELECT,
// 55 // 55
LFUN_WORD_SELECT,
LFUN_BUFFER_BEGIN_SELECT, LFUN_BUFFER_BEGIN_SELECT,
LFUN_BUFFER_END_SELECT, LFUN_BUFFER_END_SELECT,
LFUN_SPACE_INSERT, // JSpitzm 20030520 LFUN_SPACE_INSERT, // JSpitzm 20030520
LFUN_SPECIALCHAR_INSERT, // JSpitzm, 20071206 LFUN_SPECIALCHAR_INSERT, // JSpitzm, 20071206
LFUN_MARK_TOGGLE,
// 60 // 60
LFUN_MARK_TOGGLE,
LFUN_CHAR_DELETE_FORWARD, LFUN_CHAR_DELETE_FORWARD,
LFUN_CHAR_DELETE_BACKWARD, LFUN_CHAR_DELETE_BACKWARD,
LFUN_NEWLINE_INSERT, // renamed: JSpitzm, 20080325 LFUN_NEWLINE_INSERT, // renamed: JSpitzm, 20080325
LFUN_BREAK_PARAGRAPH, LFUN_BREAK_PARAGRAPH,
LFUN_QUOTE_INSERT,
// 65 // 65
LFUN_QUOTE_INSERT,
LFUN_ACCENT_CIRCUMFLEX, LFUN_ACCENT_CIRCUMFLEX,
LFUN_MATH_SUBSCRIPT, LFUN_MATH_SUBSCRIPT,
LFUN_MATH_SUPERSCRIPT, LFUN_MATH_SUPERSCRIPT,
LFUN_ACCENT_GRAVE, LFUN_ACCENT_GRAVE,
LFUN_ACCENT_ACUTE,
// 70 // 70
LFUN_ACCENT_ACUTE,
LFUN_ACCENT_TILDE, LFUN_ACCENT_TILDE,
LFUN_ACCENT_CEDILLA, LFUN_ACCENT_CEDILLA,
LFUN_ACCENT_MACRON, LFUN_ACCENT_MACRON,
LFUN_ACCENT_UNDERBAR, LFUN_ACCENT_UNDERBAR,
LFUN_ACCENT_UNDERDOT,
// 75 // 75
LFUN_ACCENT_UNDERDOT,
LFUN_ACCENT_CIRCLE, LFUN_ACCENT_CIRCLE,
LFUN_ACCENT_TIE, LFUN_ACCENT_TIE,
LFUN_ACCENT_BREVE, LFUN_ACCENT_BREVE,
LFUN_ACCENT_CARON, LFUN_ACCENT_CARON,
LFUN_ACCENT_HUNGARIAN_UMLAUT,
// 80 // 80
LFUN_ACCENT_HUNGARIAN_UMLAUT,
LFUN_ACCENT_UMLAUT, LFUN_ACCENT_UMLAUT,
LFUN_ACCENT_DOT, LFUN_ACCENT_DOT,
LFUN_ACCENT_OGONEK, LFUN_ACCENT_OGONEK,
LFUN_SELF_INSERT, LFUN_SELF_INSERT,
LFUN_GETBUFNAME,
// 85 // 85
LFUN_GETBUFNAME,
LFUN_SERVER_GET_XY, LFUN_SERVER_GET_XY,
LFUN_SERVER_SET_XY, LFUN_SERVER_SET_XY,
LFUN_SPLIT_VIEW, LFUN_SPLIT_VIEW,
LFUN_LINEATCURSOR, LFUN_LINEATCURSOR,
LFUN_SERVER_GET_LAYOUT,
// 90 // 90
LFUN_SERVER_GET_LAYOUT,
LFUN_SERVER_GET_FILENAME, LFUN_SERVER_GET_FILENAME,
LFUN_SERVER_NOTIFY, LFUN_SERVER_NOTIFY,
LFUN_SERVER_GOTO_FILE_ROW, LFUN_SERVER_GOTO_FILE_ROW,
LFUN_NOTE_INSERT, LFUN_NOTE_INSERT,
LFUN_UI_TOGGLE,
// 95 // 95
LFUN_UI_TOGGLE,
LFUN_KEYMAP_OFF, LFUN_KEYMAP_OFF,
LFUN_KEYMAP_PRIMARY, LFUN_KEYMAP_PRIMARY,
LFUN_KEYMAP_SECONDARY, LFUN_KEYMAP_SECONDARY,
LFUN_KEYMAP_TOGGLE, LFUN_KEYMAP_TOGGLE,
LFUN_MATH_INSERT,
// 100 // 100
LFUN_MATH_INSERT,
LFUN_MATH_MATRIX, LFUN_MATH_MATRIX,
LFUN_MATH_LIMITS, LFUN_MATH_LIMITS,
LFUN_MATH_DELIM, // Alejandro 180696 LFUN_MATH_DELIM, // Alejandro 180696
LFUN_MATH_DISPLAY, // Alejandro 180696 LFUN_MATH_DISPLAY, // Alejandro 180696
LFUN_MATH_MODE, // Alejandro 040696
// 105 // 105
LFUN_MATH_MODE, // Alejandro 040696
LFUN_MATH_NUMBER_TOGGLE, LFUN_MATH_NUMBER_TOGGLE,
LFUN_MATH_NUMBER_LINE_TOGGLE, LFUN_MATH_NUMBER_LINE_TOGGLE,
LFUN_MATH_SIZE, // Alejandro 150896 LFUN_MATH_SIZE, // Alejandro 150896
LFUN_MATH_MACRO, // ale970510 LFUN_MATH_MACRO, // ale970510
LFUN_MATH_EXTERN, // Andre' 20010424
// 110 // 110
LFUN_MATH_EXTERN, // Andre' 20010424
LFUN_MATH_MUTATE, // Andre' 20010523 LFUN_MATH_MUTATE, // Andre' 20010523
LFUN_MATH_SPACE, // Andre' 20010725 LFUN_MATH_SPACE, // Andre' 20010725
LFUN_WORD_DELETE_FORWARD, LFUN_WORD_DELETE_FORWARD,
LFUN_WORD_DELETE_BACKWARD, LFUN_WORD_DELETE_BACKWARD,
LFUN_LINE_DELETE,
// 115 // 115
LFUN_LINE_DELETE,
LFUN_NOTES_MUTATE, LFUN_NOTES_MUTATE,
LFUN_MARK_OFF, LFUN_MARK_OFF,
LFUN_MARK_ON, LFUN_MARK_ON,
LFUN_LAYOUT, LFUN_LAYOUT,
LFUN_LAYOUT_PARAGRAPH,
// 120 // 120
LFUN_LAYOUT_PARAGRAPH,
LFUN_DROP_LAYOUTS_CHOICE, // used in bindings as of 20071228 LFUN_DROP_LAYOUTS_CHOICE, // used in bindings as of 20071228
LFUN_FONT_TYPEWRITER, // changed from FONT_CODE 20070920 LFUN_FONT_TYPEWRITER, // changed from FONT_CODE 20070920
LFUN_FONT_SANS, LFUN_FONT_SANS,
LFUN_FONT_DEFAULT, LFUN_FONT_DEFAULT,
LFUN_FONT_UNDERLINE,
// 125 // 125
LFUN_FONT_UNDERLINE,
LFUN_FONT_SIZE, LFUN_FONT_SIZE,
LFUN_FONT_STATE, LFUN_FONT_STATE,
LFUN_WORD_UPCASE, LFUN_WORD_UPCASE,
LFUN_WORD_LOWCASE, LFUN_WORD_LOWCASE,
LFUN_WORD_CAPITALIZE,
// 130 // 130
LFUN_WORD_CAPITALIZE,
LFUN_LABEL_INSERT, LFUN_LABEL_INSERT,
LFUN_DEPTH_DECREMENT, LFUN_DEPTH_DECREMENT,
LFUN_DEPTH_INCREMENT, LFUN_DEPTH_INCREMENT,
LFUN_MENU_OPEN, // used in bindings as of 20060905 LFUN_MENU_OPEN, // used in bindings as of 20060905
LFUN_CANCEL,
// 135 // 135
LFUN_CANCEL,
LFUN_META_PREFIX, LFUN_META_PREFIX,
LFUN_COMMAND_EXECUTE, LFUN_COMMAND_EXECUTE,
LFUN_FILE_INSERT, LFUN_FILE_INSERT,
LFUN_FILE_INSERT_PLAINTEXT, // CFO-G 1997-11-19 LFUN_FILE_INSERT_PLAINTEXT, // CFO-G 1997-11-19
LFUN_FILE_INSERT_PLAINTEXT_PARA,// Levon 2001-02-14
// 140 // 140
LFUN_FILE_INSERT_PLAINTEXT_PARA,// Levon 2001-02-14
LFUN_FILE_OPEN, LFUN_FILE_OPEN,
LFUN_PARAGRAPH_UP, // Asger 1996-10-01 LFUN_PARAGRAPH_UP, // Asger 1996-10-01
LFUN_PARAGRAPH_UP_SELECT, // Asger 1996-10-01 LFUN_PARAGRAPH_UP_SELECT, // Asger 1996-10-01
LFUN_PARAGRAPH_DOWN, // Asger 1996-10-01 LFUN_PARAGRAPH_DOWN, // Asger 1996-10-01
LFUN_PARAGRAPH_DOWN_SELECT, // Asger 1996-10-01
// 145 // 145
LFUN_PARAGRAPH_DOWN_SELECT, // Asger 1996-10-01
LFUN_NEXT_INSET_MODIFY, // JSpitzm 20080323 LFUN_NEXT_INSET_MODIFY, // JSpitzm 20080323
LFUN_BUFFER_NEW_TEMPLATE, // Asger 1997-02-02 LFUN_BUFFER_NEW_TEMPLATE, // Asger 1997-02-02
LFUN_BUFFER_RELOAD, // Asger 1997-02-02 LFUN_BUFFER_RELOAD, // Asger 1997-02-02
LFUN_RECONFIGURE, LFUN_RECONFIGURE,
LFUN_BRANCH_ACTIVATE,
// 150 // 150
LFUN_BRANCH_ACTIVATE,
LFUN_BRANCH_DEACTIVATE, LFUN_BRANCH_DEACTIVATE,
LFUN_INDEX_PRINT, // Lgb 97-02-27 LFUN_INDEX_PRINT, // Lgb 97-02-27
LFUN_CELL_SPLIT, LFUN_CELL_SPLIT,
LFUN_BUFFER_CHILD_OPEN, // Ale 970528 LFUN_BUFFER_CHILD_OPEN, // Ale 970528
LFUN_TOC_INSERT, // Lgb 97-05-27
// 155 // 155
LFUN_TOC_INSERT, // Lgb 97-05-27
LFUN_FLOAT_LIST_INSERT, // Lgb 20010503 LFUN_FLOAT_LIST_INSERT, // Lgb 20010503
LFUN_BUFFER_TOGGLE_READ_ONLY, // Lgb 97-05-27 LFUN_BUFFER_TOGGLE_READ_ONLY, // Lgb 97-05-27
LFUN_VC_REGISTER, // Lgb 97-07-01 LFUN_VC_REGISTER, // Lgb 97-07-01
LFUN_VC_CHECK_IN, // Lgb 97-07-01 LFUN_VC_CHECK_IN, // Lgb 97-07-01
LFUN_VC_CHECK_OUT, // Lgb 97-07-01
// 160 // 160
LFUN_VC_CHECK_OUT, // Lgb 97-07-01
LFUN_VC_REVERT, // Lgb 97-07-01 LFUN_VC_REVERT, // Lgb 97-07-01
LFUN_VC_UNDO_LAST, // Lgb 97-07-01 LFUN_VC_UNDO_LAST, // Lgb 97-07-01
LFUN_BUFFER_EXPORT, // Lgb 97-07-29 LFUN_BUFFER_EXPORT, // Lgb 97-07-29
LFUN_LABEL_GOTO, // Ale 970806 LFUN_LABEL_GOTO, // Ale 970806
LFUN_CURSOR_FOLLOWS_SCROLLBAR_TOGGLE, // ARRae 971202
// 165 // 165
LFUN_CURSOR_FOLLOWS_SCROLLBAR_TOGGLE, // ARRae 971202
LFUN_BUFFER_CHKTEX, // Asger 971030 LFUN_BUFFER_CHKTEX, // Asger 971030
LFUN_HYPERLINK_INSERT, // CFO-G 971121 LFUN_HYPERLINK_INSERT, // CFO-G 971121
LFUN_WORD_FIND_FORWARD, // Etienne 980216 LFUN_WORD_FIND_FORWARD, // Etienne 980216
LFUN_WORD_FIND_BACKWARD, // Etienne 980220 LFUN_WORD_FIND_BACKWARD, // Etienne 980220
LFUN_APPENDIX, // ettrich 980505
// 170 // 170
LFUN_APPENDIX, // ettrich 980505
LFUN_BUFFER_IMPORT, // Asger 980724 LFUN_BUFFER_IMPORT, // Asger 980724
LFUN_COMMAND_SEQUENCE, // Andre' 991111 LFUN_COMMAND_SEQUENCE, // Andre' 991111
LFUN_PREFERENCES_SAVE, LFUN_PREFERENCES_SAVE,
LFUN_HELP_OPEN, // Jug 990627 LFUN_HELP_OPEN, // Jug 990627
LFUN_DATE_INSERT, // jdblair 20000131
// 175 // 175
LFUN_DATE_INSERT, // jdblair 20000131
LFUN_LANGUAGE, // Dekel 20000203 LFUN_LANGUAGE, // Dekel 20000203
LFUN_ERT_INSERT, // Jug 20000218 LFUN_ERT_INSERT, // Jug 20000218
LFUN_FOOTNOTE_INSERT, // Jug 20000307 LFUN_FOOTNOTE_INSERT, // Jug 20000307
LFUN_PARAGRAPH_SPACING, // Lgb 20000411 LFUN_PARAGRAPH_SPACING, // Lgb 20000411
LFUN_TABULAR_INSERT, // Jug 20000412
// 180 // 180
LFUN_TABULAR_INSERT, // Jug 20000412
LFUN_LOFVIEW, // Dekel 20000519 LFUN_LOFVIEW, // Dekel 20000519
LFUN_LOTVIEW, // Dekel 20000519 LFUN_LOTVIEW, // Dekel 20000519
LFUN_LOAVIEW, // Dekel 20000519 LFUN_LOAVIEW, // Dekel 20000519
LFUN_SET_COLOR, // SLior 20000611 LFUN_SET_COLOR, // SLior 20000611
LFUN_MARGINALNOTE_INSERT, // Lgb 20000626
// 185 // 185
LFUN_MARGINALNOTE_INSERT, // Lgb 20000626
LFUN_FLOAT_INSERT, // Lgb 20000627 LFUN_FLOAT_INSERT, // Lgb 20000627
LFUN_FLOAT_WIDE_INSERT, // Lgb 20010531 LFUN_FLOAT_WIDE_INSERT, // Lgb 20010531
LFUN_CAPTION_INSERT, // Lgb 20000718; inactive as of 20060905 LFUN_CAPTION_INSERT, // Lgb 20000718; inactive as of 20060905
LFUN_BUFFER_SWITCH, LFUN_BUFFER_SWITCH,
LFUN_TABULAR_FEATURE, // Jug 20000728
// 190 // 190
LFUN_TABULAR_FEATURE, // Jug 20000728
LFUN_LAYOUT_TABULAR, // Jug 20000731 LFUN_LAYOUT_TABULAR, // Jug 20000731
LFUN_BUFFER_UPDATE, // Dekel 20000805 LFUN_BUFFER_UPDATE, // Dekel 20000805
LFUN_INDEX_INSERT, // Angus 20000803 LFUN_INDEX_INSERT, // Angus 20000803
LFUN_SCREEN_FONT_UPDATE, // ARRae 20000813 LFUN_SCREEN_FONT_UPDATE, // ARRae 20000813
LFUN_PARAGRAPH_GOTO, // Dekel 20000826
// 195 // 195
LFUN_PARAGRAPH_GOTO, // Dekel 20000826
LFUN_REFERENCE_NEXT, // Dekel 20010114 LFUN_REFERENCE_NEXT, // Dekel 20010114
LFUN_BOOKMARK_SAVE, LFUN_BOOKMARK_SAVE,
LFUN_BOOKMARK_GOTO, LFUN_BOOKMARK_GOTO,
LFUN_SELECT_FILE_SYNC, // Levon 20010214 LFUN_SELECT_FILE_SYNC, // Levon 20010214
LFUN_MESSAGE, // Lgb 20010408; for scripting purposes, output in minibuffer
// 200 // 200
LFUN_MESSAGE, // Lgb 20010408; for scripting purposes, output in minibuffer
LFUN_CHARS_TRANSPOSE, // Lgb 20010425 LFUN_CHARS_TRANSPOSE, // Lgb 20010425
LFUN_ESCAPE, // Lgb 20010517 LFUN_ESCAPE, // Lgb 20010517
LFUN_THESAURUS_ENTRY, // Levon 20010720 LFUN_THESAURUS_ENTRY, // Levon 20010720
LFUN_OPTIONAL_INSERT, // Martin 12 Aug 2002 LFUN_OPTIONAL_INSERT, // Martin 12 Aug 2002
LFUN_MOUSE_PRESS, // André 9 Aug 2002
// 205 // 205
LFUN_MOUSE_PRESS, // André 9 Aug 2002
LFUN_MOUSE_MOTION, // André 9 Aug 2002 LFUN_MOUSE_MOTION, // André 9 Aug 2002
LFUN_MOUSE_RELEASE, // André 9 Aug 2002 LFUN_MOUSE_RELEASE, // André 9 Aug 2002
LFUN_MOUSE_DOUBLE, // André 9 Aug 2002 LFUN_MOUSE_DOUBLE, // André 9 Aug 2002
LFUN_MOUSE_TRIPLE, // André 9 Aug 2002 LFUN_MOUSE_TRIPLE, // André 9 Aug 2002
LFUN_WRAP_INSERT, // Dekel 7 Apr 2002
// 210 // 210
LFUN_WRAP_INSERT, // Dekel 7 Apr 2002
LFUN_CHANGES_TRACK, // Levon 20021001 (cool date !) LFUN_CHANGES_TRACK, // Levon 20021001 (cool date !)
LFUN_CHANGES_MERGE, // Levon 20021016 LFUN_CHANGES_MERGE, // Levon 20021016
LFUN_CHANGE_ACCEPT, // Levon 20021016 LFUN_CHANGE_ACCEPT, // Levon 20021016
LFUN_CHANGE_REJECT, // Levon 20021016 LFUN_CHANGE_REJECT, // Levon 20021016
LFUN_ALL_CHANGES_ACCEPT, // Levon 20021016
// 215 // 215
LFUN_ALL_CHANGES_ACCEPT, // Levon 20021016
LFUN_ALL_CHANGES_REJECT, // Levon 20021016 LFUN_ALL_CHANGES_REJECT, // Levon 20021016
LFUN_SCROLL, LFUN_SCROLL,
LFUN_DIALOG_SHOW, LFUN_DIALOG_SHOW,
LFUN_DIALOG_SHOW_NEW_INSET, LFUN_DIALOG_SHOW_NEW_INSET,
LFUN_DIALOG_UPDATE,
// 220 // 220
LFUN_DIALOG_UPDATE,
LFUN_DIALOG_HIDE, LFUN_DIALOG_HIDE,
LFUN_DIALOG_TOGGLE, // JSpitzm 20070430 LFUN_DIALOG_TOGGLE, // JSpitzm 20070430
LFUN_DIALOG_DISCONNECT_INSET, LFUN_DIALOG_DISCONNECT_INSET,
LFUN_INSET_APPLY, LFUN_INSET_APPLY,
LFUN_INSET_INSERT,
// 225 // 225
LFUN_INSET_INSERT,
LFUN_INSET_MODIFY, LFUN_INSET_MODIFY,
LFUN_INSET_DIALOG_UPDATE, LFUN_INSET_DIALOG_UPDATE,
LFUN_INSET_SETTINGS, LFUN_INSET_SETTINGS,
LFUN_PARAGRAPH_PARAMS_APPLY, LFUN_PARAGRAPH_PARAMS_APPLY,
LFUN_PARAGRAPH_UPDATE,
// 230 // 230
LFUN_PARAGRAPH_UPDATE,
LFUN_INSET_EDIT, // JSpitzm 20080427 LFUN_INSET_EDIT, // JSpitzm 20080427
LFUN_BRANCH_INSERT, LFUN_BRANCH_INSERT,
LFUN_BOX_INSERT, LFUN_BOX_INSERT,
LFUN_LINE_INSERT, LFUN_LINE_INSERT,
LFUN_NEWPAGE_INSERT, // uwestoehr, 20071124
// 235 // 235
LFUN_NEWPAGE_INSERT, // uwestoehr, 20071124
LFUN_REPEAT, LFUN_REPEAT,
LFUN_FINISHED_LEFT, LFUN_FINISHED_LEFT,
LFUN_FINISHED_RIGHT, LFUN_FINISHED_RIGHT,
LFUN_FLEX_INSERT, LFUN_FLEX_INSERT,
LFUN_WORD_FIND,
// 240 // 240
LFUN_WORD_FIND,
LFUN_WORD_REPLACE, LFUN_WORD_REPLACE,
LFUN_BUFFER_EXPORT_CUSTOM, LFUN_BUFFER_EXPORT_CUSTOM,
LFUN_BUFFER_PRINT, LFUN_BUFFER_PRINT,
LFUN_NEXT_INSET_TOGGLE, LFUN_NEXT_INSET_TOGGLE,
LFUN_ALL_INSETS_TOGGLE,
// 245 // 245
LFUN_ALL_INSETS_TOGGLE,
LFUN_BUFFER_LANGUAGE, LFUN_BUFFER_LANGUAGE,
LFUN_TEXTCLASS_APPLY, LFUN_TEXTCLASS_APPLY,
LFUN_TEXTCLASS_LOAD, LFUN_TEXTCLASS_LOAD,
LFUN_BUFFER_SAVE_AS_DEFAULT, LFUN_BUFFER_SAVE_AS_DEFAULT,
LFUN_BUFFER_PARAMS_APPLY,
// 250 // 250
LFUN_BUFFER_PARAMS_APPLY,
LFUN_LYXRC_APPLY, LFUN_LYXRC_APPLY,
LFUN_BUFFER_NEXT, LFUN_BUFFER_NEXT,
LFUN_BUFFER_PREVIOUS, LFUN_BUFFER_PREVIOUS,
LFUN_STATISTICS, LFUN_STATISTICS,
LFUN_CHANGES_OUTPUT, // jspitzm 20050121
// 255 // 255
LFUN_CHANGES_OUTPUT, // jspitzm 20050121
LFUN_BIBTEX_DATABASE_ADD, LFUN_BIBTEX_DATABASE_ADD,
LFUN_BIBTEX_DATABASE_DEL, LFUN_BIBTEX_DATABASE_DEL,
LFUN_CITATION_INSERT, LFUN_CITATION_INSERT,
LFUN_OUTLINE_UP, LFUN_OUTLINE_UP,
LFUN_OUTLINE_DOWN,
// 260 // 260
LFUN_OUTLINE_DOWN,
LFUN_OUTLINE_IN, LFUN_OUTLINE_IN,
LFUN_OUTLINE_OUT, LFUN_OUTLINE_OUT,
LFUN_PARAGRAPH_MOVE_DOWN, LFUN_PARAGRAPH_MOVE_DOWN,
LFUN_PARAGRAPH_MOVE_UP, LFUN_PARAGRAPH_MOVE_UP,
LFUN_BUFFER_TOGGLE_COMPRESSION, // bpeng 20060427
// 265 // 265
LFUN_BUFFER_TOGGLE_COMPRESSION, // bpeng 20060427
LFUN_MATH_BIGDELIM, LFUN_MATH_BIGDELIM,
LFUN_CLIPBOARD_PASTE, LFUN_CLIPBOARD_PASTE,
LFUN_INSET_DISSOLVE, // jspitzm 20060807 LFUN_INSET_DISSOLVE, // jspitzm 20060807
LFUN_CHANGE_NEXT, LFUN_CHANGE_NEXT,
LFUN_WINDOW_NEW, // Abdel 20061021
// 270 // 270
LFUN_WINDOW_NEW, // Abdel 20061021
LFUN_WINDOW_CLOSE, // Abdel 20061023 LFUN_WINDOW_CLOSE, // Abdel 20061023
LFUN_UNICODE_INSERT, // Lgb 20061022 LFUN_UNICODE_INSERT, // Lgb 20061022
LFUN_BOOKMARK_CLEAR, // bpeng 20061031 LFUN_BOOKMARK_CLEAR, // bpeng 20061031
LFUN_NOMENCL_INSERT, // Ugras LFUN_NOMENCL_INSERT, // Ugras
LFUN_NOMENCL_PRINT, // Ugras
// 275 // 275
LFUN_NOMENCL_PRINT, // Ugras
LFUN_LISTING_INSERT, // Herbert 20011110, bpeng 20070502 LFUN_LISTING_INSERT, // Herbert 20011110, bpeng 20070502
LFUN_TOOLBAR_TOGGLE, // Edwin 20070521 LFUN_TOOLBAR_TOGGLE, // Edwin 20070521
LFUN_BUFFER_WRITE_ALL, // rgh, gpothier 200707XX LFUN_BUFFER_WRITE_ALL, // rgh, gpothier 200707XX
LFUN_PARAGRAPH_PARAMS, LFUN_PARAGRAPH_PARAMS,
LFUN_LAYOUT_MODULES_CLEAR,
// 280 // 280
LFUN_LAYOUT_MODULES_CLEAR,
LFUN_LAYOUT_MODULE_ADD, LFUN_LAYOUT_MODULE_ADD,
LFUN_LAYOUT_RELOAD, LFUN_LAYOUT_RELOAD,
LFUN_MASTER_BUFFER_VIEW, // Tommaso, 20070920 LFUN_MASTER_BUFFER_VIEW, // Tommaso, 20070920
LFUN_MASTER_BUFFER_UPDATE, // Tommaso, 20070920 LFUN_MASTER_BUFFER_UPDATE, // Tommaso, 20070920
LFUN_INFO_INSERT, // bpeng, 20071007
// 285 // 285
LFUN_INFO_INSERT, // bpeng, 20071007
LFUN_CALL, // broider, 20071002 LFUN_CALL, // broider, 20071002
LFUN_CHAR_LEFT, // dov, 20071022 LFUN_CHAR_LEFT, // dov, 20071022
LFUN_CHAR_LEFT_SELECT, // dov, 20071022 LFUN_CHAR_LEFT_SELECT, // dov, 20071022
LFUN_CHAR_RIGHT, // dov, 20071022 LFUN_CHAR_RIGHT, // dov, 20071022
LFUN_CHAR_RIGHT_SELECT, // dov, 20071022
// 290 // 290
LFUN_CHAR_RIGHT_SELECT, // dov, 20071022
LFUN_FINISHED_BACKWARD, // dov, 20071022 LFUN_FINISHED_BACKWARD, // dov, 20071022
LFUN_FINISHED_FORWARD, // dov, 20071022 LFUN_FINISHED_FORWARD, // dov, 20071022
LFUN_WORD_LEFT, // dov, 20071028 LFUN_WORD_LEFT, // dov, 20071028
LFUN_WORD_LEFT_SELECT, // dov, 20071028 LFUN_WORD_LEFT_SELECT, // dov, 20071028
LFUN_WORD_RIGHT, // dov, 20071028
// 295 // 295
LFUN_WORD_RIGHT, // dov, 20071028
LFUN_WORD_RIGHT_SELECT, // dov, 20071028 LFUN_WORD_RIGHT_SELECT, // dov, 20071028
LFUN_MATH_MACRO_FOLD, LFUN_MATH_MACRO_FOLD,
LFUN_MATH_MACRO_UNFOLD, LFUN_MATH_MACRO_UNFOLD,
LFUN_MATH_MACRO_ADD_PARAM, LFUN_MATH_MACRO_ADD_PARAM,
LFUN_MATH_MACRO_REMOVE_PARAM,
// 300 // 300
LFUN_MATH_MACRO_REMOVE_PARAM,
LFUN_MATH_MACRO_APPEND_GREEDY_PARAM, LFUN_MATH_MACRO_APPEND_GREEDY_PARAM,
LFUN_MATH_MACRO_REMOVE_GREEDY_PARAM, LFUN_MATH_MACRO_REMOVE_GREEDY_PARAM,
LFUN_MATH_MACRO_MAKE_OPTIONAL, LFUN_MATH_MACRO_MAKE_OPTIONAL,
LFUN_MATH_MACRO_MAKE_NONOPTIONAL, LFUN_MATH_MACRO_MAKE_NONOPTIONAL,
LFUN_MATH_MACRO_ADD_OPTIONAL_PARAM,
// 305 // 305
LFUN_MATH_MACRO_ADD_OPTIONAL_PARAM,
LFUN_MATH_MACRO_REMOVE_OPTIONAL_PARAM, LFUN_MATH_MACRO_REMOVE_OPTIONAL_PARAM,
LFUN_MATH_MACRO_ADD_GREEDY_OPTIONAL_PARAM, LFUN_MATH_MACRO_ADD_GREEDY_OPTIONAL_PARAM,
LFUN_IN_MATHMACROTEMPLATE, LFUN_IN_MATHMACROTEMPLATE,
LFUN_COMPLETION_POPUP, LFUN_COMPLETION_POPUP,
LFUN_COMPLETION_INLINE,
// 310 // 310
LFUN_COMPLETION_INLINE,
LFUN_COMPLETION_COMPLETE, LFUN_COMPLETION_COMPLETE,
LFUN_SET_GRAPHICS_GROUP, LFUN_SET_GRAPHICS_GROUP,
LFUN_COMPLETION_CANCEL, LFUN_COMPLETION_CANCEL,
LFUN_COMPLETION_ACCEPT, LFUN_COMPLETION_ACCEPT,
LFUN_COMMAND_ALTERNATIVES,
// 315 // 315
LFUN_COMMAND_ALTERNATIVES,
LFUN_TAB_INSERT, LFUN_TAB_INSERT,
LFUN_TAB_DELETE, LFUN_TAB_DELETE,
LFUN_VC_COMMAND, LFUN_VC_COMMAND,

View File

@ -1065,6 +1065,13 @@ void LyXAction::init()
* \endvar * \endvar
*/ */
{ LFUN_PRIMARY_SELECTION_PASTE, "primary-selection-paste", Noop, Edit }, { LFUN_PRIMARY_SELECTION_PASTE, "primary-selection-paste", Noop, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_SELECTION_PASTE
* \li Action: Pastes the text in permanent selection.
* \li Syntax: selection-paste
* \endvar
*/
{ LFUN_SELECTION_PASTE, "selection-paste", Noop, Edit },
/*! /*!
* \var lyx::FuncCode lyx::LFUN_UNDO * \var lyx::FuncCode lyx::LFUN_UNDO
* \li Action: Undoes the last edit. * \li Action: Undoes the last edit.

View File

@ -1135,6 +1135,15 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
cmd.argument() == "paragraph"); cmd.argument() == "paragraph");
break; break;
case LFUN_SELECTION_PASTE:
// Copy the selection buffer to the clipboard stack,
// because we want it to appear in the "Edit->Paste
// recent" menu.
cap::copySelectionToStack();
cap::pasteSelection(bv->cursor(), bv->buffer().errorList("Paste"));
bv->buffer().errors("Paste");
break;
case LFUN_UNICODE_INSERT: { case LFUN_UNICODE_INSERT: {
if (cmd.argument().empty()) if (cmd.argument().empty())
break; break;
@ -1219,23 +1228,10 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
case mouse_button::button2: case mouse_button::button2:
// Middle mouse pasting. // Middle mouse pasting.
bv->mouseSetCursor(cur); bv->mouseSetCursor(cur);
if (!cap::selection()) { lyx::dispatch(
// There is no local selection in the current buffer, so try to FuncRequest(LFUN_COMMAND_ALTERNATIVES,
// paste primary selection instead. "selection-paste ; primary-selection-paste paragraph"));
lyx::dispatch(FuncRequest(LFUN_PRIMARY_SELECTION_PASTE,
"paragraph"));
// Nothing else to do.
cur.noUpdate(); cur.noUpdate();
return;
}
// Copy the selection buffer to the clipboard stack, because we want it
// to appear in the "Edit->Paste recent" menu.
cap::copySelectionToStack();
cap::pasteSelection(bv->cursor(), bv->buffer().errorList("Paste"));
cur.updateFlags(Update::Force | Update::FitCursor);
bv->buffer().errors("Paste");
bv->buffer().markDirty();
bv->cursor().finishUndo();
break; break;
case mouse_button::button3: { case mouse_button::button3: {
@ -2179,6 +2175,10 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
enable = cur.selection() || !theSelection().empty(); enable = cur.selection() || !theSelection().empty();
break; break;
case LFUN_SELECTION_PASTE:
enable = cap::selection();
break;
case LFUN_PARAGRAPH_MOVE_UP: case LFUN_PARAGRAPH_MOVE_UP:
enable = cur.pit() > 0 && !cur.selection(); enable = cur.pit() > 0 && !cur.selection();
break; break;