이미지를 가지고 있는 폴더도 소스리스트에 추가할 수 있게 함.
This commit is contained in:
72
UI.py
72
UI.py
@@ -105,6 +105,9 @@ class MyApp(QMainWindow):
|
||||
def on_click_SrcAdd(self):
|
||||
# 폴더 선택 창을 띄움
|
||||
folder_path = QFileDialog.getExistingDirectory(self, '폴더 선택', '')
|
||||
|
||||
if None == folder_path or True == util.IsEmptyStr(folder_path):
|
||||
return
|
||||
|
||||
# 폴더 목록에 추가
|
||||
self.list_SrcPath.addItem(folder_path)
|
||||
@@ -132,16 +135,13 @@ class MyApp(QMainWindow):
|
||||
|
||||
# 이미지 파일이 들어있다면...
|
||||
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)
|
||||
# 이름은 폴더
|
||||
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()
|
||||
@@ -163,36 +163,54 @@ class MyApp(QMainWindow):
|
||||
|
||||
self.list_Infos.clear()
|
||||
|
||||
self.dataCurSel = ""
|
||||
pathTarget = None
|
||||
for item in items:
|
||||
self.dataCurSel = item.data(Qt.UserRole)
|
||||
|
||||
fileExt = util.GetExtStr(self.dataCurSel)
|
||||
# 압축파일이 들어있다면...
|
||||
if fileExt.lower() in [".zip", ".cbz", ".rar"]:
|
||||
|
||||
dataCurSel
|
||||
pathTarget = item.data(Qt.UserRole)
|
||||
|
||||
listZipConts = util.GetZipContentList(self.pathCurSelZip)
|
||||
self.list_Infos.addItem( QListWidgetItem(self.pathCurSelZip) )
|
||||
self.list_Infos.addItem( QListWidgetItem( f"{len(listZipConts)}" ) )
|
||||
if False == os.path.exists(pathTarget):
|
||||
return
|
||||
|
||||
# 압축파일일 경우...
|
||||
listContents = []
|
||||
if True == os.path.isfile(pathTarget):
|
||||
fileExt = util.GetExtStr(pathTarget)
|
||||
# 일단 zip 만...
|
||||
if fileExt.lower() in [".zip", ".cbz"]:
|
||||
listContents = util.GetZipContentList(pathTarget)
|
||||
print("zip")
|
||||
elif fileExt.lower() == ".rar":
|
||||
listContents = []
|
||||
elif True == os.path.isdir(pathTarget):
|
||||
print("folder")
|
||||
listContents = util.ListFileExtRcr(pathTarget, [".jpg", ".jpeg", ".png", ".webp"])
|
||||
|
||||
|
||||
self.list_Infos.addItem( QListWidgetItem(pathTarget) )
|
||||
self.list_Infos.addItem( QListWidgetItem( f"{len(listContents)}" ) )
|
||||
|
||||
self.list_Items.clear()
|
||||
self.list_Items.addItems( listZipConts )
|
||||
self.list_Items.addItems( listContents )
|
||||
|
||||
|
||||
def on_Item_SelChanged_Items(self):
|
||||
items = self.list_Items.selectedItems()
|
||||
if 0 >= len(items):
|
||||
return
|
||||
|
||||
data = util.GetZippedFileByte(self.pathCurSelZip, items[0].text())
|
||||
imageIO = BytesIO(data)
|
||||
|
||||
selItemText = items[0].text()
|
||||
|
||||
pixmap = QPixmap()
|
||||
pixmap.loadFromData( QByteArray( imageIO.getvalue() ) )
|
||||
pathTarget = self.list_Infos.item(0).text()
|
||||
|
||||
if True == os.path.isfile(pathTarget):
|
||||
data = util.GetZippedFileByte(pathTarget, selItemText)
|
||||
imageIO = BytesIO(data)
|
||||
pixmap.loadFromData( QByteArray( imageIO.getvalue() ) )
|
||||
elif True == os.path.isdir(pathTarget):
|
||||
if True == os.path.exists(selItemText):
|
||||
pixmap.load(selItemText)
|
||||
|
||||
szLabel = self.label_Image.size()
|
||||
|
||||
|
||||
self.label_Image.setPixmap(pixmap)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user