Fixed a problem with paste resetting the content paragraph style.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -6602,34 +6602,12 @@ bool wxRichTextBuffer::InsertParagraphsWithUndo(long pos, const wxRichTextParagr
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Submit command to insert paragraphs
|
/// Submit command to insert paragraphs
|
||||||
bool wxRichTextParagraphLayoutBox::InsertParagraphsWithUndo(long pos, const wxRichTextParagraphLayoutBox& paragraphs, wxRichTextCtrl* ctrl, wxRichTextBuffer* buffer, int flags)
|
bool wxRichTextParagraphLayoutBox::InsertParagraphsWithUndo(long pos, const wxRichTextParagraphLayoutBox& paragraphs, wxRichTextCtrl* ctrl, wxRichTextBuffer* buffer, int WXUNUSED(flags))
|
||||||
{
|
{
|
||||||
wxRichTextAction* action = new wxRichTextAction(NULL, _("Insert Text"), wxRICHTEXT_INSERT, buffer, this, ctrl, false);
|
wxRichTextAction* action = new wxRichTextAction(NULL, _("Insert Text"), wxRICHTEXT_INSERT, buffer, this, ctrl, false);
|
||||||
|
|
||||||
wxRichTextAttr attr(buffer->GetDefaultStyle());
|
|
||||||
|
|
||||||
wxRichTextAttr* p = NULL;
|
|
||||||
wxRichTextAttr paraAttr;
|
|
||||||
if (flags & wxRICHTEXT_INSERT_WITH_PREVIOUS_PARAGRAPH_STYLE)
|
|
||||||
{
|
|
||||||
paraAttr = GetStyleForNewParagraph(buffer, pos);
|
|
||||||
if (!paraAttr.IsDefault())
|
|
||||||
p = & paraAttr;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
p = & attr;
|
|
||||||
|
|
||||||
action->GetNewParagraphs() = paragraphs;
|
action->GetNewParagraphs() = paragraphs;
|
||||||
|
|
||||||
if (p && !p->IsDefault())
|
|
||||||
{
|
|
||||||
for (wxRichTextObjectList::compatibility_iterator node = action->GetNewParagraphs().GetChildren().GetFirst(); node; node = node->GetNext())
|
|
||||||
{
|
|
||||||
wxRichTextObject* child = node->GetData();
|
|
||||||
child->SetAttributes(*p);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
action->SetPosition(pos);
|
action->SetPosition(pos);
|
||||||
|
|
||||||
wxRichTextRange range = wxRichTextRange(pos, pos + paragraphs.GetOwnRange().GetEnd() - 1);
|
wxRichTextRange range = wxRichTextRange(pos, pos + paragraphs.GetOwnRange().GetEnd() - 1);
|
||||||
|
Reference in New Issue
Block a user