void OnNotebookRowEdited (object sender, Gtk.EditedArgs args)
{
if (Notebooks.NotebookManager.NotebookExists (args.NewText) ||
string.IsNullOrEmpty (args.NewText))
return;
var oldNotebook = GetSelectedNotebook ();
if (oldNotebook is Notebooks.SpecialNotebook)
return;
var newNotebook = Notebooks.NotebookManager.GetOrCreateNotebook (args.NewText);
Logger.Debug ("Renaming notebook '{0}' to '{1}'",
oldNotebook.Name,
args.NewText);
foreach (Note note in oldNotebook.Tag.Notes)
Notebooks.NotebookManager.MoveNoteToNotebook (note, newNotebook);
Notebooks.NotebookManager.DeleteNotebook (oldNotebook);
Gtk.TreeIter iter;
if (Notebooks.NotebookManager.GetNotebookIter (newNotebook, out iter)) {
// TODO: Why doesn't this work?
notebooksTree.Selection.SelectIter (iter);
}
}