Skip to content

Commit 58fb275

Browse files
authored
Merge pull request #5 from Odotocodot/dev
Fix error due to encrypted sections
2 parents 8079c14 + 2515438 commit 58fb275

File tree

3 files changed

+43
-26
lines changed

3 files changed

+43
-26
lines changed

NotebookExplorer.cs

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,14 @@ public class NotebookExplorer
99
{
1010
private PluginInitContext context;
1111
private OneNotePlugin oneNotePlugin;
12+
13+
private IOneNoteExtNotebook LastSelectedNotebook { get => oneNotePlugin.lastSelectedNotebook; set => oneNotePlugin.lastSelectedNotebook = value; }
14+
private IOneNoteExtSection LastSelectedSection { get => oneNotePlugin.lastSelectedSection; set => oneNotePlugin.lastSelectedSection = value; }
15+
1216
private ResultCreator rc;
1317

18+
private List<Result> NoResults => new List<Result>();
19+
1420
public NotebookExplorer(PluginInitContext context, OneNotePlugin oneNotePlugin, ResultCreator resultCreator)
1521
{
1622
this.context = context;
@@ -32,14 +38,15 @@ public List<Result> Explore(Query query)
3238

3339
if (string.IsNullOrWhiteSpace(searchString)) // Do a normall notebook search
3440
{
35-
oneNotePlugin.lastSelectedNotebook = null;
41+
LastSelectedNotebook = null;
3642
return OneNoteProvider.NotebookItems.Select(nb => rc.CreateNotebookResult(nb)).ToList();
3743
}
3844

3945
return OneNoteProvider.NotebookItems.Where(nb =>
4046
{
41-
if (oneNotePlugin.lastSelectedNotebook != null && nb.ID == oneNotePlugin.lastSelectedNotebook.ID)
47+
if (LastSelectedNotebook != null && nb.ID == LastSelectedNotebook.ID)
4248
return true;
49+
4350
return TreeQuery(nb.Name, searchString, out highlightData);
4451
})
4552
.Select(nb => rc.CreateNotebookResult(nb, highlightData))
@@ -49,65 +56,71 @@ public List<Result> Explore(Query query)
4956
searchString = searchStrings[2];
5057

5158
if (!ValidateNotebook(searchStrings[1]))
52-
return new List<Result>();
59+
return NoResults;
5360

5461
if (string.IsNullOrWhiteSpace(searchString))
5562
{
56-
oneNotePlugin.lastSelectedSection = null;
57-
return oneNotePlugin.lastSelectedNotebook.Sections.Select(s => rc.CreateSectionResult(s,oneNotePlugin.lastSelectedNotebook)).ToList();
63+
LastSelectedSection = null;
64+
return LastSelectedNotebook.Sections.Where(s => !s.Encrypted)
65+
.Select(s => rc.CreateSectionResult(s, LastSelectedNotebook))
66+
.ToList();
5867
}
59-
return oneNotePlugin.lastSelectedNotebook.Sections.Where(s =>
68+
return LastSelectedNotebook.Sections.Where(s =>
6069
{
61-
if (oneNotePlugin.lastSelectedSection != null && s.ID == oneNotePlugin.lastSelectedSection.ID)
70+
if(s.Encrypted)
71+
return false;
72+
73+
if (LastSelectedSection != null && s.ID == LastSelectedSection.ID)
6274
return true;
75+
6376
return TreeQuery(s.Name, searchString, out highlightData);
6477
})
65-
.Select(s => rc.CreateSectionResult(s, oneNotePlugin.lastSelectedNotebook, highlightData))
78+
.Select(s => rc.CreateSectionResult(s, LastSelectedNotebook, highlightData))
6679
.ToList();
6780

6881
case 4://Searching pages in a section
6982
searchString = searchStrings[3];
7083

7184
if (!ValidateNotebook(searchStrings[1]))
72-
return new List<Result>();
85+
return NoResults;
7386

7487
if (!ValidateSection(searchStrings[2]))
75-
return new List<Result>();
88+
return NoResults;
7689

7790
if (string.IsNullOrWhiteSpace(searchString))
78-
return oneNotePlugin.lastSelectedSection.Pages.Select(pg => rc.CreatePageResult(pg,oneNotePlugin.lastSelectedSection, oneNotePlugin.lastSelectedNotebook)).ToList();
91+
return LastSelectedSection.Pages.Select(pg => rc.CreatePageResult(pg,LastSelectedSection, LastSelectedNotebook)).ToList();
7992

80-
return oneNotePlugin.lastSelectedSection.Pages.Where(pg => TreeQuery(pg.Name, searchString, out highlightData))
81-
.Select(pg => rc.CreatePageResult(pg,oneNotePlugin.lastSelectedSection, oneNotePlugin.lastSelectedNotebook, highlightData))
93+
return LastSelectedSection.Pages.Where(pg => TreeQuery(pg.Name, searchString, out highlightData))
94+
.Select(pg => rc.CreatePageResult(pg,LastSelectedSection, LastSelectedNotebook, highlightData))
8295
.ToList();
8396

8497
default:
85-
return new List<Result>();
98+
return NoResults;
8699
}
87100

88101
}
89102

90103
private bool ValidateNotebook(string notebookName)
91104
{
92-
if (oneNotePlugin.lastSelectedNotebook == null)
105+
if (LastSelectedNotebook == null)
93106
{
94107
var notebook = OneNoteProvider.NotebookItems.FirstOrDefault(nb => nb.Name == notebookName);
95108
if (notebook == null)
96109
return false;
97-
oneNotePlugin.lastSelectedNotebook = notebook;
110+
LastSelectedNotebook = notebook;
98111
return true;
99112
}
100113
return true;
101114
}
102115

103116
private bool ValidateSection(string sectionName)
104117
{
105-
if (oneNotePlugin.lastSelectedSection == null) //Check if section is valid
118+
if (LastSelectedSection == null) //Check if section is valid
106119
{
107-
var section = oneNotePlugin.lastSelectedNotebook.Sections.FirstOrDefault(s => s.Name == sectionName);
108-
if (section == null)
120+
var section = LastSelectedNotebook.Sections.FirstOrDefault(s => s.Name == sectionName);
121+
if (section == null || section.Encrypted)
109122
return false;
110-
oneNotePlugin.lastSelectedSection = section;
123+
LastSelectedSection = section;
111124
return true;
112125
}
113126
return true;

ResultCreator.cs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ public class ResultCreator
1111
private OneNoteItemInfo notebookInfo;
1212
private OneNoteItemInfo sectionInfo;
1313

14+
private IOneNoteExtNotebook LastSelectedNotebook { get => oneNotePlugin.lastSelectedNotebook; set => oneNotePlugin.lastSelectedNotebook = value; }
15+
private IOneNoteExtSection LastSelectedSection { get => oneNotePlugin.lastSelectedSection; set => oneNotePlugin.lastSelectedSection = value; }
16+
17+
1418
public ResultCreator(PluginInitContext context, OneNotePlugin oneNotePlugin)
1519
{
1620
this.context = context;
@@ -41,8 +45,8 @@ public Result CreatePageResult(IOneNotePage page, IOneNoteSection section, IOneN
4145
TitleHighlightData = highlightingData,
4246
Action = c =>
4347
{
44-
oneNotePlugin.lastSelectedNotebook = null;
45-
oneNotePlugin.lastSelectedSection = null;
48+
LastSelectedNotebook = null;
49+
LastSelectedSection = null;
4650
page.OpenInOneNote();
4751
return true;
4852
},
@@ -66,8 +70,8 @@ public Result CreateSectionResult(IOneNoteExtSection section, IOneNoteExtNoteboo
6670
IcoPath = sectionInfo.GetIcon(section.Color.Value),
6771
Action = c =>
6872
{
69-
oneNotePlugin.lastSelectedSection = section;
70-
context.API.ChangeQuery($"{context.CurrentPluginMetadata.ActionKeyword} {Constants.StructureKeyword}{oneNotePlugin.lastSelectedNotebook.Name}\\{section.Name}\\");
73+
LastSelectedSection = section;
74+
context.API.ChangeQuery($"{context.CurrentPluginMetadata.ActionKeyword} {Constants.StructureKeyword}{LastSelectedNotebook.Name}\\{section.Name}\\");
7175
return false;
7276
},
7377
};
@@ -83,7 +87,7 @@ public Result CreateNotebookResult(IOneNoteExtNotebook notebook, List<int> highl
8387
IcoPath = notebookInfo.GetIcon(notebook.Color.Value),
8488
Action = c =>
8589
{
86-
oneNotePlugin.lastSelectedNotebook = notebook;
90+
LastSelectedNotebook = notebook;
8791
context.API.ChangeQuery($"{context.CurrentPluginMetadata.ActionKeyword} {Constants.StructureKeyword}{notebook.Name}\\");
8892
return false;
8993
},

plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"Name": "OneNote",
55
"Description": "Search OneNote notes",
66
"Author": "Odotocodot",
7-
"Version": "1.0.1",
7+
"Version": "1.0.2",
88
"Language": "csharp",
99
"Website": "https://github.com/Odotocodot/Flow.Launcher.Plugin.OneNote",
1010
"IcoPath": "Images/logo.png",

0 commit comments

Comments
 (0)