]> git.lyx.org Git - lyx.git/blobdiff - src/BranchList.cpp
* GuiDocument.cpp:
[lyx.git] / src / BranchList.cpp
index a593c5478fc91e9b421537f6cc849b32b2590238..02f8b8688d4d377976588f7d58ec7fa7c0bdfca6 100644 (file)
@@ -150,4 +150,25 @@ bool BranchList::remove(docstring const & s)
 }
 
 
+bool BranchList::rename(docstring const & oldname,
+       docstring const & newname, bool const merge)
+{
+       if (newname.empty())
+               return false;
+       if (find_if(list.begin(), list.end(),
+                   BranchNamesEqual(newname)) != list.end()) {
+               // new name already taken
+               if (merge)
+                     return remove(oldname);
+               return false;
+       }
+
+       Branch * branch = find(oldname);
+       if (!branch)
+               return false;
+       branch->setBranch(newname);
+       return true;
+}
+
+
 } // namespace lyx