@@ -4156,6 +4156,35 @@ class VibeCullingApp(QMainWindow):
41564156 ("key", "Delete", "작업 상태 초기화"),
41574157 ]
41584158
4159+ # macOS용 단축키 정의
4160+ SHORTCUT_DEFINITIONS_MAC = [
4161+ ("group", "탐색"),
4162+ ("key", "WASD / 방향키", "사진 넘기기"),
4163+ ("key", "Shift + WASD/방향키", "뷰포트 이동 (확대 중에)"),
4164+ ("key", "Shift + A/D", "이전/다음 페이지 (그리드 모드)"),
4165+ ("key", "Enter", "사진 목록 보기"),
4166+ ("key", "F5", "폴더 새로고침"),
4167+
4168+ ("group", "보기 설정"),
4169+ ("key", "F1 / F2 / F3", "줌 모드 변경 (Fit / 100% / 가변)"),
4170+ ("key", "Space", "줌 전환 (Fit/100%) 또는 그리드에서 확대"),
4171+ ("key", "ESC", "줌 아웃 또는 그리드 복귀"),
4172+ ("key", "Z [Zoom-out]", "줌 아웃 (가변 모드)"),
4173+ ("key", "X [eXpand]", "줌 인 (가변 모드)"),
4174+ ("key", "R [Reset]", "뷰포트 중앙 정렬"),
4175+ ("key", "G [Grid]", "그리드 모드 켜기/끄기"),
4176+ ("key", "C [Compare]", "A | B 비교 모드 켜기/끄기"),
4177+ ("key", "Q / E (* 꾹 누르기)", "이미지 회전 (반시계/시계)"),
4178+
4179+ ("group", "파일 작업"),
4180+ ("key", "1 ~ 9", "지정한 폴더로 사진 이동"),
4181+ ("key", "Shift + 1~9", "지정한 폴더로 사진 복사"),
4182+ ("key", "Cmd + Z", "파일 이동 취소 (Undo)"),
4183+ ("key", "Cmd + Y / Cmd + Shift + Z", "파일 이동 다시 실행 (Redo)"),
4184+ ("key", "Cmd + A", "페이지 전체 선택 (그리드 모드)"),
4185+ ("key", "Delete", "작업 상태 초기화"),
4186+ ]
4187+
41594188 KEY_MAP_SHIFT_NUMBER = {
41604189 Qt.Key_Exclam: Qt.Key_1, # ! -> 1
41614190 Qt.Key_At: Qt.Key_2, # @ -> 2
@@ -7357,6 +7386,13 @@ def show_first_run_settings_popup_delayed(self):
73577386
73587387 def _build_shortcut_html(self):
73597388 """단축키 안내를 위한 HTML 문자열을 생성하는 통합 함수입니다."""
7389+
7390+ # 현재 운영체제에 맞는 단축키 정의를 선택합니다.
7391+ if sys.platform == 'darwin': # macOS
7392+ definitions = self.SHORTCUT_DEFINITIONS_MAC
7393+ else: # Windows, Linux 등
7394+ definitions = self.SHORTCUT_DEFINITIONS
7395+
73607396 # 테이블 스타일 정의
73617397 html = """
73627398 <style>
@@ -7382,8 +7418,10 @@ def _build_shortcut_html(self):
73827418 </style>
73837419 <table>
73847420 """
7385- first_group = True # 첫 번째 그룹인지 확인하기 위한 플래그
7386- for item in self.SHORTCUT_DEFINITIONS:
7421+ first_group = True
7422+
7423+ # 선택된 definitions 리스트를 순회합니다.
7424+ for item in definitions:
73877425 if len(item) == 2 and item[0] == "group":
73887426 # 그룹 제목 행
73897427 item_type, col1 = item
0 commit comments