X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBuffer.h;h=386625e18d2906896a943d84cf5777c5edf29378;hb=4db3e641ed6765e005343010cb90ee8af26f8f99;hp=9535c12341ccc2738c02933741c63816b80458d2;hpb=c14b9e67bcf6ac16534a6d37df766c4583722045;p=lyx.git diff --git a/src/Buffer.h b/src/Buffer.h index 9535c12341..386625e18d 100644 --- a/src/Buffer.h +++ b/src/Buffer.h @@ -15,8 +15,6 @@ #include "OutputEnums.h" #include "OutputParams.h" -#include "insets/InsetCode.h" - #include "support/strfwd.h" #include "support/types.h" @@ -94,6 +92,9 @@ typedef std::set CloneList; * minimal, probably not. * \author Lars Gullik Bjønnes */ + +class MarkAsExporting; + class Buffer { public: /// What type of log will \c getLogName() return? @@ -394,7 +395,7 @@ public: /// Returns the buffer's filename. It is always an absolute path. std::string absFileName() const; - /// Returns the the path where the buffer lives. + /// Returns the path where the buffer lives. /// It is always an absolute path. std::string filePath() const; @@ -588,8 +589,7 @@ public: /// Replace the inset contents for insets which InsetCode is equal /// to the passed \p inset_code. - void changeRefsIfUnique(docstring const & from, docstring const & to, - InsetCode code); + void changeRefsIfUnique(docstring const & from, docstring const & to); /// get source code (latex/docbook) for some paragraphs, or all paragraphs /// including preamble @@ -717,7 +717,6 @@ public: int charCount(bool with_blanks) const; private: - class MarkAsExporting; friend class MarkAsExporting; /// mark the buffer as busy exporting something, or not void setExportStatus(bool e) const; @@ -753,6 +752,25 @@ private: }; +/// Helper class, to guarantee that the export status +/// gets reset properly. To use, simply create a local variable: +/// MarkAsExporting mex(bufptr); +/// and leave the rest to us. +class MarkAsExporting { +public: + MarkAsExporting(Buffer const * buf) : buf_(buf) + { + buf_->setExportStatus(true); + } + ~MarkAsExporting() + { + buf_->setExportStatus(false); + } +private: + Buffer const * const buf_; +}; + + } // namespace lyx #endif