]> git.lyx.org Git - lyx.git/blobdiff - src/Buffer.h
Amend 6c3447c8: FindAdv: sometimes a space is added on some math symbols
[lyx.git] / src / Buffer.h
index 4905efb45d03ddc1dec8e8f424addf8596af8006..d9e7e325d4d9eae00e99a7d8b414a95b1fe4c25b 100644 (file)
@@ -39,7 +39,6 @@ class FuncRequest;
 class FuncStatus;
 class Inset;
 class InsetLabel;
-class Lexer;
 class Text;
 class LyXVC;
 class LaTeXFeatures;
@@ -67,6 +66,7 @@ namespace support {
 class DocFileName;
 class FileName;
 class FileNameList;
+class Lexer;
 } // namespace support
 
 namespace graphics {
@@ -226,7 +226,7 @@ public:
 //FIXME: The following function should be private
 //private:
        /// read the header, returns number of unknown tokens
-       int readHeader(Lexer & lex);
+       int readHeader(support::Lexer & lex);
 
        double fontScalingFactor() const;
        /// check for active synctex support:
@@ -247,14 +247,14 @@ private:
        /// Reads a file without header.
        /// \param par if != 0 insert the file.
        /// \return \c true if file is not completely read.
-       bool readDocument(Lexer &);
+       bool readDocument(support::Lexer &);
        /// Try to extract the file from a version control container
        /// before reading if the file cannot be found.
        /// \sa LyXVC::file_not_found_hook
        ReadStatus extractFromVC();
        /// Reads the first tag of a LyX File and
        /// returns the file format number.
-       ReadStatus parseLyXFormat(Lexer & lex, support::FileName const & fn,
+       ReadStatus parseLyXFormat(support::Lexer & lex, support::FileName const & fn,
                int & file_format) const;
        /// Convert the LyX file to the LYX_FORMAT using
        /// the lyx2lyx script and returns the filename
@@ -534,11 +534,9 @@ public:
        void invalidateCiteLabels() const;
        ///
        bool citeLabelsValid() const;
-       /// two strings: plain label name and label as gui string
-       void getLabelList(std::vector<std::pair<docstring, docstring>> &) const;
-
-       /// This removes the .aux and .bbl files from the temp dir.
-       void removeBiblioTempFiles() const;
+       /// three strings: plain label name, label as gui string, and
+       /// dereferenced label name
+       void getLabelList(std::vector<std::tuple<docstring, docstring, docstring>> &) const;
 
        ///
        void changeLanguage(Language const * from, Language const * to);
@@ -703,6 +701,8 @@ private:
        ///
        ExportStatus doExport(std::string const & target, bool put_in_tempdir,
                std::string & result_file) const;
+       /// This removes the .aux and .bbl files from the temp dir.
+       void removeBiblioTempFiles() const;
        /// target is a format name optionally followed by a space
        /// and a destination file-name
        ExportStatus doExport(std::string const & target, bool put_in_tempdir,
@@ -805,18 +805,20 @@ public:
        /// of loaded child documents).
        docstring_list const &
                getBibfiles(UpdateScope scope = UpdateMaster) const;
-
+       ///
+       void scheduleBiblioTempRemoval() const { removeBiblioTemps = true; }
        /// routines for dealing with possible self-inclusion
        void pushIncludedBuffer(Buffer const * buf) const;
        void popIncludedBuffer() const;
        bool isBufferIncluded(Buffer const * buf) const;
 private:
        void clearIncludeList() const;
-
-private:
+       ///
        friend class MarkAsExporting;
        /// mark the buffer as busy exporting something, or not
        void setExportStatus(bool e) const;
+       ///
+       mutable bool removeBiblioTemps = false;
 
        ///
        References & getReferenceCache(docstring const & label);