Skip to content

Commit 0a952da

Browse files
committed
New: Option to set an image from the folder as a poster
1 parent 531fb66 commit 0a952da

26 files changed

+194
-23
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1919
- Library Navigation using side mouse buttons [`96f4bb8`](https://github.com/ollm/OpenComic/commit/96f4bb8e0033bd58b78e9ec29155ae332c72ec8b)
2020
- Move to trash and Delete permanently options [`2737fbe`](https://github.com/ollm/OpenComic/commit/2737fbe2b9a318c9e5a8b27885e153caa5e9b327)
2121
- Improved reading load and memory usage [`f12cbdb`](https://github.com/ollm/OpenComic/commit/f12cbdbade5e487f5c608e253a6c82b8e7c554a4)
22+
- Option to set an image from the folder as a poster
2223

2324

2425
##### 🐛 Bug Fixes

languages/ca.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "Esborrar pòster",
4848
"cannotAddPoster": "No es pot afegir el pòster si la carpeta és dins d'un fitxer comprimit, haurà d'editar el fitxer mitjançant 7-zip, unrar, etc",
4949
"cannotDeletePoster": "No es pot esborrar el pòster si està dins d'un fitxer comprimit, haurà d'editar el fitxer mitjançant 7-zip, unrar, etc",
50+
"setAsPoster": "Usar imatge com a pòster",
51+
"setAsPosterFolders": "Usar imatge com a pòster d'una altra carpeta",
52+
"posterSetSuccessfully": "La imatge s'ha establert com a pòster",
5053
"closeApp": "Tancar OpenComic"
5154
},
5255
"back": "Enrere",

languages/cs.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "",
4848
"cannotAddPoster": "",
4949
"cannotDeletePoster": "",
50+
"setAsPoster": "",
51+
"setAsPosterFolders": "",
52+
"posterSetSuccessfully": "",
5053
"closeApp": ""
5154
},
5255
"back": "Zpět",

languages/de.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "",
4848
"cannotAddPoster": "",
4949
"cannotDeletePoster": "",
50+
"setAsPoster": "",
51+
"setAsPosterFolders": "",
52+
"posterSetSuccessfully": "",
5053
"closeApp": ""
5154
},
5255
"back": "Zurück",

languages/en.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "Delete poster",
4848
"cannotAddPoster": "It is not possible to add the poster if the folder is inside a compressed file, you will have to edit the file using 7-zip, unrar, etc",
4949
"cannotDeletePoster": "It is not possible to delete the poster if is inside a compressed file, you will have to edit the file using 7-zip, unrar, etc",
50+
"setAsPoster": "Set image as poster",
51+
"setAsPosterFolders": "Set image as poster of another folder",
52+
"posterSetSuccessfully": "The image has been set as poster",
5053
"closeApp": "Close OpenComic"
5154
},
5255
"back": "Back",

languages/es.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "Eliminar póster",
4848
"cannotAddPoster": "No es posible añadir el póster si la carpeta está dentro de un archivo comprimido, tendrá que editar el archivo mediante 7-zip, unrar, etc",
4949
"cannotDeletePoster": "No es posible eliminar el póster si está dentro de un archivo comprimido, tendrá que editar el archivo mediante 7-zip, unrar, etc",
50+
"setAsPoster": "Usar imagen como póster",
51+
"setAsPosterFolders": "Usar imagen como poster de otra carpeta",
52+
"posterSetSuccessfully": "La imagen se ha establecido como póster",
5053
"closeApp": "Cerrar OpenComic"
5154
},
5255
"back": "Atrás",

languages/fr.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "",
4848
"cannotAddPoster": "",
4949
"cannotDeletePoster": "",
50+
"setAsPoster": "",
51+
"setAsPosterFolders": "",
52+
"posterSetSuccessfully": "",
5053
"closeApp": ""
5154
},
5255
"back": "Retour",

languages/hu.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "",
4848
"cannotAddPoster": "",
4949
"cannotDeletePoster": "",
50+
"setAsPoster": "",
51+
"setAsPosterFolders": "",
52+
"posterSetSuccessfully": "",
5053
"closeApp": ""
5154
},
5255
"back": "Vissza",

languages/it.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "",
4848
"cannotAddPoster": "",
4949
"cannotDeletePoster": "",
50+
"setAsPoster": "",
51+
"setAsPosterFolders": "",
52+
"posterSetSuccessfully": "",
5053
"closeApp": ""
5154
},
5255
"back": "Indietro",

languages/ja.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "",
4848
"cannotAddPoster": "",
4949
"cannotDeletePoster": "",
50+
"setAsPoster": "",
51+
"setAsPosterFolders": "",
52+
"posterSetSuccessfully": "",
5053
"closeApp": ""
5154
},
5255
"back": "戻る",

languages/ko.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "",
4848
"cannotAddPoster": "",
4949
"cannotDeletePoster": "",
50+
"setAsPoster": "",
51+
"setAsPosterFolders": "",
52+
"posterSetSuccessfully": "",
5053
"closeApp": "OpenComic 끝내기"
5154
},
5255
"back": "",

languages/pt-br.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "",
4848
"cannotAddPoster": "",
4949
"cannotDeletePoster": "",
50+
"setAsPoster": "",
51+
"setAsPosterFolders": "",
52+
"posterSetSuccessfully": "",
5053
"closeApp": ""
5154
},
5255
"back": "Voltar",

languages/ru.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "",
4848
"cannotAddPoster": "",
4949
"cannotDeletePoster": "",
50+
"setAsPoster": "",
51+
"setAsPosterFolders": "",
52+
"posterSetSuccessfully": "",
5053
"closeApp": ""
5154
},
5255
"back": "Назад",

languages/sv.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "Ta bort affisch",
4848
"cannotAddPoster": "Det går inte att lägga till affischen om mappen finns i en komprimerad fil, du måste redigera filen med 7-zip, unrar, osv.",
4949
"cannotDeletePoster": "Det är inte möjligt att ta bort affischen om den finns i en komprimerad fil, du måste redigera filen med 7-zip, unrar, osv.",
50+
"setAsPoster": "",
51+
"setAsPosterFolders": "",
52+
"posterSetSuccessfully": "",
5053
"closeApp": "Stäng OpenComic"
5154
},
5255
"back": "Tillbaka",

languages/th.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "ลบปก",
4848
"cannotAddPoster": "ไม่สามารถเพิ่มรูปภาพปกกรณีที่โฟลเดอร์อยู่ในไฟล์บีบอัดได้ คุณจะต้องแก้ไขไฟล์โดยใช้ 7-zip, unrar เป็นต้น",
4949
"cannotDeletePoster": "ไม่สามารถนำรูปภาพปกกรณีที่โฟลเดอร์อยู่ในไฟล์บีบอัดออกได้ คุณจะต้องแก้ไขไฟล์โดยใช้ 7-zip, unrar เป็นต้น",
50+
"setAsPoster": "",
51+
"setAsPosterFolders": "",
52+
"posterSetSuccessfully": "",
5053
"closeApp": "ปิด OpenComic"
5154
},
5255
"back": "กลับ",

languages/vi.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "Xóa ảnh bìa",
4848
"cannotAddPoster": "Không thể thêm ảnh bìa nếu thư mục nằm trong một tệp nén, bạn sẽ phải sửa tệp tin bằng 7-zip, unrar hoặc các phần mềm tương tự",
4949
"cannotDeletePoster": "Không thể xóa ảnh bìa nếu thư mục nằm trong một tệp nén, bạn sẽ phải sửa tệp tin bằng 7-zip, unrar hoặc các phần mềm tương tự",
50+
"setAsPoster": "",
51+
"setAsPosterFolders": "",
52+
"posterSetSuccessfully": "",
5053
"closeApp": "Đóng OpenComic"
5154
},
5255
"back": "Trở về",

languages/zh-hans.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "删除封面",
4848
"cannotAddPoster": "如果文件夹位于压缩文件内,则无法添加封面,您必须使用 7-zip、unrar 等编辑文件",
4949
"cannotDeletePoster": "如果封面位于压缩文件内,则无法删除,您必须使用 7-zip、unrar 等编辑该文件",
50+
"setAsPoster": "",
51+
"setAsPosterFolders": "",
52+
"posterSetSuccessfully": "",
5053
"closeApp": "关闭 OpenComic"
5154
},
5255
"back": "返回",

languages/zh-hant.json

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
"deletePoster": "",
4848
"cannotAddPoster": "",
4949
"cannotDeletePoster": "",
50+
"setAsPoster": "",
51+
"setAsPosterFolders": "",
52+
"posterSetSuccessfully": "",
5053
"closeApp": ""
5154
},
5255
"back": "返回",

scripts/cache.js

+7-2
Original file line numberDiff line numberDiff line change
@@ -508,9 +508,9 @@ function addCacheVars(path, size, sha)
508508

509509
var cacheImagesDeleted = [];
510510

511-
async function deleteInCache(path)
511+
async function deleteInCache(path, type = false)
512512
{
513-
let sha = sha1(path);
513+
let sha = (type) ? sha1(path+'?type='+type) : sha1(path);
514514
let cachePath = p.join(cacheFolder, sha+'.jpg');
515515

516516
if(data[sha])
@@ -524,6 +524,11 @@ async function deleteInCache(path)
524524
}
525525

526526
cacheImagesDeleted[sha] = cacheImagesDeleted[sha] ? cacheImagesDeleted[sha] + 1 : 1;
527+
528+
if(!type)
529+
{
530+
await deleteInCache(path, 'poster');
531+
}
527532

528533
return;
529534
}

scripts/dom.js

+20-4
Original file line numberDiff line numberDiff line change
@@ -1267,8 +1267,6 @@ function indexPathControlGoBack()
12671267
}
12681268
else if(indexPathControlA.length > 0)
12691269
{
1270-
console.log(indexPathControlA);
1271-
12721270
let goBack = indexPathControlA[indexPathControlA.length - 2];
12731271

12741272
indexLabel = goBack.indexLabel;
@@ -1864,7 +1862,7 @@ function nightModeConfig(_app = false)
18641862
}
18651863

18661864
// Show the comic context menu
1867-
async function comicContextMenu(path, fromIndex = true, fromIndexNotMasterFolders = true, folder = false, gamepad = false)
1865+
async function comicContextMenu(path, mainPath, fromIndex = true, fromIndexNotMasterFolders = true, folder = false, gamepad = false)
18681866
{
18691867
let isServer = fileManager.isServer(path);
18701868
if(!fromIndex && isServer) return;
@@ -1970,7 +1968,7 @@ async function comicContextMenu(path, fromIndex = true, fromIndexNotMasterFolder
19701968
}
19711969
else
19721970
{
1973-
dom.query('#index-context-menu .separator-poster').css({display: folder ? 'block' : 'none'});
1971+
dom.query('#index-context-menu .separator-poster').css({display: 'block'});
19741972

19751973
// Open file location
19761974
let openFileLocation = document.querySelector('#index-context-menu .context-menu-open-file-location');
@@ -2021,6 +2019,24 @@ async function comicContextMenu(path, fromIndex = true, fromIndexNotMasterFolder
20212019

20222020
openFileLocation.querySelector('span').innerHTML = language.global.contextMenu.openFileLocation;
20232021
}
2022+
2023+
// Set image as poster
2024+
let setAsPoster = document.querySelector('#index-context-menu .context-menu-set-as-poster');
2025+
let setAsPosterFolders = document.querySelector('#index-context-menu .context-menu-set-as-poster-folders');
2026+
2027+
if(!folder)
2028+
{
2029+
setAsPoster.style.display = 'block';
2030+
setAsPosterFolders.style.display = 'block';
2031+
2032+
setAsPoster.setAttribute('onclick', 'dom.poster.setAsPoster(\''+escapeQuotes(escapeBackSlash(path), 'simples')+'\');');
2033+
setAsPosterFolders.setAttribute('onclick', 'dom.poster.setAsPosterFolders(\''+escapeQuotes(escapeBackSlash(path), 'simples')+'\', \''+escapeQuotes(escapeBackSlash(mainPath), 'simples')+'\');');
2034+
}
2035+
else
2036+
{
2037+
setAsPoster.style.display = 'none';
2038+
setAsPosterFolders.style.display = 'none';
2039+
}
20242040
}
20252041

20262042
// File info

0 commit comments

Comments
 (0)