return true;\r
}\r
}\r
+ case EMIE_MMOUSE_PRESSED_DOWN: {\r
+ if (!AbsoluteClippingRect.isPointInside(core::position2d<s32>(\r
+ event.MouseInput.X, event.MouseInput.Y)))\r
+ return false;\r
+\r
+ if (!Environment->hasFocus(this)) {\r
+ BlinkStartTime = os::Timer::getTime();\r
+ }\r
+\r
+ // move cursor and disable marking\r
+ CursorPos = getCursorPos(event.MouseInput.X, event.MouseInput.Y);\r
+ MouseMarking = false;\r
+ setTextMarkers(CursorPos, CursorPos);\r
+\r
+ // paste from the primary selection\r
+ inputString([&] {\r
+ irr::core::stringw inserted_text;\r
+ if (!Operator)\r
+ return inserted_text;\r
+ const c8 *inserted_text_utf8 = Operator->getTextFromPrimarySelection();\r
+ if (!inserted_text_utf8)\r
+ return inserted_text;\r
+ core::multibyteToWString(inserted_text, inserted_text_utf8);\r
+ return inserted_text;\r
+ }());\r
+\r
+ return true;\r
+ }\r
default:\r
break;\r
}\r
{\r
MarkBegin = begin;\r
MarkEnd = end;\r
+\r
+ if (!PasswordBox && Operator && MarkBegin != MarkEnd) {\r
+ // copy to primary selection\r
+ const s32 realmbgn = MarkBegin < MarkEnd ? MarkBegin : MarkEnd;\r
+ const s32 realmend = MarkBegin < MarkEnd ? MarkEnd : MarkBegin;\r
+\r
+ core::stringc s;\r
+ wStringToMultibyte(s, Text.subString(realmbgn, realmend - realmbgn));\r
+ Operator->copyToPrimarySelection(s.c_str());\r
+ }\r
+\r
sendGuiEvent(EGET_EDITBOX_MARKING_CHANGED);\r
}\r
}\r