// MainFrm.h : CMainFrame Ŭ·¡½ºÀÇ ÀÎÅÍÆäÀ̽º // #pragma once #define WMU_UPDATE_CONTROL_STATUS (WM_USER + 1) enum CLIPBOARD_STATE { CBS_NONE = 0, CBS_CUT, CBS_COPY, }; typedef struct{ CString strName; int nCountFolder; int nCountFile; __int64 nSize; }RFOLDERINFO_STRUCT,*LPRFOLDERINFO_STRUCT; typedef struct { int nClass; bool bCached; CString sName; CStringArray saAttr; CPtrArray paObject; } RTREEITEM_STRUCT, *PRTREEITEM_STRUCT; typedef struct { bool bFolder; CString sName; __int64 nSize; int iIcon; CStringArray saAttr; } RLISTITEM_STRUCT, *PRLISTITEM_STRUCT; enum TREENODE_CLASS { TNS_ROOT = 0, TNS_VOLUME, TNS_FOLDER, }; enum FOCUS_LOCATION { FL_LOCAL, FL_REMOTE }; class CMainFrame : public CXTPFrameWnd { public: CMainFrame(); protected: DECLARE_DYNAMIC(CMainFrame) public: void ShowLoginDialog(); void Connect(); void Disconnect(); bool ContNextOnError(LPCSTR pszErrMSg); int ConfirmExists(LPCSTR pszName, BOOL bMove = TRUE); bool MakeRemoteFolder(HTREEITEM hti, CString& sFolder); bool Move1RemoteObject(HTREEITEM hti, CString& sSrcPath, CString& sDstPath); bool Delete1RemoteObject(HTREEITEM hti, CString& sPath); bool Upload(bool bUseSelected = true); bool Download(bool bUseSelected = true); void CopyRemoteObject(HTREEITEM hti, CStringArray& saSrcPath, CString& sDstPath, CStringArray& saSucceed); void MoveRemoteObject(HTREEITEM hti, CStringArray& saSrcPath, CString& sDstPath, CStringArray& saSucceed); void DeleteRemoteObject(HTREEITEM hti, CStringArray& saPath, CStringArray& saSucceed); void SaveUrl(); void UpdateVolumeInfo(HTREEITEM hti); void GetFolderInfo(HTREEITEM hti,LPRFOLDERINFO_STRUCT pfolderinfo); void BeginWaitMessage(CCmdTarget *pct = NULL); void EndWaitMessage(CCmdTarget *pct = NULL); void SetFocus(CWnd* pwnd); CString GetProxyHost(); int GetProxyPort(); private: BOOL RestorePlacement(); void RemoveDragSource(HTREEITEM hti, LPCTSTR pszPath); void SaveFileUrl(CString sURI, CStdioFile& file, CString sStag, CString sEtag); // Ư¼º public: CFont m_font; class CRemoteView* m_pRemoteView; class CLocalView* m_pLocalView; // ÇÁ·¹ÀÓ »óÅÂ... BOOL m_bShowTopToolBar; BOOL m_bShowMidToolBar; BOOL m_bShowRemoteTree; BOOL m_bShowLocalTree; int m_nRemoteListType; int m_nLocalListType; BOOL m_bShowRemoteStatus; BOOL m_bShowLocalStatus; FOCUS_LOCATION m_fl; CWnd* m_pwndRemote; CWnd* m_pwndLocal; CLIPBOARD_STATE m_cbs; bool m_bDragFromRemote; CStringArray m_saDragSource; CString m_sDragTarget; HTREEITEM m_htiDragTarget; int m_iComputerIcon; int m_iNetworkIcon; int m_iDriveIcon; int m_iFolderIcon; int m_iAnonyAuthIcon; CBitmap m_bmFolder; CBitmap m_bmCopy; CBitmap m_bmCut; CBitmap m_bmPaste; CString m_sUserId; CString m_sPassword; bool m_bSizing; CMapPtrToPtr m_mapHcl; private: CXTSplitterWnd m_splitter; bool m_bInitialzed; // ÀçÁ¤ÀÇ public: virtual BOOL PreTranslateMessage(MSG* pMsg); virtual BOOL PreCreateWindow(CREATESTRUCT& cs); virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext); // ±¸Çö public: virtual ~CMainFrame(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif // ¸Þ½ÃÁö ¸Ê ÇÔ¼ö¸¦ »ý¼ºÇß½À´Ï´Ù. public: afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnClose(); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg void OnFileReconnect(); afx_msg void OnUpdateFileReconnect(CCmdUI *pCmdUI); afx_msg void OnFileDisconnect(); afx_msg void OnUpdateFileDisconnect(CCmdUI *pCmdUI); afx_msg void OnFileUpload(); afx_msg void OnUpdateFileUpload(CCmdUI *pCmdUI); afx_msg void OnFileDownload(); afx_msg void OnUpdateFileDownload(CCmdUI *pCmdUI); afx_msg void OnViewRefresh(); afx_msg void OnViewLtree(); afx_msg void OnUpdateViewLtree(CCmdUI *pCmdUI); afx_msg void OnViewRtree(); afx_msg void OnUpdateViewRtree(CCmdUI *pCmdUI); afx_msg void OnViewLstatus(); afx_msg void OnUpdateViewLstatus(CCmdUI *pCmdUI); afx_msg void OnViewRstatus(); afx_msg void OnUpdateViewRstatus(CCmdUI *pCmdUI); afx_msg void OnViewMidToolbar(); afx_msg void OnUpdateViewMidToolbar(CCmdUI *pCmdUI); afx_msg void OnViewRlistType1(); afx_msg void OnUpdateViewRlistType1(CCmdUI *pCmdUI); afx_msg void OnViewRlistType2(); afx_msg void OnUpdateViewRlistType2(CCmdUI *pCmdUI); afx_msg void OnViewRlistType3(); afx_msg void OnUpdateViewRlistType3(CCmdUI *pCmdUI); afx_msg void OnViewRlistType4(); afx_msg void OnUpdateViewRlistType4(CCmdUI *pCmdUI); afx_msg void OnViewLlistType0(); afx_msg void OnUpdateViewLlistType0(CCmdUI *pCmdUI); afx_msg void OnViewLlistType1(); afx_msg void OnUpdateViewLlistType1(CCmdUI *pCmdUI); afx_msg void OnViewLlistType2(); afx_msg void OnUpdateViewLlistType2(CCmdUI *pCmdUI); afx_msg void OnViewLlistType3(); afx_msg void OnUpdateViewLlistType3(CCmdUI *pCmdUI); afx_msg void OnViewLlistType4(); afx_msg void OnUpdateViewLlistType4(CCmdUI *pCmdUI); afx_msg void OnCfgOverwriteAsk(); afx_msg void OnUpdateCfgOverwriteAsk(CCmdUI *pCmdUI); afx_msg void OnCfgOverwrite1(); afx_msg void OnUpdateCfgOverwrite1(CCmdUI *pCmdUI); afx_msg void OnCfgOverwrite2(); afx_msg void OnUpdateCfgOverwrite2(CCmdUI *pCmdUI); afx_msg void OnCfgOverwrite3(); afx_msg void OnUpdateCfgOverwrite3(CCmdUI *pCmdUI); afx_msg void OnCfgOverwrite4(); afx_msg void OnUpdateCfgOverwrite4(CCmdUI *pCmdUI); afx_msg void OnCfgConfig(); afx_msg LRESULT OnTransferDlgClose(WPARAM, LPARAM); afx_msg LRESULT OnUpdateControlStatus(WPARAM wParam, LPARAM lParam); int OnCreateControl(LPCREATECONTROLSTRUCT lpCreateControl); DECLARE_MESSAGE_MAP() }; #define MIN_REMOTE_HEIGHT 100 #define MIN_TREE_WIDTH 90 #define MIN_LIST_WIDTH 150 #define HIGHLIGHT_SIZE 1 #define TOOLBAR_HEIGHT 42 #define TOOLBAR_BTN_HEIGHT 6 #define TOOLBAR_BTN_WIDTH 75 #define CAPTION_HEIGHT 22 #define ADDRESS_WIDTH 35 #define SPLITTER_SIZE 5 #define ADDRESS_BTN_WIDTH 23 #define HEADER_HEIGHT (HIGHLIGHT_SIZE + CAPTION_HEIGHT) #define STATUS_HEIGHT 19 #define STATUS_TEXT_HEIGHT 12 #define TIMER_ID_UPDATESTATUS 1 #define TIMER_ID_CHANGEFOLDER 2