mirror of
https://github.com/mattermost/focalboard.git
synced 2025-03-29 21:01:01 +02:00
parent
2f0c1235bb
commit
1207a22291
@ -160,7 +160,7 @@
|
|||||||
80D6DEB3252E13CB00AEED9E /* Sources */,
|
80D6DEB3252E13CB00AEED9E /* Sources */,
|
||||||
80D6DEB4252E13CB00AEED9E /* Frameworks */,
|
80D6DEB4252E13CB00AEED9E /* Frameworks */,
|
||||||
80D6DEB5252E13CB00AEED9E /* Resources */,
|
80D6DEB5252E13CB00AEED9E /* Resources */,
|
||||||
80D6DF1D25324A8100AEED9E /* ShellScript */,
|
80D6DF1D25324A8100AEED9E /* Run Script */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
@ -278,7 +278,7 @@
|
|||||||
/* End PBXResourcesBuildPhase section */
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXShellScriptBuildPhase section */
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
80D6DF1D25324A8100AEED9E /* ShellScript */ = {
|
80D6DF1D25324A8100AEED9E /* Run Script */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
@ -287,6 +287,7 @@
|
|||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
);
|
);
|
||||||
|
name = "Run Script";
|
||||||
outputFileListPaths = (
|
outputFileListPaths = (
|
||||||
);
|
);
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
@ -480,7 +481,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "-";
|
CODE_SIGN_IDENTITY = "-";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 24;
|
CURRENT_PROJECT_VERSION = 33;
|
||||||
DEVELOPMENT_TEAM = HFP57A3MYB;
|
DEVELOPMENT_TEAM = HFP57A3MYB;
|
||||||
ENABLE_HARDENED_RUNTIME = YES;
|
ENABLE_HARDENED_RUNTIME = YES;
|
||||||
INFOPLIST_FILE = Focalboard/Info.plist;
|
INFOPLIST_FILE = Focalboard/Info.plist;
|
||||||
@ -488,6 +489,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
|
MARKETING_VERSION = 7.2;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.mattermost.focalboard;
|
PRODUCT_BUNDLE_IDENTIFIER = com.mattermost.focalboard;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
@ -504,7 +506,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "-";
|
CODE_SIGN_IDENTITY = "-";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 24;
|
CURRENT_PROJECT_VERSION = 33;
|
||||||
DEVELOPMENT_TEAM = HFP57A3MYB;
|
DEVELOPMENT_TEAM = HFP57A3MYB;
|
||||||
ENABLE_HARDENED_RUNTIME = YES;
|
ENABLE_HARDENED_RUNTIME = YES;
|
||||||
INFOPLIST_FILE = Focalboard/Info.plist;
|
INFOPLIST_FILE = Focalboard/Info.plist;
|
||||||
@ -512,6 +514,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
|
MARKETING_VERSION = 7.2;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.mattermost.focalboard;
|
PRODUCT_BUNDLE_IDENTIFIER = com.mattermost.focalboard;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
@ -66,6 +66,10 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
|||||||
vc.showWindow(self)
|
vc.showWindow(self)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@IBAction func getCloudServer(_: AnyObject) {
|
||||||
|
Globals.openGetCloudServerUrl()
|
||||||
|
}
|
||||||
|
|
||||||
private func webFolder() -> URL {
|
private func webFolder() -> URL {
|
||||||
let url = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask).first!
|
let url = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask).first!
|
||||||
return url.appendingPathComponent("Focalboard").appendingPathComponent("server")
|
return url.appendingPathComponent("Focalboard").appendingPathComponent("server")
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?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>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19529"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="20037"/>
|
||||||
<plugIn identifier="com.apple.WebKit2IBPlugin" version="19529"/>
|
<plugIn identifier="com.apple.WebKit2IBPlugin" version="20037"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<scenes>
|
<scenes>
|
||||||
@ -29,6 +29,12 @@
|
|||||||
<action selector="showWhatsNew:" target="Ady-hI-5gd" id="dlB-6q-7bK"/>
|
<action selector="showWhatsNew:" target="Ady-hI-5gd" id="dlB-6q-7bK"/>
|
||||||
</connections>
|
</connections>
|
||||||
</menuItem>
|
</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 isSeparatorItem="YES" id="VOq-y0-SEH"/>
|
||||||
<menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
|
<menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
|
||||||
<menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
|
<menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
|
||||||
@ -942,17 +948,17 @@ Thanks so much,
|
|||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
</scrollView>
|
</scrollView>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="eyp-ee-dxf">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WZS-cI-X3m">
|
||||||
<rect key="frame" x="7" y="7" width="289" height="32"/>
|
<rect key="frame" x="13" y="7" width="314" height="32"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="275" id="Zzi-QI-UrX"/>
|
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="300" id="tZN-oK-pDS"/>
|
||||||
</constraints>
|
</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"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="rateButtonClicked:" target="aYX-zT-OJj" id="QqZ-am-cnJ"/>
|
<action selector="cloudButtonClicked:" target="Fag-zV-Usm" id="ju3-LN-Zq9"/>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dYB-Yp-UHf">
|
<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"/>
|
<action selector="closeButtonClicked:" target="aYX-zT-OJj" id="run-tB-6Tb"/>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</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>
|
</subviews>
|
||||||
<constraints>
|
<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="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 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 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 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 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="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"/>
|
<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>
|
</constraints>
|
||||||
</view>
|
</view>
|
||||||
<connections>
|
<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="rateButton" destination="eyp-ee-dxf" id="cvh-x3-TPU"/>
|
||||||
<outlet property="textView" destination="f3s-Q5-6IG" id="nbt-zY-bAo"/>
|
<outlet property="textView" destination="f3s-Q5-6IG" id="nbt-zY-bAo"/>
|
||||||
</connections>
|
</connections>
|
||||||
|
@ -2,13 +2,19 @@
|
|||||||
// See LICENSE.txt for license information.
|
// See LICENSE.txt for license information.
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
import Cocoa
|
||||||
|
|
||||||
class Globals {
|
class Globals {
|
||||||
static let ProductVersion = 70000
|
static let ProductVersion = 70000
|
||||||
static let WhatsNewVersion = 01100
|
static let WhatsNewVersion = 70000
|
||||||
|
|
||||||
static var currentWhatsNewVersion: Int {
|
static var currentWhatsNewVersion: Int {
|
||||||
get { return UserDefaults.standard.integer(forKey: "whatsNewVersion") }
|
get { return UserDefaults.standard.integer(forKey: "whatsNewVersion") }
|
||||||
set { UserDefaults.standard.setValue(newValue, 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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>7.2.0</string>
|
<string>$(MARKETING_VERSION)</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
<string>$(CURRENT_PROJECT_VERSION)</string>
|
||||||
<key>ITSAppUsesNonExemptEncryption</key>
|
<key>ITSAppUsesNonExemptEncryption</key>
|
||||||
|
@ -7,6 +7,7 @@ class WhatsNewViewController:
|
|||||||
NSViewController {
|
NSViewController {
|
||||||
@IBOutlet var textView: NSTextView!
|
@IBOutlet var textView: NSTextView!
|
||||||
@IBOutlet var rateButton: NSButton!
|
@IBOutlet var rateButton: NSButton!
|
||||||
|
@IBOutlet var cloudButton: NSButton!
|
||||||
|
|
||||||
override func viewDidLoad() {
|
override func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
@ -28,6 +29,10 @@ class WhatsNewViewController:
|
|||||||
view.window?.close()
|
view.window?.close()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@IBAction func cloudButtonClicked(_ sender: Any) {
|
||||||
|
Globals.openGetCloudServerUrl()
|
||||||
|
}
|
||||||
|
|
||||||
@IBAction func closeButtonClicked(_ sender: Any) {
|
@IBAction func closeButtonClicked(_ sender: Any) {
|
||||||
view.window?.close()
|
view.window?.close()
|
||||||
}
|
}
|
||||||
|
@ -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!
|
* Calendar view. Thanks @sbishel!
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user