mirror of
https://github.com/KOHGYLW/kiftd-source.git
synced 2025-01-08 12:07:47 +08:00
update to v1.2.0 一些细节优化
This commit is contained in:
parent
e0cc5a5440
commit
6c98aa6511
3
TODO.txt
3
TODO.txt
@ -211,5 +211,4 @@ test.auth.xxx=ucd
|
||||
注:这是为了防止使用者先将某个文件从一个原本不具备删除权限的文件夹内移动的一个具备删除权限的文件夹内再将其删除的恶意操作。
|
||||
【已完成】新增文件夹体积计算功能:当访问者打开文件夹的“详细信息...”模态框时,系统将实时统计该文件夹的内容总体积,之后将结果显示在该界面上供用户查看。
|
||||
【待实现】新增导入账户设置:当执行“导入”操作时,可以使用指定账户来为它们设置“创建者”。
|
||||
【待实现】优化剪切复制操作:如果执行粘贴时已剪切或复制的文件不再存在,那么在提示后自动清除剪切或复制的文件记录,将剪切或复制显示恢复到初始状态。
|
||||
【待实现】优化服务器端UI:如果开启了https协议,则将端口号显示为https的端口号。
|
||||
【待实现】优化剪切复制操作:如果执行粘贴时已剪切或复制的文件不再存在,那么在提示后自动清除剪切或复制的文件记录,将剪切或复制显示恢复到初始状态。
|
@ -28,7 +28,7 @@ import kohgylw.kiftd.ui.callback.*;
|
||||
public class UIRunner {
|
||||
|
||||
private static UIRunner ui;
|
||||
|
||||
|
||||
// 实例化图形界面并显示它,同时将图形界面的各个操作与服务器控制器对应起来。
|
||||
private UIRunner() throws Exception {
|
||||
Printer.init(true);
|
||||
@ -41,7 +41,6 @@ public class UIRunner {
|
||||
|
||||
@Override
|
||||
public boolean getServerStatus() {
|
||||
// TODO 自动生成的方法存根
|
||||
return ctl.started();
|
||||
}
|
||||
|
||||
@ -93,7 +92,6 @@ public class UIRunner {
|
||||
return fsps;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public LogLevel getInitLogLevel() {
|
||||
return ConfigureReader.instance().getInitLogLevel();
|
||||
@ -154,7 +152,7 @@ public class UIRunner {
|
||||
*
|
||||
* @author 青阳龙野(kohgylw)
|
||||
* @return kohgylw.kiftd.mc.UIRunner 本启动器唯一实例
|
||||
* @throws Exception
|
||||
* @throws Exception
|
||||
*/
|
||||
public static UIRunner build() throws Exception {
|
||||
if (UIRunner.ui == null) {
|
||||
|
@ -489,10 +489,10 @@ public class FileBlockUtil {
|
||||
fm.deleteById(node.getFileId());
|
||||
} else {
|
||||
// 文件体积校对
|
||||
long size = Long.parseLong(node.getFileSize());
|
||||
if (block.length() != size) {
|
||||
String correctSize = getFileSize(block.length());
|
||||
if (!node.getFileSize().equals(correctSize)) {
|
||||
// 如果记录的文件体积与实际体积不符,则更正文件体积
|
||||
node.setFileSize(Long.toString(block.length()));
|
||||
node.setFileSize(correctSize);
|
||||
fm.update(node);
|
||||
}
|
||||
}
|
||||
|
@ -16,14 +16,14 @@ import kohgylw.kiftd.util.file_system_manager.FileSystemManager;
|
||||
|
||||
public class FSProgressDialog extends KiftdDynamicWindow {
|
||||
|
||||
private JDialog window;//窗体
|
||||
private static JLabel message;//显示的文本信息
|
||||
private static JProgressBar pBar;//进度条
|
||||
private static JButton cancel;//取消按钮
|
||||
private JDialog window;// 窗体
|
||||
private static JLabel message;// 显示的文本信息
|
||||
private static JProgressBar pBar;// 进度条
|
||||
private static JButton cancel;// 取消按钮
|
||||
private static boolean listen;// 是否继续监听
|
||||
|
||||
private FSProgressDialog() {
|
||||
setUIFont();//自动设置字体大小
|
||||
setUIFont();// 自动设置字体大小
|
||||
(window = new JDialog(FSViewer.window, "执行中...")).setModal(true);
|
||||
window.setSize(380, 120);
|
||||
window.setLocation(200, 200);
|
||||
@ -31,38 +31,31 @@ public class FSProgressDialog extends KiftdDynamicWindow {
|
||||
window.addWindowListener(new WindowListener() {
|
||||
@Override
|
||||
public void windowOpened(WindowEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
}
|
||||
|
||||
@Override
|
||||
public void windowIconified(WindowEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
}
|
||||
|
||||
@Override
|
||||
public void windowDeiconified(WindowEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
}
|
||||
|
||||
@Override
|
||||
public void windowDeactivated(WindowEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
}
|
||||
|
||||
@Override
|
||||
public void windowClosing(WindowEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
canncel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void windowClosed(WindowEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
}
|
||||
|
||||
@Override
|
||||
public void windowActivated(WindowEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
}
|
||||
});
|
||||
window.setResizable(false);
|
||||
@ -75,67 +68,76 @@ public class FSProgressDialog extends KiftdDynamicWindow {
|
||||
JPanel btnBox = new JPanel(new FlowLayout(FlowLayout.RIGHT));
|
||||
cancel = new JButton("终止");
|
||||
cancel.setPreferredSize(new Dimension((int) (90 * proportion), (int) (27 * proportion)));
|
||||
cancel.addActionListener((e)->{
|
||||
cancel.addActionListener((e) -> {
|
||||
canncel();
|
||||
});
|
||||
btnBox.add(cancel);
|
||||
//配置组件
|
||||
// 配置组件
|
||||
window.add(messageBox);
|
||||
window.add(pBar);
|
||||
window.add(btnBox);
|
||||
//自动适应屏幕分辨率
|
||||
// 自动适应屏幕分辨率
|
||||
modifyComponentSize(window);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* <h2>打开进度监听窗口并开启自动监听线程</h2>
|
||||
* <p>该方法将显示监听窗口,并开启一个针对文件管理器的监听线程用于自动监听进度。注意:该方法将阻塞线程直到窗口关闭。</p>
|
||||
* <p>
|
||||
* 该方法将显示监听窗口,并开启一个针对文件管理器的监听线程用于自动监听进度。注意:该方法将阻塞线程直到窗口关闭。
|
||||
* </p>
|
||||
*
|
||||
* @author 青阳龙野(kohgylw)
|
||||
*/
|
||||
protected void show() {
|
||||
listen = true;
|
||||
pBar.setValue(0);
|
||||
message.setText("请稍候...");
|
||||
//启动监听线程用于监听进度,该线程结束后会自动关闭窗口。
|
||||
Thread lt=new Thread(()->{
|
||||
// 启动监听线程用于监听进度,该线程结束后会自动关闭窗口。
|
||||
Thread lt = new Thread(() -> {
|
||||
while (listen) {
|
||||
pBar.setValue(FileSystemManager.per);
|
||||
message.setText(FileSystemManager.message);
|
||||
try {
|
||||
Thread.sleep(16);
|
||||
} catch (InterruptedException e) {
|
||||
listen=false;
|
||||
listen = false;
|
||||
}
|
||||
}
|
||||
window.dispose();
|
||||
});
|
||||
lt.start();
|
||||
window.setVisible(true);//必须先开启监听,否则将阻塞线程
|
||||
window.setVisible(true);// 必须先开启监听,否则将阻塞线程
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* <h2>关闭该进度监听窗口</h2>
|
||||
* <p>在窗口打开后,可以随时调用该方法停止其中的监听线程并关闭窗口。</p>
|
||||
* <p>
|
||||
* 在窗口打开后,可以随时调用该方法停止其中的监听线程并关闭窗口。
|
||||
* </p>
|
||||
*
|
||||
* @author 青阳龙野(kohgylw)
|
||||
*/
|
||||
protected void close() {
|
||||
listen = false;
|
||||
}
|
||||
|
||||
//终止当前操作
|
||||
|
||||
// 终止当前操作
|
||||
private void canncel() {
|
||||
if(JOptionPane.showConfirmDialog(window, "操作仍在进行中,确认要立即终止?", "警告", JOptionPane.YES_NO_OPTION)==0) {
|
||||
if (JOptionPane.showConfirmDialog(window, "操作仍在进行中,确认要立即终止?", "警告", JOptionPane.YES_NO_OPTION) == 0) {
|
||||
FileSystemManager.getInstance().cannel();
|
||||
window.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* <h2>获取一个新的进度窗口</h2>
|
||||
* <p>通过该方法获取一个新的进度窗口,与前几个窗口不同,每次进行进度监听操作均应获取新窗口而不能使用前一个。</p>
|
||||
* <p>
|
||||
* 通过该方法获取一个新的进度窗口,与前几个窗口不同,每次进行进度监听操作均应获取新窗口而不能使用前一个。
|
||||
* </p>
|
||||
*
|
||||
* @author 青阳龙野(kohgylw)
|
||||
* @return kohgylw.kiftd.ui.module.FSProgressDialog 新的窗口对象
|
||||
*/
|
||||
|
@ -86,31 +86,22 @@ public class ServerUIModule extends KiftdDynamicWindow {
|
||||
|
||||
@Override
|
||||
public void mouseReleased(MouseEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mousePressed(MouseEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseExited(MouseEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseEntered(MouseEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
if (e.getClickCount() == 2) {
|
||||
show();
|
||||
}
|
||||
@ -120,7 +111,6 @@ public class ServerUIModule extends KiftdDynamicWindow {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
exit();
|
||||
}
|
||||
});
|
||||
@ -132,7 +122,6 @@ public class ServerUIModule extends KiftdDynamicWindow {
|
||||
ServerUIModule.fsv = FSViewer.getInstance();
|
||||
fsv.show();
|
||||
} catch (SQLException e1) {
|
||||
// TODO 自动生成的 catch 块
|
||||
JOptionPane.showMessageDialog(window, "错误:无法打开文件,文件系统可能已损坏,您可以尝试重启应用。", "错误",
|
||||
JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
@ -145,7 +134,6 @@ public class ServerUIModule extends KiftdDynamicWindow {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
show();
|
||||
}
|
||||
});
|
||||
@ -214,13 +202,10 @@ public class ServerUIModule extends KiftdDynamicWindow {
|
||||
|
||||
@Override
|
||||
public void removeUpdate(DocumentEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertUpdate(DocumentEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
Thread t = new Thread(() -> {
|
||||
if (output.getLineCount() >= 1000) {
|
||||
int end = 0;
|
||||
@ -237,7 +222,6 @@ public class ServerUIModule extends KiftdDynamicWindow {
|
||||
|
||||
@Override
|
||||
public void changedUpdate(DocumentEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
output.selectAll();
|
||||
output.setCaretPosition(output.getSelectedText().length());
|
||||
output.requestFocus();
|
||||
@ -257,7 +241,6 @@ public class ServerUIModule extends KiftdDynamicWindow {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
start.setEnabled(false);
|
||||
setting.setEnabled(false);
|
||||
fileIOUtil.setEnabled(false);
|
||||
@ -321,7 +304,6 @@ public class ServerUIModule extends KiftdDynamicWindow {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
stop.setEnabled(false);
|
||||
resatrt.setEnabled(false);
|
||||
fileIOUtil.setEnabled(false);
|
||||
@ -352,7 +334,6 @@ public class ServerUIModule extends KiftdDynamicWindow {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
fileIOUtil.setEnabled(false);
|
||||
if (filesViewer != null) {
|
||||
filesViewer.setEnabled(false);
|
||||
@ -364,7 +345,6 @@ public class ServerUIModule extends KiftdDynamicWindow {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
stop.setEnabled(false);
|
||||
resatrt.setEnabled(false);
|
||||
fileIOUtil.setEnabled(false);
|
||||
@ -390,7 +370,6 @@ public class ServerUIModule extends KiftdDynamicWindow {
|
||||
ServerUIModule.setting.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// TODO 自动生成的方法存根
|
||||
ServerUIModule.sw = SettingWindow.getInstance();
|
||||
Thread t = new Thread(() -> {
|
||||
sw.show();
|
||||
@ -408,7 +387,6 @@ public class ServerUIModule extends KiftdDynamicWindow {
|
||||
ServerUIModule.fsv = FSViewer.getInstance();
|
||||
fsv.show();
|
||||
} catch (SQLException e1) {
|
||||
// TODO 自动生成的 catch 块
|
||||
Printer.instance.print("错误:无法读取文件,文件系统可能已经损坏,您可以尝试重启应用。");
|
||||
}
|
||||
ServerUIModule.fileIOUtil.setEnabled(true);
|
||||
|
@ -1,5 +1,5 @@
|
||||
#Generated by Maven Integration for Eclipse
|
||||
#Sat Dec 23 23:26:10 CST 2023
|
||||
#Sun Dec 24 12:07:00 CST 2023
|
||||
m2e.projectLocation=/Users/kohgylw/Programs/java_workspace/kiftd
|
||||
m2e.projectName=kiftd
|
||||
groupId=kohgylw
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user