editeng/source/editeng/impedit.cxx | 4 ++-- editeng/source/editeng/impedit2.cxx | 4 ++-- include/LibreOfficeKit/LibreOfficeKitEnums.h | 10 +++++++++- sw/source/core/crsr/findtxt.cxx | 7 +++++-- sw/source/uibase/uiview/view2.cxx | 2 ++ 5 files changed, 20 insertions(+), 7 deletions(-)
New commits: commit 3224c2ad9ee16d3d437aa30cff68d6016a25549d Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Sat May 23 10:43:41 2015 +0100 SwView::UpdatePageNums: add LOK callback about page count change Change-Id: If9ab69c9f3ec3f9f518738792ff020ef4cfd6390 (cherry picked from commit fb2e4da0e20fea3c085ddec899376e7f3671e1b1) diff --git a/include/LibreOfficeKit/LibreOfficeKitEnums.h b/include/LibreOfficeKit/LibreOfficeKitEnums.h index ffa2f64..54862e1 100644 --- a/include/LibreOfficeKit/LibreOfficeKitEnums.h +++ b/include/LibreOfficeKit/LibreOfficeKitEnums.h @@ -143,7 +143,15 @@ typedef enum /** * No match was found for the search input */ - LOK_CALLBACK_SEARCH_NOT_FOUND + LOK_CALLBACK_SEARCH_NOT_FOUND, + + /** + * Number of pages changed in the document. + * + * Clients should assume that data returned by an earlier + * lok::Document::getDocumentSize() call is no longer valid. + */ + LOK_CALLBACK_PAGE_COUNT_CHANGED } LibreOfficeKitCallbackType; diff --git a/sw/source/uibase/uiview/view2.cxx b/sw/source/uibase/uiview/view2.cxx index b6f947d..a8ce619 100644 --- a/sw/source/uibase/uiview/view2.cxx +++ b/sw/source/uibase/uiview/view2.cxx @@ -147,6 +147,7 @@ #include <vcl/settings.hxx> #include <boost/scoped_ptr.hpp> +#include <LibreOfficeKit/LibreOfficeKitEnums.h> const char sStatusDelim[] = " : "; const char sStatusComma[] = " , "; @@ -1280,6 +1281,7 @@ void SwView::Execute(SfxRequest &rReq) /// invalidate page numbering field void SwView::UpdatePageNums(sal_uInt16 nPhyNum, sal_uInt16 nVirtNum, const OUString& rPgStr) { + GetWrtShell().libreOfficeKitCallback(LOK_CALLBACK_PAGE_COUNT_CHANGED, 0); OUString sTemp(GetPageStr( nPhyNum, nVirtNum, rPgStr )); const SfxStringItem aTmp( FN_STAT_PAGE, sTemp ); // Used to distinguish which tooltip to show commit 57840bb2030bdd3d4d4fa41dd77ee4069e854486 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Wed May 20 16:56:45 2015 +0200 SwPaM::Find: forgot to show the cursor after ending the text edit Without this, if you searched inside a shape, then got a next hit outside the shape, you didn't get your blinking cursor even if you clicked into the writer text. Change-Id: I053af9672dc9290728b16780f21301b3b840cb55 (cherry picked from commit 1633fb2651e32f3dab5104b11074e7904cdcbec3) diff --git a/sw/source/core/crsr/findtxt.cxx b/sw/source/core/crsr/findtxt.cxx index 9a2a8a1..c15e5d1 100644 --- a/sw/source/core/crsr/findtxt.cxx +++ b/sw/source/core/crsr/findtxt.cxx @@ -27,7 +27,7 @@ #include <sfx2/sfxsids.hrc> #include <editeng/outliner.hxx> -#include <editsh.hxx> +#include <wrtsh.hxx> #include <txatritr.hxx> #include <fldbas.hxx> #include <fmtfld.hxx> @@ -294,7 +294,7 @@ bool SwPaM::Find( const SearchOptions& rSearchOpt, bool bSearchInNotes , utl::Te } SwDocShell *const pDocShell = pNode->GetDoc()->GetDocShell(); - SwViewShell *const pWrtShell = (pDocShell) ? pDocShell->GetEditShell() : 0; + SwWrtShell *const pWrtShell = (pDocShell) ? pDocShell->GetWrtShell() : 0; SwPostItMgr *const pPostItMgr = (pWrtShell) ? pWrtShell->GetPostItMgr() : 0; SvxSearchItem aSearchItem(SID_SEARCH_ITEM); @@ -311,7 +311,10 @@ bool SwPaM::Find( const SearchOptions& rSearchOpt, bool bSearchInNotes , utl::Te { // If not found, end the text edit. pSdrView->SdrEndTextEdit(); + const Point aPoint(pSdrView->GetAllMarkedRect().TopLeft()); pSdrView->UnmarkAll(); + pWrtShell->SetCursor(&aPoint, true); + pWrtShell->Edit(); } else { commit b1e1bb2f3c5b32ec8898c006704c3ebacff78bf3 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Wed May 20 15:26:27 2015 +0200 ImpEditView::SetCursorAtPoint tiled rendering: avoid partial selections Same problem as in the previous commit, just for mouse move. Previously when selecting "abc" with the mouse only one or zero letter got selected as the mouse moved, now it's properly the whole afffected string. Change-Id: I025dbd71fc02a0c93a532ca188836ffb957d6b35 (cherry picked from commit c6f03d6fc25a3cea22f2ce035d0948bcaa74daa9) diff --git a/editeng/source/editeng/impedit.cxx b/editeng/source/editeng/impedit.cxx index 676fc44..d1f5d95 100644 --- a/editeng/source/editeng/impedit.cxx +++ b/editeng/source/editeng/impedit.cxx @@ -1531,8 +1531,8 @@ bool ImpEditView::SetCursorAtPoint( const Point& rPointPixel ) EditPaM aPaM = pEditEngine->GetPaM(aDocPos); bool bGotoCursor = DoAutoScroll(); - // aTmpNewSel: Diff between old and new, not the new selection - EditSelection aTmpNewSel( GetEditSelection().Max(), aPaM ); + // aTmpNewSel: Diff between old and new, not the new selection, unless tiled rendering + EditSelection aTmpNewSel( isTiledRendering() ? GetEditSelection().Min() : GetEditSelection().Max(), aPaM ); // #i27299# // work on copy of current selection and set new selection, if it has changed. commit d9ffe9b554b90cddbae2211d94342dc8887c9d57 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Wed May 20 15:18:30 2015 +0200 ImpEditEngine::MoveCursor tiled rendering: avoid partial selections Tiled rendering assumes that the whole list of selection rectangles is sent, i.e. the information is not incremental. With this, if the text is "abc" and you are before "a" with the cursor, then pressing shift-rightarrow two times will result in "ab" being selected, not just "b". Change-Id: I70c043575d3c68d78342af0a6b78659d83b4f5f4 (cherry picked from commit 18e08580b660111e7e9b0bae18ac9034f57475ba) diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx index 87a1f94..7905893 100644 --- a/editeng/source/editeng/impedit2.cxx +++ b/editeng/source/editeng/impedit2.cxx @@ -909,8 +909,8 @@ EditSelection ImpEditEngine::MoveCursor( const KeyEvent& rKeyEvent, EditView* pE pEditView->pImpEditView->GetEditSelection().Max() = aPaM; if ( bKeyModifySelection ) { - // Then the selection is expanded ... - EditSelection aTmpNewSel( aOldEnd, aPaM ); + // Then the selection is expanded ... or the whole selection is painted in case of tiled rendering. + EditSelection aTmpNewSel( pEditView->isTiledRendering() ? pEditView->pImpEditView->GetEditSelection().Min() : aOldEnd, aPaM ); pEditView->pImpEditView->DrawSelection( aTmpNewSel ); } else _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits