FinalCrypt - The No¹ One-Time Pad Encryption
Revisão | faf53dc3772061670d48566ea7942fa9c2c8f510 (tree) |
---|---|
Hora | 2021-02-05 13:22:44 |
Autor | ron <ronuitzaandam@gmai...> |
Commiter | ron |
Date: 2021-02-05 Version: 6.7.3
Set orange alert-status on reuse-keys activation
This alert-status discourages non-experts users!
@@ -1,3 +1,8 @@ | ||
1 | +Date: 2021-02-05 Version: 6.7.3 | |
2 | + | |
3 | +Set orange alert-status on reuse-keys activation | |
4 | +This alert-status discourages non-experts users! | |
5 | + | |
1 | 6 | Date: 2021-01-27 Version: 6.7.2 |
2 | 7 | |
3 | 8 | Improved minimum window size for smaller screens |
@@ -66,4 +66,4 @@ Parameters: | ||
66 | 66 | <[-t "file/dir"]> Target items (files or directories) you want to encrypt (recursive) |
67 | 67 | <[-b "batchfile"]> Batchfile with targetfiles you want to encrypt (only files) |
68 | 68 | |
69 | -FinalCrypt 6.7.2 - Author: Ron de Jong <info@finalcrypt.org> - CC BY-NC-ND 4.0: License 2017-2021 | |
\ No newline at end of file | ||
69 | +FinalCrypt 6.7.3 - Author: Ron de Jong <info@finalcrypt.org> - CC BY-NC-ND 4.0: License 2017-2021 | |
\ No newline at end of file |
@@ -90,4 +90,4 @@ Typewriter Examples (Print to screen like a typewriter): | ||
90 | 90 | java -cp finalcrypt.jar rdj/TypeWriter -t "built-in sound" -s 8 -min 20 -max 100 |
91 | 91 | java -cp finalcrypt.jar rdj/TypeWriter -t "ext sound file" -s file.wav -min 20 -max 100 |
92 | 92 | |
93 | -FinalCrypt 6.7.2 - Author: Ron de Jong <info@finalcrypt.org> - CC BY-NC-ND 4.0: License 2017-2021 | |
\ No newline at end of file | ||
93 | +FinalCrypt 6.7.3 - Author: Ron de Jong <info@finalcrypt.org> - CC BY-NC-ND 4.0: License 2017-2021 | |
\ No newline at end of file |
@@ -8,7 +8,7 @@ application.homepage=http://www.finalcrypt.org/ | ||
8 | 8 | application.splash= |
9 | 9 | application.title=FinalCrypt |
10 | 10 | application.vendor=FinalCrypt |
11 | -application.implementation.version=6.7.2 | |
11 | +application.implementation.version=6.7.3 | |
12 | 12 | auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs=false |
13 | 13 | auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width=4 |
14 | 14 | auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.spaces-per-tab=4 |
@@ -118,6 +118,22 @@ | ||
118 | 118 | <children> |
119 | 119 | <GridPane alignment="CENTER" layoutX="39.0" layoutY="50.0" maxWidth="1.7976931348623157E308" prefHeight="50.0" prefWidth="769.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
120 | 120 | <children> |
121 | + <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.rowSpan="2"> | |
122 | + <children> | |
123 | + <Button fx:id="keyFileDeleteButton2" alignment="CENTER" contentDisplay="CENTER" disable="true" maxHeight="20.0" mnemonicParsing="false" onAction="#keyFileDeleteButton2OnAction" prefHeight="20.0" prefWidth="78.0" text="Delete" textAlignment="CENTER" AnchorPane.bottomAnchor="10.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="10.0"> | |
124 | + <tooltip> | |
125 | + <Tooltip fx:id="keyFileDeleteButton2ToolTip" text="Delete selected item(s)"> | |
126 | + <font> | |
127 | + <Font size="14.0" /> | |
128 | + </font> | |
129 | + </Tooltip> | |
130 | + </tooltip> | |
131 | + <font> | |
132 | + <Font size="14.0" /> | |
133 | + </font> | |
134 | + </Button> | |
135 | + </children> | |
136 | + </AnchorPane> | |
121 | 137 | <AnchorPane prefHeight="25.0" prefWidth="321.0" GridPane.columnIndex="1"> |
122 | 138 | <children> |
123 | 139 | <Label fx:id="keyLabel1" alignment="CENTER" contentDisplay="CENTER" focusTraversable="false" prefHeight="25.0" prefWidth="296.0" style="-fx-font-size: 16;" styleClass="text_color_standard" text="Select One-Time Pad Key Dir" textAlignment="CENTER" textFill="LIGHTGRAY" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
@@ -139,22 +155,6 @@ | ||
139 | 155 | </Label> |
140 | 156 | </children> |
141 | 157 | </AnchorPane> |
142 | - <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.rowSpan="2"> | |
143 | - <children> | |
144 | - <Button fx:id="keyFileDeleteButton2" alignment="CENTER" contentDisplay="CENTER" disable="true" maxHeight="20.0" mnemonicParsing="false" onAction="#keyFileDeleteButton2OnAction" prefHeight="20.0" prefWidth="78.0" text="Delete" textAlignment="CENTER" AnchorPane.bottomAnchor="10.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="10.0"> | |
145 | - <tooltip> | |
146 | - <Tooltip fx:id="keyFileDeleteButton2ToolTip" text="Delete selected item(s)"> | |
147 | - <font> | |
148 | - <Font size="14.0" /> | |
149 | - </font> | |
150 | - </Tooltip> | |
151 | - </tooltip> | |
152 | - <font> | |
153 | - <Font size="14.0" /> | |
154 | - </font> | |
155 | - </Button> | |
156 | - </children> | |
157 | - </AnchorPane> | |
158 | 158 | <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="2" GridPane.rowSpan="2"> |
159 | 159 | <children> |
160 | 160 | <Label fx:id="keyInfoLabel" alignment="CENTER" contentDisplay="CENTER" focusTraversable="false" onMouseClicked="#keyInfoLabelClicked" prefHeight="40.0" prefWidth="30.0" style="-fx-font-family: FreeSans; -fx-font-size: 18;" text="info" textAlignment="CENTER" textFill="LIGHTGRAY" underline="true" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
@@ -237,7 +237,7 @@ | ||
237 | 237 | <ColumnConstraints hgrow="SOMETIMES" percentWidth="6.0" /> |
238 | 238 | <ColumnConstraints hgrow="SOMETIMES" percentWidth="6.0" /> |
239 | 239 | <ColumnConstraints hgrow="SOMETIMES" percentWidth="6.0" /> |
240 | - <ColumnConstraints hgrow="SOMETIMES" percentWidth="6.0" /> | |
240 | + <ColumnConstraints halignment="RIGHT" hgrow="SOMETIMES" percentWidth="6.0" /> | |
241 | 241 | <ColumnConstraints /> |
242 | 242 | </columnConstraints> |
243 | 243 | <rowConstraints> |
@@ -252,6 +252,36 @@ | ||
252 | 252 | <RowConstraints maxHeight="15.0" minHeight="15.0" prefHeight="30.0" vgrow="SOMETIMES" /> |
253 | 253 | </rowConstraints> |
254 | 254 | <children> |
255 | + <AnchorPane prefWidth="200.0" GridPane.columnIndex="16" GridPane.columnSpan="2" GridPane.halignment="CENTER"> | |
256 | + <children> | |
257 | + <Label fx:id="keyHeaderLabel" alignment="CENTER" cache="true" cacheHint="SPEED" contentDisplay="CENTER" focusTraversable="false" prefHeight="15.0" styleClass="dashboard_generic" textAlignment="CENTER" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" /> | |
258 | + </children> | |
259 | + </AnchorPane> | |
260 | + <AnchorPane prefWidth="200.0" GridPane.columnIndex="16" GridPane.columnSpan="2" GridPane.halignment="CENTER" GridPane.rowIndex="1"> | |
261 | + <children> | |
262 | + <Label fx:id="keyNameLabel" alignment="CENTER" cache="true" cacheHint="SPEED" contentDisplay="CENTER" focusTraversable="false" prefHeight="15.0" textAlignment="CENTER" textFill="#808080" textOverrun="CENTER_ELLIPSIS" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> | |
263 | + <tooltip> | |
264 | + <Tooltip fx:id="keyNameLabelTooltip"> | |
265 | + <font> | |
266 | + <Font size="14.0" /> | |
267 | + </font> | |
268 | + </Tooltip> | |
269 | + </tooltip> | |
270 | + </Label> | |
271 | + </children> | |
272 | + </AnchorPane> | |
273 | + <Label fx:id="reuseKeysLabel" alignment="TOP_CENTER" contentDisplay="CENTER" maxHeight="30.0" maxWidth="30.0" minHeight="30.0" minWidth="30.0" onMouseClicked="#reuseKeysLabelOnMouseClicked" prefHeight="30.0" prefWidth="30.0" text="♺" textAlignment="CENTER" textFill="#303030" translateX="15.0" GridPane.columnIndex="17" GridPane.valignment="BASELINE"> | |
274 | + <font> | |
275 | + <Font size="24.0" /> | |
276 | + </font> | |
277 | + <tooltip> | |
278 | + <Tooltip fx:id="reuseKeysLabelToolTip" text="Reuse Key (only use if you know what you are doing)\r\n\r\nReuse Key can be used in case you want to quick view and reencrypt without making changes to the original file to prevent unnecessary backups"> | |
279 | + <font> | |
280 | + <Font size="14.0" /> | |
281 | + </font> | |
282 | + </Tooltip> | |
283 | + </tooltip> | |
284 | + </Label> | |
255 | 285 | <AnchorPane maxHeight="15.0" minHeight="15.0" prefHeight="15.0" prefWidth="44.0" GridPane.rowIndex="1"> |
256 | 286 | <children> |
257 | 287 | <Label fx:id="targetWarningNameLabel" alignment="BASELINE_LEFT" contentDisplay="CENTER" layoutX="15.0" layoutY="8.0" prefHeight="15.0" prefWidth="70.0" styleClass="dashboard_generic" text="Skipping" textFill="#aaaaaa" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
@@ -316,24 +346,6 @@ | ||
316 | 346 | </font></Label> |
317 | 347 | </children> |
318 | 348 | </AnchorPane> |
319 | - <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="16" GridPane.columnSpan="2"> | |
320 | - <children> | |
321 | - <Label fx:id="keyHeaderLabel" alignment="CENTER" cache="true" cacheHint="SPEED" focusTraversable="false" layoutX="63.0" layoutY="-5.0" prefHeight="15.0" prefWidth="190.0" styleClass="dashboard_generic" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" /> | |
322 | - </children> | |
323 | - </AnchorPane> | |
324 | - <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="17"> | |
325 | - <children> | |
326 | - <CheckBox fx:id="reuseKeyCheckBox" alignment="CENTER" contentDisplay="CENTER" mnemonicParsing="false" onAction="#reuseKeyCheckBoxOnAction" opacity="0.15" styleClass="dashboard_generic" textAlignment="CENTER" visible="false" AnchorPane.rightAnchor="0.0"> | |
327 | - <tooltip> | |
328 | - <Tooltip fx:id="reuseKeyCheckBoxToolTip" text="Reuse Key (only use if you know what you are doing)\r\n\r\nReuse Key can be used in case you want to quick view and reencrypt without making changes to the original file to prevent unnecessary backups"> | |
329 | - <font> | |
330 | - <Font size="14.0" /> | |
331 | - </font> | |
332 | - </Tooltip> | |
333 | - </tooltip> | |
334 | - </CheckBox> | |
335 | - </children> | |
336 | - </AnchorPane> | |
337 | 349 | <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="16" GridPane.rowIndex="2"> |
338 | 350 | <children> |
339 | 351 | <Label fx:id="keySizeHeaderLabel" alignment="CENTER_RIGHT" cache="true" cacheHint="SPEED" focusTraversable="false" layoutX="2.0" layoutY="-6.0" prefHeight="30.0" prefWidth="61.0" styleClass="dashboard_generic" text=" " AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" /> |
@@ -417,18 +429,6 @@ | ||
417 | 429 | </font></Label> |
418 | 430 | </children> |
419 | 431 | </AnchorPane> |
420 | - <AnchorPane maxHeight="15.0" minHeight="15.0" prefHeight="15.0" prefWidth="172.0" scaleX="0.9" GridPane.columnIndex="16" GridPane.columnSpan="2" GridPane.rowIndex="1"> | |
421 | - <children> | |
422 | - <Label fx:id="keyNameLabel" alignment="CENTER" cache="true" cacheHint="SPEED" focusTraversable="false" layoutX="66.0" prefHeight="15.0" prefWidth="190.0" textFill="#808080" textOverrun="CENTER_ELLIPSIS" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> | |
423 | - <tooltip> | |
424 | - <Tooltip fx:id="keyNameLabelTooltip"> | |
425 | - <font> | |
426 | - <Font size="14.0" /> | |
427 | - </font> | |
428 | - </Tooltip> | |
429 | - </tooltip></Label> | |
430 | - </children> | |
431 | - </AnchorPane> | |
432 | 432 | <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="3" GridPane.rowIndex="6"> |
433 | 433 | <children> |
434 | 434 | <Label fx:id="targetEncryptedNameLabel" alignment="BASELINE_LEFT" cache="true" cacheHint="SPEED" focusTraversable="false" layoutX="-8.0" prefHeight="15.0" prefWidth="70.0" styleClass="dashboard_generic" text="Encrypted" textFill="#aaaaaa" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
@@ -1086,18 +1086,15 @@ | ||
1086 | 1086 | </Label> |
1087 | 1087 | </children> |
1088 | 1088 | </AnchorPane> |
1089 | - <AnchorPane prefHeight="25.0" prefWidth="300.0" GridPane.columnIndex="4" GridPane.hgrow="NEVER"> | |
1089 | + <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1"> | |
1090 | 1090 | <children> |
1091 | - <Label fx:id="authorLabel" alignment="BASELINE_RIGHT" cache="true" cacheHint="SPEED" contentDisplay="RIGHT" focusTraversable="false" maxHeight="15.0" minHeight="15.0" onMouseClicked="#authorLabelOnMouseClicked" onMouseEntered="#authorLabelOnMouseEntered" onMouseExited="#authorLabelOnMouseExited" prefHeight="25.0" prefWidth="234.0" styleClass="text_color_low" text="author" textAlignment="RIGHT" textFill="#aaaaaa" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> | |
1092 | - <font> | |
1093 | - <Font name="Open Sans" size="12.0" /> | |
1094 | - </font> | |
1095 | - <padding> | |
1096 | - <Insets left="5.0" right="5.0" /> | |
1097 | - </padding> | |
1091 | + <Label fx:id="logsLabel" alignment="CENTER" contentDisplay="CENTER" disable="true" onMouseClicked="#logsLabelOnMouseClicked" onMouseEntered="#logsLabelOnMouseEntered" onMouseExited="#logsLabelOnMouseExited" prefHeight="20.0" prefWidth="125.0" styleClass="text_color_low" text="Logs" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> | |
1098 | 1092 | <cursor> |
1099 | 1093 | <Cursor fx:constant="HAND" /> |
1100 | 1094 | </cursor> |
1095 | + <font> | |
1096 | + <Font size="12.0" /> | |
1097 | + </font> | |
1101 | 1098 | </Label> |
1102 | 1099 | </children> |
1103 | 1100 | </AnchorPane> |
@@ -1125,9 +1122,25 @@ | ||
1125 | 1122 | </Label> |
1126 | 1123 | </children> |
1127 | 1124 | </AnchorPane> |
1125 | + <AnchorPane prefHeight="25.0" prefWidth="300.0" GridPane.columnIndex="4" GridPane.hgrow="NEVER"> | |
1126 | + <children> | |
1127 | + <Label fx:id="authorLabel" alignment="BASELINE_RIGHT" cache="true" cacheHint="SPEED" contentDisplay="RIGHT" focusTraversable="false" maxHeight="15.0" minHeight="15.0" onMouseClicked="#authorLabelOnMouseClicked" onMouseEntered="#authorLabelOnMouseEntered" onMouseExited="#authorLabelOnMouseExited" prefHeight="25.0" prefWidth="234.0" styleClass="text_color_low" text="author" textAlignment="RIGHT" textFill="#aaaaaa" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> | |
1128 | + <font> | |
1129 | + <Font name="Open Sans" size="12.0" /> | |
1130 | + </font> | |
1131 | + <padding> | |
1132 | + <Insets left="5.0" right="5.0" /> | |
1133 | + </padding> | |
1134 | + <cursor> | |
1135 | + <Cursor fx:constant="HAND" /> | |
1136 | + </cursor> | |
1137 | + </Label> | |
1138 | + </children> | |
1139 | + </AnchorPane> | |
1140 | + <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="5" /> | |
1128 | 1141 | <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="6"> |
1129 | 1142 | <children> |
1130 | - <Label fx:id="commandLabel" alignment="CENTER" contentDisplay="CENTER" disable="true" layoutX="-35.0" onMouseClicked="#commandLabelOnMouseClicked" onMouseEntered="#commandLabelOnMouseEntered" onMouseExited="#commandLabelOnMouseExited" prefHeight="20.0" prefWidth="65.0" style="-fx-border-radius: 5; -fx-border-color: GREY;" styleClass="text_color_low" text=">_" textAlignment="CENTER" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> | |
1143 | + <Label fx:id="commandLabel" alignment="CENTER" contentDisplay="CENTER" disable="true" onMouseClicked="#commandLabelOnMouseClicked" onMouseEntered="#commandLabelOnMouseEntered" onMouseExited="#commandLabelOnMouseExited" prefHeight="20.0" prefWidth="65.0" style="-fx-border-radius: 5; -fx-border-color: GREY;" styleClass="text_color_low" text=">_" textAlignment="CENTER" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> | |
1131 | 1144 | <cursor> |
1132 | 1145 | <Cursor fx:constant="HAND" /> |
1133 | 1146 | </cursor> |
@@ -1144,18 +1157,6 @@ | ||
1144 | 1157 | </Label> |
1145 | 1158 | </children> |
1146 | 1159 | </AnchorPane> |
1147 | - <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1"> | |
1148 | - <children> | |
1149 | - <Label fx:id="logsLabel" alignment="CENTER" contentDisplay="CENTER" disable="true" onMouseClicked="#logsLabelOnMouseClicked" onMouseEntered="#logsLabelOnMouseEntered" onMouseExited="#logsLabelOnMouseExited" prefHeight="20.0" prefWidth="125.0" styleClass="text_color_low" text="Logs" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> | |
1150 | - <cursor> | |
1151 | - <Cursor fx:constant="HAND" /> | |
1152 | - </cursor> | |
1153 | - <font> | |
1154 | - <Font size="12.0" /> | |
1155 | - </font> | |
1156 | - </Label> | |
1157 | - </children> | |
1158 | - </AnchorPane> | |
1159 | 1160 | </children> |
1160 | 1161 | </GridPane> |
1161 | 1162 | </children> |
@@ -263,6 +263,9 @@ public class GUIFX extends Application implements UI, Initializable | ||
263 | 263 | @FXML private Tooltip decryptedLabelToolTip; |
264 | 264 | @FXML private Label logsLabel; |
265 | 265 | @FXML private Tooltip undecryptableLabelToolTip; |
266 | + @FXML private AnchorPane root; | |
267 | + @FXML private Label reuseKeysLabel; | |
268 | + @FXML private Tooltip reuseKeysLabelToolTip; | |
266 | 269 | |
267 | 270 | // @FXML private ToggleButton encryptionModeToggleButton; |
268 | 271 | // @FXML private Tooltip encryptionModeToolTip; |
@@ -427,7 +430,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
427 | 430 | })); |
428 | 431 | private Stage mainStage; |
429 | 432 | |
430 | - private FinalCrypt finalCrypt; | |
433 | + private FinalCrypt finalcrypt; | |
431 | 434 | private UI ui; |
432 | 435 | private GUIFX guifx; |
433 | 436 |
@@ -618,12 +621,6 @@ public class GUIFX extends Application implements UI, Initializable | ||
618 | 621 | private Stage preloaderStage; |
619 | 622 | private Group preloaderRootGroup; |
620 | 623 | private Scene preloaderScene; |
621 | - @FXML | |
622 | - private CheckBox reuseKeyCheckBox; | |
623 | - @FXML | |
624 | - private Tooltip reuseKeyCheckBoxToolTip; | |
625 | - @FXML | |
626 | - private AnchorPane root; | |
627 | 624 | |
628 | 625 | private String getPauseDescription() { return pauseDescription; } |
629 | 626 | private String getStopDescription() { return stopDescription; } |
@@ -791,7 +788,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
791 | 788 | stopDescription=bundle.getString("102"); |
792 | 789 | |
793 | 790 | commandLabelToolTip.setText(bundle.getString("146")); |
794 | - reuseKeyCheckBoxToolTip.setText(bundle.getString("155")); | |
791 | + reuseKeysLabelToolTip.setText(bundle.getString("155")); | |
795 | 792 | |
796 | 793 | tgtFileChooser.setLocale(locale); keyFileChooser.setLocale(locale); |
797 | 794 |
@@ -1008,7 +1005,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
1008 | 1005 | keyFileChooser.addActionListener( (java.awt.event.ActionEvent evt) -> { keyFileChooserActionPerformed(evt); }); |
1009 | 1006 | Timeline timeline = new Timeline(new KeyFrame( Duration.millis(200), ae -> { keyFileSwingNode.setContent(keyFileChooser); } )); timeline.play(); // Delay keyFileChooser to give 1st focus to targetFileChooser |
1010 | 1007 | |
1011 | - finalCrypt = new FinalCrypt(this); finalCrypt.start(); | |
1008 | + finalcrypt = new FinalCrypt(this); finalcrypt.start(); | |
1012 | 1009 | |
1013 | 1010 | |
1014 | 1011 | pwdField.setContextMenu(new ContextMenu()); // Getting rid of the mouse paste function. Actionlistener does not pickup on pasted passwords through mouse |
@@ -1185,7 +1182,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
1185 | 1182 | // First time selection Key Directory |
1186 | 1183 | Path keyPath = keyFileChooser.getCurrentDirectory().toPath(); |
1187 | 1184 | // getFCPath(UI ui, String caller, Path path, boolean isKey, Path keyPath, boolean disabledMAC, boolean report) |
1188 | - keyFCPath = Validate.getFCPath( this, "", keyPath, true, keyPath, finalCrypt.disabledMAC, true); | |
1185 | + keyFCPath = Validate.getFCPath(this, "", keyPath, true, keyPath, finalcrypt.disabledMAC, true); | |
1189 | 1186 | |
1190 | 1187 | |
1191 | 1188 | targetFCPathList = new FCPathList<FCPath>(); updateDashboard(targetFCPathList); |
@@ -1241,6 +1238,8 @@ public class GUIFX extends Application implements UI, Initializable | ||
1241 | 1238 | bottomrightLabel.setText(arrows.substring(4, 6)); |
1242 | 1239 | bottomleftLabel.setText(arrows.substring(6, 8)); |
1243 | 1240 | } |
1241 | + reuseKeysLabel.setVisible(false); | |
1242 | + reuseKeysLabel.setDisable(false); | |
1244 | 1243 | |
1245 | 1244 | authorLabel.setText("Author: " + Version.getAuthor()); |
1246 | 1245 | // log(getRuntimeEnvironment(), false, true, true, false ,false); |
@@ -1606,7 +1605,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
1606 | 1605 | private void updateSystemMonitor() |
1607 | 1606 | { |
1608 | 1607 | double userLoadPerc = getUserLoadPerc(); String userLoadString = CPU_SYMBOL + " " + cpu_workload + " (" + Stats.getDecimal(userLoadPerc,0) + "%)"; MemStats memStats = getMemStats(); |
1609 | - double throughputPerc = ((megaBytesPerSecond) / (finalCrypt.io_Throughput_Ceiling / 100)); String throughputString = STORAGE_SYMBOL + " " + storage_io_throughput + " (" + Stats.getDecimal((throughputPerc * (finalCrypt.io_Throughput_Ceiling / 100)),1) + " MiB/S)"; | |
1608 | + double throughputPerc = ((megaBytesPerSecond) / (finalcrypt.io_Throughput_Ceiling / 100)); String throughputString = STORAGE_SYMBOL + " " + storage_io_throughput + " (" + Stats.getDecimal((throughputPerc * (finalcrypt.io_Throughput_Ceiling / 100)),1) + " MiB/S)"; | |
1610 | 1609 | displaySystemMonitor(userLoadPerc, userLoadString, memStats.usedMemPerc, memStats.memStatsString, throughputPerc, throughputString); |
1611 | 1610 | } |
1612 | 1611 |
@@ -2079,14 +2078,14 @@ public class GUIFX extends Application implements UI, Initializable | ||
2079 | 2078 | { |
2080 | 2079 | new AudioPlayer().play(this, Audio.SND_INPUT_OK,Audio.AUDIO_CODEC); |
2081 | 2080 | // play(SND_INPUT_OK, AUDIO_CODEC); |
2082 | - ArrayList<Path> pathList = finalCrypt.getPathList(tgtFileChooser.getSelectedFiles()); | |
2081 | + ArrayList<Path> pathList = finalcrypt.getPathList(tgtFileChooser.getSelectedFiles()); | |
2083 | 2082 | // boolean delete = true; |
2084 | 2083 | boolean returnpathlist = false; |
2085 | 2084 | String pattern1 = "glob:*"; |
2086 | 2085 | |
2087 | 2086 | tab.getSelectionModel().select(1); |
2088 | 2087 | log("\r\nDeleting selecttion started\r\n\r\n", true, true, true, false, false); |
2089 | - finalCrypt.deleteSelection(pathList, keyFCPath, MySimpleFCFileVisitor.DELETE, returnpathlist, pattern1, false); | |
2088 | + finalcrypt.deleteSelection(pathList, keyFCPath, MySimpleFCFileVisitor.DELETE, returnpathlist, pattern1, false); | |
2090 | 2089 | log("\r\nDeleting selection finished\r\n\r\n", true, true, true, false, false); |
2091 | 2090 | updateFileChoosers(true, false, true, true, false, true); // targetFileDeleteButtonActionPerformed() |
2092 | 2091 | } |
@@ -2120,17 +2119,17 @@ public class GUIFX extends Application implements UI, Initializable | ||
2120 | 2119 | if (keyFileChooser.getSelectedFiles().length > 0) |
2121 | 2120 | { |
2122 | 2121 | new AudioPlayer().play(this, Audio.SND_INPUT_OK,Audio.AUDIO_CODEC); |
2123 | - ArrayList<Path> pathList = finalCrypt.getPathList(keyFileChooser.getSelectedFiles()); | |
2122 | + ArrayList<Path> pathList = finalcrypt.getPathList(keyFileChooser.getSelectedFiles()); | |
2124 | 2123 | // boolean delete = true; |
2125 | 2124 | boolean returnpathlist = false; |
2126 | 2125 | String pattern1 = "glob:*"; |
2127 | 2126 | |
2128 | 2127 | tab.getSelectionModel().select(1); |
2129 | 2128 | log("\r\nDeleting selecttion started\r\n\r\n", true, true, true, false, false); |
2130 | - finalCrypt.deleteSelection(pathList, keyFCPath, MySimpleFCFileVisitor.DELETE, returnpathlist, pattern1, false); | |
2129 | + finalcrypt.deleteSelection(pathList, keyFCPath, MySimpleFCFileVisitor.DELETE, returnpathlist, pattern1, false); | |
2131 | 2130 | log("\r\nDeleting selection finished\r\n\r\n", true, true, true, false, false); |
2132 | 2131 | // Validate.getFCPath(UI ui, String caller, Path path, boolean isKey, Path keyPath, boolean disabledMAC, boolean report) |
2133 | - Path path = Paths.get("."); keyFCPath = Validate.getFCPath( ui, "", path, false, path, finalCrypt.disabledMAC, true); | |
2132 | + Path path = Paths.get("."); keyFCPath = Validate.getFCPath(ui, "", path, false, path, finalcrypt.disabledMAC, true); | |
2134 | 2133 | updateFileChoosers(true, false, true, true, false, true); // keyFileDeleteButtonActionPerformed() |
2135 | 2134 | } |
2136 | 2135 | } |
@@ -2188,12 +2187,12 @@ public class GUIFX extends Application implements UI, Initializable | ||
2188 | 2187 | if (keyFCPath == null) |
2189 | 2188 | { |
2190 | 2189 | // Validate.getFCPath(UI ui, String caller, Path path, boolean isKey, Path keyPath, boolean disabledMAC, boolean report) |
2191 | - Path path = Paths.get("."); keyFCPath = Validate.getFCPath( ui, "", path, false, path, finalCrypt.disabledMAC, true); | |
2190 | + Path path = Paths.get("."); keyFCPath = Validate.getFCPath(ui, "", path, false, path, finalcrypt.disabledMAC, true); | |
2192 | 2191 | } |
2193 | 2192 | Path targetPath = tgtFileChooser.getSelectedFile().toPath(); |
2194 | 2193 | |
2195 | 2194 | // getFCPath(UI ui, String caller, Path path, boolean isKey, Path keyPath, boolean disabledMAC, boolean report) |
2196 | - FCPath targetFCPath = Validate.getFCPath(this, "", targetPath, false, keyFCPath.path, finalCrypt.disabledMAC, true); | |
2195 | + FCPath targetFCPath = Validate.getFCPath(this, "", targetPath, false, keyFCPath.path, finalcrypt.disabledMAC, true); | |
2197 | 2196 | |
2198 | 2197 | if ((targetFCPath.type == FCPath.DEVICE) || (targetFCPath.type == FCPath.DEVICE_PROTECTED)) |
2199 | 2198 | { |
@@ -2420,7 +2419,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
2420 | 2419 | if ((showPasswordCheckBox.isVisible()) && (pwdField.getText().length() == 0)) { passwordHeaderLabel.setText(password_optional); } else { passwordHeaderLabel.setText(password_set); } |
2421 | 2420 | pwdField.setDisable(true); |
2422 | 2421 | pwdtxtField.setDisable(true); |
2423 | - finalCrypt.setPwd(pwdField.getText()); finalCrypt.setPwdBytes(pwdField.getText()); finalCrypt.resetPwdPos(); finalCrypt.resetPwdBytesPos(); | |
2422 | + finalcrypt.setPwd(pwdField.getText()); finalcrypt.setPwdBytes(pwdField.getText()); finalcrypt.resetPwdPos(); finalcrypt.resetPwdBytesPos(); | |
2424 | 2423 | keyImageView.setOpacity(0.8); |
2425 | 2424 | |
2426 | 2425 | updateDashboardTask = new TimerTask() { @Override public void run() { updateDashboard(targetFCPathList2); }}; |
@@ -2443,7 +2442,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
2443 | 2442 | Thread buildSelectionThread = new Thread(() -> // Relaxed interruptable thread |
2444 | 2443 | { |
2445 | 2444 | // buildSelection(UI ui, ArrayList<Path> pathList, FCPath keyFCPath, FCPathList<FCPath> targetFCPathList, boolean symlink, String pattern, boolean negatePattern, boolean disabledMAC, boolean status) |
2446 | - Validate.buildSelection(ui, targetPathList, keyFCPath, targetFCPathList2, symlink, pattern, negatePattern, finalCrypt.disabledMAC, false); | |
2445 | + Validate.buildSelection(ui, targetPathList, keyFCPath, targetFCPathList2, symlink, pattern, negatePattern, finalcrypt.disabledMAC, false); | |
2447 | 2446 | }); buildSelectionThread.setName("buildSelectionThread"); buildSelectionThread.setDaemon(true); buildSelectionThread.start(); |
2448 | 2447 | })); timeline.play(); |
2449 | 2448 | } |
@@ -2497,7 +2496,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
2497 | 2496 | checksumHeader.setVisible(show); |
2498 | 2497 | showPasswordCheckBox.setVisible(show); |
2499 | 2498 | keyImageView.setVisible(show); |
2500 | - reuseKeyCheckBox.setVisible(show); | |
2499 | + reuseKeysLabel.setVisible(show); | |
2501 | 2500 | } |
2502 | 2501 | |
2503 | 2502 | synchronized private void keyFileChooserPropertyCheck(boolean controlled) // getFCPath, checkModeReady |
@@ -2538,7 +2537,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
2538 | 2537 | } |
2539 | 2538 | |
2540 | 2539 | // Set Buffer Size |
2541 | - finalCrypt.setBufferSize(finalCrypt.getBufferSizeDefault()); | |
2540 | + finalcrypt.setBufferSize(finalcrypt.getBufferSizeDefault()); | |
2542 | 2541 | |
2543 | 2542 | // Validate KeyFile |
2544 | 2543 | if ((keyFileChooser != null) && (keyFileChooser.getSelectedFile() != null) && (keyFileChooser.getSelectedFiles().length == 1)) |
@@ -2553,7 +2552,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
2553 | 2552 | keyPath = keyFileChooser.getCurrentDirectory().toPath(); |
2554 | 2553 | } |
2555 | 2554 | // getFCPath(UI ui, String caller, Path path, boolean isKey, Path keyPath, boolean disabledMAC, boolean report) |
2556 | - keyFCPath = Validate.getFCPath(this, "", keyPath, true, keyPath, finalCrypt.disabledMAC, true); | |
2555 | + keyFCPath = Validate.getFCPath(this, "", keyPath, true, keyPath, finalcrypt.disabledMAC, true); | |
2557 | 2556 | |
2558 | 2557 | // ============================================================================================================================ |
2559 | 2558 | // ============================================== Validate Key Selected ======================================================= |
@@ -2577,13 +2576,13 @@ public class GUIFX extends Application implements UI, Initializable | ||
2577 | 2576 | if ((showPasswordCheckBox.isVisible()) && (pwdField.getText().length() == 0)) { passwordHeaderLabel.setText(password_optional); } else { passwordHeaderLabel.setText(password_set); } |
2578 | 2577 | pwdField.setDisable(false); |
2579 | 2578 | pwdtxtField.setDisable(false); |
2580 | - finalCrypt.setPwd(pwdField.getText()); finalCrypt.setPwdBytes(pwdField.getText()); finalCrypt.resetPwdPos(); finalCrypt.resetPwdBytesPos(); | |
2579 | + finalcrypt.setPwd(pwdField.getText()); finalcrypt.setPwdBytes(pwdField.getText()); finalcrypt.resetPwdPos(); finalcrypt.resetPwdBytesPos(); | |
2581 | 2580 | |
2582 | 2581 | keyImageView.setImage(KEY_FILE_IMAGE); |
2583 | 2582 | keyImageView.setOpacity(0.8); |
2584 | 2583 | |
2585 | 2584 | showKeyPanel(true); |
2586 | - if (keyFCPath.type == FCPath.FILE) { reuseKeyCheckBox.setVisible(false); } else { reuseKeyCheckBox.setVisible(true); } | |
2585 | + if (keyFCPath.type == FCPath.FILE) { reuseKeysLabel.setVisible(false); } else { reuseKeysLabel.setVisible(true); } | |
2587 | 2586 | |
2588 | 2587 | tgtFileChooserPropertyCheck(true); |
2589 | 2588 | } |
@@ -2601,7 +2600,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
2601 | 2600 | if ((showPasswordCheckBox.isVisible()) && (pwdField.getText().length() == 0)) { passwordHeaderLabel.setText(password_optional); } else { passwordHeaderLabel.setText(password_set); } |
2602 | 2601 | pwdField.setDisable(false); |
2603 | 2602 | pwdtxtField.setDisable(false); |
2604 | - finalCrypt.setPwd(pwdField.getText()); finalCrypt.setPwdBytes(pwdField.getText()); finalCrypt.resetPwdPos(); finalCrypt.resetPwdBytesPos(); | |
2603 | + finalcrypt.setPwd(pwdField.getText()); finalcrypt.setPwdBytes(pwdField.getText()); finalcrypt.resetPwdPos(); finalcrypt.resetPwdBytesPos(); | |
2605 | 2604 | |
2606 | 2605 | keyImageView.setImage(KEY_MAP_IMAGE); |
2607 | 2606 | keyImageView.setOpacity(0.8); |
@@ -2676,7 +2675,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
2676 | 2675 | |
2677 | 2676 | Path keyPath = keyFileChooser.getCurrentDirectory().toPath(); |
2678 | 2677 | // getFCPath(UI ui, String caller, Path path, boolean isKey, Path keyPath, boolean disabledMAC, boolean report) |
2679 | - keyFCPath = Validate.getFCPath(this, "", keyPath, true, keyPath, finalCrypt.disabledMAC, true); | |
2678 | + keyFCPath = Validate.getFCPath(this, "", keyPath, true, keyPath, finalcrypt.disabledMAC, true); | |
2680 | 2679 | |
2681 | 2680 | if ((keyFCPath.type == FCPath.DIRECTORY) && (keyFCPath.isValidKeyDir)) |
2682 | 2681 | { |
@@ -3039,7 +3038,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
3039 | 3038 | } |
3040 | 3039 | |
3041 | 3040 | // Decryptable Files |
3042 | - if ((targetFCPathList.decryptableFiles > 0) && ( ! finalCrypt.disabledMAC) ) // Prevents destruction! Non-MAC Mode encrypting MAC encrypted files (in stead of default decryption) | |
3041 | + if ((targetFCPathList.decryptableFiles > 0) && ( ! finalcrypt.disabledMAC) ) // Prevents destruction! Non-MAC Mode encrypting MAC encrypted files (in stead of default decryption) | |
3043 | 3042 | { |
3044 | 3043 | new AudioPlayer().play(this, Audio.SND_SELECT,Audio.AUDIO_CODEC); |
3045 | 3044 | decryptableList = filter(targetFCPathList,(FCPath fcPath) -> fcPath.isDecryptable); |
@@ -3374,9 +3373,9 @@ public class GUIFX extends Application implements UI, Initializable | ||
3374 | 3373 | { |
3375 | 3374 | @Override public void run() |
3376 | 3375 | { |
3377 | - if (finalCrypt.processRunning) | |
3376 | + if (finalcrypt.processRunning) | |
3378 | 3377 | { |
3379 | - finalCrypt.setStopPending(true); | |
3378 | + finalcrypt.setStopPending(true); | |
3380 | 3379 | try{ Thread.sleep(2000); } catch (InterruptedException ex) {} |
3381 | 3380 | log("\r\nEncryption User Interrupted...\r\n", false, true, true, false, false); |
3382 | 3381 | } |
@@ -3396,7 +3395,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
3396 | 3395 | pwdBytes = GPT.hex2Bytes(getHexString(hashBytes,2)); |
3397 | 3396 | } |
3398 | 3397 | else { pwd = ""; } |
3399 | - finalCrypt.encryptSelection(targetSourceFCPathList, filteredTargetSourceFCPathList, keyFCPath, true, pwd, pwdBytes, false); | |
3398 | + finalcrypt.encryptSelection(targetSourceFCPathList, filteredTargetSourceFCPathList, keyFCPath, true, pwd, pwdBytes, false); | |
3400 | 3399 | } |
3401 | 3400 | |
3402 | 3401 | @FXML |
@@ -3433,9 +3432,9 @@ public class GUIFX extends Application implements UI, Initializable | ||
3433 | 3432 | { |
3434 | 3433 | @Override public void run() |
3435 | 3434 | { |
3436 | - if (finalCrypt.processRunning) | |
3435 | + if (finalcrypt.processRunning) | |
3437 | 3436 | { |
3438 | - finalCrypt.setStopPending(true); | |
3437 | + finalcrypt.setStopPending(true); | |
3439 | 3438 | try{ Thread.sleep(2000); } catch (InterruptedException ex) {} |
3440 | 3439 | log("\r\nDecryption User Interrupted...\r\n", false, true, true, false, false); |
3441 | 3440 | } |
@@ -3457,7 +3456,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
3457 | 3456 | pwdBytes = GPT.hex2Bytes(getHexString(hashBytes,2)); |
3458 | 3457 | } |
3459 | 3458 | else { pwd = ""; } |
3460 | - finalCrypt.encryptSelection(targetSourceFCPathList, filteredTargetSourceFCPathList, keyFCPath, false, pwd, pwdBytes, open); | |
3459 | + finalcrypt.encryptSelection(targetSourceFCPathList, filteredTargetSourceFCPathList, keyFCPath, false, pwd, pwdBytes, open); | |
3461 | 3460 | } |
3462 | 3461 | |
3463 | 3462 | @FXML private void keyLabelOnMouseClicked(MouseEvent event) { new AudioPlayer().play(this, Audio.SND_BUTTON,Audio.AUDIO_CODEC); createOTPKeyFile(); } |
@@ -3509,7 +3508,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
3509 | 3508 | // keyImageView.setImage(KEY_FILE_IMAGE); |
3510 | 3509 | keyImageView.setOpacity(0.8); |
3511 | 3510 | |
3512 | - finalCrypt.setPwd(""); finalCrypt.setPwdBytes(""); finalCrypt.resetPwdPos(); finalCrypt.resetPwdBytesPos(); | |
3511 | + finalcrypt.setPwd(""); finalcrypt.setPwdBytes(""); finalcrypt.resetPwdPos(); finalcrypt.resetPwdBytesPos(); | |
3513 | 3512 | }); |
3514 | 3513 | |
3515 | 3514 | Platform.runLater(() -> |
@@ -3794,8 +3793,8 @@ public class GUIFX extends Application implements UI, Initializable | ||
3794 | 3793 | megaBytesPerSecond = bytesPerMiliSecondParam; |
3795 | 3794 | |
3796 | 3795 | // update ProgressBars |
3797 | - if (finalCrypt.getVerbose()) { log("Progress File : " + filesProgressPercent / 100.0 + " factor", false, false, false, false, true); } | |
3798 | - if (finalCrypt.getVerbose()) { log("Progress Files: " + fileProgressPercent / 100.0 + " factor", false, false, false, false, true); } | |
3796 | + if (finalcrypt.getVerbose()) { log("Progress File : " + filesProgressPercent / 100.0 + " factor", false, false, false, false, true); } | |
3797 | + if (finalcrypt.getVerbose()) { log("Progress Files: " + fileProgressPercent / 100.0 + " factor", false, false, false, false, true); } | |
3799 | 3798 | fileProgressBar.setProgress((double)fileProgressPercent / 100.0); // percent needs to become factor in this gui |
3800 | 3799 | filesProgressBar.setProgress((double)filesProgressPercent / 100.0); // percent needs to become factor in this gui |
3801 | 3800 | updateDashboard(targetFCPathList); |
@@ -4066,7 +4065,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
4066 | 4065 | { |
4067 | 4066 | // Atomic |
4068 | 4067 | processPausing = ! processPausing; |
4069 | - if ((processRunningMode == ENCRYPT_MODE) || (processRunningMode == DECRYPT_MODE)) { finalCrypt.setPausing(processPausing); } else { DeviceController.setPausing(processPausing); } | |
4068 | + if ((processRunningMode == ENCRYPT_MODE) || (processRunningMode == DECRYPT_MODE)) { finalcrypt.setPausing(processPausing); } else { DeviceController.setPausing(processPausing); } | |
4070 | 4069 | |
4071 | 4070 | // UI |
4072 | 4071 | Platform.runLater(() -> |
@@ -4101,7 +4100,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
4101 | 4100 | { |
4102 | 4101 | if (((processRunningMode == ENCRYPT_MODE) || (processRunningMode == DECRYPT_MODE))) |
4103 | 4102 | { |
4104 | - finalCrypt.setStopPending(true); | |
4103 | + finalcrypt.setStopPending(true); | |
4105 | 4104 | if (processPausing) { pauseProcess(true); } |
4106 | 4105 | } |
4107 | 4106 | else |
@@ -4813,7 +4812,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
4813 | 4812 | } |
4814 | 4813 | else |
4815 | 4814 | { |
4816 | - finalCrypt.setPwd(pwdField.getText()); finalCrypt.setPwdBytes(pwdField.getText()); finalCrypt.resetPwdPos(); finalCrypt.resetPwdBytesPos(); | |
4815 | + finalcrypt.setPwd(pwdField.getText()); finalcrypt.setPwdBytes(pwdField.getText()); finalcrypt.resetPwdPos(); finalcrypt.resetPwdBytesPos(); | |
4817 | 4816 | pwdtxtField.setText(pwdField.getText()); |
4818 | 4817 | pwdtxtFieldTooltip.setText(pwdField.getText()); |
4819 | 4818 | setFont(pwdField);setFont(pwdtxtField); |
@@ -4843,7 +4842,7 @@ public class GUIFX extends Application implements UI, Initializable | ||
4843 | 4842 | } |
4844 | 4843 | else |
4845 | 4844 | { |
4846 | - finalCrypt.setPwd(pwdtxtField.getText()); finalCrypt.setPwdBytes(pwdtxtField.getText()); finalCrypt.resetPwdPos(); finalCrypt.resetPwdBytesPos(); | |
4845 | + finalcrypt.setPwd(pwdtxtField.getText()); finalcrypt.setPwdBytes(pwdtxtField.getText()); finalcrypt.resetPwdPos(); finalcrypt.resetPwdBytesPos(); | |
4847 | 4846 | pwdField.setText(pwdtxtField.getText()); |
4848 | 4847 | pwdtxtFieldTooltip.setText(pwdtxtField.getText()); |
4849 | 4848 | setFont(pwdField);setFont(pwdtxtField); |
@@ -4940,9 +4939,25 @@ public class GUIFX extends Application implements UI, Initializable | ||
4940 | 4939 | log(Command.getCommandLine(!encryptButton.isDisabled(), !decryptButton.isDisabled()) + "\r\n", false, true, false, false, false); |
4941 | 4940 | } |
4942 | 4941 | |
4943 | - @FXML private void reuseKeyCheckBoxOnAction(ActionEvent event) | |
4942 | + @FXML | |
4943 | + private void reuseKeysLabelOnMouseClicked(MouseEvent event) | |
4944 | 4944 | { |
4945 | - finalCrypt.reuseKeys = reuseKeyCheckBox.isSelected(); | |
4946 | - if (reuseKeyCheckBox.isSelected()) { reuseKeyCheckBox.setOpacity(1.0); Command.reuseKeysOption = "--reuse-keys"; } else { reuseKeyCheckBox.setOpacity(0.15); Command.reuseKeysOption = ""; } | |
4945 | + Platform.runLater(() -> | |
4946 | + { | |
4947 | + new AudioPlayer().play(this, Audio.SND_BUTTON,Audio.AUDIO_CODEC); | |
4948 | + if (!finalcrypt.reuseKeys) | |
4949 | + { | |
4950 | + finalcrypt.reuseKeys = true; | |
4951 | + Command.reuseKeysOption = "--reuse-keys"; | |
4952 | + reuseKeysLabel.setTextFill(Color.ORANGE); | |
4953 | + new AudioPlayer().play(this, Audio.SND_ALERT,Audio.AUDIO_CODEC); | |
4954 | + } | |
4955 | + else | |
4956 | + { | |
4957 | + finalcrypt.reuseKeys = false; | |
4958 | + Command.reuseKeysOption = ""; | |
4959 | + reuseKeysLabel.setTextFill(Paint.valueOf("#303030")); | |
4960 | + } | |
4961 | + }); | |
4947 | 4962 | } |
4948 | 4963 | } |
\ No newline at end of file |
@@ -1 +1 @@ | ||
1 | -6.7.2 | |
\ No newline at end of file | ||
1 | +6.7.3 | |
\ No newline at end of file |
@@ -1,4 +1,4 @@ | ||
1 | -[Version] = {6.7.2} | |
1 | +[Version] = {6.7.3} | |
2 | 2 | [] = {} ================================================================ |
3 | 3 | [Release Notes] = {You are using a very old version of FinalCrypt} |
4 | 4 | [Release Message] = {Please visit the website & download the latest} |
@@ -25,9 +25,10 @@ | ||
25 | 25 | [Upgrade Notes] = {Reuse Keys function breaks 1 out of 4 OTP rules!} |
26 | 26 | [Upgrade Notes] = {Only use knowing the risk and what you are doing} |
27 | 27 | [] = {} ---------------------------------------------------------------- |
28 | -[Update Notes] = {Update 2 (2021-01-27)} | |
28 | +[Update Notes] = {Update 3 (2021-02-05)} | |
29 | 29 | [Update Notes] = {} |
30 | -[Update Notes] = {Improved minimum window size for smaller screens} | |
30 | +[Update Notes] = {Set orange alert-status on reuse-keys activation} | |
31 | +[Update Notes] = {This alert-status discourages non-experts users!} | |
31 | 32 | [] = {} -------------------------------------------------------------------------------------------------------- |
32 | 33 | [Alert Subject_] = {} |
33 | 34 | [Alert Notes_] = {} |