]> git.lyx.org Git - lyx.git/blobdiff - src/LyXVC.h
New XHTML math options. Format change.
[lyx.git] / src / LyXVC.h
index 1c954da109c866be57d33c7746bf04b5ba310960..fb561a39e2c4220bd621df6ff7278daa34dd5097 100644 (file)
@@ -67,6 +67,13 @@ public:
        /// Register the document as an VC file.
        bool registrer();
 
+
+       // std::string used as a return value in functions below are
+       // workaround to defer messages to be displayed in UI. If message()
+       // is used directly, message string is immediately overwritten
+       // by the next multiple messages on the top of the processed dispatch
+       // machinery.
+
        /// Unlock and commit changes. Returns log.
        std::string checkIn();
        /// Does the current VC supports this operation?
@@ -97,6 +104,17 @@ public:
        void undoLast();
        /// Does the current VC supports this operation?
        bool undoLastEnabled() const;
+       /**
+        * Prepare revision rev of the file into newly created temporary file
+        * and save the filename into parameter f.
+        * Parameter rev can be either revision number or negative number
+        * which is interpreted as how many revision back from the current
+        * one do we want. rev=0 is reserved for the last (committed) revision.
+        * We need rev to be string, since in various VCS revision is not integer.
+        */
+       bool prepareFileRevision(std::string const & rev, std::string & f);
+       /// Does the current VC supports this operation?
+       bool prepareFileRevisionEnabled();
 
        /**
         * Generate a log file and return the filename.
@@ -105,19 +123,41 @@ public:
         */
        const std::string getLogFile() const;
 
-       ///
+       /**
+        * We do not support this generally. In RCS/SVN file read-only flag
+        * is often connected with locking state and one has to be careful to
+        * keep things in synchro once we would allow user to toggle
+        * read-only flags.
+        */
        void toggleReadOnly();
 
        /// Is the document under administration by VCS?
        bool inUse() const;
 
-       /// Returns the version number.
-       //std::string const & version() const;
-       /// Returns the version number.
+       /// Returns the RCS + version number for messages
        std::string const versionString() const;
 
-       /// Returns the userid of the person who has locked the doc.
-       std::string const & locker() const;
+       /**
+        * Returns whether we use locking for the given file.
+        */
+       bool locking() const;
+
+       // type of the revision information
+       enum RevisionInfo {
+               Unknown = 0,
+               File = 1,
+               Tree = 2,
+               Author = 3,
+               Date = 4,
+               Time = 5
+       };
+
+       /**
+        * Return revision info specified by the argument.
+        * Its safe to call it regardless VCS is in usage or this
+        * info is (un)available. Returns empty string in such a case.
+        */
+       std::string revisionInfo(RevisionInfo const info);
 
 private:
        ///