[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source
sfx2/inc/sfx2/thumbnailview.hxx |2 sfx2/source/control/templateabstractview.cxx |2 sfx2/source/control/templatelocalview.cxx|2 sfx2/source/control/templatesearchview.cxx |2 sfx2/source/control/thumbnailview.cxx| 105 ++- 5 files changed, 63 insertions(+), 50 deletions(-) New commits: commit 397ebc0260ec6285e5965af26630610e71b5c3fc Author: Rafael Dominguez venccsra...@gmail.com Date: Sat Mar 30 17:26:03 2013 -0430 Avoid generating filter list several times. - Only generate the list after applying a new filter function. - Append item directly to the filtered list if its allowed when appending a new item to the thumbnailview. Change-Id: I408785507ef94908d31e4373b407e9d443f72895 Reviewed-on: https://gerrit.libreoffice.org/3259 Reviewed-by: Miklos Vajna vmik...@suse.cz Tested-by: Miklos Vajna vmik...@suse.cz diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx index 2310060..6d9f30e 100644 --- a/sfx2/inc/sfx2/thumbnailview.hxx +++ b/sfx2/inc/sfx2/thumbnailview.hxx @@ -179,6 +179,8 @@ public: virtual ~ThumbnailView (); +void AppendItem (ThumbnailViewItem *pItem); + void RemoveItem( sal_uInt16 nItemId ); void Clear(); diff --git a/sfx2/source/control/templateabstractview.cxx b/sfx2/source/control/templateabstractview.cxx index 5c0b563..e28d2e8 100644 --- a/sfx2/source/control/templateabstractview.cxx +++ b/sfx2/source/control/templateabstractview.cxx @@ -161,7 +161,7 @@ void TemplateAbstractView::insertItem(const TemplateItemProperties rTemplate) pChild-setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected)); -mItemList.push_back(pChild); +AppendItem(pChild); CalculateItemPositions(); Invalidate(); diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx index 7ac7b69..6dd82df 100644 --- a/sfx2/source/control/templatelocalview.cxx +++ b/sfx2/source/control/templatelocalview.cxx @@ -262,7 +262,7 @@ sal_uInt16 TemplateLocalView::createRegion(const OUString rName) pItem-maTitle = aRegionName; pItem-setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected)); -mItemList.push_back(pItem); +AppendItem(pItem); CalculateItemPositions(); Invalidate(); diff --git a/sfx2/source/control/templatesearchview.cxx b/sfx2/source/control/templatesearchview.cxx index eaec8dc..c24c567 100644 --- a/sfx2/source/control/templatesearchview.cxx +++ b/sfx2/source/control/templatesearchview.cxx @@ -36,7 +36,7 @@ void TemplateSearchView::AppendItem(sal_uInt16 nAssocItemId, sal_uInt16 nRegionI pItem-setPath(rPath); pItem-setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected)); -mItemList.push_back(pItem); +ThumbnailView::AppendItem(pItem); CalculateItemPositions(); } diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index 6c64662..725520c 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -81,6 +81,14 @@ ThumbnailView::~ThumbnailView() ImplDeleteItems(); } +void ThumbnailView::AppendItem(ThumbnailViewItem *pItem) +{ +if (maFilterFunc(pItem)) +mFilteredItemList.push_back(pItem); + +mItemList.push_back(pItem); +} + void ThumbnailView::ImplInit() { mpScrBar= NULL; @@ -221,12 +229,10 @@ void ThumbnailView::CalculateItemPositions () return; SizeaWinSize = GetOutputSizePixel(); -size_t nItemCount = mItemList.size(); +size_t nItemCount = mFilteredItemList.size(); WinBits nStyle = GetStyle(); ScrollBar* pDelScrBar = NULL; -mFilteredItemList.clear(); - // consider the scrolling if ( nStyle WB_VSCROLL ) ImplInitScrollBar(); @@ -304,59 +310,35 @@ void ThumbnailView::CalculateItemPositions () size_t nCurCount = 0; for ( size_t i = 0; i nItemCount; i++ ) { -ThumbnailViewItem *const pItem = mItemList[i]; +ThumbnailViewItem *const pItem = mFilteredItemList[i]; -if (maFilterFunc(pItem)) +if ((nCurCount = nFirstItem) (nCurCount nLastItem)) { -mFilteredItemList.push_back(pItem); -if ((nCurCount = nFirstItem) (nCurCount nLastItem)) +if( !pItem-isVisible()) { -if( !pItem-isVisible()) +if ( ImplHasAccessibleListeners() ) { -if ( ImplHasAccessibleListeners() ) -{ -::com::sun::star::uno::Any aOldAny, aNewAny; - -aNewAny = pItem-GetAccessible( mbIsTransientChildrenDisabled ); -ImplFireAccessibleEvent( ::com::sun::star::accessibility::AccessibleEventId::CHILD, aOldAny, aNewAny ); -} - -pItem-show(true); +
[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source
sfx2/inc/sfx2/thumbnailview.hxx |1 sfx2/source/control/thumbnailview.cxx | 198 -- 2 files changed, 189 insertions(+), 10 deletions(-) New commits: commit b51875f39c86bd8082c983773756630b53df88af Author: Rafael Dominguez venccsra...@gmail.com Date: Sun Apr 7 14:09:54 2013 -0430 fdo#61390 - Thumbnail navigation by shift-click and shift-keyboard. Change-Id: I0b107d0918e1914709de31fd52cd11480e7fd419 Reviewed-on: https://gerrit.libreoffice.org/3260 Reviewed-by: Miklos Vajna vmik...@suse.cz Tested-by: Miklos Vajna vmik...@suse.cz diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx index 6d9f30e..1286385 100644 --- a/sfx2/inc/sfx2/thumbnailview.hxx +++ b/sfx2/inc/sfx2/thumbnailview.hxx @@ -305,6 +305,7 @@ protected: ValueItemList mItemList; ValueItemList mFilteredItemList; /// Cache to store the filtered items +ValueItemList::iterator mpStartSelRange; ScrollBar* mpScrBar; Rectangle maItemListRect; long mnHeaderHeight; diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index 725520c..8d03d5a 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -10,6 +10,8 @@ #include sfx2/thumbnailview.hxx #include sfx2/thumbnailviewitem.hxx +#include utility + #include thumbnailviewacc.hxx #include basegfx/color/bcolortools.hxx @@ -84,7 +86,20 @@ ThumbnailView::~ThumbnailView() void ThumbnailView::AppendItem(ThumbnailViewItem *pItem) { if (maFilterFunc(pItem)) +{ +// Save current start,end range, iterator might get invalidated +size_t nSelStartPos = 0; +ThumbnailViewItem *pSelStartItem = NULL; + +if (mpStartSelRange != mFilteredItemList.end()) +{ +pSelStartItem = *mpStartSelRange; +nSelStartPos = mpStartSelRange - mFilteredItemList.begin(); +} + mFilteredItemList.push_back(pItem); +mpStartSelRange = pSelStartItem != NULL ? mFilteredItemList.begin() + nSelStartPos : mFilteredItemList.end(); +} mItemList.push_back(pItem); } @@ -107,6 +122,7 @@ void ThumbnailView::ImplInit() mbHasVisibleItems = false; maFilterFunc = ViewFilterAll(); maColor = GetSettings().GetStyleSettings().GetFieldColor(); +mpStartSelRange = mFilteredItemList.end(); // Create the processor and process the primitives const drawinglayer::geometry::ViewInformation2D aNewViewInfos; @@ -145,6 +161,8 @@ void ThumbnailView::ImplDeleteItems() mItemList.clear(); mFilteredItemList.clear(); + +mpStartSelRange = mFilteredItemList.end(); } void ThumbnailView::ImplInitSettings( bool bFont, bool bForeground, bool bBackground ) @@ -398,9 +416,9 @@ size_t ThumbnailView::ImplGetItem( const Point rPos, bool bMove ) const if ( maItemListRect.IsInside( rPos ) ) { -for (size_t i = 0; i mItemList.size(); ++i) +for (size_t i = 0; i mFilteredItemList.size(); ++i) { -if (mItemList[i]-isVisible() mItemList[i]-getDrawArea().IsInside(rPos)) +if (mFilteredItemList[i]-isVisible() mFilteredItemList[i]-getDrawArea().IsInside(rPos)) return i; } @@ -417,7 +435,7 @@ size_t ThumbnailView::ImplGetItem( const Point rPos, bool bMove ) const ThumbnailViewItem* ThumbnailView::ImplGetItem( size_t nPos ) { -return ( nPos mItemList.size() ) ? mItemList[nPos] : NULL; +return ( nPos mFilteredItemList.size() ) ? mFilteredItemList[nPos] : NULL; } sal_uInt16 ThumbnailView::ImplGetVisibleItemCount() const @@ -505,39 +523,68 @@ void ThumbnailView::KeyInput( const KeyEvent rKEvt ) } } +bool bValidRange = false; +bool bHasSelRange = mpStartSelRange != mFilteredItemList.end(); +size_t nNextPos = nLastPos; KeyCode aKeyCode = rKEvt.GetKeyCode(); ThumbnailViewItem* pNext = NULL; + +if (aKeyCode.IsShift() bHasSelRange) +{ +//If the last elemented selected is the start range position +//search for the first selected item +size_t nSelPos = mpStartSelRange - mFilteredItemList.begin(); + +if (nLastPos == nSelPos) +{ +while (nLastPos mFilteredItemList[nLastPos-1]-isSelected()) +--nLastPos; +} +} + switch ( aKeyCode.GetCode() ) { case KEY_RIGHT: { -size_t nNextPos = nLastPos; if ( bFoundLast nLastPos mFilteredItemList.size( ) - 1 ) +{ +bValidRange = true; nNextPos = nLastPos + 1; +} + pNext = mFilteredItemList[nNextPos]; } break; case KEY_LEFT: { -size_t nNextPos = nLastPos; if ( nLastPos 0 ) +{ +bValidRange = true;
[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source
sfx2/inc/sfx2/templateabstractview.hxx |7 - sfx2/inc/sfx2/templatelocalview.hxx |6 sfx2/inc/sfx2/templateremoteview.hxx |2 - sfx2/inc/sfx2/templateview.hxx | 12 + sfx2/source/control/templateabstractview.cxx | 27 -- sfx2/source/control/templatelocalview.cxx| 33 --- sfx2/source/control/templateremoteview.cxx | 11 - sfx2/source/control/templateview.cxx |5 sfx2/source/doc/templatedlg.cxx |4 +-- 9 files changed, 39 insertions(+), 68 deletions(-) New commits: commit 14fb3c4cdd879c1c6f6e1571b327d0133df74d8c Author: Cédric Bosdonnat cedric.bosdon...@free.fr Date: Fri Dec 21 15:37:49 2012 +0100 Templates Manager: merged the Double Click Handling into TemplateAbstractView (cherry picked from commit 8a2bfe697bf71c8a2ca3c6ba1ef5e6324d4163aa) Conflicts: sfx2/inc/sfx2/templateview.hxx sfx2/source/control/templateabstractview.cxx sfx2/source/control/templatelocalview.cxx sfx2/source/control/templateview.cxx Change-Id: Iafc1650d57d29fbc24921498f18da6c0e510b37a Reviewed-on: https://gerrit.libreoffice.org/3087 Reviewed-by: Miklos Vajna vmik...@suse.cz Tested-by: Miklos Vajna vmik...@suse.cz diff --git a/sfx2/inc/sfx2/templateabstractview.hxx b/sfx2/inc/sfx2/templateabstractview.hxx index ca51181..a5fef71 100644 --- a/sfx2/inc/sfx2/templateabstractview.hxx +++ b/sfx2/inc/sfx2/templateabstractview.hxx @@ -87,7 +87,7 @@ public: virtual void filterTemplatesByApp (const FILTER_APPLICATION eApp); -virtual void showOverlay (bool bVisible) = 0; +void showOverlay (bool bVisible); void setItemDimensions (long ItemWidth, long ThumbnailHeight, long DisplayHeight, int itemPadding); @@ -109,7 +109,7 @@ public: void setOverlayItemStateHdl (const Link aLink) { maOverlayItemStateHdl = aLink; } -void setOverlayDblClickHdl (const Link rLink); +void setOpenHdl (const Link rLink); void setOverlayCloseHdl (const Link rLink); @@ -127,10 +127,13 @@ protected: DECL_LINK(OverlayItemStateHdl, const ThumbnailViewItem*); +virtual void OnItemDblClicked(ThumbnailViewItem *pItem); + protected: TemplateView *mpItemView; Link maOverlayItemStateHdl; +Link maOpenHdl; bool mbFilteredResults; // Flag keep track if overlay has been filtered so folders can get filtered too afterwards FILTER_APPLICATION meFilterOption; diff --git a/sfx2/inc/sfx2/templatelocalview.hxx b/sfx2/inc/sfx2/templatelocalview.hxx index 78cf547..432b008 100644 --- a/sfx2/inc/sfx2/templatelocalview.hxx +++ b/sfx2/inc/sfx2/templatelocalview.hxx @@ -39,8 +39,6 @@ public: std::vectorOUString getFolderNames (); -virtual void showOverlay (bool bVisible); - std::vectorTemplateItemProperties getFilteredItems (const boost::functionbool (const TemplateItemProperties) rFunc) const; @@ -75,10 +73,6 @@ public: private: -virtual void OnItemDblClicked (ThumbnailViewItem *pRegionItem); - -private: - SfxDocumentTemplates *mpDocTemplates; }; diff --git a/sfx2/inc/sfx2/templateremoteview.hxx b/sfx2/inc/sfx2/templateremoteview.hxx index bd1bf5c..b760f00 100644 --- a/sfx2/inc/sfx2/templateremoteview.hxx +++ b/sfx2/inc/sfx2/templateremoteview.hxx @@ -25,8 +25,6 @@ public: virtual ~TemplateRemoteView (); -virtual void showOverlay (bool bVisible); - bool loadRepository (TemplateRepository* pRepository, bool bRefresh); private: diff --git a/sfx2/inc/sfx2/templateview.hxx b/sfx2/inc/sfx2/templateview.hxx index e219905..aaa7334 100644 --- a/sfx2/inc/sfx2/templateview.hxx +++ b/sfx2/inc/sfx2/templateview.hxx @@ -36,26 +36,28 @@ public: void InsertItems (const std::vectorTemplateItemProperties rTemplates); -void setDblClickHdl (const Link rLink) { maDblClickHdl = rLink; } - void setCloseHdl (const Link rLink) { maAllButton.SetClickHdl(rLink); } void setMasterView(TemplateAbstractView* pMasterView) { mpMasterView = pMasterView; } virtual bool renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle); + +// FIXME Kept only during the refactoring +void setOpenHdl (const Link rLink) { maOpenHdl = rLink; } +virtual void OnItemDblClicked(ThumbnailViewItem *pItem) { maOpenHdl.Call(pItem); } + protected: virtual void Resize (); -virtual void OnItemDblClicked (ThumbnailViewItem *pItem); - private: TemplateAbstractView* mpMasterView; +Link maOpenHdl; + PushButton maAllButton; FixedText maFTName; sal_uInt16 mnId; OUString maName; -Link maDblClickHdl; }; #endif // TEMPLATEVIEW_HXX diff --git a/sfx2/source/control/templateabstractview.cxx b/sfx2/source/control/templateabstractview.cxx index 14ab811..43efcbb 100644 --- a/sfx2/source/control/templateabstractview.cxx +++
[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source
sfx2/inc/sfx2/templatelocalview.hxx |4 - sfx2/source/control/templatelocalview.cxx | 93 +- sfx2/source/doc/templatedlg.cxx | 10 +-- 3 files changed, 61 insertions(+), 46 deletions(-) New commits: commit a67bf57cf130d461dcf306ee381e9e4a7ee013a0 Author: Rafael Dominguez venccsra...@gmail.com Date: Tue Mar 26 00:30:08 2013 -0430 Syncronize thumbnails ids with SfxDocumentTemplates when moving. Change-Id: I9ee17e00f769ca16f566b1397d09b76a09273912 (cherry picked from commit dda5fe60ff6dfd61f5f262c61e1d538d20e9c978) Reviewed-on: https://gerrit.libreoffice.org/3091 Reviewed-by: Miklos Vajna vmik...@suse.cz Tested-by: Miklos Vajna vmik...@suse.cz diff --git a/sfx2/inc/sfx2/templatelocalview.hxx b/sfx2/inc/sfx2/templatelocalview.hxx index 3bcacc4..68b7dc7 100644 --- a/sfx2/inc/sfx2/templatelocalview.hxx +++ b/sfx2/inc/sfx2/templatelocalview.hxx @@ -56,9 +56,9 @@ public: bool removeTemplate (const sal_uInt16 nItemId, const sal_uInt16 nSrcItemId); bool moveTemplate (const ThumbnailViewItem* pItem, const sal_uInt16 nSrcItem, - const sal_uInt16 nTargetItem, bool bCopy); + const sal_uInt16 nTargetItem); -bool moveTemplates (const std::setconst ThumbnailViewItem*,selection_cmp_fn rItems, const sal_uInt16 nTargetItem, bool bCopy); +bool moveTemplates (const std::setconst ThumbnailViewItem*,selection_cmp_fn rItems, const sal_uInt16 nTargetItem); bool copyFrom (const sal_uInt16 nRegionItemId, const BitmapEx rThumbnail, const OUString rPath); diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx index ab55ca4..429b4dc 100644 --- a/sfx2/source/control/templatelocalview.cxx +++ b/sfx2/source/control/templatelocalview.cxx @@ -289,11 +289,8 @@ bool TemplateLocalView::removeTemplate (const sal_uInt16 nItemId, const sal_uInt } bool TemplateLocalView::moveTemplate (const ThumbnailViewItem *pItem, const sal_uInt16 nSrcItem, - const sal_uInt16 nTargetItem, bool bCopy) + const sal_uInt16 nTargetItem) { -bool bRet = true; -bool bRefresh = false; - TemplateContainerItem *pTarget = NULL; TemplateContainerItem *pSrc = NULL; @@ -313,16 +310,13 @@ bool TemplateLocalView::moveTemplate (const ThumbnailViewItem *pItem, const sal_ const TemplateViewItem *pViewItem = static_castconst TemplateViewItem*(pItem); -bool bOK; +bool bCopy = !mpDocTemplates-Move(nTargetRegion,nTargetIdx,nSrcRegionId,pViewItem-mnDocId); if (bCopy) -bOK = mpDocTemplates-Copy(nTargetRegion,nTargetIdx,nSrcRegionId,pViewItem-mnId-1); -else -bOK = mpDocTemplates-Move(nTargetRegion,nTargetIdx,nSrcRegionId,pViewItem-mnId-1); - -if (!bOK) -return false; - +{ +if (!mpDocTemplates-Copy(nTargetRegion,nTargetIdx,nSrcRegionId,pViewItem-mnDocId)) +return false; +} // move template to destination TemplateItemProperties aTemplateItem; @@ -340,37 +334,45 @@ bool TemplateLocalView::moveTemplate (const ThumbnailViewItem *pItem, const sal_ // remove template from region cached data std::vectorTemplateItemProperties::iterator aIter; -for (aIter = pSrc-maTemplates.begin(); aIter != pSrc-maTemplates.end(); ++aIter) +for (aIter = pSrc-maTemplates.begin(); aIter != pSrc-maTemplates.end();) { -if (aIter-nId == pViewItem-mnId) +if (aIter-nDocId == pViewItem-mnDocId) +{ +aIter = pSrc-maTemplates.erase(aIter); +} +else { -pSrc-maTemplates.erase(aIter); +// Keep region document id syncronized with SfxDocumentTemplates +if (aIter-nDocId pViewItem-mnDocId) +--aIter-nDocId; -RemoveItem(pViewItem-mnId); -break; +++aIter; } } -} -bRefresh = true; -} -else -bRet = false; +// Keep view document id syncronized with SfxDocumentTemplates +std::vectorThumbnailViewItem*::iterator pItemIter = mItemList.begin(); +for (; pItemIter != mItemList.end(); ++pItemIter) +{ +if (static_castTemplateViewItem*(*pItemIter)-mnDocId pViewItem-mnDocId) +--static_castTemplateViewItem*(*pItemIter)-mnDocId; +} +} -if (bRefresh) -{ lcl_updateThumbnails(pSrc); lcl_updateThumbnails(pTarget); CalculateItemPositions(); Invalidate(); + +return true; } -return bRet; +return false; } bool
[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source
sfx2/inc/sfx2/thumbnailview.hxx |1 + sfx2/source/control/thumbnailview.cxx | 31 +-- sfx2/source/doc/templatedlg.cxx |2 +- 3 files changed, 31 insertions(+), 3 deletions(-) New commits: commit 369cb8e216f9287234d601f4b28e0332a2ec29a5 Author: Cédric Bosdonnat cedric.bosdon...@free.fr Date: Mon Mar 25 16:40:37 2013 +0100 fdo#61390: allow arrow keys to show hidden thumbnail items Change-Id: I70924b4c9578122a1c5a5b6c8a67889d6d003a2e (cherry picked from commit cc599e914e7ade9f10da460fc1c77ea07454d7ff) Reviewed-on: https://gerrit.libreoffice.org/3033 Reviewed-by: Miklos Vajna vmik...@suse.cz Tested-by: Miklos Vajna vmik...@suse.cz diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx index 95e6b53..9e29c9a 100644 --- a/sfx2/inc/sfx2/thumbnailview.hxx +++ b/sfx2/inc/sfx2/thumbnailview.hxx @@ -277,6 +277,7 @@ protected: using Window::ImplInit; void CalculateItemPositions (); +void MakeItemVisible( sal_uInt16 nId ); SFX2_DLLPRIVATE void ImplInit(); SFX2_DLLPRIVATE void ImplInitSettings( bool bFont, bool bForeground, bool bBackground ); diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index f78a308..08be7cb 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -553,13 +553,40 @@ void ThumbnailView::KeyInput( const KeyEvent rKEvt ) Control::KeyInput( rKEvt ); } -if ( pNext pNext-isVisible() ) +if ( pNext ) { deselectItems(); SelectItem(pNext-mnId); +MakeItemVisible(pNext-mnId); } } +void ThumbnailView::MakeItemVisible( sal_uInt16 nItemId ) +{ +// Get the item row +size_t nPos = 0; +bool bFound = false; +for ( size_t i = 0; !bFound i mFilteredItemList.size(); ++i ) +{ +ThumbnailViewItem* pItem = mFilteredItemList[i]; +if ( pItem-mnId == nItemId ) +{ +nPos = i; +bFound = true; +} +} +sal_uInt16 nRow = nPos / mnCols; + +// Move the visible rows as little as possible to include that one +if ( nRow mnFirstLine ) +mnFirstLine = nRow; +else if ( nRow mnFirstLine + mnVisLines ) +mnFirstLine = nRow - mnVisLines; + +CalculateItemPositions(); +Invalidate(); +} + void ThumbnailView::MouseButtonDown( const MouseEvent rMEvt ) { if ( rMEvt.IsLeft() ) @@ -703,11 +730,11 @@ void ThumbnailView::LoseFocus() void ThumbnailView::Resize() { +Control::Resize(); CalculateItemPositions(); if ( IsReallyVisible() IsUpdateMode() ) Invalidate(); -Control::Resize(); } void ThumbnailView::StateChanged( StateChangedType nType ) diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index b9d3945..e5e4014 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -331,7 +331,7 @@ void SfxTemplateManagerDlg::Resize() Point aViewPos = maView-GetPosPixel(); aViewPos.setY(nToolbarsHeight); aViewPos.setX(0); -Size aThumbSize(aWinSize.getWidth(), maTabControl.GetTabPageSizePixel().getWidth() - aViewPos.getY()); +Size aThumbSize(aWinSize.getWidth(), maTabControl.GetTabPageSizePixel().getHeight() - aViewPos.getY()); maView-SetPosSizePixel(aViewPos, aThumbSize); if (aWinSize.getHeight() aViewPos.getY() + aThumbSize.getHeight() + PADDING_DLG_BORDER) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source
sfx2/inc/sfx2/thumbnailview.hxx |8 - sfx2/source/control/thumbnailview.cxx| 125 +-- sfx2/source/control/thumbnailviewacc.cxx |2 3 files changed, 24 insertions(+), 111 deletions(-) New commits: commit e2ce03c2eaf1bdf6a3b736052be8e2ed8ef8c6ca Author: Cédric Bosdonnat cedric.bosdon...@free.fr Date: Thu Mar 21 11:49:01 2013 +0100 Template Manager: removed some dead selection code (cherry picked from commit bfd1bcb204ed3ca35df1455a346a0ee7254a1191) Conflicts: sfx2/source/control/thumbnailview.cxx Change-Id: Ib5ebcd928e77a115f4f62a50724656c33ae13c61 Reviewed-on: https://gerrit.libreoffice.org/2911 Reviewed-by: Fridrich Strba fridr...@documentfoundation.org Tested-by: Fridrich Strba fridr...@documentfoundation.org diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx index 8eb9426..efc5e78 100644 --- a/sfx2/inc/sfx2/thumbnailview.hxx +++ b/sfx2/inc/sfx2/thumbnailview.hxx @@ -202,10 +202,7 @@ public: void SelectItem( sal_uInt16 nItemId ); -sal_uInt16 GetSelectItemId() const { return mnSelItemId; } - -bool IsItemSelected( sal_uInt16 nItemId ) const -{ return nItemId == mnSelItemId; } +bool IsItemSelected( sal_uInt16 nItemId ) const; void deselectItem (const sal_uInt16 nItemId); @@ -258,8 +255,6 @@ protected: virtual void DataChanged( const DataChangedEvent rDCEvt ); -virtual bool StartDrag( const CommandEvent rCEvt, Region rRegion ); - virtual ::com::sun::star::uno::Reference ::com::sun::star::accessibility::XAccessible CreateAccessible(); protected: @@ -310,7 +305,6 @@ protected: long mnVisLines; long mnLines; sal_uInt16 mnScrBarOffset; -sal_uInt16 mnSelItemId; sal_uInt16 mnHighItemId; sal_uInt16 mnCols; sal_uInt16 mnFirstLine; diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index 57dba07..63ba189 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -92,7 +92,6 @@ void ThumbnailView::ImplInit() mnLines = 0; mnFirstLine = 0; mnScrBarOffset = 1; -mnSelItemId = 0; mnHighItemId= 0; mnCols = 0; mnSpacing = 0; @@ -589,11 +588,7 @@ void ThumbnailView::GetFocus() if ( nSelected == -1 mItemList.size( ) 0 ) { -mItemList[0]-setSelection(true); -maItemStateHdl.Call(mItemList[0]); - -if (IsReallyVisible() IsUpdateMode()) -Invalidate(); +SelectItem( 1 ); } // Tell the accessible object that we got the focus. @@ -710,10 +705,9 @@ void ThumbnailView::RemoveItem( sal_uInt16 nItemId ) } // reset variables -if ( (mnHighItemId == nItemId) || (mnSelItemId == nItemId) ) +if ( (mnHighItemId == nItemId) ) { mnHighItemId= 0; -mnSelItemId = 0; } CalculateItemPositions(); @@ -729,7 +723,6 @@ void ThumbnailView::Clear() // reset variables mnFirstLine = 0; mnHighItemId= 0; -mnSelItemId = 0; CalculateItemPositions(); @@ -777,19 +770,18 @@ void ThumbnailView::setItemDimensions(long itemWidth, long thumbnailHeight, long void ThumbnailView::SelectItem( sal_uInt16 nItemId ) { -size_t nItemPos = 0; +size_t nItemPos = GetItemPos( nItemId ); +if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND ) +return; -if ( nItemId ) +ThumbnailViewItem* pItem = mItemList[nItemPos]; +if (!pItem-isSelected()) { -nItemPos = GetItemPos( nItemId ); -if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND ) -return; -} +mItemList[nItemPos]-setSelection(true); +maItemStateHdl.Call(mItemList[nItemPos]); -if ( mnSelItemId != nItemId) -{ -sal_uInt16 nOldItem = mnSelItemId ? mnSelItemId : 1; -mnSelItemId = nItemId; +if (IsReallyVisible() IsUpdateMode()) +Invalidate(); bool bNewOut = IsReallyVisible() IsUpdateMode(); @@ -815,44 +807,8 @@ void ThumbnailView::SelectItem( sal_uInt16 nItemId ) if( ImplHasAccessibleListeners() ) { -// focus event (deselect) -if( nOldItem ) -{ -const size_t nPos = GetItemPos( nItemId ); - -if( nPos != THUMBNAILVIEW_ITEM_NOTFOUND ) -{ -ThumbnailViewAcc* pItemAcc = ThumbnailViewAcc::getImplementation( -mItemList[nPos]-GetAccessible( mbIsTransientChildrenDisabled ) ); - -if( pItemAcc ) -{ -::com::sun::star::uno::Any aOldAny, aNewAny; -if( !mbIsTransientChildrenDisabled ) -{ -aOldAny = ::com::sun::star::uno::Reference ::com::sun::star::uno::XInterface ( -
[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source
sfx2/inc/templatedlg.hxx|1 - sfx2/source/doc/templatedlg.cxx | 13 - sfx2/source/doc/templatedlg.src |6 -- 3 files changed, 4 insertions(+), 16 deletions(-) New commits: commit 2c8202b611dcaab72c0ead20339ce4daacca0810 Author: Cédric Bosdonnat cedric.bosdon...@free.fr Date: Tue Mar 19 10:13:16 2013 +0100 Template Manager: fixed TabStops for the toolbars Change-Id: Iab2dd8ef71fd84e9d147d90e9cad46d69a8fe650 (cherry picked from commit eff94128b8434501a6f9c26a5a47cfd7d408f472) Reviewed-on: https://gerrit.libreoffice.org/2845 Reviewed-by: Noel Power noel.po...@suse.com Tested-by: Noel Power noel.po...@suse.com diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx index 095292e..0d7eb78 100644 --- a/sfx2/inc/templatedlg.hxx +++ b/sfx2/inc/templatedlg.hxx @@ -128,7 +128,6 @@ private: TabControl maTabControl; TabPage maTabPage; -Control *mpToolbars; Edit *mpSearchEdit; ToolBox *mpViewBar; diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index f0a16b35..e9f85eb 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -113,11 +113,10 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) : ModelessDialog(parent, SfxResId(DLG_TEMPLATE_MANAGER)), maTabControl(this,SfxResId(TAB_CONTROL)), maTabPage(maTabControl, SfxResId(TAB_TEMPLATE_MANAGER)), - mpToolbars( new Control(maTabPage,SfxResId(TOOLBARS))), mpSearchEdit(new Edit(maTabPage,WB_HIDE | WB_BORDER)), - mpViewBar( new ToolBox(mpToolbars, SfxResId(TBX_ACTION_VIEW))), - mpActionBar( new ToolBox(mpToolbars, SfxResId(TBX_ACTION_ACTION))), - mpTemplateBar( new ToolBox(mpToolbars, SfxResId(TBX_ACTION_TEMPLATES))), + mpViewBar( new ToolBox(maTabPage, SfxResId(TBX_ACTION_VIEW))), + mpActionBar( new ToolBox(maTabPage, SfxResId(TBX_ACTION_ACTION))), + mpTemplateBar( new ToolBox(maTabPage, SfxResId(TBX_ACTION_TEMPLATES))), mpSearchView(new TemplateSearchView(maTabPage)), maView(new TemplateLocalView(maTabPage,SfxResId(TEMPLATE_VIEW))), mpOnlineView(new TemplateRemoteView(maTabPage, WB_VSCROLL,false)), @@ -239,7 +238,6 @@ SfxTemplateManagerDlg::~SfxTemplateManagerDlg () delete mpTemplateDefaultMenu; delete mpActionMenu; delete mpRepositoryMenu; -delete mpToolbars; } void SfxTemplateManagerDlg::setSaveMode(bool bMode) @@ -318,9 +316,6 @@ void SfxTemplateManagerDlg::Resize() long nToolbarsHeight = std::max(std::max(aViewSize.getHeight(), aActionSize.getHeight()), aTemplateSize.getHeight()); -Size aToolbarsSize (aWinSize.getWidth(), nToolbarsHeight); -mpToolbars-SetSizePixel(aToolbarsSize); - aActionSize.setWidth(3*aActionSize.getWidth()); aViewSize.setWidth(aWinSize.getWidth()-aActionSize.getWidth()-mpViewBar-GetPosPixel().X()); aTemplateSize.setWidth(aWinSize.getWidth()); @@ -334,7 +329,7 @@ void SfxTemplateManagerDlg::Resize() // Set view position below toolbox Point aViewPos = maView-GetPosPixel(); -aViewPos.setY(aToolbarsSize.getHeight()); +aViewPos.setY(nToolbarsHeight); aViewPos.setX(0); Size aThumbSize(aWinSize.getWidth(), maTabControl.GetTabPageSizePixel().getWidth() - aViewPos.getY()); maView-SetPosSizePixel(aViewPos, aThumbSize); diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src index 6928ef1..60c2857 100644 --- a/sfx2/source/doc/templatedlg.src +++ b/sfx2/source/doc/templatedlg.src @@ -106,12 +106,6 @@ TabPage TAB_TEMPLATE_MANAGER Size = MAP_APPFONT( 290, 220 ); Hide = TRUE; -Control TOOLBARS -{ -Size = MAP_APPFONT( 290 , 20 ); -TabStop = False; -}; - Control TEMPLATE_VIEW { Pos = MAP_APPFONT( 0, 20 ); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source
sfx2/inc/sfx2/doctempl.hxx| 15 +++ sfx2/inc/sfx2/templatelocalview.hxx |2 sfx2/inc/sfx2/templateview.hxx|3 sfx2/inc/sfx2/templateviewitem.hxx|4 sfx2/inc/sfx2/thumbnailview.hxx |2 sfx2/inc/sfx2/thumbnailviewitem.hxx |9 ++ sfx2/source/control/templatelocalview.cxx | 21 sfx2/source/control/templateview.cxx | 10 ++ sfx2/source/control/templateviewitem.cxx |4 sfx2/source/control/thumbnailview.cxx |9 ++ sfx2/source/control/thumbnailviewitem.cxx | 128 +- sfx2/source/doc/doctempl.cxx | 55 12 files changed, 257 insertions(+), 5 deletions(-) New commits: commit 0b1deadc72eca6f782a5bb3a180d6f1d95f52721 Author: Cédric Bosdonnat cedric.bosdon...@free.fr Date: Mon Feb 11 15:30:16 2013 +0100 Templates Manager: UI for renaming templates and folders, fdo#60579 After thinking this was a feature regression, I finally discovered that the old template manager couldn't rename templates. This commit is bringing back some previously unused code dropped in an ealier commit. Even though this is a UI change, no new string is added by this commit. Conflicts: sfx2/inc/sfx2/templateview.hxx sfx2/source/control/templatelocalview.cxx sfx2/source/control/templateview.cxx Change-Id: I2e4a89c2e68f7e04b0fca3fc161920505ac715b4 Reviewed-on: https://gerrit.libreoffice.org/2108 Reviewed-by: Miklos Vajna vmik...@suse.cz Tested-by: Miklos Vajna vmik...@suse.cz diff --git a/sfx2/inc/sfx2/doctempl.hxx b/sfx2/inc/sfx2/doctempl.hxx index 507117c..b9ca56d 100644 --- a/sfx2/inc/sfx2/doctempl.hxx +++ b/sfx2/inc/sfx2/doctempl.hxx @@ -96,6 +96,21 @@ public: sal_BoolInsertDir(const String rText, sal_uInt16 nRegion); sal_BoolSetName(const String rName, sal_uInt16 nRegion, sal_uInt16 nIdx); +/** Change the name of an entry or a directory + +\param rName +The new name to set +\param nRegion +The id of the region to rename or containing the template to rename +\param nIdx +The id of the template to rename or USHRT_MAX to rename the region. + +\return +sal_True if the action could be performed, sal_False otherwise + +*/ +sal_BoolSetName(const rtl::OUString rName, sal_uInt16 nRegion, sal_uInt16 nIdx); + sal_BoolCopyTo(sal_uInt16 nRegion, sal_uInt16 nIdx, const String rName) const; sal_BoolCopyFrom(sal_uInt16 nRegion, sal_uInt16 nIdx, String rName); diff --git a/sfx2/inc/sfx2/templatelocalview.hxx b/sfx2/inc/sfx2/templatelocalview.hxx index e11c42b..dbf00ef 100644 --- a/sfx2/inc/sfx2/templatelocalview.hxx +++ b/sfx2/inc/sfx2/templatelocalview.hxx @@ -71,6 +71,8 @@ public: bool isTemplateNameUnique (const sal_uInt16 nRegionItemId, const OUString rName) const; +virtual void renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle); + private: virtual void OnItemDblClicked (ThumbnailViewItem *pRegionItem); diff --git a/sfx2/inc/sfx2/templateview.hxx b/sfx2/inc/sfx2/templateview.hxx index 6e81ea4..07b8487 100644 --- a/sfx2/inc/sfx2/templateview.hxx +++ b/sfx2/inc/sfx2/templateview.hxx @@ -39,6 +39,8 @@ public: void setDblClickHdl (const Link rLink) { maDblClickHdl = rLink; } void setCloseHdl (const Link rLink) { maAllButton.SetClickHdl(rLink); } +void setMasterView(TemplateAbstractView* pMasterView) { mpMasterView = pMasterView; } +virtual void renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle); protected: @@ -47,6 +49,7 @@ protected: virtual void OnItemDblClicked (ThumbnailViewItem *pItem); private: +TemplateAbstractView* mpMasterView; ControlmaButtons; PushButton maAllButton; diff --git a/sfx2/inc/sfx2/templateviewitem.hxx b/sfx2/inc/sfx2/templateviewitem.hxx index b19a060..0a3cb3e 100644 --- a/sfx2/inc/sfx2/templateviewitem.hxx +++ b/sfx2/inc/sfx2/templateviewitem.hxx @@ -42,6 +42,10 @@ public: virtual void Paint (drawinglayer::processor2d::BaseProcessor2D *pProcessor, const ThumbnailItemAttributes *pAttrs); + +sal_uInt16mnRegionId; +sal_uInt16mnDocId; + private: rtl::OUString maPath; diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx index 9548bd1..a33e762 100644 --- a/sfx2/inc/sfx2/thumbnailview.hxx +++ b/sfx2/inc/sfx2/thumbnailview.hxx @@ -238,6 +238,8 @@ public: virtual void Resize(); +virtual void renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle); + protected: virtual void MouseButtonDown( const MouseEvent rMEvt ); diff --git a/sfx2/inc/sfx2/thumbnailviewitem.hxx b/sfx2/inc/sfx2/thumbnailviewitem.hxx index 18b7eae..2acc8de 100644 --- a/sfx2/inc/sfx2/thumbnailviewitem.hxx +++
[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source
sfx2/inc/sfx2/templatelocalview.hxx |2 +- sfx2/inc/sfx2/templateview.hxx|2 +- sfx2/inc/sfx2/thumbnailview.hxx |2 +- sfx2/source/control/templatelocalview.cxx |4 ++-- sfx2/source/control/templateview.cxx |5 +++-- sfx2/source/control/thumbnailview.cxx |3 ++- sfx2/source/control/thumbnailviewitem.cxx |4 ++-- 7 files changed, 12 insertions(+), 10 deletions(-) New commits: commit 1a6ae8e83df22deca193c58bc940d1dc265eb4b8 Author: Cédric Bosdonnat cedric.bosdon...@free.fr Date: Mon Feb 11 18:09:45 2013 +0100 Templates Manager: if the title can't be edited, don't update it in UI Change-Id: Id16431fb3517c831a5e81ff72fafaa8569f99ef1 Reviewed-on: https://gerrit.libreoffice.org/2109 Reviewed-by: Tor Lillqvist t...@iki.fi Tested-by: Miklos Vajna vmik...@suse.cz diff --git a/sfx2/inc/sfx2/templatelocalview.hxx b/sfx2/inc/sfx2/templatelocalview.hxx index dbf00ef..78cf547 100644 --- a/sfx2/inc/sfx2/templatelocalview.hxx +++ b/sfx2/inc/sfx2/templatelocalview.hxx @@ -71,7 +71,7 @@ public: bool isTemplateNameUnique (const sal_uInt16 nRegionItemId, const OUString rName) const; -virtual void renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle); +virtual bool renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle); private: diff --git a/sfx2/inc/sfx2/templateview.hxx b/sfx2/inc/sfx2/templateview.hxx index 07b8487..3e2a7c8 100644 --- a/sfx2/inc/sfx2/templateview.hxx +++ b/sfx2/inc/sfx2/templateview.hxx @@ -40,7 +40,7 @@ public: void setCloseHdl (const Link rLink) { maAllButton.SetClickHdl(rLink); } void setMasterView(TemplateAbstractView* pMasterView) { mpMasterView = pMasterView; } -virtual void renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle); +virtual bool renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle); protected: diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx index a33e762..8eb9426 100644 --- a/sfx2/inc/sfx2/thumbnailview.hxx +++ b/sfx2/inc/sfx2/thumbnailview.hxx @@ -238,7 +238,7 @@ public: virtual void Resize(); -virtual void renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle); +virtual bool renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle); protected: diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx index 2bbf0d0..ca8856e 100644 --- a/sfx2/source/control/templatelocalview.cxx +++ b/sfx2/source/control/templatelocalview.cxx @@ -605,7 +605,7 @@ void TemplateLocalView::OnItemDblClicked (ThumbnailViewItem *pRegionItem) showOverlay(true); } -void TemplateLocalView::renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle) +bool TemplateLocalView::renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle) { sal_uInt16 nRegionId = 0; sal_uInt16 nDocId = USHRT_MAX; @@ -620,7 +620,7 @@ void TemplateLocalView::renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewT { nRegionId = pContainerItem-mnId - 1; } -mpDocTemplates-SetName( sNewTitle, nRegionId, nDocId ); +return mpDocTemplates-SetName( sNewTitle, nRegionId, nDocId ); } static void lcl_updateThumbnails (TemplateContainerItem *pItem) diff --git a/sfx2/source/control/templateview.cxx b/sfx2/source/control/templateview.cxx index 90e86ec..615465d 100644 --- a/sfx2/source/control/templateview.cxx +++ b/sfx2/source/control/templateview.cxx @@ -105,10 +105,11 @@ void TemplateView::OnItemDblClicked(ThumbnailViewItem *pItem) maDblClickHdl.Call(pItem); } -void TemplateView::renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle) +bool TemplateView::renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle) { if (mpMasterView) -mpMasterView-renameItem(pItem, sNewTitle); +return mpMasterView-renameItem(pItem, sNewTitle); +return false; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index 9a29381..c996f0f 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -980,9 +980,10 @@ void ThumbnailView::sortItems (const boost::functionbool (const ThumbnailViewIt Invalidate(); } -void ThumbnailView::renameItem(ThumbnailViewItem*, rtl::OUString) +bool ThumbnailView::renameItem(ThumbnailViewItem*, rtl::OUString) { // Do nothing by default +return false; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/source/control/thumbnailviewitem.cxx b/sfx2/source/control/thumbnailviewitem.cxx index c228bab..2a83bc1 100644 --- a/sfx2/source/control/thumbnailviewitem.cxx +++ b/sfx2/source/control/thumbnailviewitem.cxx @@ -187,8 +187,8 @@ void ThumbnailViewItem::updateTitleEditSize() void ThumbnailViewItem::setTitle (const rtl::OUString rTitle) { -mrParent.renameItem(this, rTitle); -