From 23affcdd17fbfb3fb8ee92b1a7c8a0a0f52c7539 Mon Sep 17 00:00:00 2001 From: Gregory Schier Date: Fri, 30 Mar 2018 12:46:01 -0400 Subject: [PATCH] Add 'About' screen for Windows/Linux (Closes #760) --- .../insomnia-app/app/main/window-utils.js | 31 +++++++++++++++++-- .../app/plugins/context/__tests__/app.test.js | 4 +-- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/packages/insomnia-app/app/main/window-utils.js b/packages/insomnia-app/app/main/window-utils.js index 2264421210..75836c24ca 100644 --- a/packages/insomnia-app/app/main/window-utils.js +++ b/packages/insomnia-app/app/main/window-utils.js @@ -1,8 +1,9 @@ import electron from 'electron'; import path from 'path'; +import {Curl} from 'insomnia-libcurl'; import fs from 'fs'; import LocalStorage from './local-storage'; -import {CHANGELOG_BASE_URL, getAppName, getAppVersion, isDevelopment, isMac} from '../common/constants'; +import {CHANGELOG_BASE_URL, getAppLongName, getAppName, getAppVersion, isDevelopment, isMac} from '../common/constants'; import {trackEvent} from '../common/analytics'; import * as misc from '../common/misc'; @@ -96,8 +97,9 @@ export function createWindow () { }); // Load the html of the app. - const appUrl = process.env.APP_RENDER_URL || `file://${app.getAppPath()}/renderer.html`; - console.log(`[main] Loading ${process.env.APP_RENDER_URL}`); + const url = process.env.APP_RENDER_URL; + const appUrl = url || `file://${app.getAppPath()}/renderer.html`; + console.log(`[main] Loading ${appUrl}`); mainWindow.loadURL(appUrl); // Emitted when the window is closed. @@ -280,6 +282,29 @@ export function createWindow () { ] }; + if (!isMac()) { + helpMenu.submenu.unshift({ + label: 'About', + click: () => { + trackEvent('App Menu', 'About'); + dialog.showMessageBox({ + type: 'info', + title: getAppName(), + message: getAppLongName(), + detail: [ + 'Version ' + getAppVersion(), + 'Shell ' + process.versions['atom-shell'], + 'Node ' + process.versions.node, + 'V8 ' + process.versions.v8, + 'Architecture ' + process.arch, + '', // Blank line before libcurl + Curl.getVersion() + ].join('\n') + }); + } + }); + } + const developerMenu = { label: 'Developer', position: 'before=help', diff --git a/packages/insomnia-app/app/plugins/context/__tests__/app.test.js b/packages/insomnia-app/app/plugins/context/__tests__/app.test.js index adcd19919a..e9ba41b9d2 100644 --- a/packages/insomnia-app/app/plugins/context/__tests__/app.test.js +++ b/packages/insomnia-app/app/plugins/context/__tests__/app.test.js @@ -67,8 +67,8 @@ describe('app.prompt()', () => { // Make sure it passes correct arguments expect(modals.showPrompt.mock.calls).toEqual([ - [{title: 'Title', cancelable: false, onComplete: expect.any(Function)}], - [{title: 'Title', label: 'Label', cancelable: false, onComplete: expect.any(Function)}] + [{title: 'Title', onComplete: expect.any(Function), onCancel: expect.any(Function)}], + [{title: 'Title', label: 'Label', onComplete: expect.any(Function), onCancel: expect.any(Function)}] ]); }); });