diff --git a/extensions/ql-vscode/media/drive.svg b/extensions/ql-vscode/media/drive.svg deleted file mode 100644 index 48bd917dd..000000000 --- a/extensions/ql-vscode/media/drive.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/extensions/ql-vscode/media/globe.svg b/extensions/ql-vscode/media/globe.svg deleted file mode 100644 index 7a4a6a6ba..000000000 --- a/extensions/ql-vscode/media/globe.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/extensions/ql-vscode/src/query-history/query-history.ts b/extensions/ql-vscode/src/query-history/query-history.ts index e5742d75f..8fe309f3f 100644 --- a/extensions/ql-vscode/src/query-history/query-history.ts +++ b/extensions/ql-vscode/src/query-history/query-history.ts @@ -8,6 +8,7 @@ import { ExtensionContext, ProviderResult, Range, + ThemeColor, ThemeIcon, TreeDataProvider, TreeItem, @@ -101,21 +102,6 @@ const SHOW_QUERY_TEXT_QUICK_EVAL_MSG = `\ `; -/** - * Path to icon to display next to a failed query history item. - */ -const FAILED_QUERY_HISTORY_ITEM_ICON = "media/red-x.svg"; - -/** - * Path to icon to display next to a successful local run. - */ -const LOCAL_SUCCESS_QUERY_HISTORY_ITEM_ICON = "media/drive.svg"; - -/** - * Path to icon to display next to a successful remote run. - */ -const REMOTE_SUCCESS_QUERY_HISTORY_ITEM_ICON = "media/globe.svg"; - export enum SortOrder { NameAsc = "NameAsc", NameDesc = "NameDesc", @@ -158,28 +144,10 @@ export class HistoryTreeDataProvider private history: QueryHistoryInfo[] = []; - private failedIconPath: string; - - private localSuccessIconPath: string; - - private remoteSuccessIconPath: string; - private current: QueryHistoryInfo | undefined; - constructor( - extensionPath: string, - private readonly labelProvider: HistoryItemLabelProvider, - ) { + constructor(private readonly labelProvider: HistoryItemLabelProvider) { super(); - this.failedIconPath = join(extensionPath, FAILED_QUERY_HISTORY_ITEM_ICON); - this.localSuccessIconPath = join( - extensionPath, - LOCAL_SUCCESS_QUERY_HISTORY_ITEM_ICON, - ); - this.remoteSuccessIconPath = join( - extensionPath, - REMOTE_SUCCESS_QUERY_HISTORY_ITEM_ICON, - ); } async getTreeItem(element: QueryHistoryInfo): Promise { @@ -206,12 +174,12 @@ export class HistoryTreeDataProvider return new ThemeIcon("sync~spin"); case QueryStatus.Completed: if (element.t === "local") { - return this.localSuccessIconPath; + return new ThemeIcon("database"); } else { - return this.remoteSuccessIconPath; + return new ThemeIcon("cloud"); } case QueryStatus.Failed: - return this.failedIconPath; + return new ThemeIcon("error", new ThemeColor("errorForeground")); default: assertNever(element.status); } @@ -421,7 +389,7 @@ export class QueryHistoryManager extends DisposableObject { ); this.treeDataProvider = this.push( - new HistoryTreeDataProvider(ctx.extensionPath, this.labelProvider), + new HistoryTreeDataProvider(this.labelProvider), ); this.treeView = this.push( window.createTreeView("codeQLQueryHistory", { diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/query-history/query-history.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/query-history/query-history.test.ts index 61e72936c..297c64ab3 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/query-history/query-history.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/query-history/query-history.test.ts @@ -1652,10 +1652,7 @@ describe("query-history", () => { labelProvider = new HistoryItemLabelProvider({ /**/ } as QueryHistoryConfig); - historyTreeDataProvider = new HistoryTreeDataProvider( - vscode.Uri.file(mockExtensionLocation).fsPath, - labelProvider, - ); + historyTreeDataProvider = new HistoryTreeDataProvider(labelProvider); }); afterEach(() => { @@ -1683,9 +1680,7 @@ describe("query-history", () => { }); expect(treeItem.label).toContain("query-file.ql"); expect(treeItem.contextValue).toBe("rawResultsItem"); - expect(treeItem.iconPath).toEqual( - vscode.Uri.file(`${mockExtensionLocation}/media/drive.svg`).fsPath, - ); + expect(treeItem.iconPath).toEqual(new vscode.ThemeIcon("database")); }); it("should get a tree item with interpreted results", async () => { @@ -1701,9 +1696,7 @@ describe("query-history", () => { mockQueryWithInterpretedResults, ); expect(treeItem.contextValue).toBe("interpretedResultsItem"); - expect(treeItem.iconPath).toEqual( - vscode.Uri.file(`${mockExtensionLocation}/media/drive.svg`).fsPath, - ); + expect(treeItem.iconPath).toEqual(new vscode.ThemeIcon("database")); }); it("should get a tree item that did not complete successfully", async () => { @@ -1716,8 +1709,11 @@ describe("query-history", () => { }); const treeItem = await historyTreeDataProvider.getTreeItem(mockQuery); - expect(treeItem.iconPath).toBe( - vscode.Uri.file(`${mockExtensionLocation}/media/red-x.svg`).fsPath, + expect(treeItem.iconPath).toEqual( + new vscode.ThemeIcon( + "error", + new vscode.ThemeColor("errorForeground"), + ), ); }); @@ -1728,8 +1724,11 @@ describe("query-history", () => { }); const treeItem = await historyTreeDataProvider.getTreeItem(mockQuery); - expect(treeItem.iconPath).toBe( - vscode.Uri.file(`${mockExtensionLocation}/media/red-x.svg`).fsPath, + expect(treeItem.iconPath).toEqual( + new vscode.ThemeIcon( + "error", + new vscode.ThemeColor("errorForeground"), + ), ); });