/// <summary> /// Exports all notes to a given folder. /// </summary> /// <param name="output_folder"> The folder that the notes will be exported to. </param> private void ExportAllNotes(string output_folder) { Logger.Debug("Creating an export folder in: " + output_folder); System.IO.Directory.CreateDirectory(output_folder); //Iterate through notebooks Notebooks.Notebook notebook; string notebook_folder; foreach (Tag tag in TagManager.AllTags) { // Skip over tags that aren't notebooks notebook = NotebookManager.GetNotebookFromTag(tag); if (notebook == null) { continue; } Logger.Debug("Exporting notebook " + notebook.Name); notebook_folder = SanitizePath(output_folder + System.IO.Path.DirectorySeparatorChar + notebook.NormalizedName); System.IO.Directory.CreateDirectory(notebook_folder); ExportNotesInList(notebook.Tag.Notes, notebook_folder); } //Finally we have to export all unfiled notes. Logger.Debug("Exporting Unfiled Notes"); ExportNotesInList(ListUnfiledNotes(), output_folder); }
/// <summary> /// Called when the user chooses "Export All" /// </summary> /// <param name="sender"> void ExportAllNotes() { Logger.Info("Activated export all to " + export_type_pretty_name); exporting_single_notebook = false; //Opens the folder selection dialog ExportMultipleDialog dialog = new ExportMultipleDialog(String.Format(Catalog.GetString("All Notes {0} Export"), export_type_pretty_name), export_type_pretty_name); int response = dialog.Run(); if (response != (int)Gtk.ResponseType.Ok) { Logger.Debug("User clicked cancel."); dialog.Destroy(); return; } string output_folder = SanitizePath(dialog.Filename); try { Logger.Debug("Creating an export folder in: " + output_folder); System.IO.Directory.CreateDirectory(output_folder); //Iterate through notebooks Notebooks.Notebook notebook; string notebook_folder; foreach (Tag tag in TagManager.AllTags) { // Skip over tags that aren't notebooks notebook = NotebookManager.GetNotebookFromTag(tag); if (notebook == null) { continue; } Logger.Debug("Exporting notebook " + notebook.Name); notebook_folder = SanitizePath(output_folder + System.IO.Path.DirectorySeparatorChar + notebook.NormalizedName); System.IO.Directory.CreateDirectory(notebook_folder); ExportNotesInList(notebook.Tag.Notes, notebook_folder); } //Finally we have to export all unfiled notes. Logger.Debug("Exporting Unfiled Notes"); ExportNotesInList(ListUnfiledNotes(), output_folder); //Successful export: clean up and inform. dialog.SavePreferences(); ShowSuccessDialog(output_folder); } catch (UnauthorizedAccessException) { Logger.Error(Catalog.GetString("Could not export, access denied.")); ShowErrorDialog(output_folder, dialog, Catalog.GetString("Access denied.")); return; } catch (DirectoryNotFoundException) { Logger.Error(Catalog.GetString("Could not export, folder does not exist.")); ShowErrorDialog(output_folder, dialog, Catalog.GetString("Folder does not exist.")); return; } catch (Exception ex) { Logger.Error(Catalog.GetString("Could not export: {0}"), ex); ShowErrorDialog(output_folder, dialog, Catalog.GetString("Unknown error.")); return; } finally { if (dialog != null) { dialog.Destroy(); dialog = null; } } }