]> git.lyx.org Git - lyx.git/blobdiff - src/Buffer.h
Add Qt's Svg module to the list of used modules. This is required to allow the use...
[lyx.git] / src / Buffer.h
index 9ff775250ead5d7109fbed2991d6a393482cb972..b50d5f408a7251c717f238595a2bccf9aa39b464 100644 (file)
@@ -134,7 +134,10 @@ public:
                ExportTexPathHasSpaces,
                ExportConverterError,
                // preview
+               // Implies ExportSuccess.
                PreviewSuccess,
+               // The exported file exists but there was an error when opening
+               // it in a viewer.
                PreviewError
        };
 
@@ -400,6 +403,25 @@ public:
        /// It is always an absolute path.
        std::string filePath() const;
 
+       /** Returns the path where the document was last saved.
+        *  It may be different from filePath() if the document was later
+        *  manually moved to a different location.
+        *  It is always an absolute path.
+        */
+       std::string originFilePath() const;
+
+       /** Returns the path where a local layout file lives.
+        *  An empty string is returned for standard system and user layouts.
+        *  If possible, it is always relative to the buffer path.
+        */
+       std::string layoutPos() const;
+
+       /** Set the path to a local layout file.
+        *  This must be an absolute path but, if possible, it is always
+        *  stored as relative to the buffer path.
+        */
+       void setLayoutPos(std::string const & path);
+
        /** A transformed version of the file name, adequate for LaTeX.
            \param no_path optional if \c true then the path is stripped.
        */
@@ -645,6 +667,9 @@ public:
        /// Export buffer to format \p format and open the result in a suitable viewer.
        /// Note: This has nothing to do with preview of graphics or math formulas.
        ExportStatus preview(std::string const & format) const;
+       /// true if there was a previous preview this session of this buffer and
+       /// there was an error on the previous preview of this buffer.
+       bool lastPreviewError() const;
 
 private:
        ///
@@ -707,6 +732,18 @@ public:
        ///
        void checkMasterBuffer();
 
+       /// If the document is being saved to a new location and the named file
+       /// exists at the old location, return its updated path relative to the
+       /// new buffer path if possible, otherwise return its absolute path.
+       /// In all other cases, this is a no-op and name is returned unchanged.
+       /// If a non-empty ext is given, the existence of name.ext is checked
+       /// but the returned path will not contain this extension.
+       /// Similarly, when loading a document that was moved from the location
+       /// where it was saved, return the correct path relative to the new
+       /// location.
+       std::string includedFilePath(std::string const & name,
+                               std::string const & ext = empty_string()) const;
+
        /// compute statistics between \p from and \p to
        /// \p from initial position
        /// \p to points to the end position