X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FCutAndPaste.h;h=6375530580bd6be7c5bff1b5b6edb7ff7c883a7f;hb=e53e4d06726919c0fbf386bbe8f9d62a640b74d7;hp=2baaeb2ae8c88a6fef2423ccafaab52a1e05d3f1;hpb=594a589bc46be12e99c20fa7be65e713c3fabb24;p=lyx.git diff --git a/src/CutAndPaste.h b/src/CutAndPaste.h index 2baaeb2ae8..6375530580 100644 --- a/src/CutAndPaste.h +++ b/src/CutAndPaste.h @@ -45,7 +45,7 @@ docstring getSelection(Buffer const & buffer, size_t sel_index); */ void replaceSelectionWithString(LCursor & cur, docstring const & str, bool backwards); -/// If a selection exists, cut it and push it to the cut buffer. +/// If a selection exists, delete it without pushing it to the cut buffer. /// Does handle undo. void replaceSelection(LCursor & cur); @@ -56,17 +56,36 @@ void replaceSelection(LCursor & cur); * \param doclear If this is true: Delete leading spaces in paragraphs before * they get merged. * \param realcut If this is true: Push the selection to the cut buffer and - * system clipboard. Set this to false for internal cuts that - * do not directly originate from the user. + * system clipboard. Set this to false to only delete the + * selection. */ void cutSelection(LCursor & cur, bool doclear = true, bool realcut = true); /// Push the current selection to the cut buffer and the system clipboard. void copySelection(LCursor & cur); -/// Push the current selection to the cut buffer. -void copySelectionToStack(LCursor & cur); -/// Paste the sel_index-th element of the cut buffer. +/** + * Push the current selection to the cut buffer and the system clipboard. + * \param plaintext plain text version of the selection for the system + * clipboard + */ +void copySelection(LCursor & cur, docstring const & plaintext); +/// Push the selection buffer to the cut buffer. +void copySelectionToStack(); +/// Store the current selection in the internal selection buffer +void saveSelection(LCursor & cur); +/// Is a selection available in our selection buffer? +bool selection(); +/// Clear our selection buffer +void clearSelection(); +/// Paste the current selection at \p cur +/// Does handle undo. Does only work in text, not mathed. +void pasteSelection(LCursor & cur, ErrorList &); +/// Replace the current selection with the clipboard contents (internal or +/// external: which is newer) +/// Does handle undo. Does only work in text, not mathed. +void pasteClipboard(LCursor & cur, ErrorList & errorList, bool asParagraphs = true); +/// Replace the current selection with cut buffer \c sel_index /// Does handle undo. Does only work in text, not mathed. -void pasteSelection(LCursor & cur, ErrorList &, size_t sel_index = 0); +void pasteFromStack(LCursor & cur, ErrorList & errorList, size_t sel_index); /// Paste the paragraph list \p parlist at the position given by \p cur. /// Does not handle undo. Does only work in text, not mathed.