]> git.lyx.org Git - lyx.git/blobdiff - src/Buffer.h
Do not overwrite read-only files. We now move the file to the backup directory and...
[lyx.git] / src / Buffer.h
index 39c386ca4253ce0ce340a09eb76b63bccc1d1f36..b91f36ffe67e35e2382e0bd9f0e27562e67fb06b 100644 (file)
@@ -177,6 +177,8 @@ public:
            Returns \c true if the save is successful, \c false otherwise.
        */
        bool save() const;
+       /// Renames and saves the buffer
+       bool saveAs(support::FileName const & fn);
 
        /// Write document to stream. Returns \c false if unsuccesful.
        bool write(std::ostream &) const;
@@ -185,13 +187,13 @@ public:
 
        /// \name Functions involved in reading files/strings.
        //@{
-       /// Loads a LyX file \c fn into the buffer. This function
+       /// Loads the LyX file into the buffer. This function
        /// tries to extract the file from version control if it
        /// cannot be found. If it can be found, it will try to
        /// read an emergency save file or an autosave file.
        /// \sa loadThisLyXFile
-       ReadStatus loadLyXFile(support::FileName const & fn);
-       /// Loads a LyX file \c fn into the buffer. If you want
+       ReadStatus loadLyXFile();
+       /// Loads the LyX file \c fn into the buffer. If you want
        /// to check for files in a version control container,
        /// emergency or autosave files, one should use \c loadLyXFile.
        /// /sa loadLyXFile
@@ -199,13 +201,15 @@ public:
        /// read a new document from a string
        bool readString(std::string const &);
        /// Reloads the LyX file
-       bool reload();
+       ReadStatus reload();
 //FIXME: The following function should be private
 //private:
        /// read the header, returns number of unknown tokens
        int readHeader(Lexer & lex);
-       
+
 private:
+       /// save timestamp and checksum of the given file.
+       void saveCheckSum() const;      
        /// read a new file
        ReadStatus readFile(support::FileName const & fn);
        /// Reads a file without header.
@@ -216,7 +220,7 @@ private:
        /// before reading if the file cannot be found. This is only
        /// implemented for RCS.
        /// \sa LyXVC::file_not_found_hook
-       ReadStatus extractFromVC(support::FileName const & fn);
+       ReadStatus extractFromVC();
        /// Reads the first tag of a LyX File and 
        /// returns the file format number.
        ReadStatus parseLyXFormat(Lexer & lex, support::FileName const & fn,
@@ -231,35 +235,28 @@ private:
 public:
        /// \name Functions involved in autosave and emergency files.
        //@{
-       ///
-       void autoSave() const;
+       /// Save an autosave file to #filename.lyx#
+       bool autoSave() const;  
        /// save emergency file
        /// \return a status message towards the user.
        docstring emergencyWrite();
 
-//FIXME:The following three functions should be private
+//FIXME:The following function should be private
 //private:
        ///
        void removeAutosaveFile() const;
-       ///
-       void moveAutosaveFile(support::FileName const & old) const;
-       /// Get the filename of the autosave file associated with the Buffer
-       support::FileName getAutosaveFileName() const;
        
 private:
        /// Try to load an autosave file associated to \c fn.
-       ReadStatus loadAutosave(support::FileName const & fn);
-       /// Get the filename of the autosave file associated with \c fn
-       support::FileName getAutosaveFileNameFor(support::FileName const & fn)
-               const;
-
+       ReadStatus loadAutosave();
        /// Try to load an emergency file associated to \c fn. 
-       ReadStatus loadEmergency(support::FileName const & fn);
+       ReadStatus loadEmergency();
        /// Get the filename of the emergency file associated with the Buffer
        support::FileName getEmergencyFileName() const;
-       /// Get the filename of the emergency file associated with \c fn
-       support::FileName getEmergencyFileNameFor(support::FileName const & fn)
-               const;
+       /// Get the filename of the autosave file associated with the Buffer
+       support::FileName getAutosaveFileName() const;
+       ///
+       void moveAutosaveFile(support::FileName const & old) const;
        //@}
 
 public:
@@ -328,9 +325,6 @@ public:
        /// whether or not disk file has been externally modified
        bool isExternallyModified(CheckMethod method) const;
 
-       /// save timestamp and checksum of the given file.
-       void saveCheckSum() const;
-
        /// mark the main lyx file as not needing saving
        void markClean() const;
 
@@ -371,9 +365,6 @@ public:
        /// Get the name and type of the log.
        std::string logName(LogType * type = 0) const;
 
-       /// Change name of buffer. Updates "read-only" flag.
-       void setFileName(std::string const & newfile);
-
        /// Set document's parent Buffer.
        void setParent(Buffer const *);
        Buffer const * parent() const;
@@ -514,6 +505,11 @@ public:
        /// Set by buffer_funcs' newFile.
        void setFullyLoaded(bool);
 
+       /// Update the LaTeX preview snippets associated with this buffer
+       void updatePreviews() const;
+       /// Remove any previewed LaTeX snippets associated with this buffer
+       void removePreviews() const;
+
        /// Our main text (inside the top InsetText)
        Text & text() const;
 
@@ -658,6 +654,8 @@ public:
        void checkChildBuffers();
 
 private:
+       /// Change name of buffer. Updates "read-only" flag.
+       void setFileName(support::FileName const & fname);
        ///
        std::vector<std::string> backends() const;
        ///