diff --git a/main/installer-osx-mas/package/macosx/Cryptomator-Volume.icns b/main/installer-osx-mas/package/macosx/Cryptomator-Volume.icns
new file mode 100644
index 000000000..eb66f52bf
Binary files /dev/null and b/main/installer-osx-mas/package/macosx/Cryptomator-Volume.icns differ
diff --git a/main/installer-osx-mas/package/macosx/Cryptomator-background.png b/main/installer-osx-mas/package/macosx/Cryptomator-background.png
new file mode 100644
index 000000000..e05f1e8cf
Binary files /dev/null and b/main/installer-osx-mas/package/macosx/Cryptomator-background.png differ
diff --git a/main/installer-osx-mas/package/macosx/Cryptomator.icns b/main/installer-osx-mas/package/macosx/Cryptomator.icns
new file mode 100644
index 000000000..eb66f52bf
Binary files /dev/null and b/main/installer-osx-mas/package/macosx/Cryptomator.icns differ
diff --git a/main/installer-osx-mas/package/macosx/Info.plist b/main/installer-osx-mas/package/macosx/Info.plist
new file mode 100644
index 000000000..6338c79a9
--- /dev/null
+++ b/main/installer-osx-mas/package/macosx/Info.plist
@@ -0,0 +1,102 @@
+
+
+
+
+ LSMinimumSystemVersion
+ 10.7.4
+ CFBundleDevelopmentRegion
+ English
+ CFBundleAllowMixedLocalizations
+
+ CFBundleExecutable
+ DEPLOY_LAUNCHER_NAME
+ CFBundleIconFile
+ DEPLOY_ICON_FILE
+ CFBundleIdentifier
+ DEPLOY_BUNDLE_IDENTIFIER
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ DEPLOY_BUNDLE_NAME
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ DEPLOY_BUNDLE_SHORT_VERSION
+ CFBundleSignature
+ ????
+
+ LSApplicationCategoryType
+ DEPLOY_BUNDLE_CATEGORY
+ CFBundleVersion
+ 100
+ NSHumanReadableCopyright
+ DEPLOY_BUNDLE_COPYRIGHT
+ JVMRuntime
+ DEPLOY_JAVA_RUNTIME_NAME
+ JVMMainClassName
+ DEPLOY_LAUNCHER_CLASS
+ JVMAppClasspath
+ DEPLOY_APP_CLASSPATH
+ JVMMainJarName
+ DEPLOY_MAIN_JAR_NAME
+ JVMPreferencesID
+ DEPLOY_PREFERENCES_ID
+ JVMOptions
+
+DEPLOY_JVM_OPTIONS
+
+ JVMUserOptions
+
+DEPLOY_JVM_USER_OPTIONS
+
+ NSHighResolutionCapable
+ true
+
+ LSUIElement
+ 1
+
+ CFBundleDocumentTypes
+
+
+ CFBundleTypeExtensions
+
+ cryptomator
+
+ CFBundleTypeIconFile
+ Cryptomator.icns
+ CFBundleTypeName
+ Cryptomator Vault
+ CFBundleTypeRole
+ Editor
+ LSItemContentTypes
+
+ org.cryptomator.folder
+
+ LSTypeIsPackage
+
+
+
+ UTExportedTypeDeclarations
+
+
+ UTTypeConformsTo
+
+ com.apple.package
+
+ UTTypeDescription
+ Cryptomator Vault
+ UTTypeIconFile
+ Cryptomator.icns
+ UTTypeIdentifier
+ org.cryptomator.folder
+ UTTypeTagSpecification
+
+ public.filename-extension
+
+ cryptomator
+
+
+
+
+
+
diff --git a/main/installer-osx-mas/pom.xml b/main/installer-osx-mas/pom.xml
new file mode 100644
index 000000000..d6ee994d8
--- /dev/null
+++ b/main/installer-osx-mas/pom.xml
@@ -0,0 +1,89 @@
+
+ 4.0.0
+
+ org.cryptomator
+ main
+ 0.10.1-SNAPSHOT
+
+ installer-osx-mas
+ pom
+ Cryptomator Mac OS X installer for Mac App Store
+
+
+ Cryptomator
+ org.cryptomator.ui.Cryptomator
+ ${java.home}/../lib/ant-javafx.jar
+
+
+
+
+ org.cryptomator
+ ui
+
+
+
+
+
+
+ maven-dependency-plugin
+
+
+ copy-libs
+ prepare-package
+
+
+
+
+ maven-antrun-plugin
+ 1.7
+
+
+ create-deployment-bundle
+ install
+
+ run
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/main/pom.xml b/main/pom.xml
index 3e707fbbc..9f780589b 100644
--- a/main/pom.xml
+++ b/main/pom.xml
@@ -204,6 +204,12 @@
installer-osx
+
+ osx-mas
+
+ installer-osx-mas
+
+
win
diff --git a/main/ui/src/main/java/org/cryptomator/ui/controllers/WelcomeController.java b/main/ui/src/main/java/org/cryptomator/ui/controllers/WelcomeController.java
index 48f5c2e4a..61b1d5bba 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/controllers/WelcomeController.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/controllers/WelcomeController.java
@@ -38,6 +38,7 @@ import javafx.application.Platform;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
+import javafx.scene.Node;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Hyperlink;
import javafx.scene.control.Label;
@@ -53,6 +54,9 @@ public class WelcomeController extends AbstractFXMLViewController {
@FXML
private ImageView botImageView;
+ @FXML
+ private Node checkForUpdatesContainer;
+
@FXML
private CheckBox checkForUpdatesCheckbox;
@@ -93,8 +97,15 @@ public class WelcomeController extends AbstractFXMLViewController {
botImageView.setImage(new Image(getClass().getResource("/bot_welcome.png").toString()));
checkForUpdatesCheckbox.setSelected(settings.isCheckForUpdatesEnabled());
checkForUpdatesCheckbox.selectedProperty().addListener(this::checkForUpdatesChanged);
- if (settings.isCheckForUpdatesEnabled()) {
- executor.execute(this::checkForUpdates);
+ if (areUpdatesManagedExternally()) {
+ checkForUpdatesContainer.setVisible(false);
+ checkForUpdatesContainer.setManaged(false);
+ } else {
+ checkForUpdatesCheckbox.setSelected(settings.isCheckForUpdatesEnabled());
+ checkForUpdatesCheckbox.selectedProperty().addListener(this::checkForUpdatesChanged);
+ if (settings.isCheckForUpdatesEnabled()) {
+ executor.execute(this::checkForUpdates);
+ }
}
}
@@ -110,7 +121,14 @@ public class WelcomeController extends AbstractFXMLViewController {
}
}
+ private boolean areUpdatesManagedExternally() {
+ return Boolean.parseBoolean(System.getProperty("cryptomator.updatesManagedExternally", "false"));
+ }
+
private void checkForUpdates() {
+ if (areUpdatesManagedExternally()) {
+ return;
+ }
Platform.runLater(() -> {
checkForUpdatesCheckbox.setVisible(false);
checkForUpdatesStatus.setText(resourceBundle.getString("welcome.checkForUpdates.label.currentlyChecking"));
diff --git a/main/ui/src/main/resources/fxml/welcome.fxml b/main/ui/src/main/resources/fxml/welcome.fxml
index 9e877a529..5d4a9592a 100644
--- a/main/ui/src/main/resources/fxml/welcome.fxml
+++ b/main/ui/src/main/resources/fxml/welcome.fxml
@@ -27,15 +27,16 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-