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 @@ -