!131 添加自动打开上次打开的文件夹逻辑
Merge pull request !131 from gewuyou/feature-I85CM5
This commit is contained in:
commit
8a3404b5d7
@ -26,10 +26,11 @@ public class OpenDirectory implements EventHandler<ActionEvent> {
|
|||||||
private static final ApplicationCacheManager CACHE_MANAGER = ApplicationCacheManager.getInstance();
|
private static final ApplicationCacheManager CACHE_MANAGER = ApplicationCacheManager.getInstance();
|
||||||
private static final DirectorySidebarManager DIRECTORY_SIDEBAR_MANAGER = DirectorySidebarManager.getInstance();
|
private static final DirectorySidebarManager DIRECTORY_SIDEBAR_MANAGER = DirectorySidebarManager.getInstance();
|
||||||
|
|
||||||
|
public static final String GROUP = "directory";
|
||||||
@Override
|
@Override
|
||||||
public void handle(ActionEvent actionEvent) {
|
public void handle(ActionEvent actionEvent) {
|
||||||
// 获取缓存
|
// 获取缓存
|
||||||
Cache cache = CACHE_MANAGER.getCache("directory", "openDirectory");
|
Cache cache = CACHE_MANAGER.getCache(GROUP, "openDirectory");
|
||||||
|
|
||||||
// 显示文件选择对话框,并获取选中的文件
|
// 显示文件选择对话框,并获取选中的文件
|
||||||
File file = BasicDirectoryChooserFactory.getInstance().createDirectoryChooser(
|
File file = BasicDirectoryChooserFactory.getInstance().createDirectoryChooser(
|
||||||
@ -42,7 +43,7 @@ public class OpenDirectory implements EventHandler<ActionEvent> {
|
|||||||
}
|
}
|
||||||
// 设置缓存
|
// 设置缓存
|
||||||
if (cache == null) {
|
if (cache == null) {
|
||||||
CACHE_MANAGER.addCache(CACHE_MANAGER.createCache("directory", "openDirectory", file.getAbsolutePath(), CacheExpirationTime.NEVER_EXPIRES.getValue()));
|
CACHE_MANAGER.addCache(CACHE_MANAGER.createCache(GROUP, "openDirectory", file.getAbsolutePath(), CacheExpirationTime.NEVER_EXPIRES.getValue()));
|
||||||
} else {
|
} else {
|
||||||
cache.setCacheData(file.getParent());
|
cache.setCacheData(file.getParent());
|
||||||
CACHE_MANAGER.addCache(cache);
|
CACHE_MANAGER.addCache(cache);
|
||||||
@ -55,7 +56,7 @@ public class OpenDirectory implements EventHandler<ActionEvent> {
|
|||||||
// 将文件转为实体类
|
// 将文件转为实体类
|
||||||
DirFileModel dirFileModel = FileUtil.getDirFileModel(file);
|
DirFileModel dirFileModel = FileUtil.getDirFileModel(file);
|
||||||
// 缓存已打开的文件夹
|
// 缓存已打开的文件夹
|
||||||
CACHE_MANAGER.addCache(CACHE_MANAGER.createCache("directory", "folderThatWasOpened", dirFileModel, CacheExpirationTime.NEVER_EXPIRES.getValue()));
|
CACHE_MANAGER.addCache(CACHE_MANAGER.createCache(GROUP, "folderThatWasOpened", file.getAbsolutePath(), CacheExpirationTime.NEVER_EXPIRES.getValue()));
|
||||||
// 打开侧边栏
|
// 打开侧边栏
|
||||||
DIRECTORY_SIDEBAR_MANAGER.controlShow(true);
|
DIRECTORY_SIDEBAR_MANAGER.controlShow(true);
|
||||||
// 设置文件树功能
|
// 设置文件树功能
|
||||||
|
|||||||
@ -2,10 +2,13 @@ package org.jcnc.jnotepad.views.manager;
|
|||||||
|
|
||||||
import javafx.scene.control.TreeItem;
|
import javafx.scene.control.TreeItem;
|
||||||
import org.jcnc.jnotepad.common.manager.ApplicationCacheManager;
|
import org.jcnc.jnotepad.common.manager.ApplicationCacheManager;
|
||||||
|
import org.jcnc.jnotepad.common.util.FileUtil;
|
||||||
|
import org.jcnc.jnotepad.controller.event.handler.menubar.OpenDirectory;
|
||||||
import org.jcnc.jnotepad.model.entity.DirFileModel;
|
import org.jcnc.jnotepad.model.entity.DirFileModel;
|
||||||
import org.jcnc.jnotepad.views.root.center.main.MainBorderPane;
|
import org.jcnc.jnotepad.views.root.center.main.MainBorderPane;
|
||||||
import org.jcnc.jnotepad.views.root.center.main.center.directory.DirectorySidebarPane;
|
import org.jcnc.jnotepad.views.root.center.main.center.directory.DirectorySidebarPane;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -97,7 +100,7 @@ public class DirectorySidebarManager {
|
|||||||
|
|
||||||
public void expandTheOpenFileTree() {
|
public void expandTheOpenFileTree() {
|
||||||
// 获取缓存
|
// 获取缓存
|
||||||
Object cacheData = CACHE_MANAGER.getCacheData("directory", "folderThatWasOpened");
|
Object cacheData = CACHE_MANAGER.getCacheData(OpenDirectory.GROUP, "folderThatWasOpened");
|
||||||
// 判空
|
// 判空
|
||||||
if (cacheData == null) {
|
if (cacheData == null) {
|
||||||
return;
|
return;
|
||||||
@ -105,7 +108,7 @@ public class DirectorySidebarManager {
|
|||||||
// 打开侧边栏
|
// 打开侧边栏
|
||||||
controlShow(true);
|
controlShow(true);
|
||||||
// 设置文件树功能
|
// 设置文件树功能
|
||||||
setTreeView((DirFileModel) cacheData);
|
setTreeView(FileUtil.getDirFileModel(new File((String) cacheData)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user