X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5219cf0588852d7f1cfeab0df74314589a9d1e22..276227fcbb831ed5a83f0f3e40eeb9fac98dea32:/src/richtext/richtextctrl.cpp?ds=sidebyside diff --git a/src/richtext/richtextctrl.cpp b/src/richtext/richtextctrl.cpp index abc5b0f6be..43d636458b 100644 --- a/src/richtext/richtextctrl.cpp +++ b/src/richtext/richtextctrl.cpp @@ -293,12 +293,12 @@ bool wxRichTextCtrl::Create( wxWindow* parent, wxWindowID id, const wxString& va // Accelerators wxAcceleratorEntry entries[6]; - entries[0].Set(wxACCEL_CMD, (int) 'C', wxID_COPY); - entries[1].Set(wxACCEL_CMD, (int) 'X', wxID_CUT); - entries[2].Set(wxACCEL_CMD, (int) 'V', wxID_PASTE); - entries[3].Set(wxACCEL_CMD, (int) 'A', wxID_SELECTALL); - entries[4].Set(wxACCEL_CMD, (int) 'Z', wxID_UNDO); - entries[5].Set(wxACCEL_CMD, (int) 'Y', wxID_REDO); + entries[0].Set(wxACCEL_CTRL, (int) 'C', wxID_COPY); + entries[1].Set(wxACCEL_CTRL, (int) 'X', wxID_CUT); + entries[2].Set(wxACCEL_CTRL, (int) 'V', wxID_PASTE); + entries[3].Set(wxACCEL_CTRL, (int) 'A', wxID_SELECTALL); + entries[4].Set(wxACCEL_CTRL, (int) 'Z', wxID_UNDO); + entries[5].Set(wxACCEL_CTRL, (int) 'Y', wxID_REDO); wxAcceleratorTable accel(6, entries); SetAcceleratorTable(accel); @@ -568,12 +568,7 @@ void wxRichTextCtrl::OnLeftClick(wxMouseEvent& event) // For now, don't handle shift-click when we're selecting multiple objects. if (event.ShiftDown() && GetFocusObject() == oldFocusObject && m_selectionState == wxRichTextCtrlSelectionState_Normal) - { - if (!m_selection.IsValid()) - ExtendSelection(oldCaretPos, m_caretPosition, wxRICHTEXT_SHIFT_DOWN); - else - ExtendSelection(m_caretPosition, m_caretPosition, wxRICHTEXT_SHIFT_DOWN); - } + ExtendSelection(oldCaretPos, m_caretPosition, wxRICHTEXT_SHIFT_DOWN); else SelectNone(); } @@ -2930,13 +2925,19 @@ void wxRichTextCtrl::SetSelection(long from, long to) // Editing // ---------------------------------------------------------------------------- -void wxRichTextCtrl::Replace(long WXUNUSED(from), long WXUNUSED(to), +void wxRichTextCtrl::Replace(long from, long to, const wxString& value) { BeginBatchUndo(_("Replace")); + SetSelection(from, to); + + wxRichTextAttr attr = GetDefaultStyle(); + DeleteSelectedContent(); + SetDefaultStyle(attr); + DoWriteText(value, SetValue_SelectionOnly); EndBatchUndo();