package org.docear.plugin.services.features.user.action; import java.awt.event.ActionEvent; import java.io.File; import java.io.IOException; import org.docear.plugin.core.features.DocearFileBackupController; import org.docear.plugin.core.features.IFileBackupHandler; import org.docear.plugin.services.features.user.UserFileBackupHandler; import org.freeplane.core.ui.AFreeplaneAction; import org.freeplane.core.ui.EnabledAction; import org.freeplane.core.util.LogUtils; import org.freeplane.features.mode.Controller; @EnabledAction(checkOnNodeChange=true) public class DocearBackupOpenLocation extends AFreeplaneAction { final static String KEY = "DocearBackupOpenLocation"; public DocearBackupOpenLocation() { super(KEY); } /** * */ private static final long serialVersionUID = 1L; public void actionPerformed(ActionEvent arg0) { IFileBackupHandler handler = DocearFileBackupController.getFileBackupHandler(); if (handler instanceof UserFileBackupHandler) { File file = ((UserFileBackupHandler) handler).getFolder(); if (file != null && file.exists()) { try { Controller.getCurrentController().getViewController().openDocument(file.toURI()); } catch (IOException e) { LogUtils.warn("DocearBackupOpenLocation.actionPerformed(): "+e.getMessage()); } } } } @Override public void setEnabled() { setEnabled(false); IFileBackupHandler handler = DocearFileBackupController.getFileBackupHandler(); if (handler instanceof UserFileBackupHandler) { File file = ((UserFileBackupHandler) handler).getFolder(); if (file != null && file.exists()) { setEnabled(true); } } } }