13#include <com/sun/star/task/InteractionHandler.hpp>
16#include <bitmaps.hlst>
23 : m_xTreeView(
std::move(xTreeView))
24 , m_xScratchIter(m_xTreeView->make_iterator())
25 , m_pTopLevel(pTopLevel)
30 Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext();
31 Reference< XInteractionHandler > xInteractionHandler(
32 InteractionHandler::createWithParent(xContext, pTopLevel->
GetXWindow()), UNO_QUERY_THROW);
33 m_xEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler, Reference< XProgressHandler >() );
42 FillTreeEntry(rEntry);
49 m_xTreeView->insert(
nullptr, -1, &rRootLabel, &rId,
nullptr,
nullptr,
58 OUString sFolderImage(RID_BMP_FOLDER);
64 std::unique_ptr<weld::TreeIter> xChild(
m_xTreeView->make_iterator(&rEntry));
69 ::std::vector< std::unique_ptr<SortingData_Impl> > aContent;
72 xContentEnumerator(
new FileViewContentEnumerator(
75 FolderDescriptor aFolder(sURL);
78 xContentEnumerator->enumerateFolderContentSync( aFolder,
m_aDenyList );
80 if (EnumerationResult::SUCCESS == eResult)
82 for(
const auto &
i : aContent)
86 m_xTreeView->insert(&rEntry, -1, &
i->GetTitle(), &
i->maTargetURL,
104 std::unique_ptr<weld::TreeIter> xParent(
m_xTreeView->make_iterator());
105 bool bParent =
m_xTreeView->get_cursor(xParent.get());
107 if (!bParent ||
m_xTreeView->get_row_expanded(*xParent))
110 OUString sFolderImage(RID_BMP_FOLDER);
113 std::unique_ptr<weld::TreeIter> xChild(
m_xTreeView->make_iterator(xParent.get()));
118 for (
auto const& folder : rFolders)
120 m_xTreeView->insert(xParent.get(), -1, &folder.first, &folder.second,
136 std::unique_ptr<weld::TreeIter> xEntry(
m_xTreeView->make_iterator());
137 bool bEntry =
m_xTreeView->get_iter_first(*xEntry);
140 while (bEntry && !bEnd)
151 if( sPath == sNodeUrl )
156 else if( sPath.startsWith( sNodeUrl ) )
OUString m_sLastUpdatedDir
Reference< XCommandEnvironment > m_xEnv
void InsertRootEntry(const OUString &rId, const OUString &rRootLabel)
FolderTree(std::unique_ptr< weld::TreeView > xTreeView, weld::Window *pTopLevel)
void SetTreePath(std::u16string_view sUrl)
void FillTreeEntry(const weld::TreeIter &rEntry)
std::unique_ptr< weld::TreeIter > m_xScratchIter
void SetDenyList(const css::uno::Sequence< OUString > &rDenyList)
std::unique_ptr< weld::TreeView > m_xTreeView
Sequence< OUString > m_aDenyList
OUString GetURLPath(DecodeMechanism eMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
virtual css::uno::Reference< css::awt::XWindow > GetXWindow()=0
IMPL_LINK(FolderTree, RequestingChildrenHdl, const weld::TreeIter &, rEntry, bool)
#define LINK(Instance, Class, Member)