From f008a98105347c94b21957c84cfb252c8b813605 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Mon, 31 Aug 2020 13:15:59 -0700 Subject: [PATCH] Fixed copy text in read-only panels --- BeefLibs/Beefy2D/src/widgets/EditWidget.bf | 51 ++++++++++------------ 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/BeefLibs/Beefy2D/src/widgets/EditWidget.bf b/BeefLibs/Beefy2D/src/widgets/EditWidget.bf index 33bdb942..fc9c5a97 100644 --- a/BeefLibs/Beefy2D/src/widgets/EditWidget.bf +++ b/BeefLibs/Beefy2D/src/widgets/EditWidget.bf @@ -2003,35 +2003,32 @@ namespace Beefy.widgets void CopyText(bool cut) { - if (!CheckReadOnly()) + bool selectedLine = false; + String extra = scope .(); + if (!HasSelection()) { - bool selectedLine = false; - String extra = scope .(); - if (!HasSelection()) - { - selectedLine = true; - GetLinePosition(CursorLineAndColumn.mLine, var lineStart, var lineEnd); - mSelection = .(lineStart, lineEnd); - extra.Append("line"); - } - - String selText = scope String(); - GetSelectionText(selText); - BFApp.sApp.SetClipboardText(selText, extra); - if (cut) - { - if (selectedLine) - { - // Remove \n - if (mSelection.Value.mEndPos < mData.mTextLength) - mSelection.ValueRef.mEndPos++; - } - DeleteSelection(); - } - - if (selectedLine) - mSelection = null; + selectedLine = true; + GetLinePosition(CursorLineAndColumn.mLine, var lineStart, var lineEnd); + mSelection = .(lineStart, lineEnd); + extra.Append("line"); } + + String selText = scope String(); + GetSelectionText(selText); + BFApp.sApp.SetClipboardText(selText, extra); + if ((cut) && (!CheckReadOnly())) + { + if (selectedLine) + { + // Remove \n + if (mSelection.Value.mEndPos < mData.mTextLength) + mSelection.ValueRef.mEndPos++; + } + DeleteSelection(); + } + + if (selectedLine) + mSelection = null; } public void CutText()