use of org.freeplane.features.map.EncryptionModel in project freeplane by freeplane.
the class RemoveEncryption method canBeEnabled.
private boolean canBeEnabled() {
final ModeController modeController = Controller.getCurrentModeController();
if (modeController == null) {
return false;
}
boolean isEncryptedNode = false;
final MapController mapController = modeController.getMapController();
final NodeModel selectedNode = mapController.getSelectedNode();
if (selectedNode != null) {
final EncryptionModel enode = EncryptionModel.getModel(selectedNode);
if (enode != null) {
isEncryptedNode = true;
}
}
return isEncryptedNode;
}
use of org.freeplane.features.map.EncryptionModel in project freeplane by freeplane.
the class EncryptionController method toggleCryptState.
public void toggleCryptState(final NodeModel node, PasswordStrategy passwordStrategy) {
final EncryptionModel encryptionModel = EncryptionModel.getModel(node);
if (encryptionModel != null) {
final boolean wasFolded = node.isFolded();
final boolean wasAccessible = encryptionModel.isAccessible();
if (wasAccessible)
encryptionModel.calculateEncryptedContent(Controller.getCurrentModeController().getMapController());
else {
if (!doPasswordCheckAndDecryptNode(encryptionModel, passwordStrategy))
return;
}
final boolean becomesFolded = wasAccessible;
final boolean becomesAccessible = !wasAccessible;
Controller.getCurrentController().getSelection().selectAsTheOnlyOneSelected(node);
final IActor actor = new IActor() {
public void act() {
encryptionModel.setAccessible(becomesAccessible);
if (becomesFolded != wasFolded) {
node.setFolded(becomesFolded);
}
fireEncyptionChangedEvent(node);
}
public String getDescription() {
return "toggleCryptState";
}
public void undo() {
encryptionModel.setAccessible(wasAccessible);
if (becomesFolded != wasFolded)
node.setFolded(wasFolded);
fireEncyptionChangedEvent(node);
}
};
Controller.getCurrentModeController().execute(actor, node.getMap());
} else {
encrypt(node, passwordStrategy);
}
}
use of org.freeplane.features.map.EncryptionModel in project freeplane by freeplane.
the class EncryptionController method encrypt.
private void encrypt(final NodeModel node, PasswordStrategy passwordStrategy) {
if (node.allClones().size() > 1) {
UITools.errorMessage(TextUtils.getText("can_not_encrypt_cloned_node"));
return;
}
final StringBuilder password = passwordStrategy.getPasswordWithConfirmation();
if (passwordStrategy.isCancelled()) {
return;
}
final EncryptionModel encryptionModel = new EncryptionModel(node);
encryptionModel.setEncrypter(new SingleDesEncrypter(password));
final IActor actor = new IActor() {
public void act() {
node.addExtension(encryptionModel);
fireEncyptionChangedEvent(node);
}
public String getDescription() {
return "encrypt";
}
public void undo() {
node.removeExtension(encryptionModel);
fireEncyptionChangedEvent(node);
}
};
Controller.getCurrentModeController().execute(actor, node.getMap());
}
use of org.freeplane.features.map.EncryptionModel in project freeplane by freeplane.
the class EnterPassword method canBeEnabled.
public boolean canBeEnabled() {
final ModeController modeController = Controller.getCurrentModeController();
if (modeController == null) {
return false;
}
boolean isEncryptedNode = false;
boolean isOpened = false;
final MapController mapController = modeController.getMapController();
final NodeModel selectedNode = mapController.getSelectedNode();
if (selectedNode != null) {
if (modeController.canEdit()) {
return true;
}
final EncryptionModel enode = EncryptionModel.getModel(selectedNode);
if (enode != null) {
isEncryptedNode = true;
isOpened = enode.isAccessible();
}
}
return (isEncryptedNode && !isOpened);
}
use of org.freeplane.features.map.EncryptionModel in project freeplane by freeplane.
the class EncryptedMap method newEncryptedMap.
/**
* @param e
*/
private void newEncryptedMap() {
final StringBuilder password = getUsersPassword();
if (password == null) {
return;
}
final ModeController modeController = Controller.getCurrentModeController();
MFileManager.getController(modeController).newMapFromDefaultTemplate();
NodeModel node = Controller.getCurrentController().getMap().getRootNode();
final EncryptionModel encryptedMindMapNode = new EncryptionModel(node);
encryptedMindMapNode.setEncrypter(new SingleDesEncrypter(password));
node.addExtension(encryptedMindMapNode);
Controller.getCurrentModeController().getMapController().nodeChanged(node);
}
Aggregations