Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 1 addition & 18 deletions Flow.Launcher/Storage/TopMostRecord.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,7 @@ public class TopMostRecord

internal bool IsTopMost(Result result)
{
// origin query is null when user select the context menu item directly of one item from query list
// in this case, we do not need to check if the result is top most
if (records.IsEmpty || result.OriginQuery == null ||
!records.TryGetValue(result.OriginQuery.RawQuery, out var value))
if (records.IsEmpty || !records.TryGetValue(result.OriginQuery.RawQuery, out var value))
{
return false;
}
Expand All @@ -26,25 +23,11 @@ internal bool IsTopMost(Result result)

internal void Remove(Result result)
{
// origin query is null when user select the context menu item directly of one item from query list
// in this case, we do not need to remove the record
if (result.OriginQuery == null)
{
return;
}

records.Remove(result.OriginQuery.RawQuery, out _);
}

internal void AddOrUpdate(Result result)
{
// origin query is null when user select the context menu item directly of one item from query list
// in this case, we do not need to add or update the record
if (result.OriginQuery == null)
{
return;
}

var record = new Record
{
PluginID = result.PluginID,
Expand Down
21 changes: 10 additions & 11 deletions Flow.Launcher/ViewModel/MainViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -444,12 +444,7 @@ private async Task OpenResultAsync(string index)
if (QueryResultsSelected())
{
_userSelectedRecord.Add(result);
// origin query is null when user select the context menu item directly of one item from query list
// so we don't want to add it to history
if (result.OriginQuery != null)
{
_history.Add(result.OriginQuery.RawQuery);
}
_history.Add(result.OriginQuery.RawQuery);
lastHistoryIndex = 1;
}

Expand Down Expand Up @@ -1158,7 +1153,7 @@ private void QueryContextMenu()
{
results = PluginManager.GetContextMenusForPlugin(selected);
results.Add(ContextMenuTopMost(selected));
results.Add(ContextMenuPluginInfo(selected.PluginID));
results.Add(ContextMenuPluginInfo(selected));
}

if (!string.IsNullOrEmpty(query))
Expand Down Expand Up @@ -1592,7 +1587,8 @@ private Result ContextMenuTopMost(Result result)
App.API.ReQuery();
return false;
},
Glyph = new GlyphInfo(FontFamily: "/Resources/#Segoe Fluent Icons", Glyph: "\uE74B")
Glyph = new GlyphInfo(FontFamily: "/Resources/#Segoe Fluent Icons", Glyph: "\uE74B"),
OriginQuery = result.OriginQuery
};
}
else
Expand All @@ -1609,15 +1605,17 @@ private Result ContextMenuTopMost(Result result)
App.API.ReQuery();
return false;
},
Glyph = new GlyphInfo(FontFamily: "/Resources/#Segoe Fluent Icons", Glyph: "\uE74A")
Glyph = new GlyphInfo(FontFamily: "/Resources/#Segoe Fluent Icons", Glyph: "\uE74A"),
OriginQuery = result.OriginQuery
};
}

return menu;
}

private static Result ContextMenuPluginInfo(string id)
private static Result ContextMenuPluginInfo(Result result)
{
var id = result.PluginID;
var metadata = PluginManager.GetPluginForId(id).Metadata;
var translator = App.API;

Expand All @@ -1639,7 +1637,8 @@ private static Result ContextMenuPluginInfo(string id)
{
App.API.OpenUrl(metadata.Website);
return true;
}
},
OriginQuery = result.OriginQuery
};
return menu;
}
Expand Down
Loading