tdf#101302: Add option to clear unavailable files in menu/start center
This patch adresses tdf#101302. It essentially adds a menu item to clear unavailable files from the menu and start center. Previously, they were visible as recent documents in the menu and start center, and caused error when selected. Change-Id: I55ee9f663b24c343a90817c438aff11d9230061c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120480 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
This commit is contained in:
@@ -80,6 +80,8 @@ public:
|
||||
// received on load of recently used file
|
||||
void DispatchedLoadRecentUsedFile();
|
||||
|
||||
void clearUnavailableFiles();
|
||||
|
||||
private:
|
||||
virtual bool MouseButtonDown( const MouseEvent& rMEvt ) override;
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
*/
|
||||
|
||||
#include <sal/log.hxx>
|
||||
#include <comphelper/DirectoryHelper.hxx>
|
||||
#include <recentdocsview.hxx>
|
||||
#include <sfx2/sfxresid.hxx>
|
||||
#include <unotools/historyoptions.hxx>
|
||||
@@ -173,6 +174,18 @@ void RecentDocsView::Reload()
|
||||
Invalidate();
|
||||
}
|
||||
|
||||
void RecentDocsView::clearUnavailableFiles(){
|
||||
std::vector< SvtHistoryOptions::HistoryItem > aHistoryList = SvtHistoryOptions::GetList( EHistoryType::PickList );
|
||||
for ( size_t i = 0; i < aHistoryList.size(); i++ )
|
||||
{
|
||||
const SvtHistoryOptions::HistoryItem& rPickListEntry = aHistoryList[i];
|
||||
if ( !comphelper::DirectoryHelper::fileExists(rPickListEntry.sURL) ){
|
||||
SvtHistoryOptions::DeleteItem(EHistoryType::PickList,rPickListEntry.sURL);
|
||||
}
|
||||
}
|
||||
Reload();
|
||||
}
|
||||
|
||||
bool RecentDocsView::MouseButtonDown( const MouseEvent& rMEvt )
|
||||
{
|
||||
if (rMEvt.IsLeft())
|
||||
|
||||
@@ -603,6 +603,9 @@ IMPL_LINK (BackingWindow, MenuSelectHdl, const OString&, rId, void)
|
||||
mxAllRecentThumbnails->Reload();
|
||||
return;
|
||||
}
|
||||
else if(rId == "clear_unavailable"){
|
||||
mxAllRecentThumbnails->clearUnavailableFiles();
|
||||
}
|
||||
else if (!rId.isEmpty())
|
||||
{
|
||||
initializeLocalView();
|
||||
|
||||
@@ -17,6 +17,13 @@
|
||||
<property name="label" translatable="yes" context="startcenter|clear_all">Clear Recent Documents</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="clear_unavailable">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes" context="startcenter|clear_unavailable">Clear Unavailable Files</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<object class="GtkImage" id="database_all_image">
|
||||
<property name="visible">True</property>
|
||||
|
||||
Reference in New Issue
Block a user