1
0
mirror of https://github.com/mattermost/focalboard.git synced 2025-03-26 20:53:55 +02:00

Cherry pick fix for #3268 (#3270)

This commit is contained in:
Chen-I Lim 2022-06-22 16:44:20 -07:00 committed by GitHub
parent 2f0c1235bb
commit 1207a22291
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 63 additions and 17 deletions

View File

@ -160,7 +160,7 @@
80D6DEB3252E13CB00AEED9E /* Sources */,
80D6DEB4252E13CB00AEED9E /* Frameworks */,
80D6DEB5252E13CB00AEED9E /* Resources */,
80D6DF1D25324A8100AEED9E /* ShellScript */,
80D6DF1D25324A8100AEED9E /* Run Script */,
);
buildRules = (
);
@ -278,7 +278,7 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
80D6DF1D25324A8100AEED9E /* ShellScript */ = {
80D6DF1D25324A8100AEED9E /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@ -287,6 +287,7 @@
);
inputPaths = (
);
name = "Run Script";
outputFileListPaths = (
);
outputPaths = (
@ -480,7 +481,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Manual;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 24;
CURRENT_PROJECT_VERSION = 33;
DEVELOPMENT_TEAM = HFP57A3MYB;
ENABLE_HARDENED_RUNTIME = YES;
INFOPLIST_FILE = Focalboard/Info.plist;
@ -488,6 +489,7 @@
"$(inherited)",
"@executable_path/../Frameworks",
);
MARKETING_VERSION = 7.2;
PRODUCT_BUNDLE_IDENTIFIER = com.mattermost.focalboard;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@ -504,7 +506,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Manual;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 24;
CURRENT_PROJECT_VERSION = 33;
DEVELOPMENT_TEAM = HFP57A3MYB;
ENABLE_HARDENED_RUNTIME = YES;
INFOPLIST_FILE = Focalboard/Info.plist;
@ -512,6 +514,7 @@
"$(inherited)",
"@executable_path/../Frameworks",
);
MARKETING_VERSION = 7.2;
PRODUCT_BUNDLE_IDENTIFIER = com.mattermost.focalboard;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";

View File

@ -66,6 +66,10 @@ class AppDelegate: NSObject, NSApplicationDelegate {
vc.showWindow(self)
}
@IBAction func getCloudServer(_: AnyObject) {
Globals.openGetCloudServerUrl()
}
private func webFolder() -> URL {
let url = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask).first!
return url.appendingPathComponent("Focalboard").appendingPathComponent("server")

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="19529" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="20037" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19529"/>
<plugIn identifier="com.apple.WebKit2IBPlugin" version="19529"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="20037"/>
<plugIn identifier="com.apple.WebKit2IBPlugin" version="20037"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
@ -29,6 +29,12 @@
<action selector="showWhatsNew:" target="Ady-hI-5gd" id="dlB-6q-7bK"/>
</connections>
</menuItem>
<menuItem title="Get Mattermost Boards server" id="8YW-NP-PAh">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="getCloudServer:" target="Ady-hI-5gd" id="OvY-fG-Tqt"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
<menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
<menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
@ -942,17 +948,17 @@ Thanks so much,
<autoresizingMask key="autoresizingMask"/>
</scroller>
</scrollView>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="eyp-ee-dxf">
<rect key="frame" x="7" y="7" width="289" height="32"/>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WZS-cI-X3m">
<rect key="frame" x="13" y="7" width="314" height="32"/>
<constraints>
<constraint firstAttribute="width" constant="275" id="Zzi-QI-UrX"/>
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="300" id="tZN-oK-pDS"/>
</constraints>
<buttonCell key="cell" type="push" title="Rate Focalboard" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="7Kt-FU-UP3">
<buttonCell key="cell" type="push" title="Setup free Mattermost Boards server" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="XJY-Vn-Z2s">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="rateButtonClicked:" target="aYX-zT-OJj" id="QqZ-am-cnJ"/>
<action selector="cloudButtonClicked:" target="Fag-zV-Usm" id="ju3-LN-Zq9"/>
</connections>
</button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dYB-Yp-UHf">
@ -968,13 +974,28 @@ Thanks so much,
<action selector="closeButtonClicked:" target="aYX-zT-OJj" id="run-tB-6Tb"/>
</connections>
</button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="eyp-ee-dxf">
<rect key="frame" x="325" y="7" width="164" height="32"/>
<constraints>
<constraint firstAttribute="width" constant="150" id="Zzi-QI-UrX"/>
</constraints>
<buttonCell key="cell" type="push" title="Rate Focalboard" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="7Kt-FU-UP3">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="rateButtonClicked:" target="aYX-zT-OJj" id="QqZ-am-cnJ"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstItem="WZS-cI-X3m" firstAttribute="top" secondItem="baY-7A-lBA" secondAttribute="bottom" constant="20" symbolic="YES" id="29y-HQ-Ik9"/>
<constraint firstItem="WZS-cI-X3m" firstAttribute="leading" secondItem="fy7-95-Eie" secondAttribute="leading" constant="20" symbolic="YES" id="EMs-BU-zTE"/>
<constraint firstAttribute="bottom" secondItem="eyp-ee-dxf" secondAttribute="bottom" constant="14" id="Kvc-VM-O1W"/>
<constraint firstAttribute="trailing" secondItem="dYB-Yp-UHf" secondAttribute="trailing" constant="32" id="SQ6-Hs-a1n"/>
<constraint firstItem="eyp-ee-dxf" firstAttribute="leading" secondItem="fy7-95-Eie" secondAttribute="leading" constant="14" id="TTF-mb-cZY"/>
<constraint firstItem="eyp-ee-dxf" firstAttribute="top" secondItem="baY-7A-lBA" secondAttribute="bottom" constant="20" symbolic="YES" id="UIA-ji-xOe"/>
<constraint firstAttribute="trailing" secondItem="baY-7A-lBA" secondAttribute="trailing" constant="20" id="cRi-Tx-jtT"/>
<constraint firstItem="eyp-ee-dxf" firstAttribute="leading" secondItem="WZS-cI-X3m" secondAttribute="trailing" constant="12" symbolic="YES" id="eKo-Qk-lxl"/>
<constraint firstAttribute="bottom" secondItem="dYB-Yp-UHf" secondAttribute="bottom" constant="14" id="grP-Cj-Euz"/>
<constraint firstItem="baY-7A-lBA" firstAttribute="leading" secondItem="fy7-95-Eie" secondAttribute="leading" constant="20" id="mxh-wg-iXP"/>
<constraint firstItem="baY-7A-lBA" firstAttribute="top" secondItem="fy7-95-Eie" secondAttribute="top" constant="20" id="oAR-aZ-gNJ"/>
@ -982,6 +1003,7 @@ Thanks so much,
</constraints>
</view>
<connections>
<outlet property="cloudButton" destination="WZS-cI-X3m" id="4ry-4a-zGW"/>
<outlet property="rateButton" destination="eyp-ee-dxf" id="cvh-x3-TPU"/>
<outlet property="textView" destination="f3s-Q5-6IG" id="nbt-zY-bAo"/>
</connections>

View File

@ -2,13 +2,19 @@
// See LICENSE.txt for license information.
import Foundation
import Cocoa
class Globals {
static let ProductVersion = 70000
static let WhatsNewVersion = 01100
static let WhatsNewVersion = 70000
static var currentWhatsNewVersion: Int {
get { return UserDefaults.standard.integer(forKey: "whatsNewVersion") }
set { UserDefaults.standard.setValue(newValue, forKey: "whatsNewVersion") }
}
static func openGetCloudServerUrl() {
let url = URL(string: "https://mattermost.com/sign-up/?utm_source=focalboard&utm_campaign=focalboardapp")!
NSWorkspace.shared.open(url)
}
}

View File

@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>7.2.0</string>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>ITSAppUsesNonExemptEncryption</key>

View File

@ -7,6 +7,7 @@ class WhatsNewViewController:
NSViewController {
@IBOutlet var textView: NSTextView!
@IBOutlet var rateButton: NSButton!
@IBOutlet var cloudButton: NSButton!
override func viewDidLoad() {
super.viewDidLoad()
@ -28,6 +29,10 @@ class WhatsNewViewController:
view.window?.close()
}
@IBAction func cloudButtonClicked(_ sender: Any) {
Globals.openGetCloudServerUrl()
}
@IBAction func closeButtonClicked(_ sender: Any) {
view.window?.close()
}

View File

@ -1,6 +1,12 @@
Welcome to Focalboard v0.11.0!
Welcome to Focalboard v7.2!
Thank you contributors! There are a number of improvements in this release, and one major new feature:
Mattermost Boards is now availalbe as a Cloud service. Set up your free server via the button below to collaborate with your team.
Mattermost Boards combines all the features of Focalboard with real-time collaboration, calls, and playbooks.
You can export boards from Focalboard and import them into Mattermost Boards, and pick up where you left off.
Thank you contributors! Recent improvements include:
* Calendar view. Thanks @sbishel!