tomboy r1752 - in trunk: . Tomboy Tomboy/Notebooks



Author: btimothy
Date: Tue Jan  8 18:17:26 2008
New Revision: 1752
URL: http://svn.gnome.org/viewvc/tomboy?rev=1752&view=rev

Log:
2008-01-08  Boyd Timothy <btimothy gmail com> 

        * Tomboy/RecentChanges.cs: Added a handler for
          "NewNotebookNoteAction" which allows a new note
          to be created off of a notebook's context/popup
          menu.

        * Tomboy/Notebooks/NotebookApplicationAddin.cs: Add
          a "_New Note" menu item to the notebook's context
          menu.  This change appears in the Search All Notes
          window (RecentChanges.cs).



Modified:
   trunk/ChangeLog
   trunk/Tomboy/Notebooks/NotebookApplicationAddin.cs
   trunk/Tomboy/RecentChanges.cs

Modified: trunk/Tomboy/Notebooks/NotebookApplicationAddin.cs
==============================================================================
--- trunk/Tomboy/Notebooks/NotebookApplicationAddin.cs	(original)
+++ trunk/Tomboy/Notebooks/NotebookApplicationAddin.cs	Tue Jan  8 18:17:26 2008
@@ -32,6 +32,10 @@
 				        Catalog.GetString ("New Note_book..."), null,
 				        Catalog.GetString ("Create a new notebook"), null),
 					
+				new Gtk.ActionEntry ("NewNotebookNoteAction", Gtk.Stock.New,
+					Catalog.GetString ("_New Note"), null,
+					Catalog.GetString ("Create a new note in this notebook"), null),
+					
 				new Gtk.ActionEntry ("OpenNotebookTemplateNoteAction", Gtk.Stock.Open,
 					Catalog.GetString ("_Open Template Note"), null,
 					Catalog.GetString ("Open this notebook's template note"), null),
@@ -60,6 +64,8 @@
 							</menu>
 						</menubar>
 						<popup name='NotebooksTreeContextMenu' action='NotebooksTreeContextMenuAction'>
+							<menuitem name='NewNotebookNote' action='NewNotebookNoteAction' />
+							<separator />
 							<menuitem name='OpenNotebookTemplateNote' action='OpenNotebookTemplateNoteAction' />
 							<menuitem name='DeleteNotebook' action='DeleteNotebookAction' />
 						</popup>

Modified: trunk/Tomboy/RecentChanges.cs
==============================================================================
--- trunk/Tomboy/RecentChanges.cs	(original)
+++ trunk/Tomboy/RecentChanges.cs	Tue Jan  8 18:17:26 2008
@@ -208,6 +208,7 @@
 
                         am ["OpenNoteAction"].Activated += OnOpenNote;
                         am ["DeleteNoteAction"].Activated += OnDeleteNote;
+                        am ["NewNotebookNoteAction"].Activated += OnNewNotebookNote;
                         am ["OpenNotebookTemplateNoteAction"].Activated += OnOpenNotebookTemplateNote;
 			am ["NewNotebookAction"].Activated += OnNewNotebook;
                         am ["DeleteNotebookAction"].Activated += OnDeleteNotebook;
@@ -806,6 +807,7 @@
                                 am ["DeleteNoteAction"].Activated -= OnDeleteNote;
 				am ["NewNotebookAction"].Activated -= OnNewNotebook;
 				am ["DeleteNotebookAction"].Activated -= OnDeleteNotebook;
+                am ["NewNotebookNoteAction"].Activated -= OnNewNotebookNote;
 				am ["OpenNotebookTemplateNoteAction"].Activated -= OnOpenNotebookTemplateNote;
                                 am ["CloseWindowAction"].Activated -= OnCloseWindow;
                         }
@@ -1049,7 +1051,7 @@
 				// Clear out the currently selected tags so that no notebook is selected
 				selected_tags.Clear ();
                 Tomboy.ActionManager ["OpenNotebookTemplateNoteAction"].Sensitive = false;
-				Tomboy.ActionManager ["DeleteNotebookAction"].Sensitive = false;
+
 				
 				// Select the "All Notes" item without causing
 				// this handler to be called again
@@ -1062,10 +1064,8 @@
 					selected_tags.Add (notebook.Tag, notebook.Tag);
 				if (notebook is Notebooks.AllNotesNotebook) {
 	                Tomboy.ActionManager ["OpenNotebookTemplateNoteAction"].Sensitive = true;
-					Tomboy.ActionManager ["DeleteNotebookAction"].Sensitive = false;
 				} else {
 	                Tomboy.ActionManager ["OpenNotebookTemplateNoteAction"].Sensitive = true;
-					Tomboy.ActionManager ["DeleteNotebookAction"].Sensitive = true;
 				}
 			}
 			
@@ -1092,6 +1092,30 @@
 			OnOpenNotebookTemplateNote (sender, EventArgs.Empty);
 		}
 		
+		private void OnNewNotebookNote (object sender, EventArgs args)
+		{
+			Notebooks.Notebook notebook = GetSelectedNotebook ();
+			if (notebook == null || notebook is Notebooks.AllNotesNotebook) {
+				// Just create a standard note (not in a notebook)
+				Tomboy.ActionManager ["NewNoteAction"].Activate ();
+				return;
+			}
+			
+			// Look for the template note and create a new note
+			Note templateNote = notebook.GetTemplateNote ();
+			Note note;
+			
+			note = manager.Create ();
+			if (templateNote != null) {
+				// Use the body from the template note
+				string xmlContent = templateNote.XmlContent.Replace (templateNote.Title, note.Title);
+				note.XmlContent = xmlContent;
+			}
+			
+			note.AddTag (notebook.Tag);
+			note.Window.Show ();
+		}
+		
 		private void OnOpenNotebookTemplateNote (object sender, EventArgs args)
 		{
 			Notebooks.Notebook notebook = GetSelectedNotebook ();



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]