Author: craig
Date: Thu Nov 28 22:23:44 2019
New Revision: 23386

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=23386
Log:
Add StoryText isSelected() and clean up Enablde-DisableTxEdit in 
ScribusMainWindow

Modified:
    trunk/Scribus/scribus/canvasmode_edit.cpp
    trunk/Scribus/scribus/hyphenator.cpp
    trunk/Scribus/scribus/pageitem.cpp
    trunk/Scribus/scribus/pageitem_textframe.cpp
    trunk/Scribus/scribus/scribus.cpp
    trunk/Scribus/scribus/scribus.h
    trunk/Scribus/scribus/scribusdoc.cpp
    trunk/Scribus/scribus/scribusview.cpp
    trunk/Scribus/scribus/text/storytext.cpp
    trunk/Scribus/scribus/text/storytext.h
    trunk/Scribus/scribus/ui/search.cpp

Modified: trunk/Scribus/scribus/canvasmode_edit.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23386&path=/trunk/Scribus/scribus/canvasmode_edit.cpp
==============================================================================
--- trunk/Scribus/scribus/canvasmode_edit.cpp   (original)
+++ trunk/Scribus/scribus/canvasmode_edit.cpp   Thu Nov 28 22:23:44 2019
@@ -382,7 +382,7 @@
                                        
currItem->itemText.setCursorPosition(newPos);
                                }
                        }
-                       currItem->HasSel = 
(currItem->itemText.selectionLength() > 0);
+                       currItem->HasSel = currItem->itemText.isSelected();
                }
        }
        else
@@ -459,9 +459,9 @@
                                                currItem->HasSel = true;
                                        }
                                }
+                               m_ScMW->setCopyCutEnabled(currItem->HasSel);
                                if (currItem->HasSel)
                                {
-                                       m_ScMW->EnableTxEdit();
                                        m_canvas->m_viewMode.operTextSelecting 
= true;
                                        if ((refStartSel != 
currItem->asTextFrame()->itemText.startOfSelection()) ||
                                                (refEndSel   != 
currItem->asTextFrame()->itemText.endOfSelection()))
@@ -470,8 +470,6 @@
                                                
m_canvas->update(QRectF(m_canvas->canvasToLocal(br.topLeft()), br.size() * 
m_canvas->scale()).toRect());
                                        }
                                }
-                               else
-                                       m_ScMW->DisableTxEdit();
                        }
                }
                if (!m_canvas->m_viewMode.m_MouseButtonPressed)
@@ -642,7 +640,7 @@
                                //<<CB Add in shift select to text frames
                                if (m->modifiers() & Qt::ShiftModifier)
                                {
-                                       if 
(currItem->itemText.selectionLength() > 0)
+                                       if (currItem->itemText.isSelected())
                                        {
                                                if 
(currItem->itemText.cursorPosition() < (currItem->itemText.startOfSelection() + 
currItem->itemText.endOfSelection()) / 2)
                                                {
@@ -949,12 +947,7 @@
                m_doc->nodeEdit.finishTransaction(currItem);
        }
        if (GetItem(&currItem) && currItem->asTextFrame())
-       {
-               if (currItem->itemText.selectionLength() > 0)
-                       m_ScMW->EnableTxEdit();
-               else
-                       m_ScMW->DisableTxEdit();
-       }
+               m_ScMW->setCopyCutEnabled(currItem->itemText.isSelected());
 }
 
 //CB-->Doc/Fix

Modified: trunk/Scribus/scribus/hyphenator.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23386&path=/trunk/Scribus/scribus/hyphenator.cpp
==============================================================================
--- trunk/Scribus/scribus/hyphenator.cpp        (original)
+++ trunk/Scribus/scribus/hyphenator.cpp        Thu Nov 28 22:23:44 2019
@@ -137,7 +137,7 @@
        QString text = "";
 
        int startC = 0;
-       if (it->itemText.selectionLength() > 0)
+       if (it->itemText.isSelected())
        {
                startC = it->itemText.startOfSelection();
                text = it->itemText.text(startC, 
it->itemText.selectionLength());
@@ -340,7 +340,7 @@
        if (!(it->asTextFrame()) || (it ->itemText.length() == 0))
                return;
 
-       if (it->itemText.selectionLength() > 0)
+       if (it->itemText.isSelected())
                it->itemText.hyphenateWord(it->itemText.startOfSelection(), 
it->itemText.selectionLength(), nullptr);
        else
        {

Modified: trunk/Scribus/scribus/pageitem.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23386&path=/trunk/Scribus/scribus/pageitem.cpp
==============================================================================
--- trunk/Scribus/scribus/pageitem.cpp  (original)
+++ trunk/Scribus/scribus/pageitem.cpp  Thu Nov 28 22:23:44 2019
@@ -1543,7 +1543,7 @@
 const ParagraphStyle& PageItem::currentStyle() const
 {
        int cursorPosition = itemText.cursorPosition();
-       if (itemText.selectionLength() > 0)
+       if (itemText.isSelected())
        {
                int firstSelected = itemText.startOfSelection();
                int lastSelected  = qMax(itemText.endOfSelection() - 1, 0);
@@ -1559,7 +1559,7 @@
 ParagraphStyle& PageItem::changeCurrentStyle()
 {
        int cursorPosition = itemText.cursorPosition();
-       if (itemText.selectionLength() > 0)
+       if (itemText.isSelected())
        {
                int firstSelected = itemText.startOfSelection();
                int lastSelected  = qMax(itemText.endOfSelection() - 1, 0);
@@ -1575,7 +1575,7 @@
 const CharStyle& PageItem::currentCharStyle() const
 {
        int cursorPosition = itemText.cursorPosition();
-       if (itemText.selectionLength() > 0)
+       if (itemText.isSelected())
        {
                int firstSelected = itemText.startOfSelection();
                int lastSelected  = qMax(itemText.endOfSelection() - 1, 0);
@@ -1594,7 +1594,7 @@
        parStyle = curStyle;
 
        int position = itemText.cursorPosition();
-       if (itemText.selectionLength() > 0)
+       if (itemText.isSelected())
                position = qMin(qMax(itemText.endOfSelection() - 1, 0), 
qMax(position, itemText.startOfSelection()));
 
        // Note: cursor position can be past last characters, don't use 
frameDisplays() here

Modified: trunk/Scribus/scribus/pageitem_textframe.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23386&path=/trunk/Scribus/scribus/pageitem_textframe.cpp
==============================================================================
--- trunk/Scribus/scribus/pageitem_textframe.cpp        (original)
+++ trunk/Scribus/scribus/pageitem_textframe.cpp        Thu Nov 28 22:23:44 2019
@@ -3786,7 +3786,7 @@
        {
                ParagraphStyle defaultStyle = this->itemText.defaultStyle();
                int pos = itemText.cursorPosition();
-               if (itemText.selectionLength() == 0)
+               if (!itemText.isSelected())
                {
                        itemText.select(maxCharsInFrame(), itemText.length() - 
maxCharsInFrame(), true);
                        deleteSelectedTextFromFrame();
@@ -3921,7 +3921,7 @@
                                UndoTransaction trans;
                                if (UndoManager::undoEnabled())
                                        trans = 
undoManager->beginTransaction(Um::Selection,Um::ITextFrame,Um::InsertText,"",Um::IDelete);
-                               if (itemText.selectionLength() > 0)
+                               if (itemText.isSelected())
                                        deleteSelectedTextFromFrame();
                                if (conv < 31)
                                        conv = 32;
@@ -4229,7 +4229,7 @@
        case Qt::Key_Delete:
                if (itemText.cursorPosition() == itemText.length())
                {
-                       if (itemText.selectionLength() > 0)
+                       if (itemText.isSelected())
                        {
                                deleteSelectedTextFromFrame();
                                m_Doc->scMW()->setTBvals(this);
@@ -4253,7 +4253,7 @@
                        keyRepeat = false;
                        return;
                }
-               if (itemText.selectionLength() == 0)
+               if (!itemText.isSelected())
                {
                        int pos1 = itemText.cursorPosition();
                        itemText.moveCursorForward();
@@ -4287,7 +4287,7 @@
        case Qt::Key_Backspace:
                if (itemText.cursorPosition() == 0)
                {
-                       if (itemText.selectionLength() > 0)
+                       if (itemText.isSelected())
                        {
                                deleteSelectedTextFromFrame();
                                m_Doc->scMW()->setTBvals(this);
@@ -4306,7 +4306,7 @@
                }
                if (itemText.length() == 0)
                        break;
-               if (itemText.selectionLength() == 0)
+               if (!itemText.isSelected())
                {
                        itemText.setCursorPosition(-1, true);
                        itemText.select(itemText.cursorPosition(), 1, true);
@@ -4354,7 +4354,7 @@
                        break; //avoid inserting chars before first note mark
                bool doUpdate = false;
                UndoTransaction activeTransaction;
-               if (itemText.selectionLength() > 0) //(kk < 0x1000)
+               if (itemText.isSelected()) //(kk < 0x1000)
                {
                        bool x11Hack=false;
                        bool controlCharHack=false;
@@ -4519,7 +4519,7 @@
 {
        if (itemText.length() <= 0)
                return;
-       if (itemText.selectionLength() == 0)
+       if (!itemText.isSelected())
        {
                itemText.select(itemText.cursorPosition(), 1);
                HasSel = true;
@@ -4704,7 +4704,7 @@
        itemText.removeSelection();
        HasSel = false;
 //     m_Doc->updateFrameItems();
-       m_Doc->scMW()->DisableTxEdit();
+       m_Doc->scMW()->setCopyCutEnabled(false);
 }
 
 bool PageItem_TextFrame::checkKeyIsShortcut(QKeyEvent *k)
@@ -4866,17 +4866,8 @@
        {
                itemText.extendSelection(oldPos, itemText.cursorPosition());
        }
-       HasSel = (itemText.selectionLength() > 0);
-       if (HasSel)
-       {
-               //CB Replace with direct call for now //emit HasTextSel();
-               m_Doc->scMW()->EnableTxEdit();
-       }
-       else
-       {
-               //CB Replace with direct call for now //emit  HasNoTextSel();
-               m_Doc->scMW()->DisableTxEdit();
-       }
+       HasSel = itemText.isSelected();
+       m_Doc->scMW()->setCopyCutEnabled(HasSel);
        cursorBiasBackward = (oldPos > itemText.cursorPosition());
 
 //     layoutWeakLock = true;
@@ -4886,7 +4877,7 @@
 
 void PageItem_TextFrame::deselectAll()
 {
-       if ( itemText.selectionLength() > 0 )
+       if (itemText.isSelected())
        {
                itemText.deselectAll();
                PageItem *item = this;
@@ -4902,7 +4893,7 @@
                m_Doc->regionsChanged()->update(getBoundingRect());
        }
        //CB Replace with direct call for now //emit HasNoTextSel();
-       m_Doc->scMW()->DisableTxEdit();
+       m_Doc->scMW()->setCopyCutEnabled(false);
 }
 
 double PageItem_TextFrame::columnWidth()
@@ -5542,7 +5533,7 @@
        int stop = 0;
        if (onlySelection)
        {
-               if (itemText.selectionLength() > 0)
+               if (itemText.isSelected())
                {
                        //only selection
                        start = itemText.startOfSelection();
@@ -5594,7 +5585,7 @@
        int stop = itemText.length();
        if (onlySelection)
        {
-               if (itemText.selectionLength() > 0)
+               if (itemText.isSelected())
                {
                        start = itemText.startOfSelection();
                        stop = start + itemText.selectionLength();

Modified: trunk/Scribus/scribus/scribus.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23386&path=/trunk/Scribus/scribus/scribus.cpp
==============================================================================
--- trunk/Scribus/scribus/scribus.cpp   (original)
+++ trunk/Scribus/scribus/scribus.cpp   Thu Nov 28 22:23:44 2019
@@ -5102,7 +5102,7 @@
                        nextItem->HasSel = true;
                        nextItem = nextItem->nextInChain();
                }
-               EnableTxEdit();
+               setCopyCutEnabled(true);
        }
        else
        {
@@ -5174,16 +5174,11 @@
        scrActions["editPaste"]->setEnabled(HaveDoc && (hasScribusData || 
textFrameEditMode || tableEditMode || hasExternalData));
 }
 
-void ScribusMainWindow::EnableTxEdit()
-{
-       scrActions["editCut"]->setEnabled(true);
-       scrActions["editCopy"]->setEnabled(true);
-}
-
-void ScribusMainWindow::DisableTxEdit()
-{
-       scrActions["editCut"]->setEnabled(false);
-       scrActions["editCopy"]->setEnabled(false);
+
+void ScribusMainWindow::setCopyCutEnabled(bool b)
+{
+       scrActions["editCut"]->setEnabled(b);
+       scrActions["editCopy"]->setEnabled(b);
 }
 
 void ScribusMainWindow::slotHelpAbout()

Modified: trunk/Scribus/scribus/scribus.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23386&path=/trunk/Scribus/scribus/scribus.h
==============================================================================
--- trunk/Scribus/scribus/scribus.h     (original)
+++ trunk/Scribus/scribus/scribus.h     Thu Nov 28 22:23:44 2019
@@ -380,12 +380,11 @@
        void slotEditPaste();
        void slotEditCopyContents();
        void slotEditPasteContents(int absolute=0);
-       void EnableTxEdit();
-       void DisableTxEdit();
        void SelectAll(bool docWideSelect=false);
        void SelectAllOnLayer();
        void deselectAll();
        void ClipChange();
+       void setCopyCutEnabled(bool b);
        /** \brief shows an about dialog*/
        void slotHelpAbout();
        void slotHelpAboutPlugins();

Modified: trunk/Scribus/scribus/scribusdoc.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23386&path=/trunk/Scribus/scribus/scribusdoc.cpp
==============================================================================
--- trunk/Scribus/scribus/scribusdoc.cpp        (original)
+++ trunk/Scribus/scribus/scribusdoc.cpp        Thu Nov 28 22:23:44 2019
@@ -9304,7 +9304,7 @@
                        int length = currItem->lastInFrame() - start + 1;
                        if ((appMode == modeEdit) || (appMode == modeEditTable))
                        {
-                               if (currItem->itemText.selectionLength() > 0)
+                               if (currItem->itemText.isSelected())
                                {
                                        start = 
currItem->itemText.startOfSelection();
                                        length = 
currItem->itemText.endOfSelection() - start;
@@ -9435,7 +9435,7 @@
                        int length = currItem->lastInFrame() - start + 1;
                        if ((appMode == modeEdit) || (appMode == modeEditTable))
                        {
-                               if (currItem->itemText.selectionLength() > 0)
+                               if (currItem->itemText.isSelected())
                                {
                                        start = 
currItem->itemText.startOfSelection();
                                        length = 
currItem->itemText.endOfSelection() - start;
@@ -9515,7 +9515,7 @@
                        int length = currItem->lastInFrame() - start + 1;
                        if ((appMode == modeEdit) || (appMode == modeEditTable))
                        {
-                               if (currItem->itemText.selectionLength() > 0)
+                               if (currItem->itemText.isSelected())
                                {
                                        start = 
currItem->itemText.startOfSelection();
                                        length = 
currItem->itemText.endOfSelection() - start;
@@ -14539,12 +14539,12 @@
        currItem->Sizing = false;
        if ((!(currItem->isGroup() || currItem->isSymbol())) || includeGroup)
        {
-               double oldX = currItem->xPos();
-               double oldY = currItem->yPos();
-               double oldW = currItem->width();
-               double oldH = currItem->height();
-               double oldgW = currItem->groupWidth;
-               double oldgH = currItem->groupHeight;
+//             double oldX = currItem->xPos();
+//             double oldY = currItem->yPos();
+//             double oldW = currItem->width();
+//             double oldH = currItem->height();
+//             double oldgW = currItem->groupWidth;
+//             double oldgH = currItem->groupHeight;
                FPointArray clip = currItem->PoLine;
                QRectF clipRect = clip.toQPainterPath(false).boundingRect();
                FPoint tp2(clipRect.left(), clipRect.top());

Modified: trunk/Scribus/scribus/scribusview.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23386&path=/trunk/Scribus/scribus/scribusview.cpp
==============================================================================
--- trunk/Scribus/scribus/scribusview.cpp       (original)
+++ trunk/Scribus/scribus/scribusview.cpp       Thu Nov 28 22:23:44 2019
@@ -1708,7 +1708,7 @@
                if (textFrame->itemText.length() > 0)
                {
                        int pos = qMax(0, 
qMin(textFrame->itemText.cursorPosition(), textFrame->itemText.length()));
-                       if (textFrame->itemText.selectionLength() > 0)
+                       if (textFrame->itemText.isSelected())
                        {
                                int firstSelected = 
textFrame->itemText.startOfSelection();
                                int lastSelected  = 
qMax(textFrame->itemText.endOfSelection() - 1, 0);

Modified: trunk/Scribus/scribus/text/storytext.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23386&path=/trunk/Scribus/scribus/text/storytext.cpp
==============================================================================
--- trunk/Scribus/scribus/text/storytext.cpp    (original)
+++ trunk/Scribus/scribus/text/storytext.cpp    Thu Nov 28 22:23:44 2019
@@ -1757,6 +1757,11 @@
        if (m_selLast >= length())
                last = length() -1;
        return m_selFirst <= last? last - m_selFirst + 1 : 0;
+}
+
+bool StoryText::isSelected() const
+{
+       return selectionLength() > 0;
 }
 
 

Modified: trunk/Scribus/scribus/text/storytext.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23386&path=/trunk/Scribus/scribus/text/storytext.h
==============================================================================
--- trunk/Scribus/scribus/text/storytext.h      (original)
+++ trunk/Scribus/scribus/text/storytext.h      Thu Nov 28 22:23:44 2019
@@ -246,6 +246,7 @@
        int startOfSelection() const;
        int endOfSelection() const;
        int selectionLength() const;
+       bool isSelected() const;
 
        // break iterators
        static BreakIterator* getGraphemeIterator();

Modified: trunk/Scribus/scribus/ui/search.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23386&path=/trunk/Scribus/scribus/ui/search.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/search.cpp (original)
+++ trunk/Scribus/scribus/ui/search.cpp Thu Nov 28 22:23:44 2019
@@ -757,7 +757,7 @@
                        m_doc->itemSelection_SetFont(RFontVal->currentText());
                if (RSize->isChecked())
                        
m_doc->itemSelection_SetFontSize(qRound(RSizeVal->value() * 10.0));
-               if (REffect->isChecked() && (m_item->itemText.selectionLength() 
> 0))
+               if (REffect->isChecked() && (m_item->itemText.isSelected()))
                {
                        int s = REffVal->getStyle() & ScStyle_UserStyles;
                        
m_doc->currentStyle.charStyle().setFeatures(static_cast<StyleFlag>(s).featureList());
 // ???
@@ -1055,7 +1055,7 @@
        }
        replaceEnabled |= RText->isChecked();
        if (m_itemMode)
-               replaceEnabled &= (m_item->itemText.selectionLength() > 0);
+               replaceEnabled &= (m_item->itemText.isSelected());
        else if (m_doc->scMW()->CurrStED != nullptr)
                replaceEnabled &= 
m_doc->scMW()->CurrStED->Editor->textCursor().hasSelection();
        else


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

Reply via email to