diff options
author | Efe Gürkan YALAMAN <efeyalaman@gmail.com> | 2014-09-16 02:30:59 +0300 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-09-25 12:28:41 +0000 |
commit | 5911154175b381b96991ec13c3d3d4619ad13d1d (patch) | |
tree | e7b3836e9a8dba560455bc28966960168518374b /sfx2 | |
parent | 86af599c81dc695400b0cc999f559bcf9070e8b9 (diff) |
Start Center Template Manager Tweaks
Template Manager and the related Start Center view has same
transparent highlight color as Recent Documents. Also Template
thumbnail containers should have the same size as Recent Docs view.
Change-Id: I22e417a5c5ca5a849577d5a438a193371368fe24
Reviewed-on: https://gerrit.libreoffice.org/11467
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/Library_sfx.mk | 1 | ||||
-rw-r--r-- | sfx2/source/control/templatecontaineritem.cxx | 15 | ||||
-rw-r--r-- | sfx2/source/control/templatedefaultview.cxx | 42 | ||||
-rw-r--r-- | sfx2/source/control/templateviewitem.cxx | 15 | ||||
-rw-r--r-- | sfx2/source/dialog/backingwindow.cxx | 6 | ||||
-rw-r--r-- | sfx2/source/dialog/backingwindow.hxx | 4 | ||||
-rw-r--r-- | sfx2/uiconfig/ui/startcenter.ui | 2 |
7 files changed, 75 insertions, 10 deletions
diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk index 998dc63a033e..ae85eaaf37f2 100644 --- a/sfx2/Library_sfx.mk +++ b/sfx2/Library_sfx.mk @@ -148,6 +148,7 @@ $(eval $(call gb_Library_add_exception_objects,sfx,\ sfx2/source/control/sorgitm \ sfx2/source/control/statcach \ sfx2/source/control/templateabstractview \ + sfx2/source/control/templatedefaultview \ sfx2/source/control/templateviewitem \ sfx2/source/control/templatelocalview \ sfx2/source/control/templatecontaineritem \ diff --git a/sfx2/source/control/templatecontaineritem.cxx b/sfx2/source/control/templatecontaineritem.cxx index 2ad7b9f3e7ee..d16cb69ff683 100644 --- a/sfx2/source/control/templatecontaineritem.cxx +++ b/sfx2/source/control/templatecontaineritem.cxx @@ -22,6 +22,7 @@ #include <sfx2/templateviewitem.hxx> #include <vcl/button.hxx> #include <vcl/graph.hxx> +#include <svtools/optionsdrawinglayer.hxx> using namespace basegfx; using namespace basegfx::tools; @@ -67,14 +68,24 @@ void TemplateContainerItem::Paint (drawinglayer::processor2d::BaseProcessor2D *p BColor aFillColor = pAttrs->aFillColor; drawinglayer::primitive2d::Primitive2DSequence aSeq(nSeqSize); + double fTransparence = 0.0; // Draw background if ( mbSelected || mbHover ) aFillColor = pAttrs->aHighlightColor; - aSeq[nCount++] = drawinglayer::primitive2d::Primitive2DReference( new PolyPolygonColorPrimitive2D( + if (mbHover) + { + const SvtOptionsDrawinglayer aSvtOptionsDrawinglayer; + fTransparence = aSvtOptionsDrawinglayer.GetTransparentSelectionPercent() * 0.01; + } + + aSeq[nCount++] = drawinglayer::primitive2d::Primitive2DReference( new PolyPolygonSelectionPrimitive2D( B2DPolyPolygon(Polygon(maDrawArea,5,5).getB2DPolygon()), - aFillColor)); + aFillColor, + fTransparence, + 0.0, + true)); // Create rounded rectangle border aSeq[nCount++] = drawinglayer::primitive2d::Primitive2DReference( new PolygonStrokePrimitive2D( diff --git a/sfx2/source/control/templatedefaultview.cxx b/sfx2/source/control/templatedefaultview.cxx new file mode 100644 index 000000000000..9e2f83a14378 --- /dev/null +++ b/sfx2/source/control/templatedefaultview.cxx @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include <sfx2/templatedefaultview.hxx> +#include <sfx2/thumbnailview.hxx> +#include <vcl/builder.hxx> +#include <sfx2/app.hxx> + +extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeTemplateDefaultView(vcl::Window *pParent, VclBuilder::stringmap &) +{ + return new TemplateDefaultView(pParent); +} + +TemplateDefaultView::TemplateDefaultView( Window* pParent) + : TemplateLocalView(pParent) + , mnTextHeight(30) + , mnItemPadding(5) + , mnLastMouseDownItem( THUMBNAILVIEW_ITEM_NOTFOUND ) +{ + Rectangle aScreen = Application::GetScreenPosSizePixel(Application::GetDisplayBuiltInScreen()); + mnItemMaxSize = std::min(aScreen.GetWidth(),aScreen.GetHeight()) > 800 ? 256 : 192; + ThumbnailView::setItemDimensions( mnItemMaxSize, mnItemMaxSize, mnTextHeight, mnItemPadding ); +} + +TemplateDefaultView::~TemplateDefaultView() +{ +} + +void TemplateDefaultView::reload() +{ + TemplateLocalView::reload(); + // Set preferred width + set_width_request(mnTextHeight + mnItemMaxSize + 2*mnItemPadding); + +} +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/source/control/templateviewitem.cxx b/sfx2/source/control/templateviewitem.cxx index c8e65a54542d..c2ce8d224447 100644 --- a/sfx2/source/control/templateviewitem.cxx +++ b/sfx2/source/control/templateviewitem.cxx @@ -20,6 +20,7 @@ #include <drawinglayer/processor2d/baseprocessor2d.hxx> #include <vcl/button.hxx> #include <vcl/graph.hxx> +#include <svtools/optionsdrawinglayer.hxx> #define SUBTITLE_SCALE_FACTOR 0.85 @@ -70,14 +71,24 @@ void TemplateViewItem::Paint(drawinglayer::processor2d::BaseProcessor2D *pProces int nCount = maSubTitle.isEmpty() ? 5 : 6; drawinglayer::primitive2d::Primitive2DSequence aSeq(nCount); + double fTransparence = 0.0; // Draw background if ( mbSelected || mbHover ) aFillColor = pAttrs->aHighlightColor; - aSeq[0] = drawinglayer::primitive2d::Primitive2DReference( new PolyPolygonColorPrimitive2D( + if(mbHover) + { + const SvtOptionsDrawinglayer aSvtOptionsDrawinglayer; + fTransparence = aSvtOptionsDrawinglayer.GetTransparentSelectionPercent() * 0.01; + } + + aSeq[0] = drawinglayer::primitive2d::Primitive2DReference( new PolyPolygonSelectionPrimitive2D( B2DPolyPolygon(Polygon(maDrawArea,5,5).getB2DPolygon()), - aFillColor)); + aFillColor, + fTransparence, + 0.0, + true)); // Draw thumbnail Size aImageSize = maPreview1.GetSizePixel(); diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx index 39061f5bc384..c31839e4c522 100644 --- a/sfx2/source/dialog/backingwindow.cxx +++ b/sfx2/source/dialog/backingwindow.cxx @@ -257,14 +257,12 @@ void BackingWindow::initControls() //initialize Template view mpLocalView->SetStyle( mpLocalView->GetStyle() | WB_VSCROLL); - mpLocalView->setItemDimensions(TEMPLATE_ITEM_MAX_WIDTH,TEMPLATE_ITEM_THUMBNAIL_MAX_HEIGHT, - TEMPLATE_ITEM_MAX_HEIGHT-TEMPLATE_ITEM_THUMBNAIL_MAX_HEIGHT, - TEMPLATE_ITEM_PADDING); mpLocalView->Populate(); mpLocalView->showRootRegion(); mpLocalView->Hide(); mpLocalView->filterItems(ViewFilter_Application(FILTER_APP_NONE)); + mpCurrentView = mpLocalView; mpTemplateButton->SetMenuMode( MENUBUTTON_MENUMODE_TIMED ); @@ -550,6 +548,7 @@ IMPL_LINK( BackingWindow, ClickHdl, Button*, pButton ) mpAllRecentThumbnails->Hide(); mpCurrentView->filterItems(ViewFilter_Application(FILTER_APP_NONE)); mpLocalView->Show(); + mpLocalView->reload(); } return 0; } @@ -589,6 +588,7 @@ IMPL_LINK( BackingWindow, MenuSelectHdl, MenuButton*, pButton ) mpAllRecentThumbnails->Hide(); mpLocalView->Show(); + mpLocalView->reload(); return 0; } diff --git a/sfx2/source/dialog/backingwindow.hxx b/sfx2/source/dialog/backingwindow.hxx index 15df736c9fb9..72c8a676d67f 100644 --- a/sfx2/source/dialog/backingwindow.hxx +++ b/sfx2/source/dialog/backingwindow.hxx @@ -30,7 +30,7 @@ #include <vcl/menubtn.hxx> #include <sfx2/recentdocsview.hxx> -#include <sfx2/templatelocalview.hxx> +#include <sfx2/templatedefaultview.hxx> #include <sfx2/templateabstractview.hxx> #include <sfx2/templateviewitem.hxx> @@ -85,7 +85,7 @@ class BackingWindow VclBox* mpExtensionsBox; RecentDocsView* mpAllRecentThumbnails; - TemplateLocalView* mpLocalView; + TemplateDefaultView* mpLocalView; TemplateAbstractView* mpCurrentView; std::vector<vcl::Window*> maDndWindows; diff --git a/sfx2/uiconfig/ui/startcenter.ui b/sfx2/uiconfig/ui/startcenter.ui index c6190589483a..e23d8f8231ac 100644 --- a/sfx2/uiconfig/ui/startcenter.ui +++ b/sfx2/uiconfig/ui/startcenter.ui @@ -402,7 +402,7 @@ </packing> </child> <child> - <object class="sfxlo-TemplateLocalView" id="local_view"> + <object class="sfxlo-TemplateDefaultView" id="local_view"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="margin">0</property> |