public static ToDoItemRoot open(string filePath) { string json = File.ReadAllText(filePath); ToDoItemRoot serializedItem = JsonConvert.DeserializeObject <ToDoItemRoot>(json, jsonSettings); return(serializedItem); }
public void openFile(string filePath) { root = ToDoItemRoot.open(filePath); settings.contentFilePath = filePath; settings.Save(); syncViewFromModel(); }
public bool newFile() { if (!isUserHappyWithTheSavedChanges) { return(false); } targetTreeNodeUserInteraction = null; nodeToBeCut = null; root = new ToDoItemRoot(); syncViewFromModel(); return(true); }
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) { createItemToolStripMenuItem.Enabled = hasTarget; createItemToolStripMenuItem.Text = hasTarget ? String.Format("Create item next to '{0}'", targetTreeNodeUserInteraction.Text) : "Create item next to..."; createItemInsideToolStripMenuItem.Text = hasTarget ? String.Format("Create item inside '{0}'", targetTreeNodeUserInteraction.Text) : "Create Top Level Item"; renameToolStripMenuItem.Enabled = hasTarget; deleteItemToolStripMenuItem.Enabled = hasTarget; deleteItemToolStripMenuItem.Text = hasTarget ? String.Format("Delete '{0}'...", targetTreeNodeUserInteraction.Text) : "Delete Item"; moveUpToolStripMenuItem.Enabled = hasTarget && parentOfTargetToDoItem.getChildIndex(getItemFromNode(targetTreeNodeUserInteraction)) > 0; moveDownToolStripMenuItem.Enabled = hasTarget && parentOfTargetToDoItem.getChildIndex(getItemFromNode(targetTreeNodeUserInteraction)) < parentOfTargetToDoItem.children.Count - 1; cutToolStripMenuItem.Enabled = hasTarget; cutToolStripMenuItem.Text = hasTarget ? String.Format("Cut '{0}'", targetTreeNodeUserInteraction.Text) : "Cut"; pasteHereToolStripMenuItem.Enabled = nodeToBeCut != null && ToDoItemRoot.canBeCutPastedHere(itemToBeCut, targetOrRootToDoItem); if (itemToBeCut != null) { pasteHereToolStripMenuItem.Text = hasTarget ? String.Format("Paste '{0}' in '{1}'", itemToBeCut.text, targetOrRootToDoItem.text) : "Paste as top level item"; } else { pasteHereToolStripMenuItem.Text = hasTarget ? String.Format("Paste in '{0}'", targetTreeNodeUserInteraction.Text) : "Paste as top level item"; } newToolStripMenuItem.Enabled = !root.isEmpty; saveToolStripMenuItem.Text = "Save " + settings.fileName; saveToolStripMenuItem.Enabled = root.needsToBeSaved; saveAsToolStripMenuItem.Enabled = !root.isEmpty; alwaysOnTopToolStripMenuItem.Checked = settings.isAlwaysOnTop; autoSaveOnFocusOutToolStripMenuItem.Checked = settings.autoSaveOnFocusOut; invertedColorThemeToolStripMenuItem.Checked = settings.colorTheme == InvertedThemeName; }
private void pasteHereToolStripMenuItem_Click(object sender, EventArgs e) { ToDoItemRoot.cutPaste(itemToBeCut, getParentItemFromNode(nodeToBeCut), targetOrRootToDoItem); nodeToBeCut = null; syncViewFromModel(); }