summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkshay Deep <akshaydeepiitr@gmail.com>2016-05-23 13:17:14 +0530
committerSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2016-05-25 08:42:00 +0000
commit5b42c982c10a3a877f1ca9d425b8c0c8e7723520 (patch)
treebde8cf7ea2d233560198ea3acee46b81da52a487
parent2f6f409c7a2355f0d9c2267856cb24694cfc25e6 (diff)
Template Manager: Tooltips to display category
Display categories in search view or all application filter Change-Id: If4a14ef822a84b4a651ce47d0a448767cfbce80b Reviewed-on: https://gerrit.libreoffice.org/25352 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
-rw-r--r--include/sfx2/templateproperties.hxx2
-rw-r--r--include/sfx2/templateviewitem.hxx7
-rw-r--r--include/sfx2/thumbnailviewitem.hxx6
-rw-r--r--sfx2/source/control/templateabstractview.cxx1
-rw-r--r--sfx2/source/control/templatelocalview.cxx9
-rw-r--r--sfx2/source/control/templatesearchview.cxx2
-rw-r--r--sfx2/source/control/templateviewitem.cxx33
-rw-r--r--sfx2/source/control/thumbnailviewitem.cxx5
-rw-r--r--sfx2/source/doc/templatedlg.cxx12
9 files changed, 27 insertions, 50 deletions
diff --git a/include/sfx2/templateproperties.hxx b/include/sfx2/templateproperties.hxx
index 60a406595458..ea2831ba223e 100644
--- a/include/sfx2/templateproperties.hxx
+++ b/include/sfx2/templateproperties.hxx
@@ -15,12 +15,12 @@
struct TemplateItemProperties
{
- bool aIsFolder;
sal_uInt16 nId; ///< Index for ThumbnailView
sal_uInt16 nDocId; ///< Index based on SfxTemplateDocument
sal_uInt16 nRegionId;
OUString aName;
OUString aPath;
+ OUString aRegionName;
BitmapEx aThumbnail;
};
diff --git a/include/sfx2/templateviewitem.hxx b/include/sfx2/templateviewitem.hxx
index abfee232f1f0..c7e1b9330ec9 100644
--- a/include/sfx2/templateviewitem.hxx
+++ b/include/sfx2/templateviewitem.hxx
@@ -24,12 +24,6 @@ public:
const OUString& getPath () const { return maPath; }
- void setSubTitle (const OUString &rTitle) { maSubTitle = rTitle; }
-
- virtual void calculateItemsPosition (const long nThumbnailHeight, const long nDisplayHeight,
- const long nPadding, sal_uInt32 nMaxTextLength,
- const ThumbnailItemAttributes *pAttrs) override;
-
virtual void Paint (drawinglayer::processor2d::BaseProcessor2D *pProcessor,
const ThumbnailItemAttributes *pAttrs) override;
@@ -39,7 +33,6 @@ public:
private:
OUString maPath;
- OUString maSubTitle;
Point maSubTitlePos;
};
diff --git a/include/sfx2/thumbnailviewitem.hxx b/include/sfx2/thumbnailviewitem.hxx
index 2cdf02f8b6d3..5ca9f3e7fefc 100644
--- a/include/sfx2/thumbnailviewitem.hxx
+++ b/include/sfx2/thumbnailviewitem.hxx
@@ -76,6 +76,7 @@ public:
bool mbHover;
BitmapEx maPreview1;
OUString maTitle;
+ OUString maHelpText;
css::uno::Reference< css::accessibility::XAccessible > mxAcc;
ThumbnailViewItem (ThumbnailView &rView, sal_uInt16 nId);
@@ -101,7 +102,10 @@ public:
virtual Rectangle updateHighlight(bool bVisible, const Point& rPoint);
/// Text to be used for the tooltip.
- virtual OUString getHelpText() const;
+
+ void setHelpText (const OUString &sText) { maHelpText = sText; }
+
+ virtual OUString getHelpText() const { return maHelpText; };
virtual void setEditTitle (bool edit, bool bChangeFocus = true);
void updateTitleEditSize ();
diff --git a/sfx2/source/control/templateabstractview.cxx b/sfx2/source/control/templateabstractview.cxx
index ff39a2562ebf..117d04bc1924 100644
--- a/sfx2/source/control/templateabstractview.cxx
+++ b/sfx2/source/control/templateabstractview.cxx
@@ -139,6 +139,7 @@ void TemplateAbstractView::insertItems(const std::vector<TemplateItemProperties>
pChild->mnRegionId = pCur->nRegionId;
pChild->maTitle = pCur->aName;
pChild->setPath(pCur->aPath);
+ pChild->setHelpText(pCur->aRegionName);
pChild->maPreview1 = pCur->aThumbnail;
if ( pCur->aThumbnail.IsEmpty() )
diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx
index 2ff233f6a5f0..c0c2b3a68df9 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -93,12 +93,12 @@ void TemplateLocalView::Populate ()
OUString aURL = mpDocTemplates->GetPath(i,j);
TemplateItemProperties aProperties;
- aProperties.aIsFolder = false; // Flat hierarchy for the local filesystem (no nested folders)
aProperties.nId = j+1;
aProperties.nDocId = j;
aProperties.nRegionId = i;
aProperties.aName = aName;
aProperties.aPath = aURL;
+ aProperties.aRegionName = aRegionName;
aProperties.aThumbnail = TemplateAbstractView::fetchThumbnail(aURL,
getThumbnailWidth(),
getThumbnailHeight());
@@ -471,6 +471,7 @@ bool TemplateLocalView::moveTemplate (const ThumbnailViewItem *pItem, const sal_
aTemplateItem.nRegionId = nTargetRegion;
aTemplateItem.aName = pViewItem->maTitle;
aTemplateItem.aPath = mpDocTemplates->GetPath(nTargetRegion,nTargetIdx);
+ aTemplateItem.aRegionName = pViewItem->maHelpText;
aTemplateItem.aThumbnail = pViewItem->maPreview1;
pTarget->maTemplates.push_back(aTemplateItem);
@@ -569,6 +570,7 @@ bool TemplateLocalView::moveTemplates(const std::set<const ThumbnailViewItem*, s
aTemplateItem.nRegionId = nTargetRegion;
aTemplateItem.aName = pViewItem->maTitle;
aTemplateItem.aPath = mpDocTemplates->GetPath(nTargetRegion,nTargetIdx);
+ aTemplateItem.aRegionName = pViewItem->maHelpText;
aTemplateItem.aThumbnail = pViewItem->maPreview1;
pTarget->maTemplates.push_back(aTemplateItem);
@@ -653,6 +655,7 @@ bool TemplateLocalView::copyFrom(const sal_uInt16 nRegionItemId, const BitmapEx
aTemplate.nDocId = nDocId;
aTemplate.nRegionId = nRegionId;
aTemplate.aName = aPath;
+ aTemplate.aRegionName = getRegionName(nRegionId);
aTemplate.aThumbnail = rThumbnail;
aTemplate.aPath = mpDocTemplates->GetPath(nRegionId,nDocId);
@@ -690,7 +693,6 @@ bool TemplateLocalView::copyFrom(const OUString &rPath)
return false;
TemplateItemProperties aTemplate;
- aTemplate.aIsFolder = false;
aTemplate.nId = nId;
aTemplate.nDocId = nDocId;
aTemplate.nRegionId = nRegionId;
@@ -699,6 +701,7 @@ bool TemplateLocalView::copyFrom(const OUString &rPath)
TEMPLATE_THUMBNAIL_MAX_WIDTH,
TEMPLATE_THUMBNAIL_MAX_HEIGHT);
aTemplate.aPath = rPath;
+ aTemplate.aRegionName = getRegionName(nRegionId);
pRegItem->maTemplates.push_back(aTemplate);
@@ -723,7 +726,6 @@ bool TemplateLocalView::copyFrom (TemplateContainerItem *pItem, const OUString &
if (mpDocTemplates->CopyFrom(nRegionId,nDocId,aPath))
{
TemplateItemProperties aTemplate;
- aTemplate.aIsFolder = false;
aTemplate.nId = nId;
aTemplate.nDocId = nDocId;
aTemplate.nRegionId = nRegionId;
@@ -732,6 +734,7 @@ bool TemplateLocalView::copyFrom (TemplateContainerItem *pItem, const OUString &
TEMPLATE_THUMBNAIL_MAX_WIDTH,
TEMPLATE_THUMBNAIL_MAX_HEIGHT);
aTemplate.aPath = rPath;
+ aTemplate.aRegionName = getRegionName(nRegionId);
pItem->maTemplates.push_back(aTemplate);
diff --git a/sfx2/source/control/templatesearchview.cxx b/sfx2/source/control/templatesearchview.cxx
index 38190135b01d..9f851715ad89 100644
--- a/sfx2/source/control/templatesearchview.cxx
+++ b/sfx2/source/control/templatesearchview.cxx
@@ -136,7 +136,7 @@ void TemplateSearchView::AppendItem(sal_uInt16 nAssocItemId, sal_uInt16 nRegionI
pItem->maPreview1 = getDefaultThumbnail(rPath);
pItem->maTitle = rTitle;
- pItem->setSubTitle(rSubtitle);
+ pItem->setHelpText(rSubtitle);
pItem->setPath(rPath);
ThumbnailView::AppendItem(pItem);
diff --git a/sfx2/source/control/templateviewitem.cxx b/sfx2/source/control/templateviewitem.cxx
index dbcafece5208..047fec990342 100644
--- a/sfx2/source/control/templateviewitem.cxx
+++ b/sfx2/source/control/templateviewitem.cxx
@@ -21,8 +21,6 @@
#include <vcl/button.hxx>
#include <vcl/graph.hxx>
-#define SUBTITLE_SCALE_FACTOR 0.85
-
using namespace basegfx;
using namespace basegfx::tools;
using namespace drawinglayer::attribute;
@@ -39,36 +37,12 @@ TemplateViewItem::~TemplateViewItem ()
{
}
-void TemplateViewItem::calculateItemsPosition(const long nThumbnailHeight, const long nDisplayHeight,
- const long nPadding, sal_uInt32 nMaxTextLength,
- const ThumbnailItemAttributes *pAttrs)
-{
- ThumbnailViewItem::calculateItemsPosition(nThumbnailHeight,nDisplayHeight,nPadding,nMaxTextLength, pAttrs);
-
- if (!maSubTitle.isEmpty())
- {
- Size aRectSize = maDrawArea.GetSize();
-
- drawinglayer::primitive2d::TextLayouterDevice aTextDev;
- aTextDev.setFontAttribute(pAttrs->aFontAttr,
- pAttrs->aFontSize.getX(), pAttrs->aFontSize.getY(),
- css::lang::Locale() );
-
- long nSpace = (nDisplayHeight + nPadding - 2*aTextDev.getTextHeight()) / 3;
-
- // Set subtitle position
- maSubTitlePos.setY(maTextPos.getY() + nSpace + aTextDev.getTextHeight());
- maSubTitlePos.setX(maDrawArea.Left() +
- (aRectSize.Width() - aTextDev.getTextWidth(maSubTitle,0,nMaxTextLength)*SUBTITLE_SCALE_FACTOR)/2);
- }
-}
-
void TemplateViewItem::Paint(drawinglayer::processor2d::BaseProcessor2D *pProcessor,
const ThumbnailItemAttributes *pAttrs)
{
BColor aFillColor = pAttrs->aFillColor;
- int nCount = maSubTitle.isEmpty() ? 5 : 6;
+ int nCount = 5;
drawinglayer::primitive2d::Primitive2DContainer aSeq(nCount);
double fTransparence = 0.0;
@@ -118,11 +92,6 @@ void TemplateViewItem::Paint(drawinglayer::processor2d::BaseProcessor2D *pProces
addTextPrimitives(maTitle, pAttrs, maTextPos, aSeq);
- if (!maSubTitle.isEmpty())
- {
- addTextPrimitives(maSubTitle, pAttrs, maSubTitlePos, aSeq);
- }
-
pProcessor->process(aSeq);
}
diff --git a/sfx2/source/control/thumbnailviewitem.cxx b/sfx2/source/control/thumbnailviewitem.cxx
index fd754989544d..c41ba8cf5409 100644
--- a/sfx2/source/control/thumbnailviewitem.cxx
+++ b/sfx2/source/control/thumbnailviewitem.cxx
@@ -163,11 +163,6 @@ Rectangle ThumbnailViewItem::updateHighlight(bool bVisible, const Point& rPoint)
return Rectangle();
}
-OUString ThumbnailViewItem::getHelpText() const
-{
- return maTitle;
-}
-
void ThumbnailViewItem::setEditTitle (bool edit, bool bChangeFocus)
{
mbEditTitle = edit;
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index 2810ef5e79b7..3bec66bb6a87 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -250,6 +250,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg(vcl::Window *parent)
mpSearchView->setEditTemplateHdl(LINK(this,SfxTemplateManagerDlg, EditTemplateHdl));
mpSearchView->setDeleteTemplateHdl(LINK(this,SfxTemplateManagerDlg, DeleteTemplateHdl));
mpSearchView->setDefaultTemplateHdl(LINK(this,SfxTemplateManagerDlg, DefaultTemplateHdl));
+ mpSearchView->ShowTooltips(true);
mpOKButton->SetClickHdl(LINK(this, SfxTemplateManagerDlg, OkClickHdl));
mpMoveButton->SetClickHdl(LINK(this, SfxTemplateManagerDlg, MoveClickHdl));
@@ -369,6 +370,7 @@ void SfxTemplateManagerDlg::fillFolderComboBox()
mpCBFolder->InsertEntry(aFolderNames[i], i+1);
}
mpCBFolder->SelectEntryPos(0);
+ mpLocalView->ShowTooltips(true);
}
void SfxTemplateManagerDlg::readSettings ()
@@ -406,6 +408,7 @@ void SfxTemplateManagerDlg::readSettings ()
{
//show all categories
mpCBFolder->SelectEntryPos(0);
+ mpLocalView->ShowTooltips(true);
mpLocalView->showAllTemplates();
}
else
@@ -441,6 +444,7 @@ IMPL_LINK_NOARG_TYPED(SfxTemplateManagerDlg, SelectApplicationHdl, ListBox&, voi
mpCurView->filterItems(ViewFilter_Application(getCurrentApplicationFilter()));
mpCurView->showAllTemplates();
mpCBFolder->SelectEntryPos(0);
+ mpCurView->ShowTooltips(true);
}
if(mpSearchView->IsVisible())
@@ -453,9 +457,15 @@ IMPL_LINK_NOARG_TYPED(SfxTemplateManagerDlg, SelectRegionHdl, ListBox&, void)
{
const OUString sSelectedRegion = mpCBFolder->GetSelectEntry();
if(mpCBFolder->GetSelectEntryPos() == 0)
+ {
mpLocalView->showAllTemplates();
+ mpLocalView->ShowTooltips(true);
+ }
else
+ {
mpLocalView->showRegion(sSelectedRegion);
+ mpLocalView->ShowTooltips(false);
+ }
}
if(mpSearchView->IsVisible())
@@ -666,6 +676,7 @@ IMPL_LINK_NOARG_TYPED(SfxTemplateManagerDlg, ImportClickHdl, Button*, void)
mpLocalView->reload();
mpLocalView->showAllTemplates();
+ mpLocalView->ShowTooltips(true);
mpCBApp->SelectEntryPos(0);
mpCBFolder->SelectEntryPos(0);
}
@@ -1173,6 +1184,7 @@ void SfxTemplateManagerDlg::OnCategoryDelete()
mpLocalView->reload();
mpLocalView->showAllTemplates();
+ mpLocalView->ShowTooltips(true);
mpCBApp->SelectEntryPos(0);
mpCBFolder->SelectEntryPos(0);
}