]> git.lyx.org Git - lyx.git/blobdiff - src/LyXVC.cpp
Account for old versions of Pygments
[lyx.git] / src / LyXVC.cpp
index 2dd5ac154cc83cd21f1cf23e8f1b1e9b921217cd..97a0554e8c4212a73acb648f773541dc0311219d 100644 (file)
@@ -25,6 +25,7 @@
 #include "support/filetools.h"
 #include "support/gettext.h"
 #include "support/lstrings.h"
+#include "support/TempFile.h"
 
 using namespace std;
 using namespace lyx::support;
@@ -40,9 +41,15 @@ LyXVC::LyXVC()
 }
 
 
-// for the sake of boost::scoped_ptr
-LyXVC::~LyXVC()
-{}
+docstring LyXVC::vcstatus() const
+{
+       if (!vcs)
+               return docstring();
+       if (locking())
+               return bformat(_("%1$s lock"), from_ascii(vcs->vcname()));
+       else
+               return from_ascii(vcs->vcname());
+}
 
 
 bool LyXVC::fileInVC(FileName const & fn)
@@ -255,7 +262,7 @@ string LyXVC::checkOut()
        if (!vcs)
                return string();
        //RCS allows checkOut only in ReadOnly mode
-       if (vcs->toggleReadOnlyEnabled() && !owner_->isReadonly())
+       if (vcs->toggleReadOnlyEnabled() && !owner_->hasReadonlyFlag())
                return string();
 
        LYXERR(Debug::LYXVC, "LyXVC: checkOut");
@@ -322,13 +329,18 @@ string LyXVC::toggleReadOnly()
        case VCS::LOCKED: {
                LYXERR(Debug::LYXVC, "LyXVC: toggle to unlocked");
                string log;
-               if (checkIn(log) != Success)
+               if (checkIn(log) != VCSuccess)
                        return string();
                return log;
        }
        case VCS::NOLOCKING:
-       case VCS::UNVERSIONED:
-               break;
+               Buffer * b = vcs->owner();
+               bool const newstate = !b->hasReadonlyFlag();
+               string result = "LyXVC: toggle to ";
+               result += (newstate ? "readonly" : "readwrite");
+               LYXERR(Debug::LYXVC, result);
+               b->setReadonly(newstate);
+               return result;
        }
        return string();
 }
@@ -337,7 +349,7 @@ string LyXVC::toggleReadOnly()
 bool LyXVC::inUse() const
 {
        if (vcs)
-               return vcs->status() != VCS::UNVERSIONED;
+               return true;
        return false;
 }
 
@@ -363,7 +375,9 @@ string const LyXVC::getLogFile() const
        if (!vcs)
                return string();
 
-       FileName const tmpf = FileName::tempName("lyxvclog");
+       TempFile tempfile("lyxvclog");
+       tempfile.setAutoRemove(false);
+       FileName const tmpf = tempfile.name();
        if (tmpf.empty()) {
                LYXERR(Debug::LYXVC, "Could not generate logfile " << tmpf);
                return string();