]> git.lyx.org Git - lyx.git/blobdiff - src/LyXVC.cpp
findadv: using \w instead of [[:word:]] makes test-case std::regex compatible; also...
[lyx.git] / src / LyXVC.cpp
index 4dbcfd2675f5041bda2285e6950f266cc2fee87a..97a0554e8c4212a73acb648f773541dc0311219d 100644 (file)
@@ -41,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)
@@ -256,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");
@@ -328,7 +334,13 @@ string LyXVC::toggleReadOnly()
                return log;
        }
        case VCS::NOLOCKING:
-               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();
 }