From bae6a8add337569e6e440c51115b5e1d618e19fd Mon Sep 17 00:00:00 2001 From: Lee Young Hoon Date: Fri, 29 Nov 2024 02:14:23 +0900 Subject: [PATCH] Update UI.py --- UI.py | 43 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/UI.py b/UI.py index 5b08568..7803f9e 100644 --- a/UI.py +++ b/UI.py @@ -105,20 +105,43 @@ class MyApp(QMainWindow): def on_click_SrcAdd(self): # 폴더 선택 창을 띄움 folder_path = QFileDialog.getExistingDirectory(self, '폴더 선택', '') + + # 폴더 목록에 추가 self.list_SrcPath.addItem(folder_path) + # 폴더 내의 파일 목록을 가져온다. listFiles = util.ListContainFiles(folder_path) + + # 파일 목록을 훑어서 내용을 판단 + # 1. 압축파일이 들어있나? + # 2. 이미지 파일이 들어있나? + isContainImg = False for pathFile in listFiles: filename = util.GetParentDirName(pathFile, 0) fileExt = util.GetExtStr(filename) - if not fileExt.lower() in [".zip", ".cbz", ".webp", ".jpg", ".png", ".gif", ".jpeg"]: - continue + # 압축파일이 들어있다면... + if fileExt.lower() in [".zip", ".cbz", ".rar"]: + # 이름은 폴더/압축파일 + FolderName = util.GetParentDirName(pathFile, 1) + ItemName = os.path.join(FolderName, filename) + item = QListWidgetItem(ItemName) + # 압축파일의 전체 경로를 따로 저장 + item.setData(Qt.UserRole, pathFile) + self.list_ArcList.addItem(item) - item = QListWidgetItem(filename) - item.setData(Qt.UserRole, pathFile) + # 이미지 파일이 들어있다면... + if fileExt.lower() in [".jpg", ".webp", ".jpeg", ".png", ".gif"]: + isContainImg = True + + # 이미지 파일이 들어있다고 알려오면... + if True == isContainImg: + # 이름은 폴더 + FolderName = util.GetParentDirName(folder_path, 0) + item = QListWidgetItem(FolderName) + # 폴더 경로를 따로 저장 + item.setData(Qt.UserRole, folder_path) self.list_ArcList.addItem(item) - def on_click_SrcDel(self): items = self.list_SrcPath.selectedItems() @@ -140,9 +163,15 @@ class MyApp(QMainWindow): self.list_Infos.clear() - self.pathCurSelZip = "" + self.dataCurSel = "" for item in items: - self.pathCurSelZip = item.data(Qt.UserRole) + self.dataCurSel = item.data(Qt.UserRole) + + fileExt = util.GetExtStr(self.dataCurSel) + # 압축파일이 들어있다면... + if fileExt.lower() in [".zip", ".cbz", ".rar"]: + + dataCurSel listZipConts = util.GetZipContentList(self.pathCurSelZip) self.list_Infos.addItem( QListWidgetItem(self.pathCurSelZip) )