26#include <com/sun/star/document/XDocumentEventListener.hpp>
27#include <com/sun/star/embed/XStorage.hpp>
28#include <com/sun/star/frame/XModel.hpp>
29#include <com/sun/star/frame/XModuleManager2.hpp>
30#include <com/sun/star/frame/XGlobalEventBroadcaster.hpp>
31#include <com/sun/star/uno/XComponentContext.hpp>
32#include <com/sun/star/util/DateTime.hpp>
33#include <com/sun/star/util/XCloseListener.hpp>
37#include <unordered_map>
47 css::uno::Reference< css::embed::XStorage >
xStorage;
48 css::uno::Reference< css::frame::XModel >
xModel;
55 css::uno::Reference< css::embed::XStorage > _xStorage,
56 css::uno::Reference< css::frame::XModel > _xModel )
65 public cppu::WeakImplHelper< css::document::XDocumentEventListener >
68 public cppu::WeakImplHelper< css::util::XCloseListener >
77 const css::lang::EventObject& Source,
81 const css::lang::EventObject& Source )
override;
85 const css::lang::EventObject & Source )
override;
95 const css::uno::Reference< css::uno::XComponentContext > & rxContext,
103 const css::document::DocumentEvent & Event )
override;
107 const css::lang::EventObject & Source )
override;
110 css::uno::Reference< css::embed::XStorage >
114 const css::uno::Reference< css::frame::XModel > & xModel );
116 css::uno::Reference< css::frame::XModel >
119 css::uno::Sequence< OUString >
133 const css::uno::Reference< css::uno::XInterface > & xDoc );
136 const css::uno::Reference< css::frame::XModel > & xModel );
139 const css::uno::Reference< css::frame::XModel > & xModel );
143 const css::uno::Reference< css::frame::XModel > & xModel );
146 const css::uno::Reference< css::frame::XModel > & xModel );
149 css::uno::Reference< css::uno::XComponentContext >
m_xContext;
virtual void SAL_CALL notifyClosing(const css::lang::EventObject &Source) override
OfficeDocumentsCloseListener(OfficeDocumentsManager *pMgr)
virtual void SAL_CALL disposing(const css::lang::EventObject &Source) override
OfficeDocumentsManager * m_pManager
virtual void SAL_CALL queryClosing(const css::lang::EventObject &Source, sal_Bool GetsOwnership) override
css::uno::Sequence< OUString > queryDocuments()
static bool isDocumentPreview(const css::uno::Reference< css::frame::XModel > &xModel)
virtual void SAL_CALL documentEventOccured(const css::document::DocumentEvent &Event) override
bool isBasicIDE(const css::uno::Reference< css::frame::XModel > &xModel)
ContentProvider *const m_pDocEventListener
void buildDocumentsList()
OUString queryStorageTitle(const OUString &rDocId)
OfficeDocumentsManager(const css::uno::Reference< css::uno::XComponentContext > &rxContext, ContentProvider *pDocEventListener)
css::uno::Reference< css::frame::XModuleManager2 > m_xModuleMgr
css::uno::Reference< css::frame::XModel > queryDocumentModel(const OUString &rDocId)
static OUString queryDocumentId(const css::uno::Reference< css::frame::XModel > &xModel)
virtual ~OfficeDocumentsManager() override
css::uno::Reference< css::frame::XGlobalEventBroadcaster > m_xDocEvtNotifier
void updateStreamDateModified(OUString const &uri)
bool isOfficeDocument(const css::uno::Reference< css::uno::XInterface > &xDoc)
css::util::DateTime queryStreamDateModified(OUString const &uri)
css::uno::Reference< css::embed::XStorage > queryStorage(const OUString &rDocId)
virtual void SAL_CALL disposing(const css::lang::EventObject &Source) override
static bool isHelpDocument(const css::uno::Reference< css::frame::XModel > &xModel)
css::uno::Reference< css::uno::XComponentContext > m_xContext
::rtl::Reference< OfficeDocumentsCloseListener > const m_xDocCloseListener
static bool isWithoutOrInTopLevelFrame(const css::uno::Reference< css::frame::XModel > &xModel)
std::map< OUString, StorageInfo > DocumentList
css::uno::Reference< css::frame::XModel > xModel
std::unordered_map< OUString, css::util::DateTime > streamDateModified
css::uno::Reference< css::embed::XStorage > xStorage
StorageInfo(OUString _aTitle, css::uno::Reference< css::embed::XStorage > _xStorage, css::uno::Reference< css::frame::XModel > _xModel)