How tonquer/jmcomic-qt works
JMComic-qt is a cross-platform Qt desktop client for browsing, reading, and downloading comics from 禁漫天堂. The principal workflow is user search or navigation, remote catalog retrieval, selecting a comic, then viewing or downloading its pages. The tree also identifies account, favorites, comments, history, local-library, NAS, and image-enhancement capabilities. Sampled code confirms search requests pass through asynchronous task handling and a server handler; most other feature wiring is inferred only at subsystem level from names and README, so uncertain connections are omitted.
Main entry points: server.py Request dispatch · read_view.py Comic reader · main_view.py Main window · search_view.py Comic search
Components 26
Desktop app
- Application entry
src/start.py - Main window
src/view/main/main_view.py - Navigation coordinator
src/qt_owner.py - Configuration
src/config/config.py
Catalog and accounts
- Comic search
src/view/search/search_view.py - Index and weekly
src/view/index/index_view.py - Categories
src/view/category/category_view.py - Comic details
src/view/info/book_info_view.py - Account access
src/view/user/login_new_view.py - HTTP task layer
src/task/task_http.py - Request dispatch
src/server/server.py - Response handlers
src/server/user_handler.py
Reading and library
- Comic reader
src/view/read/read_view.py - Page rendering
src/view/read/read_graphics.py - Local library
src/view/tool/local_read_view.py - Local page tasks
src/task/task_local.py
Downloads and storage
- Download manager
src/view/download/download_view.py - Download tasks
src/task/task_download.py - NAS library
src/view/nas/nas_view.py - Storage uploads
src/task/task_upload.py
User features and tools
- Favorites and comments
src/view/user/favorite_view.py - Reading history
src/view/history/history_view.py - Image enhancement
src/view/tool/waifu2x_tool_view.py
Other components
- Desktop user
- Comic service
- Remote storage
Connections 27
- Desktop user → Application entry: launches
- Application entry → Main window: starts
- Main window → Navigation coordinator: coordinates
- Desktop user → Comic search: searches
- Navigation coordinator → Comic search: opens
- Comic search → HTTP task layer: queues query
- HTTP task layer → Request dispatch: dispatches
- Request dispatch → Comic service: sends request
- Comic service → Request dispatch: returns response
- Request dispatch → Response handlers: dispatches response
- Desktop user → Index and weekly: browses
- Desktop user → Categories: filters by category
- Desktop user → Account access: authenticates
- Desktop user → Comic details: selects comic
- Comic details → Comic reader: opens comic
- Comic reader → Page rendering: renders pages
- Comic reader → Local page tasks: loads local pages
- Desktop user → Download manager: downloads comic
- Download manager → Download tasks: queues downloads
- Desktop user → Local library: opens local library
- Desktop user → NAS library: manages NAS
- NAS library → Storage uploads: uploads content
- Storage uploads → Remote storage: writes files
- Desktop user → Favorites and comments: manages favorites
- Desktop user → Reading history: views history
- Desktop user → Image enhancement: enhances images
- Configuration → Main window: configures