]> git.lyx.org Git - lyx.git/blobdiff - src/LyXVC.h
GuiLabel: generalize initialiseParams() and transfer to InsetParamsWidget as this...
[lyx.git] / src / LyXVC.h
index efe639aff97d630588e73b829aa4138032d4fdef..f0302eee6637e40f9a3ae4765f3d0b19ba29e5ef 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,20 @@ 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.
+        * If RCS addressed by a single number, it is automatically used
+        * as the last number in the whole revision specification (it applies
+        * for retrieving normal revisions (rev>0) or backtracking (rev<0).
+        */
+       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.
@@ -116,13 +137,30 @@ public:
        /// 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) const;
 
 private:
        ///