vault_options_mount.fxml 4.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?import org.cryptomator.ui.controls.FontAwesome5IconView?>
  3. <?import org.cryptomator.ui.controls.NumericTextField?>
  4. <?import javafx.geometry.Insets?>
  5. <?import javafx.scene.control.Button?>
  6. <?import javafx.scene.control.CheckBox?>
  7. <?import javafx.scene.control.ChoiceBox?>
  8. <?import javafx.scene.control.Hyperlink?>
  9. <?import javafx.scene.control.Label?>
  10. <?import javafx.scene.control.RadioButton?>
  11. <?import javafx.scene.control.TextField?>
  12. <?import javafx.scene.control.ToggleGroup?>
  13. <?import javafx.scene.control.Tooltip?>
  14. <?import javafx.scene.layout.HBox?>
  15. <?import javafx.scene.layout.VBox?>
  16. <VBox xmlns:fx="http://javafx.com/fxml"
  17. xmlns="http://javafx.com/javafx"
  18. fx:controller="org.cryptomator.ui.vaultoptions.MountOptionsController"
  19. spacing="6">
  20. <fx:define>
  21. <ToggleGroup fx:id="mountPointToggleGroup"/>
  22. </fx:define>
  23. <padding>
  24. <Insets topRightBottomLeft="12"/>
  25. </padding>
  26. <children>
  27. <HBox spacing="12" alignment="CENTER_LEFT">
  28. <Label text="%vaultOptions.mount.volume.type"/>
  29. <ChoiceBox fx:id="vaultVolumeTypeChoiceBox"/>
  30. <Hyperlink contentDisplay="GRAPHIC_ONLY" onAction="#openVolumePreferences" visible="${controller.defaultMountServiceSelected}" managed="${controller.defaultMountServiceSelected}">
  31. <graphic>
  32. <FontAwesome5IconView glyph="COGS" styleClass="glyph-icon-muted"/>
  33. </graphic>
  34. <tooltip>
  35. <Tooltip text="%vaultOptions.mount.info" showDelay="100ms"/>
  36. </tooltip>
  37. </Hyperlink>
  38. <Hyperlink contentDisplay="GRAPHIC_ONLY" onAction="#openDocs" visible="${!controller.defaultMountServiceSelected}" managed="${!controller.defaultMountServiceSelected}">
  39. <graphic>
  40. <FontAwesome5IconView glyph="QUESTION_CIRCLE" styleClass="glyph-icon-muted"/>
  41. </graphic>
  42. <tooltip>
  43. <Tooltip text="%preferences.volume.docsTooltip" showDelay="100ms"/>
  44. </tooltip>
  45. </Hyperlink>
  46. </HBox>
  47. <Label styleClass="label-red" text="%vaultOptions.mount.volumeType.restartRequired" visible="${controller.selectedMountServiceRequiresRestart}" managed="${controller.selectedMountServiceRequiresRestart}"/>
  48. <HBox spacing="12" alignment="CENTER_LEFT" visible="${controller.loopbackPortChangeable}" managed="${controller.loopbackPortChangeable}">
  49. <Label text="%vaultOptions.mount.volume.tcp.port"/>
  50. <NumericTextField fx:id="vaultLoopbackPortField"/>
  51. <Button text="%generic.button.apply" fx:id="vaultLoopbackPortApplyButton" onAction="#doChangeLoopbackPort"/>
  52. </HBox>
  53. <CheckBox fx:id="readOnlyCheckbox" text="%vaultOptions.mount.readonly" visible="${controller.readOnlyOptionAllowed}" managed="${controller.readOnlyOptionAllowed}"/>
  54. <VBox visible="${controller.mountFlagsSupported}" managed="${controller.mountFlagsSupported}">
  55. <CheckBox fx:id="customMountFlagsCheckbox" text="%vaultOptions.mount.customMountFlags" onAction="#toggleUseCustomMountFlags"/>
  56. <TextField fx:id="mountFlagsField" HBox.hgrow="ALWAYS" maxWidth="Infinity">
  57. <VBox.margin>
  58. <Insets left="24"/>
  59. </VBox.margin>
  60. </TextField>
  61. </VBox>
  62. <Label text="%vaultOptions.mount.mountPoint">
  63. <VBox.margin>
  64. <Insets top="9"/>
  65. </VBox.margin>
  66. </Label>
  67. <RadioButton toggleGroup="${mountPointToggleGroup}" fx:id="mountPointAutoBtn" text="%vaultOptions.mount.mountPoint.auto"/>
  68. <HBox spacing="6" visible="${controller.mountpointDriveLetterSupported}" managed="${controller.mountpointDriveLetterSupported}">
  69. <RadioButton toggleGroup="${mountPointToggleGroup}" fx:id="mountPointDriveLetterBtn" text="%vaultOptions.mount.mountPoint.driveLetter"/>
  70. <ChoiceBox fx:id="driveLetterSelection" disable="${!mountPointDriveLetterBtn.selected}"/>
  71. </HBox>
  72. <VBox spacing="6" visible="${controller.mountpointDirSupported}" managed="${controller.mountpointDirSupported}">
  73. <HBox spacing="6" alignment="CENTER_LEFT">
  74. <RadioButton toggleGroup="${mountPointToggleGroup}" fx:id="mountPointDirBtn" text="%vaultOptions.mount.mountPoint.custom"/>
  75. <Button text="%vaultOptions.mount.mountPoint.directoryPickerButton" onAction="#chooseCustomMountPoint" contentDisplay="LEFT" disable="${!mountPointDirBtn.selected}">
  76. <graphic>
  77. <FontAwesome5IconView glyph="FOLDER_OPEN" glyphSize="15"/>
  78. </graphic>
  79. </Button>
  80. </HBox>
  81. <TextField fx:id="directoryPathField" text="${controller.directoryPath}" visible="${mountPointDirBtn.selected}" managed="${mountPointDirBtn.managed}" maxWidth="Infinity" editable="false">
  82. <VBox.margin>
  83. <Insets left="24"/>
  84. </VBox.margin>
  85. </TextField>
  86. </VBox>
  87. </children>
  88. </VBox>