전역 설정
설정 페이지는 좌측 트리 위젯과 우측 설정 카드로 구성됩니다.
트리에서 카테고리를 선택하면 해당 설정 카드가 우측에 표시됩니다.

카테고리 구조
일반
| 페이지 |
설명 |
| 개요 |
일반 설정 요약 |
| 언어 |
UI 표시 언어 선택 |
| 시작 동작 |
앱 시작 시 기본 동작 설정 |
테마/외관
| 페이지 |
설명 |
| 개요 |
테마 설정 요약 |
| 테마 |
다크/라이트 모드 전환 (실시간 미리보기) |
| 폰트 |
UI 폰트 설정 |
테마 전환은 타이틀바의 테마 버튼으로도 가능합니다.
지도
| 페이지 |
설명 |
| 개요 |
지도 설정 요약 |
| TMS 프리셋 |
7개 타일 서버 프리셋 선택 |
| API 키 |
VWorld / Stamen API 키 입력 |

TMS 프리셋 목록
| 프리셋 |
기본 줌 |
API 키 필요 |
| OpenStreetMap |
10 |
아니요 |
| ESRI Topographic |
10 |
아니요 |
| ESRI Satellite |
10 |
아니요 |
| VWorld Base |
10 |
예 |
| VWorld Satellite |
10 |
예 |
| VWorld Hybrid |
10 |
예 |
| Stamen Terrain |
10 |
예 |
고급
| 페이지 |
설명 |
| 개요 |
고급 설정 요약 |
| 로깅 |
로그 레벨 (DEBUG/INFO/WARN/ERROR), 최대 크기, 로테이션 |
| 성능 |
병렬 스레드 수 (자동/수동) |
| 서버 포트 |
문서 서버/MCP/대시보드 포트 |
좌표계
| 페이지 |
설명 |
| 개요 |
좌표계 설정 요약 |
| EPSG 데이터 |
EPSG 데이터베이스 필터/상세 조회 |
MCP 서버
| 페이지 |
설명 |
| 개요 |
MCP 서버 상태 요약 |
| 세부 설정 |
포트, 최대 클라이언트 수, 활성화/비활성화 |

MCP 서버 설정
| 항목 |
기본값 |
설명 |
| 포트 |
9234 |
TCP 리스닝 포트 |
| 최대 클라이언트 |
5 |
동시 접속 가능 클라이언트 수 |
| 활성화 |
켜짐 |
MCP 서버 활성화/비활성화 |
계정
| 페이지 |
설명 |
| 개요 |
계정 상태 요약 |
| 포탈 로그인 |
Google OAuth로 협업 포탈 로그인 |

포탈 로그인
Google OAuth 2.0 (PKCE 흐름)으로 로그인합니다.
- 미로그인 상태: "Google로 로그인" 버튼 표시
- 로그인 상태: 사용자 이름, 이메일 표시 + "로그아웃" 버튼
- 로그인하면 타이틀바의 이슈 보고 버튼이 활성화됩니다
프로필 사진
Google 계정의 프로필 사진이 로그인 시 자동으로 표시됩니다.
| 위치 |
크기 |
설명 |
| 좌측 네비게이션 하단 |
32px |
설정 버튼 위, 이름/이메일과 함께 표시. 네비게이션 접힘 시 숨김 |
| 설정 좌측 패널 |
36px |
설정 트리 위 사용자 정보 영역 |
| 설정 > 계정 개요 |
56px |
로그인 상태 카드 내 |
- 프로필 사진은 Google 계정에서 비동기로 다운로드되어 원형으로 표시됩니다
- 프로필 사진이 없는 경우 기본 사람 아이콘이 표시됩니다
- 로그아웃 시 모든 위치에서 기본 아이콘으로 복원됩니다
Firebase 연동
포탈 로그인은 Firebase Auth를 사용합니다. Google 계정으로 로그인하면 협업 포탈(geoomni-cs.dahangis.co.kr)에서 이슈를 등록할 수 있습니다.
설정 영구 저장
모든 설정은 QSettings(Windows 레지스트리)에 자동 저장됩니다.
앱을 재시작해도 마지막 설정이 유지됩니다.
| 설정 |
저장 키 |
| 테마 (다크/라이트) |
appearance/dark |
| TMS URL |
map/tmsUrl |
| VWorld API 키 |
map/vworldApiKey |
| EPSG 코드 |
coordinate/epsg |
| MCP 포트 |
mcp/port |
| 포탈 토큰 |
portal/token |
MCP 명령
| 명령 |
설명 |
nav.selectPage {"page":"settings"} |
설정 페이지로 전환 |
app.setTheme {"dark":true} |
다크 모드 설정 |
app.getTheme |
현재 테마 조회 |
app.setEpsgCode {"code":5186} |
EPSG 코드 설정 |
ui.setWidgetValue {"name":"mcpPortSpin","value":"9234"} |
MCP 포트 변경 |