Okay to backport to 2.4 ?
On Tuesday 27 March 2012 20:00:37 C. Boemann wrote: > Git commit 4e778319817bec12a4b53877f5a2b42ed0448131 by C. Boemann. > Committed on 27/03/2012 at 19:36. > Pushed by boemann into branch 'master'. > > Move insert pagebreak handling from Words to texttool > And also fix that view doesn't move when inserting text or pagebreak > that casuses the new position to be visible. > BUG: 296891 > > M +22 -1 plugins/textshape/TextTool.cpp > M +2 -0 plugins/textshape/TextTool.h > M +3 -22 words/part/KWView.cpp > M +0 -2 words/part/KWView.h > > http://commits.kde.org/calligra/4e778319817bec12a4b53877f5a2b42ed0448131 > > diff --git a/plugins/textshape/TextTool.cpp > b/plugins/textshape/TextTool.cpp index b4cf15a..fa10b08 100644 > --- a/plugins/textshape/TextTool.cpp > +++ b/plugins/textshape/TextTool.cpp > @@ -334,6 +334,15 @@ void TextTool::createActions() > action->setShortcut(Qt::SHIFT + Qt::Key_Return); > connect(action, SIGNAL(triggered()), this, SLOT(lineBreak())); > > + action = new KAction(QString(), this); > + addAction("insert_framebreak", action); > + action->setShortcut(KShortcut(Qt::CTRL + Qt::Key_Return)); > + connect(action, SIGNAL(triggered()), this, SLOT(insertFrameBreak())); > + //action->setText(i18n("Page Break")); > + //action->setToolTip(i18n("Force the remainder of the text into the > next page")); + //action->setWhatsThis(i18n("All text after this point > will be moved into the next page.")); + > + > action = new KAction(i18n("Font..."), this); > addAction("format_font", action); > action->setShortcut(Qt::ALT + Qt::CTRL + Qt::Key_F); > @@ -1419,7 +1428,11 @@ void TextTool::keyPressEvent(QKeyEvent *event) > m_caretTimer.start(); > m_caretTimerState = true; // turn caret on while typing > } > - ensureCursorVisible(); > + if (moveOperation != QTextCursor::NoMove) > + // this difference in handling is need to prevent leaving a trail > of old cursors onscreen + ensureCursorVisible(); > + else > + m_delayedEnsureVisible = true; > > updateSelectionHandler(); > } > @@ -1992,6 +2005,14 @@ void TextTool::insertIndexMarker() > m_textEditor.data()->insertIndexMarker(); > } > > +void TextTool::insertFrameBreak() > +{ > + m_textEditor.data()->insertFrameBreak(); > + > + ensureCursorVisible(); > + m_delayedEnsureVisible = true; > +} > + > void TextTool::setStyle(KoCharacterStyle *style) > { > KoCharacterStyle *charStyle = style; > diff --git a/plugins/textshape/TextTool.h b/plugins/textshape/TextTool.h > index e195a20..5107620 100644 > --- a/plugins/textshape/TextTool.h > +++ b/plugins/textshape/TextTool.h > @@ -179,6 +179,8 @@ private slots: > void softHyphen(); > /// insert a linebreak at the caret position > void lineBreak(); > + /// force the remainder of the text into the next page > + void insertFrameBreak(); > /// align all of the selected text left > void alignLeft(); > /// align all of the selected text right > diff --git a/words/part/KWView.cpp b/words/part/KWView.cpp > index 010123d..0ac5285 100644 > --- a/words/part/KWView.cpp > +++ b/words/part/KWView.cpp > @@ -193,12 +193,13 @@ QWidget *KWView::canvas() const > void KWView::updateReadWrite(bool readWrite) > { > m_actionFormatFrameSet->setEnabled(readWrite); > - m_actionInsertFrameBreak->setEnabled(readWrite); > m_actionViewHeader->setEnabled(readWrite); > m_actionViewFooter->setEnabled(readWrite); > m_actionViewSnapToGrid->setEnabled(readWrite); > m_actionAddBookmark->setEnabled(readWrite); > - QAction *action = actionCollection()->action("insert_variable"); > + QAction *action = actionCollection()->action("insert_framebreak"); > + if (action) action->setEnabled(readWrite); > + action = actionCollection()->action("insert_variable"); > if (action) action->setEnabled(readWrite); > action = actionCollection()->action("select_bookmark"); // TODO fix > the dialog to honor read-only instead if (action) > action->setEnabled(readWrite); > @@ -232,14 +233,6 @@ void KWView::setupActions() > m_actionFormatFrameSet->setEnabled(false); > connect(m_actionFormatFrameSet, SIGNAL(triggered()), this, > SLOT(editFrameProperties())); > > - m_actionInsertFrameBreak = new KAction(QString(), this); > - actionCollection()->addAction("insert_framebreak", > m_actionInsertFrameBreak); - > m_actionInsertFrameBreak->setShortcut(KShortcut(Qt::CTRL + > Qt::Key_Return)); - connect(m_actionInsertFrameBreak, > SIGNAL(triggered()), this, SLOT(insertFrameBreak())); - > m_actionInsertFrameBreak->setText(i18n("Page Break")); > - m_actionInsertFrameBreak->setToolTip(i18n("Force the remainder of the > text into the next page")); - > m_actionInsertFrameBreak->setWhatsThis(i18n("All text after this point > will be moved into the next page.")); - > m_actionViewHeader = new KAction(i18n("Create Header"), this); > actionCollection()->addAction("insert_header", m_actionViewHeader); > if (m_currentPage.isValid()) > @@ -539,18 +532,6 @@ void KWView::createTemplate() > d.remove(fileName); > } > > -void KWView::insertFrameBreak() > -{ > - KoTextEditor *editor = > KoTextEditor::getTextEditorFromCanvas(canvasBase()); - if (editor) { > - // this means we have the text tool selected right now. > - editor->insertFrameBreak(); > - } else if (m_document->mainFrameSet()) { // lets just add one to the > main text frameset - KoTextDocument > doc(m_document->mainFrameSet()->document()); - > doc.textEditor()->insertFrameBreak(); > - } > -} > - > void KWView::addBookmark() > { > QString name, suggestedName; > diff --git a/words/part/KWView.h b/words/part/KWView.h > index cea2cd1..339937b 100644 > --- a/words/part/KWView.h > +++ b/words/part/KWView.h > @@ -144,8 +144,6 @@ private slots: > void editFrameProperties(); > /// called if another shape got selected > void selectionChanged(); > - /// force the remainder of the text into the next page > - void insertFrameBreak(); > /// insert a bookmark on current text cursor location or selection > void addBookmark(); > /// go to previously bookmarked text cursor location or selection _______________________________________________ calligra-devel mailing list calligra-devel@kde.org https://mail.kde.org/mailman/listinfo/calligra-devel