이미 블로그나 깃헙에서는 내린 프로그램의 코드를 QT를 만지작 거리다가 다시 고쳐봐야겠다는 생각이 들었음.

기존 코드는 내가 봐도 이건 아니란 느낌이 너무 강했음. 너무 의식의 흐름대로 짰다는 느낌이 풀풀났음.

이번에는 반성할 겸, 그냥 wxWidgets의 이벤트 핸들링 시스템을 최대한 이용해서 다시 짜봤음.


RequestManager가 모든 요청을 처리하는 클래스임. HTTP 클라이언트는 libcurl를 사용함


따로 타이머 안쓰고 아이들타임이랑 어떤 이벤트든 발생하면 이벤트를 받게 만들었음.

아이들 타임과 여튼 최대한 자주 이 루틴을 실행함. 요청이 끝나면 요청결과에 따라서 Event타입을 다르게 해서 이벤트 큐에 집어넣음.


IMangaSave는 폴더에 이미지를 풀어서 저장할지, 압축할 지를 처리하는 인터페이스임


요청은 RequestDownloadData객체를 생성한 후에 이벤트 핸들러를 등록해서 성공했는 지 실패했는 지를 구분할 수 있고,

매니저의 언큐 메소드로 넘겨버림.


나머지도 이런식으로 이벤트 핸들링을 이용해서 새롭게 구성함.