From cb66b795824dcc1237b25e135071d001313c836a Mon Sep 17 00:00:00 2001 From: "louis.pontoise" Date: Fri, 7 Feb 2020 18:14:51 +0900 Subject: [PATCH] feat: add licence to about page Also use data from Info.plist to make it more DRY --- alt-tab-macos/Info.plist | 2 +- alt-tab-macos/ui/App.swift | 5 +++-- alt-tab-macos/ui/Menubar.swift | 2 +- alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift | 8 +++++--- ci/set_version_in_app.sh | 2 -- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/alt-tab-macos/Info.plist b/alt-tab-macos/Info.plist index 74a85828..8316a74c 100644 --- a/alt-tab-macos/Info.plist +++ b/alt-tab-macos/Info.plist @@ -23,7 +23,7 @@ LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright - GPL-3.0 licence (https://github.com/lwouis/alt-tab-macos/blob/master/LICENCE.md) + GPL-3.0 licence NSPrincipalClass NSApplication LSUIElement diff --git a/alt-tab-macos/ui/App.swift b/alt-tab-macos/ui/App.swift index 32c14873..83786120 100644 --- a/alt-tab-macos/ui/App.swift +++ b/alt-tab-macos/ui/App.swift @@ -4,8 +4,9 @@ import Darwin let cgsMainConnectionId = CGSMainConnectionID() class App: NSApplication, NSApplicationDelegate, NSWindowDelegate { - static let name = "AltTab" - static let version = "#VERSION#" + static let name = Bundle.main.object(forInfoDictionaryKey: "CFBundleName") as! String + static let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as! String + static let licence = Bundle.main.object(forInfoDictionaryKey: "NSHumanReadableCopyright") as! String static let repository = "https://github.com/lwouis/alt-tab-macos" var statusItem: NSStatusItem? var thumbnailsPanel: ThumbnailsPanel? diff --git a/alt-tab-macos/ui/Menubar.swift b/alt-tab-macos/ui/Menubar.swift index bc8f53fc..42e916c3 100644 --- a/alt-tab-macos/ui/Menubar.swift +++ b/alt-tab-macos/ui/Menubar.swift @@ -3,7 +3,7 @@ import Cocoa class Menubar { static func make(_ app: App) -> NSStatusItem { let item = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength) - item.button!.title = App.name + item.button!.title = "AltTab" item.menu = NSMenu() item.menu!.addItem( withTitle: "Show", diff --git a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift index 08f5d8ee..dfb5d8e0 100644 --- a/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift +++ b/alt-tab-macos/ui/preferences-window/tabs/AboutTab.swift @@ -7,17 +7,19 @@ class AboutTab: NSObject { static func makeView() -> NSGridView { let appIcon = NSImageView(image: App.shared.applicationIconImage) - appIcon.fit(128, 128) + appIcon.fit(150, 150) let appText = NSStackView(views: [ BoldLabel(App.name), - NSTextField(wrappingLabelWithString: "Version \(App.version)"), + NSTextField(wrappingLabelWithString: "Version " + App.version), + NSTextField(wrappingLabelWithString: App.licence), HyperlinkLabel("Source code repository", App.repository), HyperlinkLabel("Latest releases", App.repository + "/releases"), ]) appText.orientation = .vertical appText.alignment = .left appText.spacing = GridView.interPadding / 2 - appText.views[2].topAnchor.constraint(equalTo: appText.views[1].bottomAnchor, constant: GridView.interPadding).isActive = true + let rowToSeparate = 3 + appText.views[rowToSeparate].topAnchor.constraint(equalTo: appText.views[rowToSeparate - 1].bottomAnchor, constant: GridView.interPadding).isActive = true let appInfo = NSStackView(views: [appIcon, appText]) appInfo.spacing = GridView.interPadding let view = GridView.make([ diff --git a/ci/set_version_in_app.sh b/ci/set_version_in_app.sh index ef98769a..7c0aaed7 100755 --- a/ci/set_version_in_app.sh +++ b/ci/set_version_in_app.sh @@ -3,7 +3,5 @@ set -exu version="$(cat VERSION.txt)" -# set the version displayed in the app UI -sed -i '' -e "s/#VERSION#/$version/" alt-tab-macos/ui/App.swift # set the version in the app meta-data for the AppStore and app "Get Info" panel sed -i '' -e "s/#VERSION#/$version/" alt-tab-macos/Info.plist