Author: jghali
Date: Sun Aug 30 09:13:38 2020
New Revision: 24001

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=24001
Log:
When using story editor undo, replace Unicode's paragraph separator used by Qt 
by the one used by Scribus (0x13)

Modified:
    trunk/Scribus/scribus/ui/storyeditor.cpp

Modified: trunk/Scribus/scribus/ui/storyeditor.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24001&path=/trunk/Scribus/scribus/ui/storyeditor.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/storyeditor.cpp    (original)
+++ trunk/Scribus/scribus/ui/storyeditor.cpp    Sun Aug 30 09:13:38 2020
@@ -479,7 +479,10 @@
                        cursor.setPosition(position + charsAdded, 
QTextCursor::KeepAnchor);
                        QString addedChars = cursor.selectedText();
                        if (addedChars.length() > 0)
+                       {
+                               addedChars.replace(QString(0x2029), 
SpecialChars::PARSEP);
                                StyledText.insertChars(position, addedChars, 
true);
+                       }
                        //qDebug("handleContentsChange : - %01d, + %01d, len 
%01d", charsRemoved, charsAdded, addedChars.length());
                }       
        }
@@ -1090,13 +1093,14 @@
 QMimeData* SEditor::createMimeDataFromSelection () const
 {
        StyledTextMimeData* mimeData = new StyledTextMimeData();
-       int start = textCursor().selectionStart();
-       int end   = textCursor().selectionEnd();
+       QTextCursor cursor = textCursor();
+       int start = cursor.selectionStart();
+       int end   = cursor.selectionEnd();
        if (start < 0 || end <= start)
                return mimeData;
        StoryText* that = const_cast<StoryText*> (&StyledText);
-       that->select(start, end-start);
-       QString selectedText = textCursor().selectedText();
+       that->select(start, end - start);
+       QString selectedText = cursor.selectedText();
        selectedText.replace(QChar(0x2029), QChar('\n'));
        mimeData->setText(selectedText);
        mimeData->setStyledText(*that, doc);
@@ -2940,18 +2944,8 @@
        if (!m_textChanged)
                return;
        PageItem *nextItem = m_item;
-//#if 0
        if (m_item->isTextFrame())
-       {
-               while (nextItem != nullptr)
-               {
-                       if (nextItem->prevInChain() != nullptr)
-                               nextItem = nextItem->prevInChain();
-                       else
-                               break;
-               }
-       }
-//#endif
+               nextItem = m_item->firstInChain();
        m_item->invalidateLayout();
        PageItem* nb2 = nextItem;
        nb2->itemText.clear();


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to