X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBuffer.h;h=b50d5f408a7251c717f238595a2bccf9aa39b464;hb=0933df00113ee2735699c13559ad3b6e7e9fd115;hp=718fe1e2e123d318613b6b230b1463368b0d6911;hpb=8c351e32be92fca91e2dd1f9ec478d5cb1ce6c8c;p=lyx.git diff --git a/src/Buffer.h b/src/Buffer.h index 718fe1e2e1..b50d5f408a 100644 --- a/src/Buffer.h +++ b/src/Buffer.h @@ -403,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. */ @@ -648,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: /// @@ -710,11 +732,17 @@ public: /// void checkMasterBuffer(); - /// If the document is being saved to a new location, return the - /// updated path of an included file relative to the new buffer path - /// if possible, otherwise return its absolute path. + /// 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. - std::string includedFilePath(std::string const & name) const; + /// 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