From 24250bb359747cc159825e3e8057d6248667c1d5 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 30 Sep 2022 21:52:01 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=94=AF=E6=8C=81=E6=8C=89=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E5=A4=A7=E5=B0=8F=E6=8E=92=E5=BA=8F=20Fix=20https://g?= =?UTF-8?q?ithub.com/siyuan-note/siyuan/issues/6029?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/appearance/langs/en_US.json | 2 ++ app/appearance/langs/es_ES.json | 2 ++ app/appearance/langs/fr_FR.json | 2 ++ app/appearance/langs/zh_CHT.json | 2 ++ app/appearance/langs/zh_CN.json | 2 ++ app/src/layout/dock/Files.ts | 12 ++++++++++++ app/src/mobile/util/MobileFiles.ts | 16 +++++++++++++++- kernel/model/file.go | 4 ++++ kernel/util/sort.go | 6 ++++-- 9 files changed, 45 insertions(+), 3 deletions(-) diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 93fc73ec6..19d781def 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -426,6 +426,8 @@ "refCountDESC": "Ref Count DESC", "createdASC": "Created Time ASC", "createdDESC": "Created Time DESC", + "docSizeASC": "Document Size ASC", + "docSizeDESC": "Document Size DESC", "sort": "Sort", "enterFullscreen": "Enter Full Screen", "exitFullscreen": "Exit Full Screen", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index 9c54fc08f..fc3ea5549 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -426,6 +426,8 @@ "refCountDESC": "Número de referencia DESC", "createdASC": "Tiempo de Creación ASC", "createdDESC": "Tiempo de creación DESC", + "docSizeASC": "Tamaño del Documento Ascendente", + "docSizeDESC": "Tamaño del Documento Descendente", "sort": "Ordenar", "enterFullscreen": "Entrar en pantalla completa", "exitFullscreen": "Salir de pantalla completa", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index e355ab368..20674987c 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -426,6 +426,8 @@ "refCountDESC": "Comte Rec décroissant", "createdASC": "Temps créé croissant", "createdDESC": "Temps créé décroissant", + "docSizeASC": "Taille du document croissante", + "docSizeDESC": "Taille du document décroissante", "sort": "Tri", "enterFullscreen": "plein écran", "exitFullscreen": "Quitter le plein écran", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index 9a9a28ba3..1edf6d680 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -426,6 +426,8 @@ "refCountDESC": "引用數降冪", "createdASC": "創建時間昇冪", "createdDESC": "創建時間降冪", + "docSizeASC": "文檔大小升序", + "docSizeDESC": "文檔大小降序", "sort": "排序", "enterFullscreen": "進入全螢幕", "exitFullscreen": "退出全螢幕", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index 5ebc02e44..c581da6a7 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -426,6 +426,8 @@ "refCountDESC": "引用数降序", "createdASC": "创建时间升序", "createdDESC": "创建时间降序", + "docSizeASC": "文档大小升序", + "docSizeDESC": "文档大小降序", "sort": "排序", "enterFullscreen": "进入全屏幕", "exitFullscreen": "退出全屏幕", diff --git a/app/src/layout/dock/Files.ts b/app/src/layout/dock/Files.ts index 5175ad8a4..a88c79dd2 100644 --- a/app/src/layout/dock/Files.ts +++ b/app/src/layout/dock/Files.ts @@ -966,6 +966,18 @@ class="b3-list-item b3-list-item--hide-action" data-path="${item.path}"> click: () => { clickEvent(8); } + }, {type: "separator"}, { + icon: window.siyuan.config.fileTree.sort === 11 ? "iconSelect" : undefined, + label: window.siyuan.languages.docSizeASC, + click: () => { + clickEvent(11); + } + }, { + icon: window.siyuan.config.fileTree.sort === 12 ? "iconSelect" : undefined, + label: window.siyuan.languages.docSizeDESC, + click: () => { + clickEvent(12); + } }, {type: "separator"}, { icon: window.siyuan.config.fileTree.sort === 6 ? "iconSelect" : undefined, label: window.siyuan.languages.customSort, diff --git a/app/src/mobile/util/MobileFiles.ts b/app/src/mobile/util/MobileFiles.ts index 6616f6916..97e463e63 100644 --- a/app/src/mobile/util/MobileFiles.ts +++ b/app/src/mobile/util/MobileFiles.ts @@ -305,6 +305,20 @@ export class MobileFiles extends Model { clickEvent(8); } }).element); + window.siyuan.menus.menu.append(new MenuItem({ + icon: window.siyuan.config.fileTree.sort === 11 ? "iconSelect" : undefined, + label: window.siyuan.languages.docSizeASC, + click: () => { + clickEvent(11); + } + }).element); + window.siyuan.menus.menu.append(new MenuItem({ + icon: window.siyuan.config.fileTree.sort === 12 ? "iconSelect" : undefined, + label: window.siyuan.languages.docSizeDESC, + click: () => { + clickEvent(12); + } + }).element); window.siyuan.menus.menu.append(new MenuItem({ icon: window.siyuan.config.fileTree.sort === 6 ? "iconSelect" : undefined, label: window.siyuan.languages.customSort, @@ -526,7 +540,7 @@ export class MobileFiles extends Model { if (liElement) { liElement.remove(); } - setNoteBook((notebooks: INotebook[])=> { + setNoteBook((notebooks: INotebook[]) => { const html = this.genNotebook(data.data.box); if (this.element.childElementCount === 0) { this.element.innerHTML = html; diff --git a/kernel/model/file.go b/kernel/model/file.go index 376d6bd92..f62f7c2ad 100644 --- a/kernel/model/file.go +++ b/kernel/model/file.go @@ -361,6 +361,10 @@ func ListDocTree(boxID, path string, sortMode int) (ret []*File, totals int, err sort.Slice(docs, func(i, j int) bool { return docs[i].CTime < docs[j].CTime }) case util.SortModeCreatedDESC: sort.Slice(docs, func(i, j int) bool { return docs[i].CTime > docs[j].CTime }) + case util.SortModeSizeASC: + sort.Slice(docs, func(i, j int) bool { return docs[i].Size < docs[j].Size }) + case util.SortModeSizeDESC: + sort.Slice(docs, func(i, j int) bool { return docs[i].Size > docs[j].Size }) } if util.SortModeCustom != sortMode { diff --git a/kernel/util/sort.go b/kernel/util/sort.go index 46adde0ce..170598bf8 100644 --- a/kernel/util/sort.go +++ b/kernel/util/sort.go @@ -39,13 +39,13 @@ func PinYinCompare(str1, str2 string) bool { return true } -//UTF82GBK : transform UTF8 rune into GBK byte array +// UTF82GBK : transform UTF8 rune into GBK byte array func UTF82GBK(src string) ([]byte, error) { GB18030 := simplifiedchinese.All[0] return io.ReadAll(transform.NewReader(bytes.NewReader([]byte(src)), GB18030.NewEncoder())) } -//GBK2UTF8 : transform GBK byte array into UTF8 string +// GBK2UTF8 : transform GBK byte array into UTF8 string func GBK2UTF8(src []byte) (string, error) { GB18030 := simplifiedchinese.All[0] bytes, err := io.ReadAll(transform.NewReader(bytes.NewReader(src), GB18030.NewDecoder())) @@ -64,4 +64,6 @@ const ( SortModeRefCountDESC // 8:引用数降序 SortModeCreatedASC // 9:文件创建时间升序 SortModeCreatedDESC // 10:文件创建时间降序 + SortModeSizeASC // 11:文件大小升序 + SortModeSizeDESC // 12:文件大小降序 )