diff options
-rw-r--r-- | include/svl/undo.hxx | 5 | ||||
-rw-r--r-- | svl/source/undo/undo.cxx | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/include/svl/undo.hxx b/include/svl/undo.hxx index 032738e57851..789fd171910e 100644 --- a/include/svl/undo.hxx +++ b/include/svl/undo.hxx @@ -21,6 +21,7 @@ #include <svl/svldllapi.h> #include <rtl/ustring.hxx> +#include <tools/datetime.hxx> #include <limits> #include <memory> @@ -61,11 +62,15 @@ public: virtual sal_uInt16 GetId() const; /// ID of the view shell that created this undo action. virtual sal_Int32 GetViewShellId() const; + /// Timestamp when this undo item was created. + const DateTime& GetDateTime() const; virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const; private: SfxUndoAction( const SfxUndoAction& ) = delete; SfxUndoAction& operator=( const SfxUndoAction& ) = delete; + + DateTime m_aDateTime; }; diff --git a/svl/source/undo/undo.cxx b/svl/source/undo/undo.cxx index a198f271b415..7ccafe3638ae 100644 --- a/svl/source/undo/undo.cxx +++ b/svl/source/undo/undo.cxx @@ -26,6 +26,7 @@ #include <comphelper/flagguard.hxx> #include <tools/diagnose_ex.h> #include <libxml/xmlwriter.h> +#include <unotools/datetime.hxx> #include <vector> #include <list> @@ -51,6 +52,7 @@ SfxUndoAction::~SfxUndoAction() SfxUndoAction::SfxUndoAction() + : m_aDateTime(DateTime::SYSTEM) { } @@ -77,6 +79,11 @@ sal_Int32 SfxUndoAction::GetViewShellId() const return -1; } +const DateTime& SfxUndoAction::GetDateTime() const +{ + return m_aDateTime; +} + OUString SfxUndoAction::GetRepeatComment(SfxRepeatTarget&) const { return GetComment(); @@ -130,6 +137,7 @@ void SfxUndoAction::dumpAsXml(xmlTextWriterPtr pWriter) const xmlTextWriterWriteAttribute(pWriter, BAD_CAST("symbol"), BAD_CAST(typeid(*this).name())); xmlTextWriterWriteAttribute(pWriter, BAD_CAST("comment"), BAD_CAST(GetComment().toUtf8().getStr())); xmlTextWriterWriteAttribute(pWriter, BAD_CAST("viewShellId"), BAD_CAST(OString::number(GetViewShellId()).getStr())); + xmlTextWriterWriteAttribute(pWriter, BAD_CAST("dateTime"), BAD_CAST(utl::toISO8601(m_aDateTime.GetUNODateTime()).toUtf8().getStr())); xmlTextWriterEndElement(pWriter); } |