13b7203622 2011-02-23 kinaba: // NoahCM.h 13b7203622 2011-02-23 kinaba: //-- CNoahConfigManager -- save / load / modify the setting of 'Noah' -- 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #ifndef AFX_NOAHCM_H__ACE475C1_D925_4F9E_BDCA_783B921E6FD5__INCLUDED_ 13b7203622 2011-02-23 kinaba: #define AFX_NOAHCM_H__ACE475C1_D925_4F9E_BDCA_783B921E6FD5__INCLUDED_ 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: class CNoahConfigManager; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: class CNoahConfigDialog : public kiPropSheet 13b7203622 2011-02-23 kinaba: { 13b7203622 2011-02-23 kinaba: public: 13b7203622 2011-02-23 kinaba: class CCmprPage : public kiPropSheetPage 13b7203622 2011-02-23 kinaba: { 13b7203622 2011-02-23 kinaba: public: 13b7203622 2011-02-23 kinaba: CCmprPage(); 13b7203622 2011-02-23 kinaba: private: 13b7203622 2011-02-23 kinaba: BOOL onInit(); 13b7203622 2011-02-23 kinaba: bool onOK(); 13b7203622 2011-02-23 kinaba: bool onCancel(); 13b7203622 2011-02-23 kinaba: BOOL CALLBACK proc( UINT msg, WPARAM wp, LPARAM lp ); 13b7203622 2011-02-23 kinaba: void correct( const char* ext, bool first ); 13b7203622 2011-02-23 kinaba: void SetUpToolTip(); 13b7203622 2011-02-23 kinaba: private: 13b7203622 2011-02-23 kinaba: HWND m_tooltip; 13b7203622 2011-02-23 kinaba: }; 13b7203622 2011-02-23 kinaba: class CMeltPage : public kiPropSheetPage 13b7203622 2011-02-23 kinaba: { 13b7203622 2011-02-23 kinaba: public: 13b7203622 2011-02-23 kinaba: CMeltPage(); 13b7203622 2011-02-23 kinaba: private: 13b7203622 2011-02-23 kinaba: BOOL onInit(); 13b7203622 2011-02-23 kinaba: bool onOK(); 13b7203622 2011-02-23 kinaba: BOOL CALLBACK proc( UINT msg, WPARAM wp, LPARAM lp ); 13b7203622 2011-02-23 kinaba: void correct(); 13b7203622 2011-02-23 kinaba: }; 13b7203622 2011-02-23 kinaba: class CWinXPage : public kiPropSheetPage 13b7203622 2011-02-23 kinaba: { 13b7203622 2011-02-23 kinaba: public: 13b7203622 2011-02-23 kinaba: CWinXPage(); 13b7203622 2011-02-23 kinaba: private: 13b7203622 2011-02-23 kinaba: BOOL onInit(); 13b7203622 2011-02-23 kinaba: BOOL CALLBACK proc( UINT msg, WPARAM wp, LPARAM lp ); 13b7203622 2011-02-23 kinaba: bool onOK(); 13b7203622 2011-02-23 kinaba: }; 13b7203622 2011-02-23 kinaba: class CAssPage : public kiDialog 13b7203622 2011-02-23 kinaba: { 13b7203622 2011-02-23 kinaba: public: 13b7203622 2011-02-23 kinaba: CAssPage( HWND parent ); 13b7203622 2011-02-23 kinaba: private: 13b7203622 2011-02-23 kinaba: BOOL onInit(); 13b7203622 2011-02-23 kinaba: BOOL CALLBACK proc( UINT msg, WPARAM wp, LPARAM lp ); 13b7203622 2011-02-23 kinaba: bool onOK(); 13b7203622 2011-02-23 kinaba: }; 13b7203622 2011-02-23 kinaba: class CInfoPage : public kiPropSheetPage 13b7203622 2011-02-23 kinaba: { 13b7203622 2011-02-23 kinaba: public: 13b7203622 2011-02-23 kinaba: CInfoPage(); 13b7203622 2011-02-23 kinaba: private: 13b7203622 2011-02-23 kinaba: BOOL onInit(); 13b7203622 2011-02-23 kinaba: }; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: public: 13b7203622 2011-02-23 kinaba: CNoahConfigDialog(); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: private: 13b7203622 2011-02-23 kinaba: bool onOK(); 13b7203622 2011-02-23 kinaba: bool onCancel(); 13b7203622 2011-02-23 kinaba: void onApply(); 13b7203622 2011-02-23 kinaba: void onHelp(); 13b7203622 2011-02-23 kinaba: void onCommand( UINT id ); 13b7203622 2011-02-23 kinaba: BOOL onInit(); 13b7203622 2011-02-23 kinaba: void onDrop( HDROP hdrop ); 13b7203622 2011-02-23 kinaba: static void shift_and_button(); 13b7203622 2011-02-23 kinaba: }; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: enum loading_flag 13b7203622 2011-02-23 kinaba: { 13b7203622 2011-02-23 kinaba: Mode = 1, 13b7203622 2011-02-23 kinaba: Melt = 2, 13b7203622 2011-02-23 kinaba: Compress= 4, 13b7203622 2011-02-23 kinaba: Shell = 8, 13b7203622 2011-02-23 kinaba: OpenDir =16, 13b7203622 2011-02-23 kinaba: All =31, 13b7203622 2011-02-23 kinaba: }; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: class CNoahConfigManager 13b7203622 2011-02-23 kinaba: { 13b7203622 2011-02-23 kinaba: public: //-- 操作 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: void init(); 13b7203622 2011-02-23 kinaba: void load( loading_flag what ); 13b7203622 2011-02-23 kinaba: void save(); 13b7203622 2011-02-23 kinaba: void dialog(); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: public: //-- 設定項目取得用インターフェイス 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // Section: Mode 13b7203622 2011-02-23 kinaba: const int mode() { return m_Mode; } // 0:圧専 1:圧優 2:解優 3:解専 13b7203622 2011-02-23 kinaba: const bool miniboot(){ return m_MiniBoot; } // 最小化起動? 13b7203622 2011-02-23 kinaba: const bool oldver() { return m_OldVer; }// 古い形式でバージョン表示 13b7203622 2011-02-23 kinaba: const int extnum() { return m_OneExt ? 1 : m_ZeroExt ? 0 : -1; } // 書庫名作成時に拡張子と見なす部分 13b7203622 2011-02-23 kinaba: const int multiboot_limit() { return m_MbLim; } // 多重起動個数制限値 13b7203622 2011-02-23 kinaba: // Section: Melt 13b7203622 2011-02-23 kinaba: const kiPath& mdir() { return m_MDir; } // 解凍先 13b7203622 2011-02-23 kinaba: const bool mdirsm(){ return m_MDirSm; }// 同じディレクトリに解凍? 13b7203622 2011-02-23 kinaba: const int mkdir() { return m_MkDir; } // 0:x 1:file 2:dir 3:o 13b7203622 2011-02-23 kinaba: const bool mnonum(){ return m_MNoNum; }// 数字省略 13b7203622 2011-02-23 kinaba: const char* kill() { return m_Kill; }// OFFにする内蔵ルーチン 13b7203622 2011-02-23 kinaba: // Section: Compress 13b7203622 2011-02-23 kinaba: const kiPath& cdir() { return m_CDir; } // 圧縮先 13b7203622 2011-02-23 kinaba: const bool cdirsm(){ return m_CDirSm; }// 同じディレクトリに圧縮? 13b7203622 2011-02-23 kinaba: const kiStr& cext() { return m_CExt; } // 圧縮形式 13b7203622 2011-02-23 kinaba: const kiStr& cmhd() { return m_CMhd; } // 圧縮メソッド 13b7203622 2011-02-23 kinaba: // Section: Shell 13b7203622 2011-02-23 kinaba: // Section: OpenDir 13b7203622 2011-02-23 kinaba: const bool modir() { return m_MODir; } // 解凍後開く? 13b7203622 2011-02-23 kinaba: const bool codir() { return m_CODir; } // 圧縮後開く? 13b7203622 2011-02-23 kinaba: const kiStr& openby(){ return m_OpenBy; }// 開くプログラム(隠し) 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: private: //-- 内部変数 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: unsigned long m_Loaded; 13b7203622 2011-02-23 kinaba: kiIniFile m_Ini; 13b7203622 2011-02-23 kinaba: kiStr m_UserName; 13b7203622 2011-02-23 kinaba: HINSTANCE m_hNoahXtDLL; 13b7203622 2011-02-23 kinaba: enum { NOSHL, NOADMIN, SHLOK } m_bShlOK; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // 設定項目 13b7203622 2011-02-23 kinaba: int m_Mode; 13b7203622 2011-02-23 kinaba: kiPath m_MDir, m_CDir; 13b7203622 2011-02-23 kinaba: bool m_MODir,m_CODir,m_MDirSm,m_CDirSm; 13b7203622 2011-02-23 kinaba: int m_MkDir; 13b7203622 2011-02-23 kinaba: int m_MbLim; 13b7203622 2011-02-23 kinaba: kiStr m_CExt; 13b7203622 2011-02-23 kinaba: kiStr m_OpenBy; 13b7203622 2011-02-23 kinaba: kiStr m_CMhd; 13b7203622 2011-02-23 kinaba: bool m_MNoNum; 13b7203622 2011-02-23 kinaba: bool m_SCSendTo,m_SCDesktop; 13b7203622 2011-02-23 kinaba: kiStr m_Kill; 13b7203622 2011-02-23 kinaba: bool m_SECmp, m_SEExt, m_bAsso[13]; 13b7203622 2011-02-23 kinaba: bool m_MiniBoot; 13b7203622 2011-02-23 kinaba: bool m_OldVer; 13b7203622 2011-02-23 kinaba: bool m_OneExt, m_ZeroExt; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // 関数ロード 13b7203622 2011-02-23 kinaba: FARPROC getProc( const char* name ); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: public: 13b7203622 2011-02-23 kinaba: CNoahConfigManager() 13b7203622 2011-02-23 kinaba: { 13b7203622 2011-02-23 kinaba: m_hNoahXtDLL = NULL; 13b7203622 2011-02-23 kinaba: } 13b7203622 2011-02-23 kinaba: ~CNoahConfigManager() 13b7203622 2011-02-23 kinaba: { 13b7203622 2011-02-23 kinaba: if( m_hNoahXtDLL ) 13b7203622 2011-02-23 kinaba: ::FreeLibrary( m_hNoahXtDLL ); 13b7203622 2011-02-23 kinaba: } 13b7203622 2011-02-23 kinaba: friend class CNoahConfigDialog::CCmprPage; 13b7203622 2011-02-23 kinaba: friend class CNoahConfigDialog::CMeltPage; 13b7203622 2011-02-23 kinaba: friend class CNoahConfigDialog::CWinXPage; 13b7203622 2011-02-23 kinaba: friend class CNoahConfigDialog::CInfoPage; 13b7203622 2011-02-23 kinaba: friend class CNoahConfigDialog::CAssPage; 13b7203622 2011-02-23 kinaba: }; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #endif