Search in sources :

Example 1 with EncryptionModel

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;
}
Also used : NodeModel(org.freeplane.features.map.NodeModel) ModeController(org.freeplane.features.mode.ModeController) EncryptionModel(org.freeplane.features.map.EncryptionModel) MapController(org.freeplane.features.map.MapController)

Example 2 with EncryptionModel

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);
    }
}
Also used : IActor(org.freeplane.core.undo.IActor) EncryptionModel(org.freeplane.features.map.EncryptionModel)

Example 3 with EncryptionModel

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());
}
Also used : IActor(org.freeplane.core.undo.IActor) EncryptionModel(org.freeplane.features.map.EncryptionModel)

Example 4 with EncryptionModel

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);
}
Also used : NodeModel(org.freeplane.features.map.NodeModel) ModeController(org.freeplane.features.mode.ModeController) EncryptionModel(org.freeplane.features.map.EncryptionModel) MapController(org.freeplane.features.map.MapController)

Example 5 with EncryptionModel

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);
}
Also used : NodeModel(org.freeplane.features.map.NodeModel) SingleDesEncrypter(org.freeplane.features.encrypt.SingleDesEncrypter) ModeController(org.freeplane.features.mode.ModeController) EncryptionModel(org.freeplane.features.map.EncryptionModel)

Aggregations

EncryptionModel (org.freeplane.features.map.EncryptionModel)6 IActor (org.freeplane.core.undo.IActor)3 NodeModel (org.freeplane.features.map.NodeModel)3 ModeController (org.freeplane.features.mode.ModeController)3 MapController (org.freeplane.features.map.MapController)2 SingleDesEncrypter (org.freeplane.features.encrypt.SingleDesEncrypter)1