sfx2/inc/sfx2/templateabstractview.hxx | 6 - sfx2/inc/sfx2/templatelocalview.hxx | 2 sfx2/inc/sfx2/templatelocalviewitem.hxx | 2 sfx2/inc/sfx2/templateremoteviewitem.hxx | 2 sfx2/inc/sfx2/templateview.hxx | 6 - sfx2/inc/sfx2/templateviewitem.hxx | 2 sfx2/inc/sfx2/thumbnailview.hxx | 11 -- sfx2/inc/sfx2/thumbnailviewitem.hxx | 18 --- sfx2/inc/templatedlg.hxx | 5 sfx2/source/control/templateabstractview.cxx | 38 ------- sfx2/source/control/templatelocalview.cxx | 33 +++--- sfx2/source/control/templatelocalviewitem.cxx | 71 ++++++------- sfx2/source/control/templateremoteview.cxx | 6 - sfx2/source/control/templateremoteviewitem.cxx | 4 sfx2/source/control/templatesearchview.cxx | 2 sfx2/source/control/templateview.cxx | 6 - sfx2/source/control/templateviewitem.cxx | 46 ++++---- sfx2/source/control/thumbnailview.cxx | 134 ++++--------------------- sfx2/source/control/thumbnailviewitem.cxx | 77 ++------------ sfx2/source/doc/templatedlg.cxx | 45 +------- sfx2/source/doc/templatedlg.src | 14 -- sfx2/source/inc/templatesearchviewitem.hxx | 4 22 files changed, 149 insertions(+), 385 deletions(-)
New commits: commit 1e9261aefd9cf19a12c3ce8fde883b21c3b29fb9 Author: Cédric Bosdonnat <cedric.bosdon...@free.fr> Date: Thu Dec 6 18:53:01 2012 +0100 Template manager: paint white background under thumbnails Change-Id: I55bbda1a7d04e462737b8cf24aba755b8ce96e8a diff --git a/sfx2/inc/sfx2/thumbnailviewitem.hxx b/sfx2/inc/sfx2/thumbnailviewitem.hxx index 0a7f08a..9609667 100644 --- a/sfx2/inc/sfx2/thumbnailviewitem.hxx +++ b/sfx2/inc/sfx2/thumbnailviewitem.hxx @@ -36,7 +36,7 @@ class Window; class ThumbnailView; namespace basegfx { - class B2DPoint; + class B2DPolygon; } namespace drawinglayer { @@ -45,7 +45,7 @@ namespace drawinglayer { } namespace primitive2d { - class BorderLinePrimitive2D; + class PolygonHairlinePrimitive2D; } } @@ -107,8 +107,8 @@ public: virtual void Paint (drawinglayer::processor2d::BaseProcessor2D *pProcessor, const ThumbnailItemAttributes *pAttrs); - static drawinglayer::primitive2d::BorderLinePrimitive2D* - createBorderLine (const basegfx::B2DPoint &rStart, const basegfx::B2DPoint &rEnd); + static drawinglayer::primitive2d::PolygonHairlinePrimitive2D* + createBorderLine (const basegfx::B2DPolygon &rPolygon); protected: diff --git a/sfx2/source/control/templatelocalviewitem.cxx b/sfx2/source/control/templatelocalviewitem.cxx index 544b86a..54ba379 100644 --- a/sfx2/source/control/templatelocalviewitem.cxx +++ b/sfx2/source/control/templatelocalviewitem.cxx @@ -12,8 +12,8 @@ #include <basegfx/matrix/b2dhommatrixtools.hxx> #include <basegfx/polygon/b2dpolygon.hxx> #include <drawinglayer/attribute/fillbitmapattribute.hxx> -#include <drawinglayer/primitive2d/borderlineprimitive2d.hxx> #include <drawinglayer/primitive2d/fillbitmapprimitive2d.hxx> +#include <drawinglayer/primitive2d/polygonprimitive2d.hxx> #include <drawinglayer/primitive2d/polypolygonprimitive2d.hxx> #include <drawinglayer/primitive2d/textlayoutdevice.hxx> #include <drawinglayer/primitive2d/textprimitive2d.hxx> @@ -42,10 +42,10 @@ void TemplateLocalViewItem::Paint (drawinglayer::processor2d::BaseProcessor2D *p int nSeqSize = 2; if (!maPreview1.IsEmpty()) - nSeqSize += 5; + nSeqSize += 3; if (!maPreview2.IsEmpty()) - nSeqSize += 5; + nSeqSize += 3; BColor aFillColor = pAttrs->aFillColor; Primitive2DSequence aSeq(nSeqSize); @@ -70,6 +70,20 @@ void TemplateLocalViewItem::Paint (drawinglayer::processor2d::BaseProcessor2D *p fScaleX = 0.8f; fScaleY = 0.8f; + float fWidth = aImageSize.Width()*fScaleX; + float fHeight = aImageSize.Height()*fScaleY; + float fPosX = aPos.getX()+35*fScaleX; + float fPosY = aPos.getY()+20*fScaleY; + + B2DPolygon aBounds; + aBounds.append(B2DPoint(fPosX,fPosY)); + aBounds.append(B2DPoint(fPosX+fWidth,fPosY)); + aBounds.append(B2DPoint(fPosX+fWidth,fPosY+fHeight)); + aBounds.append(B2DPoint(fPosX,fPosY+fHeight)); + aBounds.setClosed(true); + + aSeq[nCount++] = Primitive2DReference( new PolyPolygonColorPrimitive2D( + B2DPolyPolygon(aBounds), Color(COL_WHITE).getBColor())); aSeq[nCount++] = Primitive2DReference( new FillBitmapPrimitive2D( createScaleTranslateB2DHomMatrix(fScaleX,fScaleY,aPos.X(),aPos.Y()), FillBitmapAttribute(maPreview2, @@ -79,23 +93,26 @@ void TemplateLocalViewItem::Paint (drawinglayer::processor2d::BaseProcessor2D *p )); // draw thumbnail borders - float fWidth = aImageSize.Width()*fScaleX; - float fHeight = aImageSize.Height()*fScaleY; - float fPosX = aPos.getX()+35*fScaleX; - float fPosY = aPos.getY()+20*fScaleY; - - aSeq[nCount++] = Primitive2DReference(createBorderLine(B2DPoint(fPosX,fPosY), - B2DPoint(fPosX+fWidth,fPosY))); - aSeq[nCount++] = Primitive2DReference(createBorderLine(B2DPoint(fPosX+fWidth,fPosY), - B2DPoint(fPosX+fWidth,fPosY+fHeight))); - aSeq[nCount++] = Primitive2DReference(createBorderLine(B2DPoint(fPosX+fWidth,fPosY+fHeight), - B2DPoint(fPosX,fPosY+fHeight))); - aSeq[nCount++] = Primitive2DReference(createBorderLine(B2DPoint(fPosX,fPosY+fHeight), - B2DPoint(fPosX,fPosY))); + aSeq[nCount++] = Primitive2DReference(createBorderLine(aBounds)); } if (!maPreview1.IsEmpty()) { + // draw thumbnail borders + float fWidth = aImageSize.Width()*fScaleX; + float fHeight = aImageSize.Height()*fScaleY; + float fPosX = aPos.getX(); + float fPosY = aPos.getY(); + + B2DPolygon aBounds; + aBounds.append(B2DPoint(fPosX,fPosY)); + aBounds.append(B2DPoint(fPosX+fWidth,fPosY)); + aBounds.append(B2DPoint(fPosX+fWidth,fPosY+fHeight)); + aBounds.append(B2DPoint(fPosX,fPosY+fHeight)); + aBounds.setClosed(true); + + aSeq[nCount++] = Primitive2DReference( new PolyPolygonColorPrimitive2D( + B2DPolyPolygon(aBounds), Color(COL_WHITE).getBColor())); aSeq[nCount++] = Primitive2DReference( new FillBitmapPrimitive2D( createScaleTranslateB2DHomMatrix(fScaleX,fScaleY,aPos.X(),aPos.Y()), FillBitmapAttribute(maPreview1, @@ -104,20 +121,7 @@ void TemplateLocalViewItem::Paint (drawinglayer::processor2d::BaseProcessor2D *p false) )); - // draw thumbnail borders - float fWidth = aImageSize.Width()*fScaleX; - float fHeight = aImageSize.Height()*fScaleY; - float fPosX = aPos.getX(); - float fPosY = aPos.getY(); - - aSeq[nCount++] = Primitive2DReference(createBorderLine(B2DPoint(fPosX,fPosY), - B2DPoint(fPosX+fWidth,fPosY))); - aSeq[nCount++] = Primitive2DReference(createBorderLine(B2DPoint(fPosX+fWidth,fPosY), - B2DPoint(fPosX+fWidth,fPosY+fHeight))); - aSeq[nCount++] = Primitive2DReference(createBorderLine(B2DPoint(fPosX+fWidth,fPosY+fHeight), - B2DPoint(fPosX,fPosY+fHeight))); - aSeq[nCount++] = Primitive2DReference(createBorderLine(B2DPoint(fPosX,fPosY+fHeight), - B2DPoint(fPosX,fPosY))); + aSeq[nCount++] = Primitive2DReference(createBorderLine(aBounds)); } // Draw centered text below thumbnail diff --git a/sfx2/source/control/templateviewitem.cxx b/sfx2/source/control/templateviewitem.cxx index e2abf71..51a2862 100644 --- a/sfx2/source/control/templateviewitem.cxx +++ b/sfx2/source/control/templateviewitem.cxx @@ -12,8 +12,8 @@ #include <basegfx/matrix/b2dhommatrixtools.hxx> #include <basegfx/polygon/b2dpolygon.hxx> #include <drawinglayer/attribute/fillbitmapattribute.hxx> -#include <drawinglayer/primitive2d/borderlineprimitive2d.hxx> #include <drawinglayer/primitive2d/fillbitmapprimitive2d.hxx> +#include <drawinglayer/primitive2d/polygonprimitive2d.hxx> #include <drawinglayer/primitive2d/polypolygonprimitive2d.hxx> #include <drawinglayer/primitive2d/textlayoutdevice.hxx> #include <drawinglayer/primitive2d/textprimitive2d.hxx> @@ -68,7 +68,7 @@ void TemplateViewItem::Paint(drawinglayer::processor2d::BaseProcessor2D *pProces { BColor aFillColor = pAttrs->aFillColor; - int nCount = maSubTitle.isEmpty() ? 7 : 8; + int nCount = maSubTitle.isEmpty() ? 5 : 6; Primitive2DSequence aSeq(nCount); // Draw background @@ -82,7 +82,22 @@ void TemplateViewItem::Paint(drawinglayer::processor2d::BaseProcessor2D *pProces // Draw thumbnail Size aImageSize = maPreview1.GetSizePixel(); - aSeq[1] = Primitive2DReference( new FillBitmapPrimitive2D( + float fWidth = aImageSize.Width(); + float fHeight = aImageSize.Height(); + float fPosX = maPrev1Pos.getX(); + float fPosY = maPrev1Pos.getY(); + + B2DPolygon aBounds; + aBounds.append(B2DPoint(fPosX,fPosY)); + aBounds.append(B2DPoint(fPosX+fWidth,fPosY)); + aBounds.append(B2DPoint(fPosX+fWidth,fPosY+fHeight)); + aBounds.append(B2DPoint(fPosX,fPosY+fHeight)); + aBounds.setClosed(true); + + aSeq[1] = Primitive2DReference( new PolyPolygonColorPrimitive2D( + B2DPolyPolygon(aBounds), Color(COL_WHITE).getBColor())); + + aSeq[2] = Primitive2DReference( new FillBitmapPrimitive2D( createTranslateB2DHomMatrix(maPrev1Pos.X(),maPrev1Pos.Y()), FillBitmapAttribute(maPreview1, B2DPoint(0,0), @@ -91,19 +106,7 @@ void TemplateViewItem::Paint(drawinglayer::processor2d::BaseProcessor2D *pProces )); // draw thumbnail borders - float fWidth = aImageSize.Width(); - float fHeight = aImageSize.Height(); - float fPosX = maPrev1Pos.getX(); - float fPosY = maPrev1Pos.getY(); - - aSeq[2] = Primitive2DReference(createBorderLine(B2DPoint(fPosX,fPosY), - B2DPoint(fPosX+fWidth,fPosY))); - aSeq[3] = Primitive2DReference(createBorderLine(B2DPoint(fPosX+fWidth,fPosY), - B2DPoint(fPosX+fWidth,fPosY+fHeight))); - aSeq[4] = Primitive2DReference(createBorderLine(B2DPoint(fPosX+fWidth,fPosY+fHeight), - B2DPoint(fPosX,fPosY+fHeight))); - aSeq[5] = Primitive2DReference(createBorderLine(B2DPoint(fPosX,fPosY+fHeight), - B2DPoint(fPosX,fPosY))); + aSeq[3] = Primitive2DReference(createBorderLine(aBounds)); // Draw centered text below thumbnail @@ -112,7 +115,7 @@ void TemplateViewItem::Paint(drawinglayer::processor2d::BaseProcessor2D *pProces pAttrs->aFontSize.getX(), pAttrs->aFontSize.getY(), double( maTextPos.X() ), double( maTextPos.Y() ) ) ); - aSeq[6] = Primitive2DReference( + aSeq[4] = Primitive2DReference( new TextSimplePortionPrimitive2D(aTitleMatrix, maTitle,0,pAttrs->nMaxTextLenght, std::vector< double >( ), @@ -126,7 +129,7 @@ void TemplateViewItem::Paint(drawinglayer::processor2d::BaseProcessor2D *pProces pAttrs->aFontSize.getX()*SUBTITLE_SCALE_FACTOR, pAttrs->aFontSize.getY()*SUBTITLE_SCALE_FACTOR, double( maSubTitlePos.X() ), double( maSubTitlePos.Y() ) ) ); - aSeq[7] = Primitive2DReference( + aSeq[5] = Primitive2DReference( new TextSimplePortionPrimitive2D(aSubTitleMatrix, maSubTitle,0,pAttrs->nMaxTextLenght, std::vector< double >( ), diff --git a/sfx2/source/control/thumbnailviewitem.cxx b/sfx2/source/control/thumbnailviewitem.cxx index 2410922..3f1077e 100644 --- a/sfx2/source/control/thumbnailviewitem.cxx +++ b/sfx2/source/control/thumbnailviewitem.cxx @@ -26,8 +26,8 @@ #include <basegfx/vector/b2dsize.hxx> #include <basegfx/polygon/b2dpolygon.hxx> #include <drawinglayer/attribute/fillbitmapattribute.hxx> -#include <drawinglayer/primitive2d/borderlineprimitive2d.hxx> #include <drawinglayer/primitive2d/fillbitmapprimitive2d.hxx> +#include <drawinglayer/primitive2d/polygonprimitive2d.hxx> #include <drawinglayer/primitive2d/polypolygonprimitive2d.hxx> #include <drawinglayer/primitive2d/textlayoutdevice.hxx> #include <drawinglayer/primitive2d/textprimitive2d.hxx> @@ -122,7 +122,7 @@ void ThumbnailViewItem::Paint (drawinglayer::processor2d::BaseProcessor2D *pProc const ThumbnailItemAttributes *pAttrs) { BColor aFillColor = pAttrs->aFillColor; - Primitive2DSequence aSeq(7); + Primitive2DSequence aSeq(4); // Draw background if ( mbSelected || mbHover ) @@ -150,14 +150,14 @@ void ThumbnailViewItem::Paint (drawinglayer::processor2d::BaseProcessor2D *pProc float fPosX = maPrev1Pos.getX(); float fPosY = maPrev1Pos.getY(); - aSeq[2] = Primitive2DReference(createBorderLine(B2DPoint(fPosX,fPosY), - B2DPoint(fPosX+fWidth,fPosY))); - aSeq[3] = Primitive2DReference(createBorderLine(B2DPoint(fPosX+fWidth,fPosY), - B2DPoint(fPosX+fWidth,fPosY+fHeight))); - aSeq[4] = Primitive2DReference(createBorderLine(B2DPoint(fPosX+fWidth,fPosY+fHeight), - B2DPoint(fPosX,fPosY+fHeight))); - aSeq[5] = Primitive2DReference(createBorderLine(B2DPoint(fPosX,fPosY+fHeight), - B2DPoint(fPosX,fPosY))); + B2DPolygon aBounds; + aBounds.append(B2DPoint(fPosX,fPosY)); + aBounds.append(B2DPoint(fPosX+fWidth,fPosY)); + aBounds.append(B2DPoint(fPosX+fWidth,fPosY+fHeight)); + aBounds.append(B2DPoint(fPosX,fPosY+fHeight)); + aBounds.setClosed(true); + + aSeq[2] = Primitive2DReference(createBorderLine(aBounds)); // Draw centered text below thumbnail aPos = maTextPos; @@ -167,7 +167,7 @@ void ThumbnailViewItem::Paint (drawinglayer::processor2d::BaseProcessor2D *pProc pAttrs->aFontSize.getX(), pAttrs->aFontSize.getY(), double( aPos.X() ), double( aPos.Y() ) ) ); - aSeq[6] = Primitive2DReference( + aSeq[3] = Primitive2DReference( new TextSimplePortionPrimitive2D(aTextMatrix, maTitle,0,pAttrs->nMaxTextLenght, std::vector< double >( ), @@ -178,12 +178,10 @@ void ThumbnailViewItem::Paint (drawinglayer::processor2d::BaseProcessor2D *pProc pProcessor->process(aSeq); } -drawinglayer::primitive2d::BorderLinePrimitive2D* -ThumbnailViewItem::createBorderLine (const basegfx::B2DPoint &rStart, const basegfx::B2DPoint &rEnd) +drawinglayer::primitive2d::PolygonHairlinePrimitive2D* +ThumbnailViewItem::createBorderLine (const basegfx::B2DPolygon& rPolygon) { - return new BorderLinePrimitive2D(rStart,rEnd,0.5,0,0,0,0,0,0, - BColor(),Color(COL_BLACK).getBColor(),BColor(), - false,STYLE_SOLID); + return new PolygonHairlinePrimitive2D(rPolygon, Color(186,186,186).getBColor()); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 87e5851af82a11d9880e235c0f66980dcb5e5af7 Author: Cédric Bosdonnat <cedric.bosdon...@free.fr> Date: Thu Dec 6 15:50:07 2012 +0100 Template manager: toolbars height was too small Change-Id: Ie2cb1f4947baf99d90bfaaf62834482c8f7e6a05 diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src index c0687fd..7a61186 100644 --- a/sfx2/source/doc/templatedlg.src +++ b/sfx2/source/doc/templatedlg.src @@ -178,7 +178,7 @@ ModelessDialog DLG_TEMPLATE_MANAGER Control TOOLBARS { Pos = MAP_APPFONT( 0 , 22 ); - Size = MAP_APPFONT( 290 , 15 ); + Size = MAP_APPFONT( 290 , 20 ); TabStop = False; }; commit 7b5f71239ef376503731aa450a4ffa6bd1e019cb Author: Cédric Bosdonnat <cedric.bosdon...@free.fr> Date: Thu Dec 6 15:35:58 2012 +0100 Template manager: fix preview for folders after using filters Change-Id: Iadd38ee0bee7634c0924f48e204baa05566b7586 diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx index b261e34..557b8ff 100644 --- a/sfx2/source/control/templatelocalview.cxx +++ b/sfx2/source/control/templatelocalview.cxx @@ -59,12 +59,18 @@ public: if (isValid(rTemplates[i].aType)) { ++nVisCount; - - // Update the thumbnails - if (nVisCount == 1) - pFolderItem->maPreview1 = rTemplates[i].aThumbnail; - else if (nVisCount == 2) - pFolderItem->maPreview2 = rTemplates[i].aThumbnail; + if ( pFolderItem->maPreview1.IsEmpty( ) ) + { + pFolderItem->maPreview1 = TemplateAbstractView::scaleImg(rTemplates[i].aThumbnail, + TEMPLATE_THUMBNAIL_MAX_WIDTH*0.75, + TEMPLATE_THUMBNAIL_MAX_HEIGHT*0.75); + } + else if ( pFolderItem->maPreview2.IsEmpty() ) + { + pFolderItem->maPreview2 = TemplateAbstractView::scaleImg(rTemplates[i].aThumbnail, + TEMPLATE_THUMBNAIL_MAX_WIDTH*0.75, + TEMPLATE_THUMBNAIL_MAX_HEIGHT*0.75); + } } } commit 99584c777f0d795644cfa04f16c4bd526cebd052 Author: Cédric Bosdonnat <cedric.bosdon...@free.fr> Date: Thu Dec 6 13:30:53 2012 +0100 Revert "Template Manager: ban double-click" This reverts commit 5487769838570ba5f1b35529689321e1842bae31. Come back to a more consistant UI: - single click for selection. CTRL modifier for multi-selection - double click for action - removed item's checkbox - get rid of the selection mode - no hover on items Change-Id: I82863c77ed6a45410242a244545505a5b898ba56 diff --git a/sfx2/inc/sfx2/templateabstractview.hxx b/sfx2/inc/sfx2/templateabstractview.hxx index 0ab599e..4eb7e6f 100644 --- a/sfx2/inc/sfx2/templateabstractview.hxx +++ b/sfx2/inc/sfx2/templateabstractview.hxx @@ -106,7 +106,7 @@ public: void setOverlayItemStateHdl (const Link &aLink) { maOverlayItemStateHdl = aLink; } - void setOverlayClickHdl (const Link &rLink); + void setOverlayDblClickHdl (const Link &rLink); void setOverlayCloseHdl (const Link &rLink); @@ -122,15 +122,11 @@ protected: virtual void DrawItem (ThumbnailViewItem *pItem); - virtual void OnSelectionMode (bool bMode); - DECL_LINK(OverlayItemStateHdl, const ThumbnailViewItem*); - DECL_LINK(OverlaySelectionModeHdl, bool*); protected: TemplateView *mpItemView; - bool mbInSelectionModeHdl; Link maOverlayItemStateHdl; }; diff --git a/sfx2/inc/sfx2/templatelocalview.hxx b/sfx2/inc/sfx2/templatelocalview.hxx index 58debca..9a101f2 100644 --- a/sfx2/inc/sfx2/templatelocalview.hxx +++ b/sfx2/inc/sfx2/templatelocalview.hxx @@ -75,7 +75,7 @@ public: private: - virtual void OnItemClicked (ThumbnailViewItem *pRegionItem); + virtual void OnItemDblClicked (ThumbnailViewItem *pRegionItem); DECL_LINK(ChangeNameHdl, TemplateView*); diff --git a/sfx2/inc/sfx2/templatelocalviewitem.hxx b/sfx2/inc/sfx2/templatelocalviewitem.hxx index 80330b2..739f70e 100644 --- a/sfx2/inc/sfx2/templatelocalviewitem.hxx +++ b/sfx2/inc/sfx2/templatelocalviewitem.hxx @@ -22,7 +22,7 @@ public: BitmapEx maPreview2; std::vector<TemplateItemProperties> maTemplates; - TemplateLocalViewItem (ThumbnailView &rView, Window *pParent); + TemplateLocalViewItem (ThumbnailView &rView); virtual ~TemplateLocalViewItem (); diff --git a/sfx2/inc/sfx2/templateremoteviewitem.hxx b/sfx2/inc/sfx2/templateremoteviewitem.hxx index 396b965..63f2c7d 100644 --- a/sfx2/inc/sfx2/templateremoteviewitem.hxx +++ b/sfx2/inc/sfx2/templateremoteviewitem.hxx @@ -17,7 +17,7 @@ class TemplateRemoteViewItem : public ThumbnailViewItem { public: - TemplateRemoteViewItem (ThumbnailView &rView, Window *pParent); + TemplateRemoteViewItem (ThumbnailView &rView); virtual ~TemplateRemoteViewItem (); diff --git a/sfx2/inc/sfx2/templateview.hxx b/sfx2/inc/sfx2/templateview.hxx index fee955b..881c68d 100644 --- a/sfx2/inc/sfx2/templateview.hxx +++ b/sfx2/inc/sfx2/templateview.hxx @@ -37,7 +37,7 @@ public: void InsertItems (const std::vector<TemplateItemProperties> &rTemplates); - void setClickHdl (const Link &rLink) { maClickHdl = rLink; } + void setDblClickHdl (const Link &rLink) { maDblClickHdl = rLink; } void setChangeNameHdl (const Link &rLink) { maChangeNameHdl = rLink; } @@ -49,7 +49,7 @@ protected: virtual void MouseButtonDown (const MouseEvent &rMEvt); - virtual void OnItemClicked (ThumbnailViewItem *pItem); + virtual void OnItemDblClicked (ThumbnailViewItem *pItem); DECL_LINK (ChangeNameHdl, void*); @@ -59,7 +59,7 @@ private: bool mbRenderTitle; sal_uInt16 mnId; OUString maName; - Link maClickHdl; + Link maDblClickHdl; Link maChangeNameHdl; Link maCloseHdl; diff --git a/sfx2/inc/sfx2/templateviewitem.hxx b/sfx2/inc/sfx2/templateviewitem.hxx index 992af40..9a7d358 100644 --- a/sfx2/inc/sfx2/templateviewitem.hxx +++ b/sfx2/inc/sfx2/templateviewitem.hxx @@ -16,7 +16,7 @@ class TemplateViewItem : public ThumbnailViewItem { public: - TemplateViewItem (ThumbnailView &rView, Window *pParent); + TemplateViewItem (ThumbnailView &rView); virtual ~TemplateViewItem (); diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx index 023c569..6ebe23f 100644 --- a/sfx2/inc/sfx2/thumbnailview.hxx +++ b/sfx2/inc/sfx2/thumbnailview.hxx @@ -233,15 +233,12 @@ public: long GetScrollWidth() const; - void setSelectionMode (bool mode); - void filterItems (const boost::function<bool (const ThumbnailViewItem*) > &func); void sortItems (const boost::function<bool (const ThumbnailViewItem*, const ThumbnailViewItem*) > &func); void setItemStateHdl (const Link &aLink) { maItemStateHdl = aLink; } - void setSelectionModeHdl (const Link &aLink) { maSelectionModeHdl = aLink; } protected: @@ -249,8 +246,6 @@ protected: virtual void MouseButtonUp( const MouseEvent& rMEvt ); - virtual void MouseMove( const MouseEvent& rMEvt ); - virtual void Command( const CommandEvent& rCEvt ); virtual void Paint( const Rectangle& rRect ); @@ -275,9 +270,7 @@ protected: virtual void DrawItem (ThumbnailViewItem *pItem); - virtual void OnSelectionMode (bool bMode); - - virtual void OnItemClicked (ThumbnailViewItem *pItem); + virtual void OnItemDblClicked (ThumbnailViewItem *pItem); protected: @@ -327,11 +320,9 @@ protected: bool mbScroll : 1; bool mbIsTransientChildrenDisabled : 1; bool mbHasVisibleItems : 1; - bool mbSelectionMode; Color maColor; Link maItemStateHdl; - Link maSelectionModeHdl; ThumbnailItemAttributes *mpItemAttrs; drawinglayer::processor2d::BaseProcessor2D *mpProcessor; boost::function<bool (const ThumbnailViewItem*) > maFilterFunc; diff --git a/sfx2/inc/sfx2/thumbnailviewitem.hxx b/sfx2/inc/sfx2/thumbnailviewitem.hxx index 96cdc5c..0a7f08a 100644 --- a/sfx2/inc/sfx2/thumbnailviewitem.hxx +++ b/sfx2/inc/sfx2/thumbnailviewitem.hxx @@ -71,7 +71,7 @@ public: rtl::OUString maTitle; ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >* mpxAcc; - ThumbnailViewItem (ThumbnailView &rView, Window *pParent); + ThumbnailViewItem (ThumbnailView &rView); virtual ~ThumbnailViewItem (); @@ -102,8 +102,6 @@ public: const Point& getPrev1Pos () const { return maPrev1Pos; } - void setSelectionMode (bool mode); - void setSelectClickHdl (const Link &link); virtual void Paint (drawinglayer::processor2d::BaseProcessor2D *pProcessor, @@ -112,18 +110,12 @@ public: static drawinglayer::primitive2d::BorderLinePrimitive2D* createBorderLine (const basegfx::B2DPoint &rStart, const basegfx::B2DPoint &rEnd); -private: - - DECL_LINK (OnClick, CheckBox *); - protected: - bool mbMode; Point maTextPos; Point maPrev1Pos; Rectangle maDrawArea; Link maClickHdl; - CheckBox *mpSelectBox; }; #endif // THUMBNAILVIEWITEM_HXX diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx index 8e70039..c0d1284 100644 --- a/sfx2/inc/templatedlg.hxx +++ b/sfx2/inc/templatedlg.hxx @@ -57,9 +57,6 @@ private: DECL_LINK(CloseOverlayHdl, void*); - DECL_LINK(OnClickSelectionMode, ImageButton*); - DECL_LINK(SelectionModeHdl, bool*); - DECL_LINK(TBXViewHdl, void*); DECL_LINK(TBXActionHdl, void*); DECL_LINK(TBXTemplateHdl, void*); @@ -124,7 +121,6 @@ private: PushButton aButtonPresents; PushButton aButtonSheets; PushButton aButtonDraws; - ImageButton maButtonSelMode; Control *mpToolbars; Edit *mpSearchEdit; @@ -143,7 +139,6 @@ private: std::set<const ThumbnailViewItem*> maSelFolders; bool mbIsSaveMode; ///< Flag that indicates if we are in save mode or not. - bool mbInSelectionModeHdl; ///< Flag avoiding selection mode handler loop com::sun::star::uno::Reference< com::sun::star::frame::XModel > m_xModel; com::sun::star::uno::Reference< com::sun::star::frame::XComponentLoader > mxDesktop; }; diff --git a/sfx2/source/control/templateabstractview.cxx b/sfx2/source/control/templateabstractview.cxx index dd00449..5d5cd3e 100644 --- a/sfx2/source/control/templateabstractview.cxx +++ b/sfx2/source/control/templateabstractview.cxx @@ -59,20 +59,16 @@ bool ViewFilter_Keyword::operator ()(const ThumbnailViewItem *pItem) TemplateAbstractView::TemplateAbstractView (Window *pParent, WinBits nWinStyle, bool bDisableTransientChildren) : ThumbnailView(pParent,nWinStyle,bDisableTransientChildren), - mpItemView(new TemplateView(this)), - mbInSelectionModeHdl(false) + mpItemView(new TemplateView(this)) { mpItemView->setItemStateHdl(LINK(this,TemplateAbstractView,OverlayItemStateHdl)); - mpItemView->setSelectionModeHdl(LINK(this,TemplateAbstractView,OverlaySelectionModeHdl)); } TemplateAbstractView::TemplateAbstractView(Window *pParent, const ResId &rResId, bool bDisableTransientChildren) : ThumbnailView(pParent,rResId,bDisableTransientChildren), - mpItemView(new TemplateView(this)), - mbInSelectionModeHdl(false) + mpItemView(new TemplateView(this)) { mpItemView->setItemStateHdl(LINK(this,TemplateAbstractView,OverlayItemStateHdl)); - mpItemView->setSelectionModeHdl(LINK(this,TemplateAbstractView,OverlaySelectionModeHdl)); } TemplateAbstractView::~TemplateAbstractView () @@ -124,9 +120,9 @@ void TemplateAbstractView::filterTemplatesByKeyword(const OUString &rKeyword) mpItemView->filterItems(ViewFilter_Keyword(rKeyword)); } -void TemplateAbstractView::setOverlayClickHdl(const Link &rLink) +void TemplateAbstractView::setOverlayDblClickHdl(const Link &rLink) { - mpItemView->setClickHdl(rLink); + mpItemView->setDblClickHdl(rLink); } void TemplateAbstractView::setOverlayCloseHdl(const Link &rLink) @@ -287,36 +283,10 @@ void TemplateAbstractView::DrawItem(ThumbnailViewItem *pItem) ThumbnailView::DrawItem(pItem); } -void TemplateAbstractView::OnSelectionMode (bool bMode) -{ - if (!mbInSelectionModeHdl) - { - if (mpItemView->IsVisible()) - { - mbSelectionMode = bMode; - mpItemView->setSelectionMode(bMode); - } - else - ThumbnailView::OnSelectionMode(bMode); - } -} - IMPL_LINK(TemplateAbstractView, OverlayItemStateHdl, const ThumbnailViewItem*, pItem) { maOverlayItemStateHdl.Call((void*)pItem); return 0; } -IMPL_LINK(TemplateAbstractView, OverlaySelectionModeHdl, bool*, pMode) -{ - mbInSelectionModeHdl = true; - setSelectionMode(*pMode); - if (!*pMode) - { - deselectOverlayItems(); - } - mbInSelectionModeHdl = false; - return 0; -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx index 15e3b8d..b261e34 100644 --- a/sfx2/source/control/templatelocalview.cxx +++ b/sfx2/source/control/templatelocalview.cxx @@ -128,7 +128,7 @@ void TemplateLocalView::Populate () aRegionName += "..."; } - TemplateLocalViewItem* pItem = new TemplateLocalViewItem( *this, this ); + TemplateLocalViewItem* pItem = new TemplateLocalViewItem( *this ); pItem->mnId = i+1; pItem->maTitle = aRegionName; pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected)); @@ -224,8 +224,6 @@ void TemplateLocalView::showOverlay (bool bVisible) } mpItemView->Clear(); - - setSelectionMode(mbSelectionMode); } } @@ -278,7 +276,7 @@ sal_uInt16 TemplateLocalView::createRegion(const OUString &rName) aRegionName += "..."; } - TemplateLocalViewItem* pItem = new TemplateLocalViewItem( *this, this ); + TemplateLocalViewItem* pItem = new TemplateLocalViewItem( *this ); pItem->mnId = nRegionId+1; pItem->maTitle = aRegionName; pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected)); @@ -702,7 +700,7 @@ bool TemplateLocalView::isTemplateNameUnique(const sal_uInt16 nRegionItemId, con return true; } -void TemplateLocalView::OnItemClicked (ThumbnailViewItem *pRegionItem) +void TemplateLocalView::OnItemDblClicked (ThumbnailViewItem *pRegionItem) { // Fill templates sal_uInt16 nRegionId = pRegionItem->mnId-1; @@ -711,9 +709,6 @@ void TemplateLocalView::OnItemClicked (ThumbnailViewItem *pRegionItem) mpItemView->setName(mpDocTemplates->GetRegionName(nRegionId)); mpItemView->InsertItems(static_cast<TemplateLocalViewItem*>(pRegionItem)->maTemplates); - if (mbSelectionMode) - mpItemView->setSelectionMode(true); - mpItemView->filterItems(ViewFilter_Application(meFilterOption)); showOverlay(true); diff --git a/sfx2/source/control/templatelocalviewitem.cxx b/sfx2/source/control/templatelocalviewitem.cxx index 7ba1183..544b86a 100644 --- a/sfx2/source/control/templatelocalviewitem.cxx +++ b/sfx2/source/control/templatelocalviewitem.cxx @@ -26,8 +26,8 @@ using namespace basegfx::tools; using namespace drawinglayer::attribute; using namespace drawinglayer::primitive2d; -TemplateLocalViewItem::TemplateLocalViewItem (ThumbnailView &rView, Window *pParent) - : ThumbnailViewItem(rView,pParent) +TemplateLocalViewItem::TemplateLocalViewItem (ThumbnailView &rView) + : ThumbnailViewItem(rView) { } @@ -137,9 +137,6 @@ void TemplateLocalViewItem::Paint (drawinglayer::processor2d::BaseProcessor2D *p Color(COL_BLACK).getBColor() ) ); pProcessor->process(aSeq); - - if (mbMode || mbHover || mbSelected) - mpSelectBox->Paint(maDrawArea); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/source/control/templateremoteview.cxx b/sfx2/source/control/templateremoteview.cxx index 776bab1..24ee41d 100644 --- a/sfx2/source/control/templateremoteview.cxx +++ b/sfx2/source/control/templateremoteview.cxx @@ -78,7 +78,7 @@ void TemplateRemoteView::Populate() for (sal_Int32 i = 0; i < aUrls.getLength() && i < aNames.getLength(); ++i) { - TemplateRemoteViewItem *pItem = new TemplateRemoteViewItem(*this,this); + TemplateRemoteViewItem *pItem = new TemplateRemoteViewItem(*this); pItem->mnId = i+1; pItem->maTitle = aNames[i]; @@ -107,8 +107,6 @@ void TemplateRemoteView::showOverlay (bool bVisible) if (!bVisible) { mpItemView->Clear(); - - setSelectionMode(mbSelectionMode); } } @@ -261,7 +259,7 @@ bool TemplateRemoteView::insertRepository(const OUString &rName, const OUString return false; } - TemplateRemoteViewItem *pItem = new TemplateRemoteViewItem(*this,this); + TemplateRemoteViewItem *pItem = new TemplateRemoteViewItem(*this); pItem->mnId = maRepositories.size()+1; pItem->maTitle = rName; diff --git a/sfx2/source/control/templateremoteviewitem.cxx b/sfx2/source/control/templateremoteviewitem.cxx index cb6de5e..626786f 100644 --- a/sfx2/source/control/templateremoteviewitem.cxx +++ b/sfx2/source/control/templateremoteviewitem.cxx @@ -9,8 +9,8 @@ #include <sfx2/templateremoteviewitem.hxx> -TemplateRemoteViewItem::TemplateRemoteViewItem (ThumbnailView &rView, Window *pParent) - : ThumbnailViewItem(rView,pParent) +TemplateRemoteViewItem::TemplateRemoteViewItem (ThumbnailView &rView) + : ThumbnailViewItem(rView) { } diff --git a/sfx2/source/control/templatesearchview.cxx b/sfx2/source/control/templatesearchview.cxx index 24554fb..775abbc 100644 --- a/sfx2/source/control/templatesearchview.cxx +++ b/sfx2/source/control/templatesearchview.cxx @@ -25,7 +25,7 @@ void TemplateSearchView::AppendItem(sal_uInt16 nItemId, sal_uInt16 nRegionId, sa const OUString &rPath, const BitmapEx &rImage) { - TemplateSearchViewItem *pItem = new TemplateSearchViewItem(*this,this); + TemplateSearchViewItem *pItem = new TemplateSearchViewItem(*this); pItem->mnId = nItemId; pItem->mnIdx = nIdx; pItem->mnRegionId = nRegionId; diff --git a/sfx2/source/control/templateview.cxx b/sfx2/source/control/templateview.cxx index 1156fa8..0892a15 100644 --- a/sfx2/source/control/templateview.cxx +++ b/sfx2/source/control/templateview.cxx @@ -108,7 +108,7 @@ void TemplateView::InsertItems (const std::vector<TemplateItemProperties> &rTemp { for (size_t i = 0, n = rTemplates.size(); i < n; ++i ) { - TemplateViewItem *pItem = new TemplateViewItem(*this,this); + TemplateViewItem *pItem = new TemplateViewItem(*this); const TemplateItemProperties *pCur = &rTemplates[i]; pItem->mnId = pCur->nId; @@ -208,9 +208,9 @@ void TemplateView::MouseButtonDown (const MouseEvent &rMEvt) ThumbnailView::MouseButtonDown(rMEvt); } -void TemplateView::OnItemClicked(ThumbnailViewItem *pItem) +void TemplateView::OnItemDblClicked(ThumbnailViewItem *pItem) { - maClickHdl.Call(pItem); + maDblClickHdl.Call(pItem); } IMPL_LINK_NOARG(TemplateView, ChangeNameHdl) diff --git a/sfx2/source/control/templateviewitem.cxx b/sfx2/source/control/templateviewitem.cxx index 2c27e5f..e2abf71 100644 --- a/sfx2/source/control/templateviewitem.cxx +++ b/sfx2/source/control/templateviewitem.cxx @@ -27,8 +27,8 @@ using namespace basegfx::tools; using namespace drawinglayer::attribute; using namespace drawinglayer::primitive2d; -TemplateViewItem::TemplateViewItem (ThumbnailView &rView, Window *pParent) - : ThumbnailViewItem(rView,pParent) +TemplateViewItem::TemplateViewItem (ThumbnailView &rView) + : ThumbnailViewItem(rView) { } @@ -136,9 +136,6 @@ void TemplateViewItem::Paint(drawinglayer::processor2d::BaseProcessor2D *pProces } pProcessor->process(aSeq); - - if (mbMode || mbHover || mbSelected) - mpSelectBox->Paint(maDrawArea); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index 32571b7..db8d626 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -98,7 +98,6 @@ void ThumbnailView::ImplInit() mnSpacing = 0; mbScroll = false; mbHasVisibleItems = false; - mbSelectionMode = false; maFilterFunc = ViewFilterAll(); maColor = GetSettings().GetStyleSettings().GetFieldColor(); @@ -197,21 +196,7 @@ void ThumbnailView::DrawItem (ThumbnailViewItem *pItem) } } -void ThumbnailView::OnSelectionMode (bool bMode) -{ - if ( !bMode ) - deselectItems(); - - for (size_t i = 0, n = mItemList.size(); i < n; ++i) - { - mItemList[i]->setSelectionMode(bMode); - - if (mItemList[i]->isVisible()) - DrawItem(mItemList[i]); - } -} - -void ThumbnailView::OnItemClicked (ThumbnailViewItem*) +void ThumbnailView::OnItemDblClicked (ThumbnailViewItem*) { } @@ -508,51 +493,40 @@ IMPL_LINK (ThumbnailView, OnItemSelected, ThumbnailViewItem*, pItem) void ThumbnailView::MouseButtonDown( const MouseEvent& rMEvt ) { - bool bProcessClick = rMEvt.IsLeft(); - - if ( rMEvt.IsRight( ) ) - { - // Set selection mode with right click - if (!mbSelectionMode) - { - setSelectionMode( true ); - bProcessClick = true; - } - } - - if ( bProcessClick ) + if ( rMEvt.IsLeft() ) { ThumbnailViewItem* pItem = ImplGetItem( ImplGetItem( rMEvt.GetPosPixel() ) ); if (pItem && pItem->isVisible()) { - if ( !rMEvt.IsMod2() ) + if ( rMEvt.GetClicks() == 1 ) { - if ( rMEvt.GetClicks() == 1 ) - { - if (mbSelectionMode) - { - pItem->setSelection(!pItem->isSelected()); + if (!pItem->isSelected() && !rMEvt.IsMod1()) + deselectItems( ); + pItem->setSelection(!pItem->isSelected()); - if (!pItem->isHighlighted()) - DrawItem(pItem); + if (!pItem->isHighlighted()) + DrawItem(pItem); - maItemStateHdl.Call(pItem); - } - else - { - Rectangle aRect(pItem->getDrawArea()); - aRect.SetSize(Size(mnItemWidth,mnThumbnailHeight)); + maItemStateHdl.Call(pItem); + } + else if ( rMEvt.GetClicks() == 2 ) + { + // The mouse button down event 1 click right before is pointless + pItem->setSelection(!pItem->isSelected()); + maItemStateHdl.Call(pItem); - if (!mbSelectionMode && aRect.IsInside(rMEvt.GetPosPixel())) - OnItemClicked(pItem); - } - } + Rectangle aRect(pItem->getDrawArea()); + aRect.SetSize(Size(mnItemWidth,mnThumbnailHeight)); + + if (aRect.IsInside(rMEvt.GetPosPixel())) + OnItemDblClicked(pItem); } return; } } + Control::MouseButtonDown( rMEvt ); } @@ -561,56 +535,6 @@ void ThumbnailView::MouseButtonUp( const MouseEvent& rMEvt ) Control::MouseButtonUp( rMEvt ); } -void ThumbnailView::MouseMove( const MouseEvent& rMEvt ) -{ - ThumbnailViewItem* pItem = ImplGetItem( ImplGetItem( rMEvt.GetPosPixel() ) ); - - if (pItem) - { - if (mnHighItemId != pItem->mnId && pItem->isVisible()) - { - size_t nPos = GetItemPos(mnHighItemId); - - if (nPos != THUMBNAILVIEW_ITEM_NOTFOUND) - { - ThumbnailViewItem *pOld = mItemList[nPos]; - - pOld->setHighlight(false); - - if (!pOld->isSelected()) - DrawItem(pOld); - } - - mnHighItemId = pItem->mnId; - pItem->setHighlight(true); - - if (!pItem->isSelected()) - DrawItem(pItem); - } - } - else - { - if (mnHighItemId) - { - size_t nPos = GetItemPos(mnHighItemId); - - if (nPos != THUMBNAILVIEW_ITEM_NOTFOUND) - { - ThumbnailViewItem *pOld = mItemList[nPos]; - - pOld->setHighlight(false); - - if (!pOld->isSelected()) - DrawItem(pOld); - } - - mnHighItemId = 0; - } - } - - Control::MouseMove( rMEvt ); -} - void ThumbnailView::Command( const CommandEvent& rCEvt ) { if ( (rCEvt.GetCommand() == COMMAND_WHEEL) || @@ -1049,13 +973,6 @@ long ThumbnailView::GetScrollWidth() const return 0; } -void ThumbnailView::setSelectionMode (bool mode) -{ - mbSelectionMode = mode; - OnSelectionMode(mode); - maSelectionModeHdl.Call(&mode); -} - void ThumbnailView::filterItems (const boost::function<bool (const ThumbnailViewItem*) > &func) { mnFirstLine = 0; // start at the top of the list instead of the current position diff --git a/sfx2/source/control/thumbnailviewitem.cxx b/sfx2/source/control/thumbnailviewitem.cxx index 57041ce..2410922 100644 --- a/sfx2/source/control/thumbnailviewitem.cxx +++ b/sfx2/source/control/thumbnailviewitem.cxx @@ -41,18 +41,14 @@ using namespace ::com::sun::star; using namespace drawinglayer::attribute; using namespace drawinglayer::primitive2d; -ThumbnailViewItem::ThumbnailViewItem(ThumbnailView &rView, Window *pParent) +ThumbnailViewItem::ThumbnailViewItem(ThumbnailView &rView) : mrParent(rView) , mnId(0) , mbVisible(true) , mbSelected(false) , mbHover(false) , mpxAcc(NULL) - , mbMode(false) - , mpSelectBox(new CheckBox(pParent,WB_HIDE | WB_NOPOINTERFOCUS)) { - mpSelectBox->SetSizePixel(Size(20,20)); - mpSelectBox->SetClickHdl(LINK(this,ThumbnailViewItem,OnClick)); } ThumbnailViewItem::~ThumbnailViewItem() @@ -62,37 +58,21 @@ ThumbnailViewItem::~ThumbnailViewItem() static_cast< ThumbnailViewItemAcc* >( mpxAcc->get() )->ParentDestroyed(); delete mpxAcc; } - - delete mpSelectBox; } void ThumbnailViewItem::show (bool bVisible) { mbVisible = bVisible; - - if (mbMode) - mpSelectBox->Show(bVisible); - else if (!bVisible) - mpSelectBox->Show(bVisible); - else if (mbSelected) - mpSelectBox->Show(bVisible); } void ThumbnailViewItem::setSelection (bool state) { mbSelected = state; - mpSelectBox->SetState(state ? STATE_CHECK : STATE_NOCHECK); - - if (!isHighlighted()) - mpSelectBox->Show(state); } void ThumbnailViewItem::setHighlight (bool state) { mbHover = state; - - if (!isSelected()) - mpSelectBox->Show(state); } uno::Reference< accessibility::XAccessible > ThumbnailViewItem::GetAccessible( bool bIsTransientChildrenDisabled ) @@ -131,20 +111,6 @@ void ThumbnailViewItem::calculateItemsPosition (const long nThumbnailHeight, con aPos.Y() = aPos.Y() + aTextDev.getTextHeight() + (nDisplayHeight - aTextDev.getTextHeight())/2; aPos.X() = maDrawArea.Left() + (aRectSize.Width() - aTextDev.getTextWidth(maTitle,0,nMaxTextLenght))/2; maTextPos = aPos; - - // Calculate checkbox position - aPos.Y() -= aTextDev.getTextHeight(); - aPos.X() = maDrawArea.Left() + 15; - - mpSelectBox->SetPosPixel(aPos); -} - -void ThumbnailViewItem::setSelectionMode (bool mode) -{ - mbMode = mode; - - if (!mbHover && !mbSelected && mbVisible) - mpSelectBox->Show(mode); } void ThumbnailViewItem::setSelectClickHdl (const Link &link) @@ -210,9 +176,6 @@ void ThumbnailViewItem::Paint (drawinglayer::processor2d::BaseProcessor2D *pProc Color(COL_BLACK).getBColor() ) ); pProcessor->process(aSeq); - - if (mbMode || mbHover || mbSelected) - mpSelectBox->Paint(maDrawArea); } drawinglayer::primitive2d::BorderLinePrimitive2D* @@ -223,14 +186,6 @@ ThumbnailViewItem::createBorderLine (const basegfx::B2DPoint &rStart, const base false,STYLE_SOLID); } -IMPL_LINK (ThumbnailViewItem, OnClick, CheckBox*, ) -{ - mbSelected = mpSelectBox->GetState() == STATE_CHECK; - mpSelectBox->Invalidate(); - maClickHdl.Call(this); - return 0; -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index 2990440..e0ea98c 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -104,7 +104,6 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) aButtonPresents(this,SfxResId(BTN_SELECT_PRESENTATIONS)), aButtonSheets(this,SfxResId(BTN_SELECT_SHEETS)), aButtonDraws(this,SfxResId(BTN_SELECT_DRAWS)), - maButtonSelMode(this,SfxResId(BTN_SELECTION_MODE)), mpToolbars( new Control(this,SfxResId(TOOLBARS))), mpSearchEdit(new Edit(this,WB_HIDE | WB_BORDER)), mpViewBar( new ToolBox(mpToolbars, SfxResId(TBX_ACTION_VIEW))), @@ -114,11 +113,8 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) maView(new TemplateLocalView(this,SfxResId(TEMPLATE_VIEW))), mpOnlineView(new TemplateRemoteView(this, WB_VSCROLL,false)), mbIsSaveMode(false), - mbInSelectionModeHdl(false), mxDesktop(comphelper::getProcessServiceFactory()->createInstance( "com.sun.star.frame.Desktop" ),uno::UNO_QUERY ) { - maButtonSelMode.SetStyle(maButtonSelMode.GetStyle() | WB_TOGGLE); - // Create popup menus mpActionMenu = new PopupMenu; mpActionMenu->InsertItem(MNI_ACTION_SORT_NAME,SfxResId(STR_ACTION_SORT_NAME).toString(),SfxResId(IMG_ACTION_SORT)); @@ -197,9 +193,8 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) maView->setItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVFolderStateHdl)); maView->setOverlayItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVTemplateStateHdl)); - maView->setOverlayClickHdl(LINK(this,SfxTemplateManagerDlg,OpenTemplateHdl)); + maView->setOverlayDblClickHdl(LINK(this,SfxTemplateManagerDlg,OpenTemplateHdl)); maView->setOverlayCloseHdl(LINK(this,SfxTemplateManagerDlg,CloseOverlayHdl)); - maView->setSelectionModeHdl(LINK(this,SfxTemplateManagerDlg,SelectionModeHdl)); // Set online view position and dimensions mpOnlineView->SetPosSizePixel(aViewPos,aThumbSize); @@ -210,10 +205,9 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) TEMPLATE_ITEM_PADDING); mpOnlineView->setOverlayItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVTemplateStateHdl)); - mpOnlineView->setOverlayClickHdl(LINK(this,SfxTemplateManagerDlg,OpenTemplateHdl)); + mpOnlineView->setOverlayDblClickHdl(LINK(this,SfxTemplateManagerDlg,OpenTemplateHdl)); mpOnlineView->setOverlayCloseHdl(LINK(this,SfxTemplateManagerDlg,CloseOverlayHdl)); mpOnlineView->setOverlayChangeNameHdl(LINK(this,SfxTemplateManagerDlg,RepositoryChangeNameHdl)); - mpOnlineView->setSelectionModeHdl(LINK(this,SfxTemplateManagerDlg,SelectionModeHdl)); mpSearchView->SetSizePixel(aThumbSize); mpSearchView->setItemMaxTextLength(TEMPLATE_ITEM_MAX_TEXT_LENGTH); @@ -223,14 +217,12 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) TEMPLATE_ITEM_PADDING); mpSearchView->setItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVTemplateStateHdl)); - mpSearchView->setSelectionModeHdl(LINK(this,SfxTemplateManagerDlg,SelectionModeHdl)); aButtonAll.SetClickHdl(LINK(this,SfxTemplateManagerDlg,ViewAllHdl)); aButtonDocs.SetClickHdl(LINK(this,SfxTemplateManagerDlg,ViewDocsHdl)); aButtonPresents.SetClickHdl(LINK(this,SfxTemplateManagerDlg,ViewPresentsHdl)); aButtonSheets.SetClickHdl(LINK(this,SfxTemplateManagerDlg,ViewSheetsHdl)); aButtonDraws.SetClickHdl(LINK(this,SfxTemplateManagerDlg,ViewDrawsHdl)); - maButtonSelMode.SetClickHdl(LINK(this,SfxTemplateManagerDlg,OnClickSelectionMode)); // Set dialog to correct dimensions SetSizePixel(aWinSize); @@ -350,21 +342,6 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg, CloseOverlayHdl) return 0; } -IMPL_LINK (SfxTemplateManagerDlg, OnClickSelectionMode, ImageButton*, pButton) -{ - if (!mbInSelectionModeHdl) - maView->setSelectionMode(pButton->GetState() == STATE_CHECK); - return 0; -} - -IMPL_LINK (SfxTemplateManagerDlg, SelectionModeHdl, bool*, pMode) -{ - mbInSelectionModeHdl = true; - maButtonSelMode.SetState( *pMode ? STATE_CHECK : STATE_NOCHECK ); - mbInSelectionModeHdl = false; - return 0; -} - IMPL_LINK_NOARG(SfxTemplateManagerDlg,TBXViewHdl) { switch(mpViewBar->GetCurItemId()) @@ -1221,11 +1198,10 @@ void SfxTemplateManagerDlg::centerTopButtons() { Point aFirstBtnPos = aButtonAll.GetPosPixel(); - Size aSelBtnSize = maButtonSelMode.GetOutputSize(); // Last button in the list Size aBtnSize = aButtonAll.GetOutputSize(); Size aWinSize = GetOutputSize(); - long nTotalWidth = aSelBtnSize.getWidth() + aBtnSize.getWidth()*5; + long nTotalWidth = aBtnSize.getWidth()*5; long nSpace = (aWinSize.getWidth() - nTotalWidth)/2; Point aBtnPos(nSpace,aFirstBtnPos.getY()); @@ -1242,9 +1218,6 @@ void SfxTemplateManagerDlg::centerTopButtons() aBtnPos.setX(aBtnPos.getX() + aBtnSize.getWidth()); aButtonDraws.SetPosPixel(aBtnPos); - - aBtnPos.setX(aBtnPos.getX() + aBtnSize.getWidth()); - maButtonSelMode.SetPosPixel(aBtnPos); } void SfxTemplateManagerDlg::createRepositoryMenu() diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src index 61fe2b8..c0687fd 100644 --- a/sfx2/source/doc/templatedlg.src +++ b/sfx2/source/doc/templatedlg.src @@ -152,20 +152,6 @@ ModelessDialog DLG_TEMPLATE_MANAGER Text [en-US] = "Drawings"; }; - ImageButton BTN_SELECTION_MODE - { - Pos = MAP_APPFONT(260,5); - Size = MAP_APPFONT(20,14); - TabStop = TRUE; - - ButtonImage = Image - { - ImageBitmap = Bitmap { File = "select.png" ; }; - }; - - QuickHelpText [en-US] = "Enables selecting items by just clicking in the thumbnail or title."; - }; - Control TEMPLATE_VIEW { Pos = MAP_APPFONT(5,30); diff --git a/sfx2/source/inc/templatesearchviewitem.hxx b/sfx2/source/inc/templatesearchviewitem.hxx index 185560a..27e393d 100644 --- a/sfx2/source/inc/templatesearchviewitem.hxx +++ b/sfx2/source/inc/templatesearchviewitem.hxx @@ -14,8 +14,8 @@ struct TemplateSearchViewItem : public TemplateViewItem { - TemplateSearchViewItem (ThumbnailView &rView, Window *pParent) - : TemplateViewItem(rView,pParent) + TemplateSearchViewItem (ThumbnailView &rView) + : TemplateViewItem(rView) {} virtual ~TemplateSearchViewItem () commit 35a19a8f048d282bf5389e9497f89d2b9dba1fe6 Author: Cédric Bosdonnat <cedric.bosdon...@free.fr> Date: Thu Dec 6 13:30:12 2012 +0100 Template manager: white background for the thumbnail view Change-Id: Ie5497713b83da23801f58f4c6d990e28042a3df9 diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx index 582e508..15e3b8d 100644 --- a/sfx2/source/control/templatelocalview.cxx +++ b/sfx2/source/control/templatelocalview.cxx @@ -106,7 +106,7 @@ TemplateLocalView::TemplateLocalView ( Window* pParent, const ResId& rResId, boo meFilterOption(FILTER_APP_NONE), mpDocTemplates(new SfxDocumentTemplates) { - mpItemView->SetColor(Color(COL_WHITE)); + mpItemView->SetColor(GetSettings().GetStyleSettings().GetFieldColor()); mpItemView->setChangeNameHdl(LINK(this,TemplateLocalView,ChangeNameHdl)); } @@ -716,7 +716,7 @@ void TemplateLocalView::OnItemClicked (ThumbnailViewItem *pRegionItem) mpItemView->filterItems(ViewFilter_Application(meFilterOption)); - mpItemView->Show(); + showOverlay(true); } IMPL_LINK(TemplateLocalView, ChangeNameHdl, TemplateView*, pView) diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index e51385a..32571b7 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -100,7 +100,7 @@ void ThumbnailView::ImplInit() mbHasVisibleItems = false; mbSelectionMode = false; maFilterFunc = ViewFilterAll(); - maColor = GetSettings().GetStyleSettings().GetDialogColor(); + maColor = GetSettings().GetStyleSettings().GetFieldColor(); // Create the processor and process the primitives const drawinglayer::geometry::ViewInformation2D aNewViewInfos; @@ -156,14 +156,11 @@ void ThumbnailView::ImplInitSettings( bool bFont, bool bForeground, bool bBackgr if ( bBackground ) { - Color aColor; - if ( IsControlBackground() ) - aColor = GetControlBackground(); - else - aColor = rStyleSettings.GetFaceColor(); + Color aColor = rStyleSettings.GetFieldColor(); SetBackground( aColor ); } + mpItemAttrs = new ThumbnailItemAttributes; mpItemAttrs->aFillColor = maColor.getBColor(); mpItemAttrs->aHighlightColor = rStyleSettings.GetHighlightColor().getBColor(); diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index b4fb512..2990440 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -135,13 +135,6 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) Size aWinSize = GetOutputSize(); - // Calculate thumbnail view minimum size - Size aThumbSize = maView->CalcWindowSizePixel(INIT_FOLDER_COLS,INIT_FOLDER_LINES, - TEMPLATE_ITEM_MAX_WIDTH,TEMPLATE_ITEM_MAX_HEIGHT,TEMPLATE_ITEM_SPACE); - - if (aWinSize.getWidth() < aThumbSize.getWidth() + 2*PADDING_DLG_BORDER) - aWinSize.setWidth(aThumbSize.getWidth() + 2*PADDING_DLG_BORDER); - // Calculate toolboxs size and positions Size aViewSize = mpViewBar->CalcMinimumWindowSizePixel(); Size aActionSize = mpActionBar->CalcMinimumWindowSizePixel(); @@ -178,8 +171,9 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) // Set view position below toolbox Point aViewPos = maView->GetPosPixel(); aViewPos.setY(mpToolbars->GetPosPixel().Y() + mpToolbars->GetSizePixel().getHeight()); - aViewPos.setX((aWinSize.getWidth() - aThumbSize.getWidth())/2); // Center the view - maView->SetPosPixel(aViewPos); + aViewPos.setX(0); + Size aThumbSize(aWinSize.getWidth(), aWinSize.getHeight() - aViewPos.getY()); + maView->SetPosSizePixel(aViewPos, aThumbSize); if (aWinSize.getHeight() < aViewPos.getY() + aThumbSize.getHeight() + PADDING_DLG_BORDER) aWinSize.setHeight(aViewPos.getY() + aThumbSize.getHeight() + PADDING_DLG_BORDER); diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src index 184b216..61fe2b8 100644 --- a/sfx2/source/doc/templatedlg.src +++ b/sfx2/source/doc/templatedlg.src @@ -192,7 +192,7 @@ ModelessDialog DLG_TEMPLATE_MANAGER Control TOOLBARS { Pos = MAP_APPFONT( 0 , 22 ); - Size = MAP_APPFONT( 290 , 20 ); + Size = MAP_APPFONT( 290 , 15 ); TabStop = False; };
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits