Update UI.py and UtilPack.py

This commit is contained in:
2024-12-03 01:00:05 +09:00
parent 3d1c2a8c3d
commit 1e59aefafa
2 changed files with 35 additions and 8 deletions

24
UI.py
View File

@@ -21,6 +21,10 @@ class MyApp(QMainWindow):
self.saveINI() self.saveINI()
event.accept() event.accept()
def resizeEvent(self, event):
self.GetFitSize(self.label_Image.size())
print( self.label_Image.size() )
def initUI(self): def initUI(self):
layout = self.MakeUI() layout = self.MakeUI()
@@ -101,6 +105,13 @@ class MyApp(QMainWindow):
return layout return layout
def GetFitSize(self, szTarget):
szDesktop = self.screen().size()
szWindow = self.size()
print(f"{szDesktop}, {szWindow}")
def on_click_SrcAdd(self): def on_click_SrcAdd(self):
# 폴더 선택 창을 띄움 # 폴더 선택 창을 띄움
@@ -115,6 +126,9 @@ class MyApp(QMainWindow):
# 폴더 내의 자식 폴더 목록을 가져온다. # 폴더 내의 자식 폴더 목록을 가져온다.
listFolders = util.ListSubDirectories(folder_path) listFolders = util.ListSubDirectories(folder_path)
# 선택한 폴더도 리스트에 추가한다.
listFolders.append(folder_path)
for folder in listFolders: for folder in listFolders:
# 폴더 내의 파일 목록을 가져온다. # 폴더 내의 파일 목록을 가져온다.
listFiles = util.ListContainFiles(folder) listFiles = util.ListContainFiles(folder)
@@ -156,7 +170,9 @@ class MyApp(QMainWindow):
if not items: if not items:
return return
selItemText = ""
for item in items: for item in items:
selItemText = item.text()
row = self.list_SrcPath.row(item) row = self.list_SrcPath.row(item)
self.list_SrcPath.takeItem(row) self.list_SrcPath.takeItem(row)
@@ -184,19 +200,16 @@ class MyApp(QMainWindow):
# 일단 zip 만... # 일단 zip 만...
if fileExt.lower() in [".zip", ".cbz"]: if fileExt.lower() in [".zip", ".cbz"]:
listContents = util.GetZipContentList(pathTarget) listContents = util.GetZipContentList(pathTarget)
print("zip")
elif fileExt.lower() == ".rar": elif fileExt.lower() == ".rar":
listContents = [] listContents = []
elif True == os.path.isdir(pathTarget): elif True == os.path.isdir(pathTarget):
print("folder")
listContents = util.ListFileExtRcr(pathTarget, [".jpg", ".jpeg", ".png", ".webp"]) listContents = util.ListFileExtRcr(pathTarget, [".jpg", ".jpeg", ".png", ".webp"])
self.list_Infos.addItem( QListWidgetItem(pathTarget) ) self.list_Infos.addItem( QListWidgetItem(pathTarget) )
self.list_Infos.addItem( QListWidgetItem( f"{len(listContents)}" ) ) self.list_Infos.addItem( QListWidgetItem( f"{len(listContents)}" ) )
self.list_Items.clear() self.list_Items.clear()
self.list_Items.addItems( listContents ) self.list_Items.addItems( sorted( listContents ) )
def on_Item_SelChanged_Items(self): def on_Item_SelChanged_Items(self):
@@ -217,12 +230,9 @@ class MyApp(QMainWindow):
if True == os.path.exists(selItemText): if True == os.path.exists(selItemText):
pixmap.load(selItemText) pixmap.load(selItemText)
szLabel = self.label_Image.size()
self.label_Image.setPixmap(pixmap) self.label_Image.setPixmap(pixmap)
if __name__ == '__main__': if __name__ == '__main__':
app = QApplication(sys.argv) app = QApplication(sys.argv)

View File

@@ -1,11 +1,14 @@
import os import os
import time import time
import uuid
import rarfile import rarfile
import zipfile import zipfile
import shutil import shutil
import difflib import difflib
import subprocess import subprocess
from pathlib import Path
m_dbgLevel = 0 m_dbgLevel = 0
listDbgStr = [] listDbgStr = []
@@ -271,4 +274,18 @@ def PrintJSONTree(data, indent=0):
else: else:
print(' ' * indent + str(data)) print(' ' * indent + str(data))
def IsPathWithin(base_path: str, target_path: str) -> bool:
base = Path(base_path).resolve()
target = Path(target_path).resolve()
return target.is_relative_to(base)
# 랜덤 UUID 생성
def UUIDGenRandom():
random_uuid = uuid.uuid4()
return random_uuid
# 이름을 기반으로 UUID 생성
def UUIDGenName(SeedName):
namespace_uuid = uuid.uuid5(uuid.NAMESPACE_DNS, SeedName)
return namespace_uuid