[Libreoffice-commits] core.git: include/svx svx/source

2023-05-02 Thread Vert D (via logerrit)
 include/svx/charmap.hxx   |2 -
 svx/source/dialog/charmap.cxx |   79 ++
 2 files changed, 28 insertions(+), 53 deletions(-)

New commits:
commit 332b620732d4f78625c6547a988fa9860ab0d7bd
Author: Vert D 
AuthorDate: Fri Apr 28 08:13:56 2023 -0500
Commit: Mike Kaganski 
CommitDate: Tue May 2 14:22:55 2023 +0200

tdf#154884 fix isFavChar, updateFavCharacterList deletes the correct pair

Change-Id: I98be8df93c5e3985e95f285e3cb9a2b600eb85c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151216
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/include/svx/charmap.hxx b/include/svx/charmap.hxx
index 71999368fd4a..8057eae3c1bd 100644
--- a/include/svx/charmap.hxx
+++ b/include/svx/charmap.hxx
@@ -78,7 +78,7 @@ public:
 voidSetFont( const vcl::Font& rFont );
 vcl::Font const & GetFont() const { return maFont; }
 FontCharMapRef const & GetFontCharMap();
-boolisFavChar(const OUString& sTitle, const OUString& rFont);
+boolisFavChar(std::u16string_view sTitle, std::u16string_view 
rFont);
 voidgetFavCharacterList(); //gets both Fav char and Fav char 
font list
 voidupdateFavCharacterList(const OUString& rChar, const 
OUString& rFont);
 
diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx
index 924838273d05..6d7933fe95cb 100644
--- a/svx/source/dialog/charmap.cxx
+++ b/svx/source/dialog/charmap.cxx
@@ -228,18 +228,15 @@ void SvxShowCharSet::getFavCharacterList()
 comphelper::sequenceToContainer(maFavCharFontList, rFavCharFontList);
 }
 
-bool SvxShowCharSet::isFavChar(const OUString& sTitle, const OUString& rFont)
+bool SvxShowCharSet::isFavChar(std::u16string_view sTitle, std::u16string_view 
rFont)
 {
-auto isFavCharTitleExists = std::any_of(maFavCharList.begin(),
- maFavCharList.end(),
- [sTitle] (const OUString & a) { return a == sTitle; });
-
-auto isFavCharFontExists = std::any_of(maFavCharFontList.begin(),
- maFavCharFontList.end(),
- [rFont] (const OUString & a) { return a == rFont; });
-
-// if Fav char to be added is already in list, return true
-return isFavCharTitleExists && isFavCharFontExists;
+assert(maFavCharList.size() == maFavCharFontList.size());
+for (size_t i = 0; i < maFavCharList.size(); i++)
+{
+if (maFavCharList[i] == sTitle && maFavCharFontList[i] == rFont)
+return true;
+}
+return false;
 }
 
 void SvxShowCharSet::createContextMenu(const Point& rPosition)
@@ -300,55 +297,33 @@ void SvxShowCharSet::CopyToClipboard(const OUString& 
rOUStr)
 
 void SvxShowCharSet::updateFavCharacterList(const OUString& sTitle, const 
OUString& rFont)
 {
-if(isFavChar(sTitle, rFont))
+if (isFavChar(sTitle, rFont))
 {
-auto itChar = std::find(maFavCharList.begin(), maFavCharList.end(), 
sTitle);
-auto itChar2 = std::find(maFavCharFontList.begin(), 
maFavCharFontList.end(), rFont);
-
-// if Fav char to be added is already in list, remove it
-if( itChar != maFavCharList.end() &&  itChar2 != 
maFavCharFontList.end() )
+assert(maFavCharList.size() == maFavCharFontList.size());
+auto fontIt = maFavCharFontList.begin();
+for (auto charIt = maFavCharList.begin(); charIt != 
maFavCharList.end(); charIt++)
 {
-maFavCharList.erase( itChar );
-maFavCharFontList.erase( itChar2);
-}
-
-css::uno::Sequence< OUString > aFavCharList(maFavCharList.size());
-auto aFavCharListRange = asNonConstRange(aFavCharList);
-css::uno::Sequence< OUString > 
aFavCharFontList(maFavCharFontList.size());
-auto aFavCharFontListRange = asNonConstRange(aFavCharFontList);
-
-for (size_t i = 0; i < maFavCharList.size(); ++i)
-{
-aFavCharListRange[i] = maFavCharList[i];
-aFavCharFontListRange[i] = maFavCharFontList[i];
+if (*charIt == sTitle && *fontIt == rFont)
+{
+maFavCharList.erase(charIt);
+maFavCharFontList.erase(fontIt);
+break;
+}
+fontIt++;
 }
-
-std::shared_ptr 
batch(comphelper::ConfigurationChanges::create());
-
officecfg::Office::Common::FavoriteCharacters::FavoriteCharacterList::set(aFavCharList,
 batch);
-
officecfg::Office::Common::FavoriteCharacters::FavoriteCharacterFontList::set(aFavCharFontList,
 batch);
-batch->commit();
-return;
 }
-
-auto itChar = std::find(maFavCharList.begin(), maFavCharList.end(), 
sTitle);
-auto itChar2 = std::find(maFavCharFontList.begin(), 
maFavCharFontList.end(), rFont);
-
-// if Fav char to be added is already in list, remove it
-if( itChar != maFavCharList.end() &&  itChar2 != maFavCharFontList.end() )
+else
 {
-maFavCharList.erase( itChar );
-maFavCh

[Libreoffice-commits] core.git: include/sfx2 sfx2/source

2021-08-06 Thread Vert D (via logerrit)
 include/sfx2/templatedlg.hxx  |1 
 include/sfx2/templatelocalview.hxx|2 
 sfx2/source/control/templatelocalview.cxx |   36 -
 sfx2/source/doc/templatedlg.cxx   |   83 +++---
 4 files changed, 59 insertions(+), 63 deletions(-)

New commits:
commit 8d8450f0c14db26fb8eb44677c2887e619200904
Author: Vert D 
AuthorDate: Mon May 24 23:01:38 2021 -0500
Commit: Caolán McNamara 
CommitDate: Fri Aug 6 15:15:20 2021 +0200

tdf#139647 refresh renamed items

*Update templates names after rename (faster than reload).
*Fix some warnings.

Change-Id: I47387af91964afae8de8753289d49d19e6080863
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119919
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/include/sfx2/templatedlg.hxx b/include/sfx2/templatedlg.hxx
index 588a307af139..940973f84f05 100644
--- a/include/sfx2/templatedlg.hxx
+++ b/include/sfx2/templatedlg.hxx
@@ -78,7 +78,6 @@ protected:
 DECL_LINK(ExportTemplateHdl, void*, void);
 
 void SearchUpdate();
-void FilterSearch();
 
 DECL_LINK(SearchUpdateHdl, weld::Entry&, void);
 DECL_LINK(GetFocusHdl, weld::Widget&, void);
diff --git a/include/sfx2/templatelocalview.hxx 
b/include/sfx2/templatelocalview.hxx
index fbf730af6b81..2ad81391e97d 100644
--- a/include/sfx2/templatelocalview.hxx
+++ b/include/sfx2/templatelocalview.hxx
@@ -126,6 +126,8 @@ public:
 
 sal_uInt16 getCurRegionId () const { return mnCurRegionId;}
 
+void setCurRegionId (sal_uInt16 nCurRegionId) { mnCurRegionId = 
nCurRegionId;}
+
 void setOpenRegionHdl(const Link &rLink);
 
 void setCreateContextMenuHdl(const Link &rLink);
diff --git a/sfx2/source/control/templatelocalview.cxx 
b/sfx2/source/control/templatelocalview.cxx
index 0ba60c0d758b..4d0571eeaca1 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -613,7 +613,41 @@ bool TemplateLocalView::renameItem(ThumbnailViewItem* 
pItem, const OUString& sNe
 nDocId = pDocItem->mnDocId;
 }
 
-return mpDocTemplates->SetName( sNewTitle, nRegionId, nDocId );
+bool bRes = mpDocTemplates->SetName( sNewTitle, nRegionId, nDocId );
+if(bRes)
+{
+for (auto & pRegion : maRegions)
+{
+if (pRegion->mnId == nRegionId + 1 )
+{
+for(auto & aTemplate : pRegion->maTemplates)
+{
+if(aTemplate.nId == nDocId + 1)
+{
+aTemplate.aName = sNewTitle;
+break;
+}
+}
+break;
+}
+}
+OUString sRegionName;
+for (auto & aTemplate : maAllTemplates)
+{
+if (aTemplate.nRegionId == nRegionId && aTemplate.nDocId == nDocId)
+{
+aTemplate.aName = sNewTitle;
+sRegionName = aTemplate.aRegionName;
+break;
+}
+}
+
+OUString sHelpText = SfxResId(STR_TEMPLATE_TOOLTIP);
+sHelpText = (sHelpText.replaceFirst("$1", 
sNewTitle)).replaceFirst("$2", sRegionName);
+pItem->setHelpText(sHelpText);
+pItem->maTitle = sNewTitle;
+}
+return bRes;
 }
 
 void TemplateLocalView::insertItems(const std::vector 
&rTemplates, bool isRegionSelected, bool bShowCategoryInTooltip)
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index c4dbc7c51fff..5f5760ca6f43 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -68,9 +68,7 @@ constexpr OUStringLiteral TM_SETTING_VIEWMODE = u"ViewMode";
 #define MNI_ACTION_DEFAULT_CALC   "default calc"
 #define MNI_ACTION_DEFAULT_IMPRESS   "default impress"
 #define MNI_ACTION_DEFAULT_DRAW   "default draw"
-#define MNI_ACTION_MOVE   "move template"
 #define MNI_ACTION_IMPORT   "import template"
-#define MNI_ACTION_EXPORT   "export template"
 #define MNI_ACTION_EXTENSIONS   "extensions"
 #define MNI_ALL_APPLICATIONS 0
 #define MNI_WRITER   1
@@ -231,10 +229,8 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg(weld::Window 
*pParent)
 fillFolderComboBox();
 
 mxActionBar->set_item_visible(MNI_ACTION_EXTENSIONS, true);
-mxActionBar->set_item_visible(MNI_ACTION_EXPORT, true);
-mxActionBar->set_item_visible(MNI_ACTION_MOVE, true);
-mxActionBar->set_item_visible(MNI_ACTION_RENAME_FOLDER, true);
-mxActionBar->set_item_visible(MNI_ACTION_DELETE_FOLDER, true);
+mxActionBar->set_item_visible(MNI_ACTION_IMPORT, true);
+mxActionBar->set_item_visible(MNI_ACTION_NEW_FOLDER, true);
 
 mxOKButton->set_label(SfxResId(STR_OPEN));
 
@@ -493,18 +489,16 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg, SelectRegionHdl, 
weld::ComboBox&, void)
 
 if(mxCBFolder->get_active() == 0)
 {
-mxLocalView->showAllTemplates();
 mxActionBar->set_item_sensitive(MNI_ACTION_RENAME_FO

[Libreoffice-commits] core.git: include/sfx2 sfx2/inc sfx2/Library_sfx.mk sfx2/source sfx2/uiconfig

2021-07-05 Thread Vert D (via logerrit)
 include/sfx2/strings.hrc |   26 -
 include/sfx2/templatedlg.hxx |   30 -
 include/sfx2/templatedlglocalview.hxx|6 
 include/sfx2/templatelocalview.hxx   |   12 
 sfx2/Library_sfx.mk  |1 
 sfx2/inc/bitmaps.hlst|   17 
 sfx2/source/control/templatedlglocalview.cxx |   85 +--
 sfx2/source/control/templatelocalview.cxx|   47 +
 sfx2/source/control/templatesearchview.cxx   |  462 ---
 sfx2/source/doc/doctemplates.cxx |8 
 sfx2/source/doc/doctemplateslocal.hxx|1 
 sfx2/source/doc/templatedlg.cxx  |  637 ---
 sfx2/source/inc/templatesearchview.hxx   |   99 
 sfx2/uiconfig/ui/templatedlg.ui  |  316 +
 14 files changed, 465 insertions(+), 1282 deletions(-)

New commits:
commit 06d063a9de41a24922f15cd3aa47411b61d30c23
Author: Vert D 
AuthorDate: Thu Apr 29 10:29:00 2021 -0500
Commit: Heiko Tietze 
CommitDate: Mon Jul 5 12:53:22 2021 +0200

tdf#138906 prevent built-in category deletion

*Remove category selection dialog for Delete Category.
*Delete Category now deletes the current Category.
*Import now imports to current category.
*Remove Buttons, add items to menu.
*Enable delete multi selection.
*Change Dialog titles.
*Remove searchview class. (I see no reason for it, it just copies code from 
localview and localview can handle search results on its own.)

Change-Id: I5add4aa9fa68ac68c796a6b98fb54a5d0da93bd0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113712
Tested-by: Jenkins
Reviewed-by: Heiko Tietze 

diff --git a/include/sfx2/strings.hrc b/include/sfx2/strings.hrc
index 0967a31c1109..676ff541059b 100644
--- a/include/sfx2/strings.hrc
+++ b/include/sfx2/strings.hrc
@@ -27,13 +27,15 @@
 #define STR_SAVEASDOC   NC_("STR_SAVEASDOC", "Save 
~As...")
 #define STR_SAVEACOPY   NC_("STR_SAVEACOPY", "Save a 
Copy...")
 #define STR_CLOSEDOCNC_("STR_CLOSEDOC", "~Close")
-#define STR_OPENNC_("STR_OPEN", "Open")
-#define STR_EDIT_TEMPLATE   NC_("STR_EDIT_TEMPLATE", 
"Edit")
-#define STR_DEFAULT_TEMPLATENC_("STR_DEFAULT_TEMPLATE", 
"Set as Default")
-#define STR_RESET_DEFAULT   NC_("STR_RESET_DEFAULT", 
"Reset Default")
-#define STR_DELETE  NC_("STR_DELETE", "Delete")
-#define STR_SFX_RENAME  NC_("STR_SFX_RENAME", "Rename")
-#define STR_CATEGORY_RENAME NC_("STR_CATEGORY_RENAME", 
"Rename Category")
+#define STR_OPENNC_("STR_OPEN", "~Open")
+#define STR_EDIT_TEMPLATE   NC_("STR_EDIT_TEMPLATE", 
"~Edit")
+#define STR_DEFAULT_TEMPLATENC_("STR_DEFAULT_TEMPLATE", 
"Set as De~fault")
+#define STR_RESET_DEFAULT   NC_("STR_RESET_DEFAULT", 
"Reset De~fault")
+#define STR_DELETE_TEMPLATE NC_("STR_DELETE_TEMPLATE", 
"~Delete")
+#define STR_SFX_RENAME  NC_("STR_SFX_RENAME", 
"~Rename")
+#define STR_MOVENC_("STR_ACTION_MOVE","~Move")
+#define STR_EXPORT  
NC_("STR_ACTION_EXPORT","E~xport")
+#define STR_CATEGORY_RENAME NC_("STR_CATEGORY_RENAME", 
"Ren~ame Category")
 #define STR_RENAME_TEMPLATE NC_("STR_RENAME_TEMPLATE", 
"Enter new template name:")
 #define STR_TEMPLATE_TOOLTIPNC_("STR_TEMPLATE_TOOLTIP", 
"Title: $1\nCategory: $2")
 #define STR_TEMPLATE_SELECTION  NC_("STR_TEMPLATE_SELECTION", 
"Select a Template")
@@ -351,6 +353,16 @@
 #define STR_RECENT  NC_("STR_RECENT", "Recently 
used")
 #define STR_NORECENTNC_("STR_NORECENT", "No recent 
characters")
 
+#define STR_ACTION_RESET_ALL_DEAULT_TEMPLATES   
NC_("STR_ACTION_RESET_ALL_DEAULT_TEMPLATES","Reset All De~fault Templates")
+#define STR_ACTION_RESET_WRITER_TEMPLATE
NC_("STR_ACTION_RESET_WRITER_TEMPLATE","Reset De~fault Text Document")
+#define STR_ACTION_RESET_CALC_TEMPLATE  
NC_("STR_ACTION_RESET_CALC_TEMPLATE","Reset De~fault Spreadsheet")
+#define STR_ACTION_RESET_IMPRESS_TEMPLATE   
NC_("STR_ACTION_RESET_IMPRESS_TEMPLATE","Reset De~fault Presentation")
+#define STR_ACTION_RESET_DRAW_TEMPLATE  
NC_("STR_ACTION_RESET_DRAW_TEMPLATE","Reset De~fault Drawing")
+#define STR_ACTION_IMPORT   
NC_("STR_ACTION_IMPORT","~Import")
+#define STR_ACTION_EXTENSIONS   
NC_("STR_ACTION_EXTENSIONS","E~xtensions")
+#define STR_WINDOW_TITLE_RENAME_TEMPLATE
NC_("STR_WINDOW_TITLE_RENAME_TEMPLATE","Rename")
+#define STR_WINDOW_TITLE_RENAME_CATEGORY
NC_("STR_WINDOW_TITLE_RE

[Libreoffice-commits] core.git: sfx2/source

2021-05-21 Thread Vert D (via logerrit)
 sfx2/source/control/templatelocalview.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 9431984f8d39a4d7fb9428138ecc6971c212c122
Author: Vert D 
AuthorDate: Thu Mar 18 13:42:04 2021 -0500
Commit: Noel Grandin 
CommitDate: Fri May 21 09:54:11 2021 +0200

tdf#132042 fix nItem id when creating region

Change-Id: I5f2d00dd58580922119b30aafce6695bacb6e2f4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113331
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/sfx2/source/control/templatelocalview.cxx 
b/sfx2/source/control/templatelocalview.cxx
index baf630c7fff0..a933a00285dd 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -324,7 +324,7 @@ TemplateLocalView::getFilteredItems(const 
std::functionGetRegionCount();// Next 
regionId
-sal_uInt16 nItemId = getNextItemId();
+sal_uInt16 nItemId = maRegions.size() + 1;
 
 if (!mpDocTemplates->InsertDir(rName,nRegionId))
 return 0;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: include/sfx2 sfx2/source

2021-04-27 Thread Vert D (via logerrit)
 include/sfx2/inputdlg.hxx|6 
 include/sfx2/strings.hrc |1 
 sfx2/source/control/templatedlglocalview.cxx |   20 ++-
 sfx2/source/control/templatelocalview.cxx|   18 +
 sfx2/source/dialog/inputdlg.cxx  |   36 +++
 5 files changed, 80 insertions(+), 1 deletion(-)

New commits:
commit 99482297c7dd497e41fad2e7193759043e305101
Author: Vert D 
AuthorDate: Tue Apr 6 19:26:21 2021 -0500
Commit: Heiko Tietze 
CommitDate: Tue Apr 27 13:57:00 2021 +0200

tdf#138883 Prevent renaming Templates

*Disable ok button added a tooltip when renaming to an existing template
*Check while typing.

Change-Id: Iec7266940a1cde1a086ba612c0f2f42dd3e6fc73
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113719
Tested-by: Jenkins
Reviewed-by: Heiko Tietze 

diff --git a/include/sfx2/inputdlg.hxx b/include/sfx2/inputdlg.hxx
index 1ca2b9b39461..adf9c2a2e850 100644
--- a/include/sfx2/inputdlg.hxx
+++ b/include/sfx2/inputdlg.hxx
@@ -19,12 +19,18 @@ private:
 std::unique_ptr m_xEntry;
 std::unique_ptr m_xLabel;
 std::unique_ptr m_xHelp;
+std::unique_ptr m_xOk;
+std::function mCheckEntry;
+DECL_LINK(EntryChangedHdl, weld::Entry&, void);
 
 public:
 InputDialog(weld::Widget* pParent, const OUString& rLabelText);
 OUString GetEntryText() const;
 void SetEntryText(const OUString& rStr);
 void HideHelpBtn();
+void SetEntryMessageType(weld::EntryMessageType aType);
+void SetTooltip(const OUString& rStr);
+void setCheckEntry(std::function aFunc);
 };
 
 #endif // INCLUDED_SFX2_SOURCE_INC_INPUTDLG_HXX
diff --git a/include/sfx2/strings.hrc b/include/sfx2/strings.hrc
index c5d3c003e313..0967a31c1109 100644
--- a/include/sfx2/strings.hrc
+++ b/include/sfx2/strings.hrc
@@ -70,6 +70,7 @@
 #define STR_MSG_ERROR_IMPORTNC_("STR_MSG_ERROR_IMPORT", 
"Error importing the following templates to $1:\n$2")
 #define STR_MSG_ERROR_DELETE_TEMPLATE   
NC_("STR_MSG_ERROR_DELETE_TEMPLATE", "The following templates cannot be 
deleted:\n$1")
 #define STR_MSG_ERROR_DELETE_FOLDER 
NC_("STR_MSG_ERROR_DELETE_FOLDER", "The following folders cannot be 
deleted:\n$1")
+#define STR_TOOLTIP_ERROR_RENAME_TEMPLATE   
NC_("STR_TOOLTIP_ERROR_RENAME_TEMPLATE", "There is another template with the 
name $1 in $2.")
 #define STR_QMSG_SEL_FOLDER_DELETE  
NC_("STR_QMSG_SEL_FOLDER_DELETE", "Do you want to delete the selected 
category?")
 #define STR_QMSG_TEMPLATE_OVERWRITE 
NC_("STR_QMSG_TEMPLATE_OVERWRITE", "A template named $1 already exists in $2. 
Do you want to overwrite it?")
 #define STR_QMSG_SEL_TEMPLATE_DELETE
NC_("STR_QMSG_SEL_TEMPLATE_DELETE", "Do you want to delete the selected 
templates?")
diff --git a/sfx2/source/control/templatedlglocalview.cxx 
b/sfx2/source/control/templatedlglocalview.cxx
index 0adc30d8b97e..d4a8f949ed4d 100644
--- a/sfx2/source/control/templatedlglocalview.cxx
+++ b/sfx2/source/control/templatedlglocalview.cxx
@@ -142,6 +142,24 @@ void 
TemplateDlgLocalView::ContextMenuSelectHdl(std::string_view rIdent)
 aTitleEditDlg.SetEntryText(sOldTitle);
 aTitleEditDlg.HideHelpBtn();
 
+auto aCurRegionItems = getFilteredItems([&](const 
TemplateItemProperties& rItem) {
+return rItem.aRegionName == 
getRegionName(maSelectedItem->mnRegionId);
+});
+OUString sTooltip(SfxResId(STR_TOOLTIP_ERROR_RENAME_TEMPLATE));
+sTooltip = sTooltip.replaceFirst("$2", 
getRegionName(maSelectedItem->mnRegionId));
+aTitleEditDlg.setCheckEntry([&](OUString sNewTitle) {
+if (sNewTitle.isEmpty() || sNewTitle == sOldTitle)
+return true;
+for (const auto& rItem : aCurRegionItems)
+{
+if (rItem.aName == sNewTitle)
+{
+aTitleEditDlg.SetTooltip(sTooltip.replaceFirst("$1", 
sNewTitle));
+return false;
+}
+}
+return true;
+});
 if (!aTitleEditDlg.run())
 return;
 OUString sNewTitle = 
comphelper::string::strip(aTitleEditDlg.GetEntryText(), ' ');
@@ -149,8 +167,8 @@ void 
TemplateDlgLocalView::ContextMenuSelectHdl(std::string_view rIdent)
 if (!sNewTitle.isEmpty() && sNewTitle != sOldTitle)
 {
 maSelectedItem->setTitle(sNewTitle);
+ListView::rename(OUString::number(maSelectedItem->mnId), 
maSelectedItem->maTitle);
 }
-ListView::rename(OUString::number(maSelectedItem->mnId), 
maSelectedItem->maTitle);
 }
 else if (rIdent == "delete")
 {
diff --git a/sfx2/source/control/templatelocalview.cxx 
b/sfx2/source/control/templatelocalview.cxx
index 4dcbaa3ba0b6..baf630c7fff0 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -205,

[Libreoffice-commits] core.git: sfx2/source

2021-03-30 Thread Vert D (via logerrit)
 sfx2/source/control/templatedlglocalview.cxx |3 ++-
 sfx2/source/control/templatelocalview.cxx|3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

New commits:
commit f974664988d84a32196c152a3cf996e2b4909f70
Author: Vert D 
AuthorDate: Mon Mar 29 16:57:06 2021 -0500
Commit: Noel Grandin 
CommitDate: Tue Mar 30 11:32:43 2021 +0200

tdf#141329 fix refresh shows the wrong category

Change-Id: Iec36c7aa4cb54773a759260638f03b1b218faaa0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113332
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/sfx2/source/control/templatedlglocalview.cxx 
b/sfx2/source/control/templatedlglocalview.cxx
index d444ec49464b..0adc30d8b97e 100644
--- a/sfx2/source/control/templatedlglocalview.cxx
+++ b/sfx2/source/control/templatedlglocalview.cxx
@@ -69,8 +69,9 @@ void TemplateDlgLocalView::showRegion(std::u16string_view 
rName)
 void TemplateDlgLocalView::reload()
 {
 mpDocTemplates->Update();
-
+OUString sCurRegionName = getRegionItemName(mnCurRegionId);
 Populate();
+mnCurRegionId = getRegionId(sCurRegionName);
 
 // Check if we are currently browsing a region or root folder
 if (mnCurRegionId)
diff --git a/sfx2/source/control/templatelocalview.cxx 
b/sfx2/source/control/templatelocalview.cxx
index 87e07fd30642..4dcbaa3ba0b6 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -140,8 +140,9 @@ void TemplateLocalView::Populate()
 void TemplateLocalView::reload()
 {
 mpDocTemplates->Update();
-
+OUString sCurRegionName = getRegionItemName(mnCurRegionId);
 Populate();
+mnCurRegionId = getRegionId(sCurRegionName);
 
 // Check if we are currently browsing a region or root folder
 if (mnCurRegionId)
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: include/sfx2 sfx2/source

2021-03-26 Thread Vert D (via logerrit)
 include/sfx2/listview.hxx|2 
 include/sfx2/templatedlglocalview.hxx|6 +
 sfx2/source/control/templatedlglocalview.cxx |  107 +--
 sfx2/source/control/templatesearchview.cxx   |   37 -
 sfx2/source/doc/templatedlg.cxx  |   10 ++
 sfx2/source/inc/templatesearchview.hxx   |2 
 6 files changed, 156 insertions(+), 8 deletions(-)

New commits:
commit 18aa2169c9adf41fa5c9a02ad81d4f68a34509e3
Author: Vert D 
AuthorDate: Sat Dec 26 20:41:53 2020 -0500
Commit: Noel Grandin 
CommitDate: Fri Mar 26 08:46:28 2021 +0100

Added delete keyinput to listview, fixed reload() issues: solves tdf#138884

*Added delete keyinput to listview.
*Views Buttons set focus to the appropiate widget.
*Fixed listview reload() issues.

Change-Id: I21379fd98b491b0ed56a3997155c7bb49a5c2d3e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108365
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/include/sfx2/listview.hxx b/include/sfx2/listview.hxx
index cb7eb23b5a73..4f7e37a49671 100644
--- a/include/sfx2/listview.hxx
+++ b/include/sfx2/listview.hxx
@@ -53,6 +53,8 @@ public:
 
 void unselect_all() { mxTreeView->unselect_all(); }
 
+void grab_focus() { mxTreeView->grab_focus(); }
+
 void remove(const OUString& rId);
 
 void rename(const OUString& rId, const OUString& rTitle);
diff --git a/include/sfx2/templatedlglocalview.hxx 
b/include/sfx2/templatedlglocalview.hxx
index c6caca46f519..bdae9eb44e35 100644
--- a/include/sfx2/templatedlglocalview.hxx
+++ b/include/sfx2/templatedlglocalview.hxx
@@ -26,6 +26,10 @@ public:
 
 void showRegion(std::u16string_view rName);
 
+void reload();
+
+virtual bool KeyInput(const KeyEvent& rKEvt) override;
+
 void createContextMenu(const bool bIsDefault, const bool bIsBuiltIn);
 
 virtual void Show() override;
@@ -56,6 +60,8 @@ private:
 
 DECL_LINK(PopupMenuHdl, const CommandEvent&, bool);
 
+DECL_LINK(KeyPressHdl, const KeyEvent&, bool);
+
 TemplateViewMode mViewMode;
 };
 
diff --git a/sfx2/source/control/templatedlglocalview.cxx 
b/sfx2/source/control/templatedlglocalview.cxx
index 39b88774cade..d444ec49464b 100644
--- a/sfx2/source/control/templatedlglocalview.cxx
+++ b/sfx2/source/control/templatedlglocalview.cxx
@@ -17,6 +17,8 @@
 #include 
 #include 
 #include 
+#include 
+#include 
 
 
TemplateDlgLocalView::TemplateDlgLocalView(std::unique_ptr
 xWindow,
std::unique_ptr xMenu,
@@ -29,6 +31,7 @@ 
TemplateDlgLocalView::TemplateDlgLocalView(std::unique_ptr
 mxTreeView->connect_column_clicked(LINK(this, ListView, ColumnClickedHdl));
 mxTreeView->connect_changed(LINK(this, TemplateDlgLocalView, 
ListViewChangedHdl));
 mxTreeView->connect_popup_menu(LINK(this, TemplateDlgLocalView, 
PopupMenuHdl));
+mxTreeView->connect_key_press(LINK(this, TemplateDlgLocalView, 
KeyPressHdl));
 }
 
 void TemplateDlgLocalView::showAllTemplates()
@@ -63,6 +66,34 @@ void TemplateDlgLocalView::showRegion(std::u16string_view 
rName)
 }
 }
 
+void TemplateDlgLocalView::reload()
+{
+mpDocTemplates->Update();
+
+Populate();
+
+// Check if we are currently browsing a region or root folder
+if (mnCurRegionId)
+{
+sal_uInt16 nRegionId = mnCurRegionId - 1; //Is offset by 1
+
+for (auto const& pRegion : maRegions)
+{
+if (pRegion->mnRegionId == nRegionId)
+{
+showRegion(pRegion.get());
+break;
+}
+}
+}
+else
+showAllTemplates();
+
+//No items should be selected by default
+ThumbnailView::deselectItems();
+ListView::unselect_all();
+}
+
 void TemplateDlgLocalView::createContextMenu(const bool bIsDefault, const bool 
bIsBuiltIn)
 {
 mxContextMenu->clear();
@@ -129,11 +160,6 @@ void 
TemplateDlgLocalView::ContextMenuSelectHdl(std::string_view rIdent)
 return;
 
 maDeleteTemplateHdl.Call(maSelectedItem);
-// this remove is probably redundant because reload would throw away
-// the old contents anyway. Maybe there is an argument that removing it
-// immediately means there is possibility to show it missing while the
-// possibly slow reload is operating if a repaint could occur
-ListView::remove(OUString::number(maSelectedItem->mnId));
 reload();
 }
 else if (rIdent == "default")
@@ -300,4 +326,75 @@ IMPL_LINK_NOARG(TemplateDlgLocalView, ListViewChangedHdl, 
weld::TreeView&, void)
 updateSelection();
 }
 
+bool TemplateDlgLocalView::KeyInput(const KeyEvent& rKEvt)
+{
+vcl::KeyCode aKeyCode = rKEvt.GetKeyCode();
+
+if (aKeyCode == (KEY_MOD1 | KEY_A))
+{
+for (ThumbnailViewItem* pItem : mFilteredItemList)
+{
+if (!pItem->isSelected())
+{
+pItem->setSelection(true);
+maItemStateH

[Libreoffice-commits] core.git: include/sfx2 sfx2/source

2020-12-23 Thread Vert D (via logerrit)
 include/sfx2/templatedlglocalview.hxx|2 +-
 include/sfx2/templatelocalview.hxx   |2 ++
 sfx2/source/control/templatedlglocalview.cxx |8 +++-
 sfx2/source/control/templatelocalview.cxx|   22 ++
 sfx2/source/control/templatesearchview.cxx   |7 ++-
 sfx2/source/doc/templatedlg.cxx  |4 ++--
 sfx2/source/inc/templatesearchview.hxx   |2 +-
 7 files changed, 41 insertions(+), 6 deletions(-)

New commits:
commit 86f3fa919a6de6767177193d5b7714f8f6dbd5c4
Author: Vert D 
AuthorDate: Sat Dec 12 00:39:51 2020 -0500
Commit: Heiko Tietze 
CommitDate: Wed Dec 23 11:38:50 2020 +0100

tdf#138246 Disable edit rename delete contextmenu items for built-in 
templates

Change-Id: I7bcaa8acc034a3d3e9926db2f1f54bbeceddca2d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107611
Tested-by: Jenkins
Tested-by: Heiko Tietze 
Reviewed-by: Noel Grandin 
Reviewed-by: Heiko Tietze 

diff --git a/include/sfx2/templatedlglocalview.hxx 
b/include/sfx2/templatedlglocalview.hxx
index b3a50eeff50c..c6caca46f519 100644
--- a/include/sfx2/templatedlglocalview.hxx
+++ b/include/sfx2/templatedlglocalview.hxx
@@ -26,7 +26,7 @@ public:
 
 void showRegion(std::u16string_view rName);
 
-void createContextMenu(const bool bIsDefault);
+void createContextMenu(const bool bIsDefault, const bool bIsBuiltIn);
 
 virtual void Show() override;
 
diff --git a/include/sfx2/templatelocalview.hxx 
b/include/sfx2/templatelocalview.hxx
index 9304e858ad9b..a37d72d1cf50 100644
--- a/include/sfx2/templatelocalview.hxx
+++ b/include/sfx2/templatelocalview.hxx
@@ -153,6 +153,8 @@ public:
 
 static bool IsDefaultTemplate(const OUString& rPath);
 
+static bool IsInternalTemplate(const OUString& rPath);
+
 protected:
 virtual void OnItemDblClicked(ThumbnailViewItem *pItem) override;
 
diff --git a/sfx2/source/control/templatedlglocalview.cxx 
b/sfx2/source/control/templatedlglocalview.cxx
index 0949e684c414..39b88774cade 100644
--- a/sfx2/source/control/templatedlglocalview.cxx
+++ b/sfx2/source/control/templatedlglocalview.cxx
@@ -63,7 +63,7 @@ void TemplateDlgLocalView::showRegion(std::u16string_view 
rName)
 }
 }
 
-void TemplateDlgLocalView::createContextMenu(const bool bIsDefault)
+void TemplateDlgLocalView::createContextMenu(const bool bIsDefault, const bool 
bIsBuiltIn)
 {
 mxContextMenu->clear();
 mxContextMenu->append("open", SfxResId(STR_OPEN));
@@ -77,6 +77,12 @@ void TemplateDlgLocalView::createContextMenu(const bool 
bIsDefault)
 mxContextMenu->append_separator("separator");
 mxContextMenu->append("rename", SfxResId(STR_SFX_RENAME));
 mxContextMenu->append("delete", SfxResId(STR_DELETE));
+if (bIsBuiltIn)
+{
+mxContextMenu->set_sensitive("rename", false);
+mxContextMenu->set_sensitive("edit", false);
+mxContextMenu->set_sensitive("delete", false);
+}
 if (mViewMode == TemplateViewMode::eThumbnailView)
 {
 deselectItems();
diff --git a/sfx2/source/control/templatelocalview.cxx 
b/sfx2/source/control/templatelocalview.cxx
index 5faba8b552d1..87e07fd30642 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -26,6 +26,11 @@
 #include 
 #include 
 
+#include 
+#include 
+#include 
+#include 
+
 using namespace ::com::sun::star;
 
 bool ViewFilter_Application::isFilteredExtension(FILTER_APPLICATION filter, 
std::u16string_view rExt)
@@ -919,5 +924,22 @@ void TemplateLocalView::OnItemDblClicked 
(ThumbnailViewItem *pItem)
 maOpenTemplateHdl.Call(pViewItem);
 }
 
+bool TemplateLocalView::IsInternalTemplate(const OUString& rPath)
+{
+uno::Reference< uno::XComponentContext > xContext = 
::comphelper::getProcessComponentContext();
+css::uno::Reference< css::util::XPathSettings > xPathSettings = 
css::util::thePathSettings::get(xContext);
+uno::Sequence aInternalTemplateDirs;
+uno::Any aAny = xPathSettings->getPropertyValue("Template_internal");
+aAny >>= aInternalTemplateDirs;
+SfxURLRelocator_Impl aRelocator(xContext);
+for (auto& rInternalTemplateDir : aInternalTemplateDirs)
+{
+aRelocator.makeRelocatableURL(rInternalTemplateDir);
+aRelocator.makeAbsoluteURL(rInternalTemplateDir);
+if(::utl::UCBContentHelper::IsSubPath(rInternalTemplateDir, rPath))
+return true;
+}
+return false;
+}
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/control/templatesearchview.cxx 
b/sfx2/source/control/templatesearchview.cxx
index e1d2f8083fac..bde9769cd751 100644
--- a/sfx2/source/control/templatesearchview.cxx
+++ b/sfx2/source/control/templatesearchview.cxx
@@ -131,7 +131,7 @@ bool TemplateSearchView::Command(const CommandEvent& rCEvt)
 return true;
 }
 
-void TemplateSearchView::createContextMenu(const bool bIsDefault)
+void TemplateSearchView::createContextMenu(const bool bIsDefault,

[Libreoffice-commits] core.git: sfx2/source

2020-12-23 Thread Vert D (via logerrit)
 sfx2/source/control/listview.cxx |   25 +++--
 1 file changed, 7 insertions(+), 18 deletions(-)

New commits:
commit 421d3fe399e798212fb6c1a14b4f2de1e545eb3c
Author: Vert D 
AuthorDate: Tue Dec 22 00:46:49 2020 -0500
Commit: Heiko Tietze 
CommitDate: Wed Dec 23 11:32:59 2020 +0100

fix columns widths and formated string

Change-Id: I99d4cf17a49ce78857b282b5be5d8c88ddd7e740
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108136
Tested-by: Jenkins
Tested-by: Heiko Tietze 
Reviewed-by: Heiko Tietze 

diff --git a/sfx2/source/control/listview.cxx b/sfx2/source/control/listview.cxx
index d4b8769447cc..8ed1255a594f 100644
--- a/sfx2/source/control/listview.cxx
+++ b/sfx2/source/control/listview.cxx
@@ -11,7 +11,7 @@
 
 #include 
 #include 
-
+#include 
 #include 
 #include 
 #include 
@@ -55,7 +55,6 @@ ListView::ListView(std::unique_ptr xTreeView)
 aWidths.push_back(static_cast(nDigitWidth * 22)); /* Category Column 
*/
 aWidths.push_back(static_cast(nDigitWidth * 15)); /* Application 
Column */
 aWidths.push_back(static_cast(nDigitWidth * 18)); /* Modify Column */
-aWidths.push_back(static_cast(nDigitWidth * 10)); /* Size Column */
 
 mxTreeView->set_column_fixed_widths(aWidths);
 mxTreeView->set_selection_mode(SelectionMode::Multiple);
@@ -346,23 +345,13 @@ static OUString getDisplayFileModifyTime(const OUString& 
rURL)
 if (systemTimeValue.Seconds == 0)
 return OUString();
 TimeValue localTimeValue;
-oslDateTime dateTime;
 osl_getLocalTimeFromSystemTime(&systemTimeValue, &localTimeValue);
-osl_getDateTimeFromTimeValue(&localTimeValue, &dateTime);
-
-struct tm tm;
-tm.tm_sec = dateTime.Seconds;
-tm.tm_min = dateTime.Minutes;
-tm.tm_hour = dateTime.Hours;
-tm.tm_mday = dateTime.Day;
-tm.tm_mon = dateTime.Month - 1;
-tm.tm_year = dateTime.Year - 1900;
-char ts[50];
-for (char& c : ts)
-c = ' ';
-strftime(ts, sizeof(ts), "%x %X", &tm);
-OUString sModifyTime(ts, sizeof(ts), RTL_TEXTENCODING_UTF8);
-return sModifyTime.trim();
+const SvtSysLocale aSysLocale;
+const LocaleDataWrapper& rLocaleWrapper = aSysLocale.GetLocaleData();
+DateTime aDateTime = DateTime::CreateFromUnixTime(localTimeValue.Seconds);
+OUString aDisplayDateTime
+= rLocaleWrapper.getDate(aDateTime) + ", " + 
rLocaleWrapper.getTime(aDateTime, false);
+return aDisplayDateTime;
 }
 
 static OUString getDisplayFileSize(const OUString& rURL)
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: include/sfx2 sfx2/Library_sfx.mk sfx2/source sfx2/uiconfig

2020-11-23 Thread Vert D (via logerrit)
 include/sfx2/listview.hxx|  118 ++
 include/sfx2/strings.hrc |5 
 include/sfx2/templatedlg.hxx |   17 
 include/sfx2/templatedlglocalview.hxx|   62 +++
 sfx2/Library_sfx.mk  |2 
 sfx2/source/control/listview.cxx |  471 +++
 sfx2/source/control/templatedlglocalview.cxx |  294 
 sfx2/source/control/templatesearchview.cxx   |  182 ++
 sfx2/source/doc/templatedlg.cxx  |  114 ++
 sfx2/source/inc/templatesearchview.hxx   |   33 +
 sfx2/uiconfig/ui/templatedlg.ui  |  316 ++
 11 files changed, 1591 insertions(+), 23 deletions(-)

New commits:
commit 6b1de6057082bd8720594231839f967bff5372ae
Author: Vert D 
AuthorDate: Fri Sep 25 17:58:15 2020 -0500
Commit: Heiko Tietze 
CommitDate: Mon Nov 23 11:29:04 2020 +0100

tdf#104154 WIP:Add list view to template manager

*Added Thumbnail View and List View Buttons,
*selection is remembered for the next launch of the template manager.
*List view added to local view and search view.
*Added columns: name, category, application, modified, size and path.
*Added column sorting.
*Search, move, set as default and other existing tasks.

Change-Id: I7615f7e41020916ae518b639dba915a0a9340ff5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103418
Tested-by: Jenkins
Tested-by: Heiko Tietze 
Reviewed-by: Heiko Tietze 

diff --git a/include/sfx2/listview.hxx b/include/sfx2/listview.hxx
new file mode 100644
index ..0c5714caca33
--- /dev/null
+++ b/include/sfx2/listview.hxx
@@ -0,0 +1,118 @@
+/* -*- 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/.
+ */
+
+#pragma once
+
+#include 
+
+enum TemplateViewMode
+{
+eListView,
+eThumbnailView
+};
+class SfxDocumentTemplates;
+class TemplateContainerItem;
+struct ListViewItem;
+
+class ListView
+{
+public:
+ListView(std::unique_ptr xTreeView);
+~ListView();
+
+void AppendItem(const OUString& rId, const OUString& rTitle, const 
OUString& rSubtitle,
+const OUString& rPath, bool bDefault);
+
+void AppendRow(const OUString& rImage, const OUString& rTitle, const 
OUString& rSubtitle,
+   const OUString& rApplication, const OUString& rModify, 
const OUString& rSize,
+   const OUString& rId);
+
+void UpdateRow(int nIndex, const OUString& rImage, const OUString& rTitle,
+   const OUString& rSubtitle, const OUString& rApplication, 
const OUString& rModify,
+   const OUString& rSize, const OUString& rId);
+
+void ReloadRows();
+
+bool UpdateRows();
+
+void sortColumn(const int col);
+
+void sort();
+
+void clearListView();
+
+void ShowListView() { mxTreeView->show(); }
+
+void HideListView() { mxTreeView->hide(); }
+
+void unselect_all() { mxTreeView->unselect_all(); }
+
+void remove(const OUString& rId);
+
+void rename(const OUString& rId, const OUString& rTitle);
+
+void refreshDefaultColumn();
+
+protected:
+sal_uInt16 get_nId(int pos);
+
+OUString get_selected_id() { return mxTreeView->get_selected_id(); }
+
+void select_id(const OUString& sId) { mxTreeView->select_id(sId); }
+
+int get_selected_index() { return mxTreeView->get_selected_index(); }
+
+std::vector get_selected_rows() { return 
mxTreeView->get_selected_rows(); }
+
+bool IsListViewVisible() { return mxTreeView->is_visible(); }
+
+OUString get_id(int pos) { return mxTreeView->get_id(pos); }
+
+void set_cursor(int pos) { mxTreeView->set_cursor(pos); }
+
+int get_cursor_index() { return mxTreeView->get_cursor_index(); }
+
+sal_uInt16 get_cursor_nId() { return 
get_nId(mxTreeView->get_cursor_index()); }
+
+void select(int pos) { mxTreeView->select(pos); }
+
+int get_index(sal_uInt16 nId) { return 
mxTreeView->find_id(OUString::number(nId)); }
+
+DECL_LINK(ColumnClickedHdl, const int, void);
+
+DECL_LINK(QueryTooltipHdl, const weld::TreeIter&, OUString);
+
+protected:
+std::unique_ptr mxTreeView;
+std::vector> mListViewItems;
+Link maSelectionChangedHdl;
+int mnSortColumn;
+};
+
+struct ListViewItem
+{
+public:
+OUString maId;
+OUString maTitle;
+OUString maSubtitle;
+OUString maApplication;
+OUString maPath;
+bool mbDefault;
+
+/** Last modify time in seconds since 1/1/1970. */
+sal_uInt32 mnModify;
+/** Size in bytes of the file. */
+sal_uInt64 mnSize;
+
+OUString maDisplayModify;
+OUString maDisplaySize;
+OUString maDisplayPath;
+};
+
+/* vim:set shiftwi

[Libreoffice-commits] core.git: sfx2/source

2020-11-16 Thread Vert D (via logerrit)
 sfx2/source/control/templatesearchview.cxx |   13 +
 sfx2/source/doc/templatedlg.cxx|   19 ---
 sfx2/source/inc/templatesearchview.hxx |2 ++
 3 files changed, 31 insertions(+), 3 deletions(-)

New commits:
commit 76836910aedee94c1361ddd912544822316b9e0c
Author: Vert D 
AuthorDate: Thu Nov 5 21:01:56 2020 -0500
Commit: Heiko Tietze 
CommitDate: Mon Nov 16 09:17:41 2020 +0100

tdf#138024 Default Icons not refreshing in template manger search view

*added missing funtion to searchview
*call searchupdate when refreshing

Change-Id: I576b2e2de37e3f34b7499a914f0707586687643e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105387
Tested-by: Jenkins
Tested-by: Heiko Tietze 
Reviewed-by: Heiko Tietze 

diff --git a/sfx2/source/control/templatesearchview.cxx 
b/sfx2/source/control/templatesearchview.cxx
index 25e62fd27384..41c318ecf75e 100644
--- a/sfx2/source/control/templatesearchview.cxx
+++ b/sfx2/source/control/templatesearchview.cxx
@@ -240,6 +240,19 @@ BitmapEx TemplateSearchView::getDefaultThumbnail( const 
OUString& rPath )
 return aImg;
 }
 
+void TemplateSearchView::RemoveDefaultTemplateIcon(const OUString& rPath)
+{
+for (const std::unique_ptr& pItem : mItemList)
+{
+TemplateViewItem* pViewItem = 
dynamic_cast(pItem.get());
+if (pViewItem && pViewItem->getPath().match(rPath))
+{
+pViewItem->showDefaultIcon(false);
+Invalidate();
+return;
+}
+}
+}
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
 
 
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index aaed4e7f7cbe..313bf591862a 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -475,7 +475,11 @@ IMPL_LINK(SfxTemplateManagerDlg, MenuSelectHdl, const 
OString&, rIdent, void)
 else if (rIdent == MNI_ACTION_DELETE_FOLDER)
 OnCategoryDelete();
 else if (rIdent == MNI_ACTION_REFRESH)
+{
 mxLocalView->reload();
+if(mxSearchView->IsVisible())
+SearchUpdateHdl(*mxSearchFilter);
+}
 else if (rIdent != MNI_ACTION_DEFAULT)
 DefaultTemplateMenuSelectHdl(rIdent);
 }
@@ -486,7 +490,12 @@ void 
SfxTemplateManagerDlg::DefaultTemplateMenuSelectHdl(const OString& rIdent)
 
 OUString sPrevDefault = SfxObjectFactory::GetStandardTemplate( 
aServiceName );
 if(!sPrevDefault.isEmpty())
-mxLocalView->RemoveDefaultTemplateIcon(sPrevDefault);
+{
+if(mxSearchView->IsVisible())
+mxSearchView->RemoveDefaultTemplateIcon(sPrevDefault);
+else
+mxLocalView->RemoveDefaultTemplateIcon(sPrevDefault);
+}
 
 SfxObjectFactory::SetStandardTemplate( aServiceName, OUString() );
 
@@ -702,8 +711,12 @@ IMPL_LINK(SfxTemplateManagerDlg, DefaultTemplateHdl, 
ThumbnailViewItem*, pItem,
 {
 OUString sPrevDefault = SfxObjectFactory::GetStandardTemplate( 
aServiceName );
 if(!sPrevDefault.isEmpty())
-mxLocalView->RemoveDefaultTemplateIcon(sPrevDefault);
-
+{
+if(mxSearchView->IsVisible())
+mxSearchView->RemoveDefaultTemplateIcon(sPrevDefault);
+else
+mxLocalView->RemoveDefaultTemplateIcon(sPrevDefault);
+}
 
SfxObjectFactory::SetStandardTemplate(aServiceName,pViewItem->getPath());
 pViewItem->showDefaultIcon(true);
 }
diff --git a/sfx2/source/inc/templatesearchview.hxx 
b/sfx2/source/inc/templatesearchview.hxx
index 5dc23adfd8b4..d5a1dc32ceda 100644
--- a/sfx2/source/inc/templatesearchview.hxx
+++ b/sfx2/source/inc/templatesearchview.hxx
@@ -43,6 +43,8 @@ public:
 
 static BitmapEx getDefaultThumbnail( const OUString& rPath );
 
+void RemoveDefaultTemplateIcon(const OUString& rPath);
+
 private:
 virtual void OnItemDblClicked(ThumbnailViewItem *pItem) override;
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits