[Libreoffice-commits] core.git: include/svx svx/source
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
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
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
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
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
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
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
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
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
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
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