Skip to content

Commit 451c2db

Browse files
committed
优化bug,更新1.1.5版本
1 parent 0b58aa6 commit 451c2db

4 files changed

Lines changed: 20 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ Waiting for Release
99
- Add: Transparency chessboard under image
1010
- Add: Show optimizing errors
1111

12+
## 1.1.5更新内容
13+
- 防止压缩后还有未保存文件,允许多次保存
14+
- 压缩后清除缓存数据,调整压缩率显示
15+
1216
## 1.1.4更新内容
1317
- 增加图片打标略过已打标文件功能,如果不略过将会给标记压缩数量+1
1418
- 增加.9.png图片过滤

build.gradle

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,18 @@ intellij {
4747
}
4848

4949
group 'com.nvlad'
50-
version '1.1.4'
50+
version '1.1.5'
5151

5252
patchPluginXml {
5353
changeNotes """
5454
55+
<h3> 1.1.5更新内容</h3>
56+
- 防止压缩后还有未保存文件,允许多次保存<br/>
57+
- 压缩后清除缓存数据,调整压缩率显示<br/>
58+
<br/>
5559
<h3> 1.1.4更新内容</h3>
5660
- 增加图片打标略过已打标文件功能,如果不略过将会给标记压缩数量+1<br/>
57-
- 增加.9.png图片过滤</br>
61+
- 增加.9.png图片过滤<br/>
5862
<br/>
5963
<h3> 1.1.3 更新内容 </h3><br/>
6064
- 对程序进行汉化<br/>

src/main/java/com/nvlad/tinypng/ui/dialogs/listeners/BaseFileOperatorActionListener.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ public void run() {
3636
OutputStream stream = node.getVirtualFile().getOutputStream(this);
3737
stream.write(operatorData);
3838
stream.close();
39+
// 存储后清空缓存
40+
node.setImageBuffer(null);
41+
// 初始化让下一次读取重新计算压缩数量
3942
node.initZipCount();
4043
} catch (IOException e) {
4144
e.printStackTrace();
@@ -46,10 +49,15 @@ public void run() {
4649
for (FileTreeNode node : nodes) {
4750
((DefaultTreeModel) dialog.getTree().getModel()).nodeChanged(node);
4851
}
52+
53+
dialog.getRootPane().setDefaultButton(dialog.getButtonProcess());
54+
// 如果还有未保存的文件,save按钮不置灰
55+
dialog.getButtonSave().setEnabled(true);
4956
dialog.getButtonCancel().setEnabled(true);
5057
dialog.getButtonProcess().setEnabled(true);
5158
dialog.getButtonAddTag().setEnabled(true);
5259
dialog.getButtonDeleteTag().setEnabled(true);
60+
5361
});
5462
}
5563
});

src/main/java/com/nvlad/tinypng/ui/dialogs/listeners/ProcessActionListener.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,6 @@ public void actionPerformed(ActionEvent e) {
3838
dialog.getButtonProcess().setEnabled(false);
3939
dialog.getButtonCancel().setText("Stop");
4040
final List<FileTreeNode> nodes = getCheckedNodes((FileTreeNode) dialog.getTree().getModel().getRoot());
41-
for (FileTreeNode node : nodes) {
42-
node.setImageBuffer(null);
43-
((DefaultTreeModel) dialog.getTree().getModel()).nodeChanged(node);
44-
}
4541

4642
int finalSkipCount = skipCount;
4743
ApplicationManager.getApplication().executeOnPooledThread(() -> {
@@ -53,7 +49,8 @@ public void actionPerformed(ActionEvent e) {
5349
node.setImageBuffer(TinyPNG.process(node.getVirtualFile()));
5450
} catch (Exception tinifyException) {
5551
TinyPNGErrorInfo error = TinyPNGErrorInfo.parse(tinifyException.getMessage());
56-
if (error != null && error.code == 415) {
52+
// 多压缩的情况下,如果是 415表示文件类型不正确;401表示证书不正确;400表示输入文件为空;5xx表示服务器异常;2xx表示成功, 批量压缩时文件类型不正确和文件为空的异常跳过其它错误终止
53+
if (error != null && (error.code == 415 || error.code == 400)) {
5754
node.setError(error);
5855
} else {
5956
ApplicationManager.getApplication().invokeLater(() -> {

0 commit comments

Comments
 (0)