0000: 2f 2f 20 4e 6f 61 68 43 4d 2e 63 70 70 0d 0a 2f // NoahCM.cpp../
0010: 2f 2d 2d 20 43 4e 6f 61 68 43 6f 6e 66 69 67 4d /-- CNoahConfigM
0020: 61 6e 61 67 65 72 20 2d 2d 20 73 61 76 65 20 2f anager -- save /
0030: 20 6c 6f 61 64 20 2f 20 6d 6f 64 69 66 79 20 74 load / modify t
0040: 68 65 20 73 65 74 74 69 6e 67 20 6f 66 20 27 4e he setting of 'N
0050: 6f 61 68 27 20 2d 2d 0d 0a 0d 0a 23 69 6e 63 6c oah' --....#incl
0060: 75 64 65 20 22 73 74 64 61 66 78 2e 68 22 0d 0a ude "stdafx.h"..
0070: 23 69 6e 63 6c 75 64 65 20 22 72 65 73 6f 75 72 #include "resour
0080: 63 65 2e 68 22 0d 0a 23 69 6e 63 6c 75 64 65 20 ce.h"..#include
0090: 22 4e 6f 61 68 41 70 70 2e 68 22 0d 0a 23 69 6e "NoahApp.h"..#in
00a0: 63 6c 75 64 65 20 22 4e 6f 61 68 43 4d 2e 68 22 clude "NoahCM.h"
00b0: 0d 0a 0d 0a 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ....//----------
00c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00e0: 2d 2d 2d 2d 2f 2f 0d 0a 2f 2f 2d 2d 2d 2d 2d 2d ----//..//------
00f0: 2d 2d 2d 2d 20 49 4e 49 83 74 83 40 83 43 83 8b ---- INI.t.@.C..
0100: 96 bc 82 cc 90 dd 92 e8 82 c8 82 c7 20 2d 2d 2d ............ ---
0110: 2d 2d 2d 2d 2d 2d 2d 2d 2f 2f 0d 0a 2f 2f 2d 2d --------//..//--
0120: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0130: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0140: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2f 2f 0d 0a ------------//..
0150: 0d 0a 76 6f 69 64 20 43 4e 6f 61 68 43 6f 6e 66 ..void CNoahConf
0160: 69 67 4d 61 6e 61 67 65 72 3a 3a 69 6e 69 74 28 igManager::init(
0170: 29 0d 0a 7b 0d 0a 09 2f 2f 2d 2d 20 63 61 6c 64 )..{...//-- cald
0180: 69 78 2e 69 6e 69 82 aa 82 e0 82 b5 82 a0 82 ea ix.ini..........
0190: 82 ce 44 4c 4c 83 43 83 93 83 58 83 67 81 5b 83 ..DLL.C...X.g.[.
01a0: 8b 90 e6 82 f0 93 c7 82 dd 8d 9e 82 dd 81 42 8a ..............B.
01b0: c2 8b ab 95 cf 90 94 82 c9 92 c7 89 c1 0d 0a 09 ................
01c0: 7b 0d 0a 09 09 6b 69 49 6e 69 46 69 6c 65 20 63 {....kiIniFile c
01d0: 61 6c 64 69 6e 69 3b 0d 0a 09 09 63 61 6c 64 69 aldini;....caldi
01e0: 6e 69 2e 73 65 74 46 69 6c 65 4e 61 6d 65 28 20 ni.setFileName(
01f0: 22 63 61 6c 64 69 78 2e 69 6e 69 22 20 29 3b 0d "caldix.ini" );.
0200: 0a 09 09 63 61 6c 64 69 6e 69 2e 73 65 74 53 65 ...caldini.setSe
0210: 63 74 69 6f 6e 28 20 20 22 63 6f 6e 66 22 20 29 ction( "conf" )
0220: 3b 0d 0a 09 09 6b 69 53 74 72 20 64 6c 6c 5f 74 ;....kiStr dll_t
0230: 6f 20 3d 20 63 61 6c 64 69 6e 69 2e 67 65 74 53 o = caldini.getS
0240: 74 72 28 20 22 64 6c 6c 22 2c 20 22 22 20 29 3b tr( "dll", "" );
0250: 0d 0a 09 09 69 66 28 20 64 6c 6c 5f 74 6f 2e 6c ....if( dll_to.l
0260: 65 6e 28 29 20 21 3d 20 30 20 29 0d 0a 09 09 7b en() != 0 )....{
0270: 0d 0a 09 09 09 69 6e 74 20 73 69 7a 20 3d 20 3a .....int siz = :
0280: 3a 47 65 74 45 6e 76 69 72 6f 6e 6d 65 6e 74 56 :GetEnvironmentV
0290: 61 72 69 61 62 6c 65 28 20 22 50 41 54 48 22 2c ariable( "PATH",
02a0: 20 4e 55 4c 4c 2c 20 30 20 29 3b 0d 0a 09 09 09 NULL, 0 );.....
02b0: 63 68 61 72 2a 20 62 75 66 20 3d 20 6e 65 77 20 char* buf = new
02c0: 63 68 61 72 5b 73 69 7a 2b 31 5d 3b 0d 0a 09 09 char[siz+1];....
02d0: 09 3a 3a 47 65 74 45 6e 76 69 72 6f 6e 6d 65 6e .::GetEnvironmen
02e0: 74 56 61 72 69 61 62 6c 65 28 20 22 50 41 54 48 tVariable( "PATH
02f0: 22 2c 20 62 75 66 2c 20 73 69 7a 2b 31 20 29 3b ", buf, siz+1 );
0300: 0d 0a 09 09 09 3a 3a 53 65 74 45 6e 76 69 72 6f .....::SetEnviro
0310: 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65 28 20 22 nmentVariable( "
0320: 50 41 54 48 22 2c 20 28 6b 69 53 74 72 28 62 75 PATH", (kiStr(bu
0330: 66 29 2b 3d 22 3b 22 29 2b 3d 64 6c 6c 5f 74 6f f)+=";")+=dll_to
0340: 20 29 3b 0d 0a 09 09 09 64 65 6c 65 74 65 20 5b );.....delete [
0350: 5d 20 62 75 66 3b 0d 0a 09 09 7d 0d 0a 09 7d 0d ] buf;....}...}.
0360: 0a 0d 0a 09 2f 2f 2d 2d 20 90 dd 92 e8 93 c7 82 ....//-- .......
0370: dd 8d 9e 82 dd 8d cf 82 dd 83 74 83 89 83 4f 82 ..........t...O.
0380: f0 83 4e 83 8a 83 41 0d 0a 09 6d 5f 4c 6f 61 64 ..N...A...m_Load
0390: 65 64 20 3d 20 30 3b 0d 0a 0d 0a 09 2f 2f 2d 2d ed = 0;.....//--
03a0: 20 69 6e 69 83 74 83 40 83 43 83 8b 96 bc 90 dd ini.t.@.C......
03b0: 92 e8 0d 0a 09 63 68 61 72 20 75 73 72 5b 32 35 .....char usr[25
03c0: 36 5d 3b 0d 0a 09 44 57 4f 52 44 20 73 69 7a 3d 6];...DWORD siz=
03d0: 73 69 7a 65 6f 66 28 75 73 72 29 3b 0d 0a 09 69 sizeof(usr);...i
03e0: 66 28 20 21 3a 3a 47 65 74 55 73 65 72 4e 61 6d f( !::GetUserNam
03f0: 65 28 20 75 73 72 2c 20 26 73 69 7a 20 29 20 29 e( usr, &siz ) )
0400: 0d 0a 09 09 6b 69 5f 73 74 72 63 70 79 28 20 75 ....ki_strcpy( u
0410: 73 72 2c 20 22 44 65 66 61 75 6c 74 22 20 29 3b sr, "Default" );
0420: 0d 0a 09 6d 5f 49 6e 69 2e 73 65 74 46 69 6c 65 ...m_Ini.setFile
0430: 4e 61 6d 65 28 20 22 4e 6f 61 68 2e 69 6e 69 22 Name( "Noah.ini"
0440: 20 29 3b 0d 0a 09 6d 5f 49 6e 69 2e 73 65 74 53 );...m_Ini.setS
0450: 65 63 74 69 6f 6e 28 20 75 73 72 20 29 3b 0d 0a ection( usr );..
0460: 0d 0a 09 2f 2f 2d 2d 20 89 f0 93 80 97 70 90 dd ...//-- .....p..
0470: 92 e8 82 cd 91 53 95 94 83 8d 81 5b 83 68 82 b5 .....S.....[.h..
0480: 82 c4 82 a8 82 ad 0d 0a 09 6c 6f 61 64 28 20 4d .........load( M
0490: 65 6c 74 20 29 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 2d elt );..}....//-
04a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
04b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
04c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2f 2f 0d -------------//.
04d0: 0a 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 .//------------
04e0: 90 dd 92 e8 82 cc 20 6c 6f 61 64 20 26 20 73 61 ...... load & sa
04f0: 76 65 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ve -------------
0500: 2d 2f 2f 0d 0a 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d -//..//---------
0510: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0520: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0530: 2d 2d 2d 2d 2d 2f 2f 0d 0a 0d 0a 74 79 70 65 64 -----//....typed
0540: 65 66 20 62 6f 6f 6c 20 28 57 49 4e 41 50 49 20 ef bool (WINAPI
0550: 2a 20 58 54 5f 49 41 29 28 29 3b 0d 0a 74 79 70 * XT_IA)();..typ
0560: 65 64 65 66 20 76 6f 69 64 20 28 57 49 4e 41 50 edef void (WINAP
0570: 49 20 2a 20 58 54 5f 4c 53 29 28 62 6f 6f 6c 2a I * XT_LS)(bool*
0580: 2c 62 6f 6f 6c 2a 29 3b 0d 0a 74 79 70 65 64 65 ,bool*);..typede
0590: 66 20 76 6f 69 64 20 28 57 49 4e 41 50 49 20 2a f void (WINAPI *
05a0: 20 58 54 5f 53 53 29 28 62 6f 6f 6c 2c 62 6f 6f XT_SS)(bool,boo
05b0: 6c 29 3b 0d 0a 74 79 70 65 64 65 66 20 76 6f 69 l);..typedef voi
05c0: 64 20 28 57 49 4e 41 50 49 20 2a 20 58 54 5f 41 d (WINAPI * XT_A
05d0: 53 29 28 62 6f 6f 6c 2a 29 3b 0d 0a 74 79 70 65 S)(bool*);..type
05e0: 64 65 66 20 76 6f 69 64 20 28 57 49 4e 41 50 49 def void (WINAPI
05f0: 20 2a 20 58 54 5f 4c 53 45 58 29 28 63 6f 6e 73 * XT_LSEX)(cons
0600: 74 20 63 68 61 72 2a 2c 62 6f 6f 6c 2a 29 3b 0d t char*,bool*);.
0610: 0a 74 79 70 65 64 65 66 20 76 6f 69 64 20 28 57 .typedef void (W
0620: 49 4e 41 50 49 20 2a 20 58 54 5f 53 53 45 58 29 INAPI * XT_SSEX)
0630: 28 63 6f 6e 73 74 20 63 68 61 72 2a 2c 62 6f 6f (const char*,boo
0640: 6c 29 3b 0d 0a 0d 0a 76 6f 69 64 20 43 4e 6f 61 l);....void CNoa
0650: 68 43 6f 6e 66 69 67 4d 61 6e 61 67 65 72 3a 3a hConfigManager::
0660: 6c 6f 61 64 28 20 6c 6f 61 64 69 6e 67 5f 66 6c load( loading_fl
0670: 61 67 20 77 68 61 74 20 29 0d 0a 7b 0d 0a 09 69 ag what )..{...i
0680: 66 28 20 28 77 68 61 74 20 26 20 4d 6f 64 65 29 f( (what & Mode)
0690: 20 26 26 20 21 28 6d 5f 4c 6f 61 64 65 64 20 26 && !(m_Loaded &
06a0: 20 4d 6f 64 65 29 20 29 20 2f 2f 2d 2d 2d 2d 2d Mode) ) //-----
06b0: 2d 2d 2d 2d 2d 2d 20 83 82 81 5b 83 68 0d 0a 09 ------ ...[.h...
06c0: 7b 0d 0a 09 09 6d 5f 4d 6f 64 65 20 20 20 20 20 {....m_Mode
06d0: 3d 20 6d 5f 49 6e 69 2e 67 65 74 49 6e 74 28 20 = m_Ini.getInt(
06e0: 22 4d 6f 64 65 22 2c 20 32 20 29 20 26 20 33 3b "Mode", 2 ) & 3;
06f0: 0d 0a 09 09 6d 5f 4d 69 6e 69 42 6f 6f 74 20 3d ....m_MiniBoot =
0700: 20 6d 5f 49 6e 69 2e 67 65 74 42 6f 6f 6c 28 20 m_Ini.getBool(
0710: 22 4d 69 6e 69 42 6f 6f 74 22 2c 20 66 61 6c 73 "MiniBoot", fals
0720: 65 20 29 3b 0d 0a 09 09 6d 5f 4f 6e 65 45 78 74 e );....m_OneExt
0730: 20 20 20 3d 20 6d 5f 49 6e 69 2e 67 65 74 42 6f = m_Ini.getBo
0740: 6f 6c 28 20 22 4f 6e 65 45 78 74 22 2c 20 66 61 ol( "OneExt", fa
0750: 6c 73 65 20 29 3b 0d 0a 09 09 6d 5f 5a 65 72 6f lse );....m_Zero
0760: 45 78 74 20 20 3d 20 6d 5f 49 6e 69 2e 67 65 74 Ext = m_Ini.get
0770: 42 6f 6f 6c 28 20 22 4e 6f 45 78 74 22 2c 20 66 Bool( "NoExt", f
0780: 61 6c 73 65 20 29 3b 0d 0a 09 09 6d 5f 4d 62 4c alse );....m_MbL
0790: 69 6d 20 20 20 20 3d 20 6d 61 78 28 20 31 2c 20 im = max( 1,
07a0: 6d 5f 49 6e 69 2e 67 65 74 49 6e 74 28 20 22 4d m_Ini.getInt( "M
07b0: 75 6c 74 69 42 6f 6f 74 4c 69 6d 69 74 22 2c 20 ultiBootLimit",
07c0: 34 20 29 20 29 3b 0d 0a 09 7d 0d 0a 09 69 66 28 4 ) );...}...if(
07d0: 20 28 77 68 61 74 20 26 20 4d 65 6c 74 29 20 26 (what & Melt) &
07e0: 26 20 21 28 6d 5f 4c 6f 61 64 65 64 20 26 20 4d & !(m_Loaded & M
07f0: 65 6c 74 29 20 29 20 2f 2f 2d 2d 2d 2d 2d 2d 2d elt) ) //-------
0800: 2d 2d 2d 2d 20 89 f0 93 80 0d 0a 09 7b 0d 0a 09 ---- .......{...
0810: 09 63 6f 6e 73 74 20 63 68 61 72 2a 20 78 20 3d .const char* x =
0820: 20 6d 5f 49 6e 69 2e 67 65 74 53 74 72 28 20 22 m_Ini.getStr( "
0830: 4d 44 69 72 22 2c 20 6b 69 50 61 74 68 28 20 6b MDir", kiPath( k
0840: 69 50 61 74 68 3a 3a 44 73 6b 20 29 20 29 3b 0d iPath::Dsk ) );.
0850: 0a 09 09 6d 5f 4d 44 69 72 53 6d 20 3d 20 28 2a ...m_MDirSm = (*
0860: 78 3d 3d 27 40 27 29 3b 0d 0a 09 09 6d 5f 4d 44 x=='@');....m_MD
0870: 69 72 20 20 20 3d 20 28 2a 78 3d 3d 27 40 27 29 ir = (*x=='@')
0880: 20 3f 20 78 2b 31 20 3a 20 78 3b 0d 0a 09 09 63 ? x+1 : x;....c
0890: 6f 6e 73 74 20 69 6e 74 20 6d 20 3d 20 6d 5f 49 onst int m = m_I
08a0: 6e 69 2e 67 65 74 49 6e 74 28 20 22 4d 6b 44 69 ni.getInt( "MkDi
08b0: 72 22 2c 20 32 20 29 3b 0d 0a 09 09 6d 5f 4d 4e r", 2 );....m_MN
08c0: 6f 4e 75 6d 20 3d 20 28 20 6d 3e 3d 31 36 20 29 oNum = ( m>=16 )
08d0: 3b 0d 0a 09 09 6d 5f 4d 6b 44 69 72 20 20 3d 20 ;....m_MkDir =
08e0: 28 20 6d 26 33 20 29 3b 0d 0a 09 09 6d 5f 4b 69 ( m&3 );....m_Ki
08f0: 6c 6c 20 20 20 3d 20 6d 5f 49 6e 69 2e 67 65 74 ll = m_Ini.get
0900: 53 74 72 28 20 22 4b 69 6c 6c 22 2c 20 22 22 20 Str( "Kill", ""
0910: 29 3b 0d 0a 09 7d 0d 0a 09 69 66 28 20 28 77 68 );...}...if( (wh
0920: 61 74 20 26 20 43 6f 6d 70 72 65 73 73 29 20 26 at & Compress) &
0930: 26 20 21 28 6d 5f 4c 6f 61 64 65 64 20 26 20 43 & !(m_Loaded & C
0940: 6f 6d 70 72 65 73 73 29 20 29 20 2f 2f 2d 2d 2d ompress) ) //---
0950: 20 88 b3 8f 6b 0d 0a 09 7b 0d 0a 09 09 63 6f 6e ...k...{....con
0960: 73 74 20 63 68 61 72 2a 20 78 20 3d 20 6d 5f 49 st char* x = m_I
0970: 6e 69 2e 67 65 74 53 74 72 28 20 22 43 44 69 72 ni.getStr( "CDir
0980: 22 2c 20 6b 69 50 61 74 68 28 20 6b 69 50 61 74 ", kiPath( kiPat
0990: 68 3a 3a 44 73 6b 20 29 20 29 3b 0d 0a 09 09 6d h::Dsk ) );....m
09a0: 5f 43 44 69 72 53 6d 20 3d 20 28 2a 78 3d 3d 27 _CDirSm = (*x=='
09b0: 40 27 29 3b 0d 0a 09 09 6d 5f 43 44 69 72 20 20 @');....m_CDir
09c0: 20 3d 20 28 2a 78 3d 3d 27 40 27 29 20 3f 20 78 = (*x=='@') ? x
09d0: 2b 31 20 3a 20 78 3b 0d 0a 09 09 6d 5f 43 45 78 +1 : x;....m_CEx
09e0: 74 20 3d 20 6d 5f 49 6e 69 2e 67 65 74 53 74 72 t = m_Ini.getStr
09f0: 28 20 22 43 45 78 74 22 2c 20 22 7a 69 70 22 20 ( "CExt", "zip"
0a00: 29 3b 0d 0a 09 09 6d 5f 43 4d 68 64 20 3d 20 6d );....m_CMhd = m
0a10: 5f 49 6e 69 2e 67 65 74 53 74 72 28 20 22 43 4d _Ini.getStr( "CM
0a20: 68 64 22 2c 20 22 37 2d 7a 69 70 22 20 29 3b 0d hd", "7-zip" );.
0a30: 0a 09 7d 0d 0a 09 69 66 28 20 28 77 68 61 74 20 ..}...if( (what
0a40: 26 20 53 68 65 6c 6c 29 20 26 26 20 21 28 6d 5f & Shell) && !(m_
0a50: 4c 6f 61 64 65 64 20 26 20 53 68 65 6c 6c 29 20 Loaded & Shell)
0a60: 29 09 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 83 ).//---------- .
0a70: 56 83 87 81 5b 83 67 83 4a 83 62 83 67 0d 0a 09 V...[.g.J.b.g...
0a80: 09 09 09 09 09 09 09 09 09 09 09 2f 2f 2d 2d 2d ...........//---
0a90: 2d 2d 2d 2d 2d 2d 2d 20 8a d6 98 41 82 c3 82 af ------- ...A....
0aa0: 0d 0a 09 09 09 09 09 09 09 09 09 09 09 09 2f 2f ..............//
0ab0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 83 56 83 46 83 ---------- .V.F.
0ac0: 8b 83 47 83 4e 83 58 83 65 83 93 83 56 83 87 83 ..G.N.X.e...V...
0ad0: 93 0d 0a 09 7b 0d 0a 09 09 6d 5f 4f 6c 64 56 65 ....{....m_OldVe
0ae0: 72 20 3d 20 6d 5f 49 6e 69 2e 67 65 74 42 6f 6f r = m_Ini.getBoo
0af0: 6c 28 20 22 4f 6c 64 41 62 6f 75 74 22 2c 20 66 l( "OldAbout", f
0b00: 61 6c 73 65 20 29 3b 0d 0a 0d 0a 09 09 6b 69 50 alse );......kiP
0b10: 61 74 68 20 53 6e 64 4c 69 6e 6b 28 6b 69 50 61 ath SndLink(kiPa
0b20: 74 68 3a 3a 53 6e 64 29 2c 44 73 6b 4c 69 6e 6b th::Snd),DskLink
0b30: 28 6b 69 50 61 74 68 3a 3a 44 73 6b 29 3b 0d 0a (kiPath::Dsk);..
0b40: 09 09 53 6e 64 4c 69 6e 6b 20 2b 3d 20 22 4e 6f ..SndLink += "No
0b50: 61 68 2e 6c 6e 6b 22 2c 20 44 73 6b 4c 69 6e 6b ah.lnk", DskLink
0b60: 20 2b 3d 20 22 4e 6f 61 68 2e 6c 6e 6b 22 3b 0d += "Noah.lnk";.
0b70: 0a 09 09 6d 5f 53 43 53 65 6e 64 54 6f 20 3d 20 ...m_SCSendTo =
0b80: 6b 69 53 55 74 69 6c 3a 3a 65 78 69 73 74 28 53 kiSUtil::exist(S
0b90: 6e 64 4c 69 6e 6b 29 3b 0d 0a 09 09 6d 5f 53 43 ndLink);....m_SC
0ba0: 44 65 73 6b 74 6f 70 3d 20 6b 69 53 55 74 69 6c Desktop= kiSUtil
0bb0: 3a 3a 65 78 69 73 74 28 44 73 6b 4c 69 6e 6b 29 ::exist(DskLink)
0bc0: 3b 0d 0a 0d 0a 09 09 6d 5f 62 53 68 6c 4f 4b 20 ;......m_bShlOK
0bd0: 3d 20 4e 4f 53 48 4c 3b 0d 0a 09 09 6d 5f 68 4e = NOSHL;....m_hN
0be0: 6f 61 68 58 74 44 4c 4c 20 3d 20 6b 69 53 55 74 oahXtDLL = kiSUt
0bf0: 69 6c 3a 3a 6c 6f 61 64 4c 69 62 72 61 72 79 28 il::loadLibrary(
0c00: 20 22 4e 6f 61 68 58 74 22 20 29 3b 0d 0a 09 09 "NoahXt" );....
0c10: 69 66 28 20 6d 5f 68 4e 6f 61 68 58 74 44 4c 4c if( m_hNoahXtDLL
0c20: 20 29 0d 0a 09 09 7b 0d 0a 09 09 09 58 54 5f 49 )....{.....XT_I
0c30: 41 20 49 6e 69 74 20 3d 20 28 58 54 5f 49 41 29 A Init = (XT_IA)
0c40: 67 65 74 50 72 6f 63 28 20 22 49 6e 69 74 22 20 getProc( "Init"
0c50: 29 3b 0d 0a 09 09 09 6d 5f 62 53 68 6c 4f 4b 20 );.....m_bShlOK
0c60: 3d 20 28 20 49 6e 69 74 28 29 20 3f 20 53 48 4c = ( Init() ? SHL
0c70: 4f 4b 20 3a 20 4e 4f 41 44 4d 49 4e 20 29 3b 0d OK : NOADMIN );.
0c80: 0a 09 09 09 58 54 5f 4c 53 20 4c 6f 61 64 53 45 ....XT_LS LoadSE
0c90: 20 3d 20 28 58 54 5f 4c 53 29 67 65 74 50 72 6f = (XT_LS)getPro
0ca0: 63 28 20 22 4c 6f 61 64 53 45 22 20 29 3b 0d 0a c( "LoadSE" );..
0cb0: 09 09 09 58 54 5f 41 53 20 4c 6f 61 64 41 73 73 ...XT_AS LoadAss
0cc0: 6f 63 20 3d 20 28 58 54 5f 41 53 29 67 65 74 50 oc = (XT_AS)getP
0cd0: 72 6f 63 28 20 22 4c 6f 61 64 41 53 22 20 29 3b roc( "LoadAS" );
0ce0: 0d 0a 09 09 09 58 54 5f 4c 53 45 58 20 4c 6f 61 .....XT_LSEX Loa
0cf0: 64 41 53 45 78 20 3d 20 28 58 54 5f 4c 53 45 58 dASEx = (XT_LSEX
0d00: 29 67 65 74 50 72 6f 63 28 20 22 4c 6f 61 64 41 )getProc( "LoadA
0d10: 53 45 78 22 20 29 3b 0d 0a 09 09 09 4c 6f 61 64 SEx" );.....Load
0d20: 53 45 28 20 26 6d 5f 53 45 43 6d 70 2c 20 26 6d SE( &m_SECmp, &m
0d30: 5f 53 45 45 78 74 20 29 3b 0d 0a 09 09 09 4c 6f _SEExt );.....Lo
0d40: 61 64 41 73 73 6f 63 28 20 6d 5f 62 41 73 73 6f adAssoc( m_bAsso
0d50: 20 29 3b 0d 0a 09 09 09 4c 6f 61 64 41 53 45 78 );.....LoadASEx
0d60: 28 20 22 37 7a 5c 30 22 2c 20 26 6d 5f 62 41 73 ( "7z\0", &m_bAs
0d70: 73 6f 5b 31 32 5d 20 29 3b 0d 0a 09 09 7d 0d 0a so[12] );....}..
0d80: 09 7d 0d 0a 09 69 66 28 20 28 77 68 61 74 20 26 .}...if( (what &
0d90: 20 4f 70 65 6e 44 69 72 29 20 26 26 20 21 28 6d OpenDir) && !(m
0da0: 5f 4c 6f 61 64 65 64 20 26 20 4f 70 65 6e 44 69 _Loaded & OpenDi
0db0: 72 29 20 29 20 2f 2f 2d 2d 2d 2d 2d 2d 20 83 74 r) ) //------ .t
0dc0: 83 48 83 8b 83 5f 83 49 81 5b 83 76 83 93 0d 0a .H..._.I.[.v....
0dd0: 09 7b 0d 0a 09 09 6d 5f 4d 4f 44 69 72 20 3d 20 .{....m_MODir =
0de0: 6d 5f 49 6e 69 2e 67 65 74 42 6f 6f 6c 28 20 22 m_Ini.getBool( "
0df0: 4d 4f 44 69 72 22 2c 20 74 72 75 65 20 29 3b 0d MODir", true );.
0e00: 0a 09 09 6d 5f 43 4f 44 69 72 20 3d 20 6d 5f 49 ...m_CODir = m_I
0e10: 6e 69 2e 67 65 74 42 6f 6f 6c 28 20 22 43 4f 44 ni.getBool( "COD
0e20: 69 72 22 2c 20 74 72 75 65 20 29 3b 0d 0a 09 09 ir", true );....
0e30: 6d 5f 4f 70 65 6e 42 79 20 3d 20 6d 5f 49 6e 69 m_OpenBy = m_Ini
0e40: 2e 67 65 74 53 74 72 28 20 22 4f 70 65 6e 42 79 .getStr( "OpenBy
0e50: 22 2c 20 6b 69 50 61 74 68 28 6b 69 50 61 74 68 ", kiPath(kiPath
0e60: 3a 3a 57 69 6e 29 2b 22 65 78 70 6c 6f 72 65 72 ::Win)+"explorer
0e70: 2e 65 78 65 20 5c 22 25 73 5c 22 22 20 29 3b 0d .exe \"%s\"" );.
0e80: 0a 09 7d 0d 0a 0d 0a 09 6d 5f 4c 6f 61 64 65 64 ..}.....m_Loaded
0e90: 20 7c 3d 20 77 68 61 74 3b 0d 0a 7d 0d 0a 0d 0a |= what;..}....
0ea0: 76 6f 69 64 20 43 4e 6f 61 68 43 6f 6e 66 69 67 void CNoahConfig
0eb0: 4d 61 6e 61 67 65 72 3a 3a 73 61 76 65 28 29 0d Manager::save().
0ec0: 0a 7b 0d 0a 09 6b 69 53 74 72 20 74 6d 70 3b 0d .{...kiStr tmp;.
0ed0: 0a 0d 0a 09 2f 2f 2d 2d 20 83 82 81 5b 83 68 0d ....//-- ...[.h.
0ee0: 0a 09 6d 5f 49 6e 69 2e 70 75 74 49 6e 74 28 20 ..m_Ini.putInt(
0ef0: 22 4d 6f 64 65 22 2c 20 6d 5f 4d 6f 64 65 20 29 "Mode", m_Mode )
0f00: 3b 0d 0a 09 2f 2f 2d 2d 20 89 f0 93 80 0d 0a 09 ;...//-- .......
0f10: 74 6d 70 20 3d 20 6d 5f 4d 44 69 72 53 6d 20 3f tmp = m_MDirSm ?
0f20: 20 22 40 22 20 3a 20 22 22 2c 20 74 6d 70 2b 3d "@" : "", tmp+=
0f30: 20 6d 5f 4d 44 69 72 3b 0d 0a 09 6d 5f 49 6e 69 m_MDir;...m_Ini
0f40: 2e 70 75 74 53 74 72 28 20 22 4d 44 69 72 22 2c .putStr( "MDir",
0f50: 20 74 6d 70 20 29 3b 0d 0a 09 6d 5f 49 6e 69 2e tmp );...m_Ini.
0f60: 70 75 74 49 6e 74 28 20 22 4d 6b 44 69 72 22 2c putInt( "MkDir",
0f70: 20 6d 5f 4d 6b 44 69 72 2b 28 6d 5f 4d 4e 6f 4e m_MkDir+(m_MNoN
0f80: 75 6d 3f 31 36 3a 30 29 20 29 3b 0d 0a 09 2f 2f um?16:0) );...//
0f90: 2d 2d 20 88 b3 8f 6b 0d 0a 09 74 6d 70 20 3d 20 -- ...k...tmp =
0fa0: 6d 5f 43 44 69 72 53 6d 20 3f 20 22 40 22 20 3a m_CDirSm ? "@" :
0fb0: 20 22 22 2c 20 74 6d 70 2b 3d 20 6d 5f 43 44 69 "", tmp+= m_CDi
0fc0: 72 3b 0d 0a 09 6d 5f 49 6e 69 2e 70 75 74 53 74 r;...m_Ini.putSt
0fd0: 72 28 20 22 43 44 69 72 22 2c 20 74 6d 70 20 29 r( "CDir", tmp )
0fe0: 3b 0d 0a 09 6d 5f 49 6e 69 2e 70 75 74 53 74 72 ;...m_Ini.putStr
0ff0: 28 20 22 43 45 78 74 22 2c 20 6d 5f 43 45 78 74 ( "CExt", m_CExt
1000: 20 29 3b 0d 0a 09 6d 5f 49 6e 69 2e 70 75 74 53 );...m_Ini.putS
1010: 74 72 28 20 22 43 4d 68 64 22 2c 20 6d 5f 43 4d tr( "CMhd", m_CM
1020: 68 64 20 29 3b 0d 0a 09 2f 2f 2d 2d 20 83 56 83 hd );...//-- .V.
1030: 87 81 5b 83 67 83 4a 83 62 83 67 0d 0a 09 6b 69 ..[.g.J.b.g...ki
1040: 50 61 74 68 20 53 6e 64 4c 69 6e 6b 28 6b 69 50 Path SndLink(kiP
1050: 61 74 68 3a 3a 53 6e 64 29 3b 20 53 6e 64 4c 69 ath::Snd); SndLi
1060: 6e 6b 20 2b 3d 20 22 4e 6f 61 68 2e 6c 6e 6b 22 nk += "Noah.lnk"
1070: 3b 0d 0a 09 6b 69 50 61 74 68 20 44 73 6b 4c 69 ;...kiPath DskLi
1080: 6e 6b 28 6b 69 50 61 74 68 3a 3a 44 73 6b 29 3b nk(kiPath::Dsk);
1090: 20 44 73 6b 4c 69 6e 6b 20 2b 3d 20 22 4e 6f 61 DskLink += "Noa
10a0: 68 2e 6c 6e 6b 22 3b 0d 0a 09 69 66 28 20 6d 5f h.lnk";...if( m_
10b0: 53 43 53 65 6e 64 54 6f 20 29 0d 0a 09 7b 0d 0a SCSendTo )...{..
10c0: 09 09 69 66 28 20 21 6b 69 53 55 74 69 6c 3a 3a ..if( !kiSUtil::
10d0: 65 78 69 73 74 28 53 6e 64 4c 69 6e 6b 29 20 29 exist(SndLink) )
10e0: 0d 0a 09 09 09 6b 69 53 55 74 69 6c 3a 3a 63 72 .....kiSUtil::cr
10f0: 65 61 74 65 53 68 6f 72 74 43 75 74 28 20 6b 69 eateShortCut( ki
1100: 50 61 74 68 28 6b 69 50 61 74 68 3a 3a 53 6e 64 Path(kiPath::Snd
1110: 29 2c 20 22 4e 6f 61 68 22 20 29 3b 0d 0a 09 7d ), "Noah" );...}
1120: 0d 0a 09 65 6c 73 65 0d 0a 09 09 3a 3a 44 65 6c ...else....::Del
1130: 65 74 65 46 69 6c 65 28 53 6e 64 4c 69 6e 6b 29 eteFile(SndLink)
1140: 3b 0d 0a 09 69 66 28 20 6d 5f 53 43 44 65 73 6b ;...if( m_SCDesk
1150: 74 6f 70 20 29 0d 0a 09 7b 0d 0a 09 09 69 66 28 top )...{....if(
1160: 20 21 6b 69 53 55 74 69 6c 3a 3a 65 78 69 73 74 !kiSUtil::exist
1170: 28 44 73 6b 4c 69 6e 6b 29 20 29 0d 0a 09 09 09 (DskLink) ).....
1180: 6b 69 53 55 74 69 6c 3a 3a 63 72 65 61 74 65 53 kiSUtil::createS
1190: 68 6f 72 74 43 75 74 28 20 6b 69 50 61 74 68 28 hortCut( kiPath(
11a0: 6b 69 50 61 74 68 3a 3a 44 73 6b 29 2c 20 22 4e kiPath::Dsk), "N
11b0: 6f 61 68 22 20 29 3b 0d 0a 09 7d 0d 0a 09 65 6c oah" );...}...el
11c0: 73 65 0d 0a 09 09 3a 3a 44 65 6c 65 74 65 46 69 se....::DeleteFi
11d0: 6c 65 28 44 73 6b 4c 69 6e 6b 29 3b 0d 0a 09 2f le(DskLink);.../
11e0: 2f 2d 2d 20 8a d6 98 41 82 c3 82 af 81 45 83 56 /-- ...A.....E.V
11f0: 83 46 83 8b 83 47 83 4e 83 58 83 65 83 93 83 56 .F...G.N.X.e...V
1200: 83 87 83 93 0d 0a 09 69 66 28 20 6d 5f 62 53 68 .......if( m_bSh
1210: 6c 4f 4b 20 29 0d 0a 09 7b 0d 0a 09 09 58 54 5f lOK )...{....XT_
1220: 53 53 20 53 61 76 65 53 45 20 3d 20 28 58 54 5f SS SaveSE = (XT_
1230: 53 53 29 67 65 74 50 72 6f 63 28 20 22 53 61 76 SS)getProc( "Sav
1240: 65 53 45 22 20 29 3b 0d 0a 09 09 58 54 5f 41 53 eSE" );....XT_AS
1250: 20 53 61 76 65 41 73 73 6f 63 20 3d 20 28 58 54 SaveAssoc = (XT
1260: 5f 41 53 29 67 65 74 50 72 6f 63 28 20 22 53 61 _AS)getProc( "Sa
1270: 76 65 41 53 22 20 29 3b 0d 0a 09 09 58 54 5f 53 veAS" );....XT_S
1280: 53 45 58 20 53 61 76 65 41 53 45 78 20 3d 20 28 SEX SaveASEx = (
1290: 58 54 5f 53 53 45 58 29 67 65 74 50 72 6f 63 28 XT_SSEX)getProc(
12a0: 20 22 53 61 76 65 41 53 45 78 22 20 29 3b 0d 0a "SaveASEx" );..
12b0: 09 09 53 61 76 65 53 45 28 20 6d 5f 53 45 43 6d ..SaveSE( m_SECm
12c0: 70 2c 20 6d 5f 53 45 45 78 74 20 29 3b 0d 0a 09 p, m_SEExt );...
12d0: 09 53 61 76 65 41 73 73 6f 63 28 20 6d 5f 62 41 .SaveAssoc( m_bA
12e0: 73 73 6f 20 29 3b 0d 0a 09 09 53 61 76 65 41 53 sso );....SaveAS
12f0: 45 78 28 20 22 37 7a 5c 30 22 2c 20 6d 5f 62 41 Ex( "7z\0", m_bA
1300: 73 73 6f 5b 31 32 5d 20 29 3b 0d 0a 09 7d 0d 0a sso[12] );...}..
1310: 09 2f 2f 2d 2d 20 83 74 83 48 83 8b 83 5f 83 49 .//-- .t.H..._.I
1320: 81 5b 83 76 83 93 0d 0a 09 6d 5f 49 6e 69 2e 70 .[.v.....m_Ini.p
1330: 75 74 42 6f 6f 6c 28 22 4d 4f 44 69 72 22 2c 20 utBool("MODir",
1340: 6d 5f 4d 4f 44 69 72 20 29 3b 0d 0a 09 6d 5f 49 m_MODir );...m_I
1350: 6e 69 2e 70 75 74 42 6f 6f 6c 28 22 43 4f 44 69 ni.putBool("CODi
1360: 72 22 2c 20 6d 5f 43 4f 44 69 72 20 29 3b 0d 0a r", m_CODir );..
1370: 7d 0d 0a 0d 0a 76 6f 69 64 20 43 4e 6f 61 68 43 }....void CNoahC
1380: 6f 6e 66 69 67 4d 61 6e 61 67 65 72 3a 3a 64 69 onfigManager::di
1390: 61 6c 6f 67 28 29 0d 0a 7b 0d 0a 09 43 4e 6f 61 alog()..{...CNoa
13a0: 68 43 6f 6e 66 69 67 44 69 61 6c 6f 67 20 64 6c hConfigDialog dl
13b0: 67 3b 0d 0a 09 64 6c 67 2e 63 72 65 61 74 65 4d g;...dlg.createM
13c0: 6f 64 65 6c 65 73 73 28 20 4e 55 4c 4c 20 29 3b odeless( NULL );
13d0: 0d 0a 0d 0a 09 61 70 70 28 29 2d 3e 73 65 74 4d .....app()->setM
13e0: 61 69 6e 57 6e 64 28 20 26 64 6c 67 20 29 3b 0d ainWnd( &dlg );.
13f0: 0a 0d 0a 09 69 66 28 20 64 6c 67 2e 69 73 41 6c ....if( dlg.isAl
1400: 69 76 65 28 29 20 29 0d 0a 09 09 6b 69 57 69 6e ive() )....kiWin
1410: 64 6f 77 3a 3a 6d 73 67 4c 6f 6f 70 28 29 3b 0d dow::msgLoop();.
1420: 0a 7d 0d 0a 0d 0a 46 41 52 50 52 4f 43 20 43 4e .}....FARPROC CN
1430: 6f 61 68 43 6f 6e 66 69 67 4d 61 6e 61 67 65 72 oahConfigManager
1440: 3a 3a 67 65 74 50 72 6f 63 28 20 63 6f 6e 73 74 ::getProc( const
1450: 20 63 68 61 72 2a 20 6e 61 6d 65 20 29 0d 0a 7b char* name )..{
1460: 0d 0a 09 72 65 74 75 72 6e 20 3a 3a 47 65 74 50 ...return ::GetP
1470: 72 6f 63 41 64 64 72 65 73 73 28 20 6d 5f 68 4e rocAddress( m_hN
1480: 6f 61 68 58 74 44 4c 4c 2c 20 6e 61 6d 65 20 29 oahXtDLL, name )
1490: 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 2d 2d 2d 2d 2d 2d ;..}....//------
14a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
14b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
14c0: 2d 2d 2d 2d 2d 2d 2d 2d 2f 2f 0d 0a 2f 2f 2d 2d --------//..//--
14d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 83 5f ------------- ._
14e0: 83 43 83 41 83 8d 83 4f 8a d6 8c 57 20 2d 2d 2d .C.A...O...W ---
14f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2f 2f 0d 0a ------------//..
1500: 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d //--------------
1510: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1520: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1530: 2f 2f 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 20 //..../////////
1540: 8f 89 8a fa 89 bb 20 2f 2f 2f 2f 2f 2f 2f 2f 2f ...... /////////
1550: 2f 2f 2f 2f 0d 0a 0d 0a 23 64 65 66 69 6e 65 20 ////....#define
1560: 49 44 49 5f 4c 5a 48 20 31 30 31 0d 0a 23 64 65 IDI_LZH 101..#de
1570: 66 69 6e 65 20 49 44 49 5f 5a 49 50 20 31 30 32 fine IDI_ZIP 102
1580: 0d 0a 23 64 65 66 69 6e 65 20 49 44 49 5f 43 41 ..#define IDI_CA
1590: 42 20 31 30 33 0d 0a 23 64 65 66 69 6e 65 20 49 B 103..#define I
15a0: 44 49 5f 52 41 52 20 31 30 34 0d 0a 23 64 65 66 DI_RAR 104..#def
15b0: 69 6e 65 20 49 44 49 5f 54 41 52 20 31 30 35 0d ine IDI_TAR 105.
15c0: 0a 23 64 65 66 69 6e 65 20 49 44 49 5f 59 5a 31 .#define IDI_YZ1
15d0: 20 31 30 36 0d 0a 23 64 65 66 69 6e 65 20 49 44 106..#define ID
15e0: 49 5f 47 43 41 20 31 30 37 0d 0a 23 64 65 66 69 I_GCA 107..#defi
15f0: 6e 65 20 49 44 49 5f 41 52 4a 20 31 30 38 0d 0a ne IDI_ARJ 108..
1600: 23 64 65 66 69 6e 65 20 49 44 49 5f 42 47 41 20 #define IDI_BGA
1610: 31 30 39 0d 0a 23 64 65 66 69 6e 65 20 49 44 49 109..#define IDI
1620: 5f 41 43 45 20 31 31 30 0d 0a 23 64 65 66 69 6e _ACE 110..#defin
1630: 65 20 49 44 49 5f 4f 54 48 20 31 31 31 0d 0a 23 e IDI_OTH 111..#
1640: 64 65 66 69 6e 65 20 49 44 49 5f 4a 41 4b 20 31 define IDI_JAK 1
1650: 31 32 0d 0a 0d 0a 23 64 65 66 69 6e 65 20 69 63 12....#define ic
1660: 6f 6e 5f 69 73 28 5f 78 29 20 7b 20 69 66 28 20 on_is(_x) { if(
1670: 6d 79 63 6e 66 28 29 2e 6d 5f 68 4e 6f 61 68 58 mycnf().m_hNoahX
1680: 74 44 4c 4c 20 29 20 73 65 74 49 63 6f 6e 28 20 tDLL ) setIcon(
1690: 3a 3a 4c 6f 61 64 49 63 6f 6e 28 20 6d 79 63 6e ::LoadIcon( mycn
16a0: 66 28 29 2e 6d 5f 68 4e 6f 61 68 58 74 44 4c 4c f().m_hNoahXtDLL
16b0: 2c 20 4d 41 4b 45 49 4e 54 52 45 53 4f 55 52 43 , MAKEINTRESOURC
16c0: 45 28 5f 78 29 20 29 20 29 3b 20 7d 0d 0a 09 43 E(_x) ) ); }...C
16d0: 4e 6f 61 68 43 6f 6e 66 69 67 44 69 61 6c 6f 67 NoahConfigDialog
16e0: 3a 3a 43 43 6d 70 72 50 61 67 65 3a 3a 43 43 6d ::CCmprPage::CCm
16f0: 70 72 50 61 67 65 28 29 20 3a 20 6b 69 50 72 6f prPage() : kiPro
1700: 70 53 68 65 65 74 50 61 67 65 28 20 49 44 44 5f pSheetPage( IDD_
1710: 43 4d 50 43 46 47 20 29 20 69 63 6f 6e 5f 69 73 CMPCFG ) icon_is
1720: 28 20 49 44 49 5f 41 43 45 20 29 0d 0a 09 43 4e ( IDI_ACE )...CN
1730: 6f 61 68 43 6f 6e 66 69 67 44 69 61 6c 6f 67 3a oahConfigDialog:
1740: 3a 43 4d 65 6c 74 50 61 67 65 3a 3a 43 4d 65 6c :CMeltPage::CMel
1750: 74 50 61 67 65 28 29 20 3a 20 6b 69 50 72 6f 70 tPage() : kiProp
1760: 53 68 65 65 74 50 61 67 65 28 20 49 44 44 5f 4d SheetPage( IDD_M
1770: 4c 54 43 46 47 20 29 20 69 63 6f 6e 5f 69 73 28 LTCFG ) icon_is(
1780: 20 49 44 49 5f 4c 5a 48 20 29 0d 0a 09 43 4e 6f IDI_LZH )...CNo
1790: 61 68 43 6f 6e 66 69 67 44 69 61 6c 6f 67 3a 3a ahConfigDialog::
17a0: 43 57 69 6e 58 50 61 67 65 3a 3a 43 57 69 6e 58 CWinXPage::CWinX
17b0: 50 61 67 65 28 29 20 3a 20 6b 69 50 72 6f 70 53 Page() : kiPropS
17c0: 68 65 65 74 50 61 67 65 28 20 49 44 44 5f 57 49 heetPage( IDD_WI
17d0: 4e 43 46 47 20 29 20 69 63 6f 6e 5f 69 73 28 20 NCFG ) icon_is(
17e0: 49 44 49 5f 59 5a 31 20 29 0d 0a 09 43 4e 6f 61 IDI_YZ1 )...CNoa
17f0: 68 43 6f 6e 66 69 67 44 69 61 6c 6f 67 3a 3a 43 hConfigDialog::C
1800: 49 6e 66 6f 50 61 67 65 3a 3a 43 49 6e 66 6f 50 InfoPage::CInfoP
1810: 61 67 65 28 29 20 3a 20 6b 69 50 72 6f 70 53 68 age() : kiPropSh
1820: 65 65 74 50 61 67 65 28 20 49 44 44 5f 49 4e 46 eetPage( IDD_INF
1830: 43 46 47 20 29 20 69 63 6f 6e 5f 69 73 28 20 49 CFG ) icon_is( I
1840: 44 49 5f 47 43 41 20 29 0d 0a 23 75 6e 64 65 66 DI_GCA )..#undef
1850: 20 69 63 6f 6e 5f 69 73 0d 0a 0d 0a 43 4e 6f 61 icon_is....CNoa
1860: 68 43 6f 6e 66 69 67 44 69 61 6c 6f 67 3a 3a 43 hConfigDialog::C
1870: 4e 6f 61 68 43 6f 6e 66 69 67 44 69 61 6c 6f 67 NoahConfigDialog
1880: 28 29 0d 0a 7b 0d 0a 09 2f 2f 2d 2d 20 5b 69 63 ()..{...//-- [ic
1890: 6f 6e 5d 20 4e 6f 61 68 82 cc 83 76 83 8d 83 70 on] Noah...v...p
18a0: 83 65 83 42 0d 0a 09 6d 5f 48 65 61 64 65 72 2e .e.B...m_Header.
18b0: 64 77 46 6c 61 67 73 20 7c 3d 20 50 53 48 5f 50 dwFlags |= PSH_P
18c0: 52 4f 50 54 49 54 4c 45 20 7c 20 50 53 48 5f 55 ROPTITLE | PSH_U
18d0: 53 45 49 43 4f 4e 49 44 3b 0d 0a 09 6d 5f 48 65 SEICONID;...m_He
18e0: 61 64 65 72 2e 70 73 7a 49 63 6f 6e 20 3d 20 4d ader.pszIcon = M
18f0: 41 4b 45 49 4e 54 52 45 53 4f 55 52 43 45 28 20 AKEINTRESOURCE(
1900: 49 44 49 5f 4d 41 49 4e 20 29 3b 0d 0a 09 6d 5f IDI_MAIN );...m_
1910: 48 65 61 64 65 72 2e 70 73 7a 43 61 70 74 69 6f Header.pszCaptio
1920: 6e 20 3d 20 22 4e 6f 61 68 22 3b 0d 0a 0d 0a 09 n = "Noah";.....
1930: 2f 2f 2d 2d 20 83 41 83 4e 83 5a 83 89 83 8c 81 //-- .A.N.Z.....
1940: 5b 83 5e 82 f0 83 5a 83 62 83 67 0d 0a 09 6c 6f [.^...Z.b.g...lo
1950: 61 64 41 63 63 65 6c 28 20 49 44 52 5f 41 43 43 adAccel( IDR_ACC
1960: 45 4c 20 29 3b 0d 0a 0d 0a 09 2f 2f 2d 2d 20 83 EL );.....//-- .
1970: 79 81 5b 83 57 82 f0 82 c7 82 a9 82 c7 82 a9 82 y.[.W...........
1980: c6 92 c7 89 c1 0d 0a 09 6d 5f 50 61 67 65 73 2e ........m_Pages.
1990: 61 64 64 28 20 6e 65 77 20 43 43 6d 70 72 50 61 add( new CCmprPa
19a0: 67 65 20 29 3b 0d 0a 09 6d 5f 50 61 67 65 73 2e ge );...m_Pages.
19b0: 61 64 64 28 20 6e 65 77 20 43 4d 65 6c 74 50 61 add( new CMeltPa
19c0: 67 65 20 29 3b 0d 0a 09 6d 5f 50 61 67 65 73 2e ge );...m_Pages.
19d0: 61 64 64 28 20 6e 65 77 20 43 57 69 6e 58 50 61 add( new CWinXPa
19e0: 67 65 20 29 3b 0d 0a 09 6d 5f 50 61 67 65 73 2e ge );...m_Pages.
19f0: 61 64 64 28 20 6e 65 77 20 43 49 6e 66 6f 50 61 add( new CInfoPa
1a00: 67 65 20 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c ge );..}....BOOL
1a10: 20 43 4e 6f 61 68 43 6f 6e 66 69 67 44 69 61 6c CNoahConfigDial
1a20: 6f 67 3a 3a 6f 6e 49 6e 69 74 28 29 0d 0a 7b 0d og::onInit()..{.
1a30: 0a 09 2f 2f 2d 2d 20 44 6e 44 20 4f 4e 2c 20 91 ..//-- DnD ON, .
1a40: 4f 96 ca 82 d6 0d 0a 09 3a 3a 44 72 61 67 41 63 O.......::DragAc
1a50: 63 65 70 74 46 69 6c 65 73 28 20 68 77 6e 64 28 ceptFiles( hwnd(
1a60: 29 2c 20 54 52 55 45 20 29 3b 0d 0a 09 73 65 74 ), TRUE );...set
1a70: 46 72 6f 6e 74 28 20 68 77 6e 64 28 29 20 29 3b Front( hwnd() );
1a80: 0d 0a 09 72 65 74 75 72 6e 20 46 41 4c 53 45 3b ...return FALSE;
1a90: 0d 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f ..}..../////////
1aa0: 20 8a 65 8e ed 83 52 83 7d 83 93 83 68 20 2f 2f .e...R.}...h //
1ab0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 76 ///////////....v
1ac0: 6f 69 64 20 43 4e 6f 61 68 43 6f 6e 66 69 67 44 oid CNoahConfigD
1ad0: 69 61 6c 6f 67 3a 3a 6f 6e 43 6f 6d 6d 61 6e 64 ialog::onCommand
1ae0: 28 20 55 49 4e 54 20 69 64 20 29 0d 0a 7b 0d 0a ( UINT id )..{..
1af0: 09 2f 2f 2d 2d 20 83 41 83 4e 83 5a 83 89 83 8c .//-- .A.N.Z....
1b00: 81 5b 83 5e 83 67 83 89 83 62 83 76 0d 0a 09 69 .[.^.g...b.v...i
1b10: 66 28 20 69 64 20 3d 3d 20 49 44 41 5f 48 45 4c f( id == IDA_HEL
1b20: 50 20 29 09 09 6f 6e 48 65 6c 70 28 29 3b 0d 0a P )..onHelp();..
1b30: 09 65 6c 73 65 20 69 66 28 20 69 64 20 3d 3d 20 .else if( id ==
1b40: 49 44 41 5f 4d 59 44 49 52 20 29 09 6d 79 61 70 IDA_MYDIR ).myap
1b50: 70 28 29 2e 6f 70 65 6e 5f 66 6f 6c 64 65 72 28 p().open_folder(
1b60: 20 6b 69 50 61 74 68 28 20 6b 69 50 61 74 68 3a kiPath( kiPath:
1b70: 3a 45 78 65 20 29 20 29 3b 0d 0a 7d 0d 0a 0d 0a :Exe ) );..}....
1b80: 76 6f 69 64 20 43 4e 6f 61 68 43 6f 6e 66 69 67 void CNoahConfig
1b90: 44 69 61 6c 6f 67 3a 3a 6f 6e 48 65 6c 70 28 29 Dialog::onHelp()
1ba0: 0d 0a 7b 0d 0a 09 6b 69 50 61 74 68 20 65 78 65 ..{...kiPath exe
1bb0: 70 6f 73 28 20 6b 69 50 61 74 68 3a 3a 45 78 65 pos( kiPath::Exe
1bc0: 20 29 3b 0d 0a 0d 0a 09 2f 2f 2d 2d 20 65 78 65 );.....//-- exe
1bd0: 82 c6 93 af 82 b6 89 d3 8f 8a 82 c9 82 a0 82 e9 ................
1be0: 6d 61 6e 75 61 6c 2e 68 74 6d 82 f0 8b 4e 93 ae manual.htm...N..
1bf0: 0d 0a 09 6b 69 50 61 74 68 20 68 6c 70 28 65 78 ...kiPath hlp(ex
1c00: 65 70 6f 73 29 3b 20 68 6c 70 2b 3d 22 6d 61 6e epos); hlp+="man
1c10: 75 61 6c 2e 68 74 6d 22 3b 0d 0a 09 69 66 28 20 ual.htm";...if(
1c20: 6b 69 53 55 74 69 6c 3a 3a 65 78 69 73 74 28 68 kiSUtil::exist(h
1c30: 6c 70 29 20 29 0d 0a 09 09 3a 3a 53 68 65 6c 6c lp) )....::Shell
1c40: 45 78 65 63 75 74 65 28 20 68 77 6e 64 28 29 2c Execute( hwnd(),
1c50: 20 4e 55 4c 4c 2c 20 68 6c 70 2c 20 4e 55 4c 4c NULL, hlp, NULL
1c60: 2c 20 4e 55 4c 4c 2c 20 53 57 5f 4d 41 58 49 4d , NULL, SW_MAXIM
1c70: 49 5a 45 20 29 3b 0d 0a 09 65 6c 73 65 0d 0a 09 IZE );...else...
1c80: 7b 0d 0a 09 09 2f 2f 2d 2d 20 96 b3 82 af 82 ea {....//-- ......
1c90: 82 ce 72 65 61 64 6d 65 2e 74 78 74 82 f0 0d 0a ..readme.txt....
1ca0: 09 09 68 6c 70 3d 65 78 65 70 6f 73 3b 20 68 6c ..hlp=exepos; hl
1cb0: 70 2b 3d 22 72 65 61 64 6d 65 2e 74 78 74 22 3b p+="readme.txt";
1cc0: 0d 0a 09 09 69 66 28 20 6b 69 53 55 74 69 6c 3a ....if( kiSUtil:
1cd0: 3a 65 78 69 73 74 28 68 6c 70 29 20 29 0d 0a 09 :exist(hlp) )...
1ce0: 09 09 3a 3a 53 68 65 6c 6c 45 78 65 63 75 74 65 ..::ShellExecute
1cf0: 28 20 68 77 6e 64 28 29 2c 20 4e 55 4c 4c 2c 20 ( hwnd(), NULL,
1d00: 68 6c 70 2c 20 4e 55 4c 4c 2c 20 4e 55 4c 4c 2c hlp, NULL, NULL,
1d10: 20 53 57 5f 53 48 4f 57 44 45 46 41 55 4c 54 20 SW_SHOWDEFAULT
1d20: 29 3b 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 76 6f 69 );...}..}....voi
1d30: 64 20 43 4e 6f 61 68 43 6f 6e 66 69 67 44 69 61 d CNoahConfigDia
1d40: 6c 6f 67 3a 3a 6f 6e 44 72 6f 70 28 20 48 44 52 log::onDrop( HDR
1d50: 4f 50 20 68 64 72 6f 70 20 29 0d 0a 7b 0d 0a 09 OP hdrop )..{...
1d60: 2f 2f 2d 2d 20 83 5f 83 43 83 41 83 8d 83 4f 82 //-- ._.C.A...O.
1d70: d6 82 cc 83 68 83 89 83 62 83 4f 81 95 83 68 83 ....h...b.O...h.
1d80: 8d 83 62 83 76 0d 0a 09 73 65 6e 64 4f 4b 32 41 ..b.v...sendOK2A
1d90: 6c 6c 28 29 3b 0d 0a 0d 0a 09 2f 2f 2d 2d 20 93 ll();.....//-- .
1da0: 72 92 86 82 c5 8e d7 96 82 82 c9 82 c8 82 e7 82 r...............
1db0: c8 82 a2 82 e6 82 a4 82 c9 81 41 8f c1 82 a6 82 ..........A.....
1dc0: e9 0d 0a 09 3a 3a 53 68 6f 77 57 69 6e 64 6f 77 ....::ShowWindow
1dd0: 28 20 68 77 6e 64 28 29 2c 20 53 57 5f 48 49 44 ( hwnd(), SW_HID
1de0: 45 20 29 3b 0d 0a 0d 0a 09 63 68 61 72 20 73 74 E );.....char st
1df0: 72 5b 4d 41 58 5f 50 41 54 48 5d 3b 0d 0a 09 53 r[MAX_PATH];...S
1e00: 74 72 41 72 72 61 79 20 72 65 61 6c 6c 69 73 74 trArray reallist
1e10: 3b 0d 0a 09 63 43 68 61 72 41 72 72 61 79 20 64 ;...cCharArray d
1e20: 75 6d 6d 79 3b 0d 0a 0d 0a 09 75 6e 73 69 67 6e ummy;.....unsign
1e30: 65 64 20 6c 6f 6e 67 20 6d 61 78 20 3d 20 3a 3a ed long max = ::
1e40: 44 72 61 67 51 75 65 72 79 46 69 6c 65 28 20 68 DragQueryFile( h
1e50: 64 72 6f 70 2c 20 30 78 66 66 66 66 66 66 66 66 drop, 0xffffffff
1e60: 2c 20 4e 55 4c 4c 2c 20 30 20 29 3b 0d 0a 09 66 , NULL, 0 );...f
1e70: 6f 72 28 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 or( unsigned int
1e80: 20 69 3d 30 3b 20 69 21 3d 6d 61 78 3b 20 69 2b i=0; i!=max; i+
1e90: 2b 20 29 0d 0a 09 7b 0d 0a 09 09 3a 3a 44 72 61 + )...{....::Dra
1ea0: 67 51 75 65 72 79 46 69 6c 65 28 20 68 64 72 6f gQueryFile( hdro
1eb0: 70 2c 20 69 2c 20 73 74 72 2c 20 4d 41 58 5f 50 p, i, str, MAX_P
1ec0: 41 54 48 20 29 3b 0d 0a 09 09 72 65 61 6c 6c 69 ATH );....realli
1ed0: 73 74 2e 61 64 64 28 20 6b 69 53 74 72 28 73 74 st.add( kiStr(st
1ee0: 72 29 20 29 3b 0d 0a 09 7d 0d 0a 09 66 6f 72 28 r) );...}...for(
1ef0: 20 69 3d 30 3b 20 69 21 3d 6d 61 78 3b 20 69 2b i=0; i!=max; i+
1f00: 2b 20 29 0d 0a 09 09 64 75 6d 6d 79 2e 61 64 64 + )....dummy.add
1f10: 28 20 28 63 6f 6e 73 74 20 63 68 61 72 2a 29 72 ( (const char*)r
1f20: 65 61 6c 6c 69 73 74 5b 69 5d 20 29 3b 0d 0a 09 eallist[i] );...
1f30: 6d 79 61 70 70 28 29 2e 64 6f 5f 66 69 6c 65 73 myapp().do_files
1f40: 28 20 64 75 6d 6d 79 2c 20 4e 55 4c 4c 20 29 3b ( dummy, NULL );
1f50: 0d 0a 0d 0a 09 2f 2f 20 95 9c 8b 41 0d 0a 09 3a .....// ...A...:
1f60: 3a 44 72 61 67 46 69 6e 69 73 68 28 20 68 64 72 :DragFinish( hdr
1f70: 6f 70 20 29 3b 0d 0a 09 3a 3a 53 68 6f 77 57 69 op );...::ShowWi
1f80: 6e 64 6f 77 28 20 68 77 6e 64 28 29 2c 20 53 57 ndow( hwnd(), SW
1f90: 5f 53 48 4f 57 20 29 3b 0d 0a 7d 0d 0a 0d 0a 2f _SHOW );..}..../
1fa0: 2f 2f 2f 2f 2f 2f 2f 2f 20 8f 49 97 b9 8e 9e 8f //////// .I.....
1fb0: 88 97 9d 82 c8 82 c7 20 2f 2f 2f 2f 2f 2f 2f 2f ....... ////////
1fc0: 2f 2f 2f 2f 2f 0d 0a 0d 0a 76 6f 69 64 20 43 4e /////....void CN
1fd0: 6f 61 68 43 6f 6e 66 69 67 44 69 61 6c 6f 67 3a oahConfigDialog:
1fe0: 3a 73 68 69 66 74 5f 61 6e 64 5f 62 75 74 74 6f :shift_and_butto
1ff0: 6e 28 29 0d 0a 7b 0d 0a 09 69 66 28 20 61 70 70 n()..{...if( app
2000: 28 29 2d 3e 6b 65 79 50 75 73 68 65 64 28 20 56 ()->keyPushed( V
2010: 4b 5f 53 48 49 46 54 20 29 20 29 0d 0a 09 7b 0d K_SHIFT ) )...{.
2020: 0a 09 09 61 70 70 28 29 2d 3e 73 65 74 4d 61 69 ...app()->setMai
2030: 6e 57 6e 64 28 20 4e 55 4c 4c 20 29 3b 0d 0a 09 nWnd( NULL );...
2040: 09 6d 79 61 70 70 28 29 2e 64 6f 5f 63 6d 64 6c .myapp().do_cmdl
2050: 69 6e 65 28 29 3b 0d 0a 09 7d 0d 0a 7d 0d 0a 0d ine();...}..}...
2060: 0a 62 6f 6f 6c 20 43 4e 6f 61 68 43 6f 6e 66 69 .bool CNoahConfi
2070: 67 44 69 61 6c 6f 67 3a 3a 6f 6e 4f 4b 28 29 0d gDialog::onOK().
2080: 0a 7b 0d 0a 09 6f 6e 41 70 70 6c 79 28 29 3b 0d .{...onApply();.
2090: 0a 09 3a 3a 50 6f 73 74 51 75 69 74 4d 65 73 73 ..::PostQuitMess
20a0: 61 67 65 28 20 30 20 29 3b 0d 0a 09 72 65 74 75 age( 0 );...retu
20b0: 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d 0a 0d 0a 76 rn true;..}....v
20c0: 6f 69 64 20 43 4e 6f 61 68 43 6f 6e 66 69 67 44 oid CNoahConfigD
20d0: 69 61 6c 6f 67 3a 3a 6f 6e 41 70 70 6c 79 28 29 ialog::onApply()
20e0: 0d 0a 7b 0d 0a 09 6d 79 63 6e 66 28 29 2e 73 61 ..{...mycnf().sa
20f0: 76 65 28 29 3b 0d 0a 09 73 68 69 66 74 5f 61 6e ve();...shift_an
2100: 64 5f 62 75 74 74 6f 6e 28 29 3b 0d 0a 7d 0d 0a d_button();..}..
2110: 0d 0a 62 6f 6f 6c 20 43 4e 6f 61 68 43 6f 6e 66 ..bool CNoahConf
2120: 69 67 44 69 61 6c 6f 67 3a 3a 6f 6e 43 61 6e 63 igDialog::onCanc
2130: 65 6c 28 29 0d 0a 7b 0d 0a 09 73 65 6e 64 4f 4b el()..{...sendOK
2140: 32 41 6c 6c 28 29 3b 0d 0a 09 3a 3a 53 68 6f 77 2All();...::Show
2150: 57 69 6e 64 6f 77 28 20 68 77 6e 64 28 29 2c 20 Window( hwnd(),
2160: 53 57 5f 48 49 44 45 20 29 3b 0d 0a 09 73 68 69 SW_HIDE );...shi
2170: 66 74 5f 61 6e 64 5f 62 75 74 74 6f 6e 28 29 3b ft_and_button();
2180: 0d 0a 09 3a 3a 50 6f 73 74 51 75 69 74 4d 65 73 ...::PostQuitMes
2190: 73 61 67 65 28 20 30 20 29 3b 0d 0a 09 72 65 74 sage( 0 );...ret
21a0: 75 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d 0a 0d 0a urn true;..}....
21b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 20 88 b3 8f 6b 90 dd ///////// ...k..
21c0: 92 e8 81 45 89 f0 93 80 90 dd 92 e8 82 cc 8b a4 ...E............
21d0: 92 ca 95 94 95 aa 20 2f 2f 2f 2f 2f 2f 2f 2f 2f ...... /////////
21e0: 2f 2f 2f 2f 0d 0a 0d 0a 73 74 61 74 69 63 20 76 ////....static v
21f0: 6f 69 64 20 64 69 72 69 6e 69 74 28 20 6b 69 44 oid dirinit( kiD
2200: 69 61 6c 6f 67 2a 20 64 6c 67 2c 20 62 6f 6f 6c ialog* dlg, bool
2210: 20 73 61 6d 65 2c 20 62 6f 6f 6c 20 6f 70 65 6e same, bool open
2220: 2c 20 63 6f 6e 73 74 20 63 68 61 72 2a 20 64 69 , const char* di
2230: 72 20 29 0d 0a 7b 0d 0a 09 64 6c 67 2d 3e 73 65 r )..{...dlg->se
2240: 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 73 61 6d ndMsgToItem( sam
2250: 65 20 3f 20 49 44 43 5f 44 44 49 52 31 20 3a 20 e ? IDC_DDIR1 :
2260: 49 44 43 5f 44 44 49 52 32 20 2c 20 42 4d 5f 53 IDC_DDIR2 , BM_S
2270: 45 54 43 48 45 43 4b 2c 20 54 52 55 45 20 29 3b ETCHECK, TRUE );
2280: 0d 0a 09 69 66 28 20 6f 70 65 6e 20 29 0d 0a 09 ...if( open )...
2290: 09 64 6c 67 2d 3e 73 65 6e 64 4d 73 67 54 6f 49 .dlg->sendMsgToI
22a0: 74 65 6d 28 20 49 44 43 5f 4f 44 49 52 20 2c 20 tem( IDC_ODIR ,
22b0: 42 4d 5f 53 45 54 43 48 45 43 4b 2c 20 54 52 55 BM_SETCHECK, TRU
22c0: 45 20 29 3b 0d 0a 09 64 6c 67 2d 3e 73 65 6e 64 E );...dlg->send
22d0: 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 43 5f 44 MsgToItem( IDC_D
22e0: 44 49 52 20 2c 20 57 4d 5f 53 45 54 54 45 58 54 DIR , WM_SETTEXT
22f0: 20 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 64 69 , 0, (LPARAM)di
2300: 72 20 29 3b 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 r );..}....stati
2310: 63 20 76 6f 69 64 20 64 69 72 6f 6b 28 20 6b 69 c void dirok( ki
2320: 44 69 61 6c 6f 67 2a 20 64 6c 67 2c 20 62 6f 6f Dialog* dlg, boo
2330: 6c 26 20 73 61 6d 65 2c 20 62 6f 6f 6c 26 20 6f l& same, bool& o
2340: 70 65 6e 2c 20 6b 69 50 61 74 68 26 20 64 69 72 pen, kiPath& dir
2350: 20 29 0d 0a 7b 0d 0a 09 73 61 6d 65 20 3d 20 28 )..{...same = (
2360: 20 42 53 54 5f 43 48 45 43 4b 45 44 3d 3d 64 6c BST_CHECKED==dl
2370: 67 2d 3e 73 65 6e 64 4d 73 67 54 6f 49 74 65 6d g->sendMsgToItem
2380: 28 20 49 44 43 5f 44 44 49 52 31 2c 20 42 4d 5f ( IDC_DDIR1, BM_
2390: 47 45 54 43 48 45 43 4b 20 29 20 29 3b 0d 0a 09 GETCHECK ) );...
23a0: 6f 70 65 6e 20 3d 20 28 20 42 53 54 5f 43 48 45 open = ( BST_CHE
23b0: 43 4b 45 44 3d 3d 64 6c 67 2d 3e 73 65 6e 64 4d CKED==dlg->sendM
23c0: 73 67 54 6f 49 74 65 6d 28 20 49 44 43 5f 4f 44 sgToItem( IDC_OD
23d0: 49 52 2c 20 42 4d 5f 47 45 54 43 48 45 43 4b 20 IR, BM_GETCHECK
23e0: 29 20 29 3b 0d 0a 09 73 74 61 74 69 63 20 63 68 ) );...static ch
23f0: 61 72 20 73 74 72 5b 4d 41 58 5f 50 41 54 48 5d ar str[MAX_PATH]
2400: 3b 0d 0a 09 64 6c 67 2d 3e 73 65 6e 64 4d 73 67 ;...dlg->sendMsg
2410: 54 6f 49 74 65 6d 28 20 49 44 43 5f 44 44 49 52 ToItem( IDC_DDIR
2420: 2c 20 57 4d 5f 47 45 54 54 45 58 54 2c 20 4d 41 , WM_GETTEXT, MA
2430: 58 5f 50 41 54 48 2c 20 28 4c 50 41 52 41 4d 29 X_PATH, (LPARAM)
2440: 73 74 72 20 29 3b 0d 0a 09 64 69 72 20 3d 20 73 str );...dir = s
2450: 74 72 3b 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 tr;..}....static
2460: 20 62 6f 6f 6c 20 64 69 72 64 6c 67 28 20 6b 69 bool dirdlg( ki
2470: 44 69 61 6c 6f 67 2a 20 64 6c 67 2c 20 55 49 4e Dialog* dlg, UIN
2480: 54 20 6d 73 67 2c 20 57 50 41 52 41 4d 20 77 70 T msg, WPARAM wp
2490: 20 29 0d 0a 7b 0d 0a 09 69 66 28 20 6d 73 67 3d )..{...if( msg=
24a0: 3d 57 4d 5f 43 4f 4d 4d 41 4e 44 20 26 26 20 4c =WM_COMMAND && L
24b0: 4f 57 4f 52 44 28 77 70 29 3d 3d 49 44 43 5f 52 OWORD(wp)==IDC_R
24c0: 45 46 20 29 0d 0a 09 7b 0d 0a 09 09 6b 69 53 55 EF )...{....kiSU
24d0: 74 69 6c 3a 3a 67 65 74 46 6f 6c 64 65 72 44 6c til::getFolderDl
24e0: 67 4f 66 45 64 69 74 42 6f 78 28 0d 0a 09 09 09 gOfEditBox(.....
24f0: 64 6c 67 2d 3e 69 74 65 6d 28 49 44 43 5f 44 44 dlg->item(IDC_DD
2500: 49 52 29 2c 20 64 6c 67 2d 3e 68 77 6e 64 28 29 IR), dlg->hwnd()
2510: 2c 20 6b 69 53 74 72 28 29 2e 6c 6f 61 64 52 73 , kiStr().loadRs
2520: 72 63 28 49 44 53 5f 43 48 4f 4f 53 45 44 49 52 rc(IDS_CHOOSEDIR
2530: 29 20 29 3b 0d 0a 09 09 72 65 74 75 72 6e 20 74 ) );....return t
2540: 72 75 65 3b 0d 0a 09 7d 0d 0a 09 72 65 74 75 72 rue;...}...retur
2550: 6e 20 66 61 6c 73 65 3b 0d 0a 7d 0d 0a 0d 0a 2f n false;..}..../
2560: 2f 2f 2f 2f 2f 2f 2f 2f 20 88 b3 8f 6b 90 dd 92 //////// ...k...
2570: e8 20 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d . /////////////.
2580: 0a 0d 0a 42 4f 4f 4c 20 43 4e 6f 61 68 43 6f 6e ...BOOL CNoahCon
2590: 66 69 67 44 69 61 6c 6f 67 3a 3a 43 43 6d 70 72 figDialog::CCmpr
25a0: 50 61 67 65 3a 3a 6f 6e 49 6e 69 74 28 29 0d 0a Page::onInit()..
25b0: 7b 0d 0a 09 2f 2f 20 88 b3 8f 6b 90 e6 83 74 83 {...// ...k...t.
25c0: 48 83 8b 83 5f 0d 0a 09 64 69 72 69 6e 69 74 28 H..._...dirinit(
25d0: 20 74 68 69 73 2c 20 6d 79 63 6e 66 28 29 2e 63 this, mycnf().c
25e0: 64 69 72 73 6d 28 29 2c 20 6d 79 63 6e 66 28 29 dirsm(), mycnf()
25f0: 2e 63 6f 64 69 72 28 29 2c 20 6d 79 63 6e 66 28 .codir(), mycnf(
2600: 29 2e 63 64 69 72 28 29 20 29 3b 0d 0a 0d 0a 09 ).cdir() );.....
2610: 2f 2f 20 93 ae 8d ec 83 82 81 5b 83 68 0d 0a 09 // .......[.h...
2620: 73 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 49 sendMsgToItem( I
2630: 44 43 5f 4d 4f 44 45 31 20 2b 20 6d 79 63 6e 66 DC_MODE1 + mycnf
2640: 28 29 2e 6d 6f 64 65 28 29 2c 20 42 4d 5f 53 45 ().mode(), BM_SE
2650: 54 43 48 45 43 4b 2c 20 54 52 55 45 20 29 3b 0d TCHECK, TRUE );.
2660: 0a 0d 0a 09 2f 2f 20 88 b3 8f 6b 8c 60 8e ae 0d ....// ...k.`...
2670: 0a 09 63 6f 72 72 65 63 74 28 20 6d 79 63 6e 66 ..correct( mycnf
2680: 28 29 2e 63 65 78 74 28 29 2c 20 74 72 75 65 20 ().cext(), true
2690: 29 3b 0d 0a 09 69 6e 74 20 69 6e 64 3d 73 65 6e );...int ind=sen
26a0: 64 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 43 5f dMsgToItem( IDC_
26b0: 43 4d 50 4d 48 44 2c 20 43 42 5f 46 49 4e 44 53 CMPMHD, CB_FINDS
26c0: 54 52 49 4e 47 45 58 41 43 54 2c 20 2d 31 2c 20 TRINGEXACT, -1,
26d0: 28 4c 50 41 52 41 4d 29 28 63 6f 6e 73 74 20 63 (LPARAM)(const c
26e0: 68 61 72 2a 29 6d 79 63 6e 66 28 29 2e 63 6d 68 har*)mycnf().cmh
26f0: 64 28 29 20 29 3b 0d 0a 09 69 66 28 20 69 6e 64 d() );...if( ind
2700: 21 3d 43 42 5f 45 52 52 20 29 0d 0a 09 09 73 65 !=CB_ERR )....se
2710: 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 43 ndMsgToItem( IDC
2720: 5f 43 4d 50 4d 48 44 2c 20 43 42 5f 53 45 54 43 _CMPMHD, CB_SETC
2730: 55 52 53 45 4c 2c 20 69 6e 64 20 29 3b 0d 0a 0d URSEL, ind );...
2740: 0a 09 2f 2f 20 83 63 81 5b 83 8b 83 60 83 62 83 ..// .c.[...`.b.
2750: 76 0d 0a 09 6d 5f 74 6f 6f 6c 74 69 70 20 3d 20 v...m_tooltip =
2760: 3a 3a 43 72 65 61 74 65 57 69 6e 64 6f 77 45 78 ::CreateWindowEx
2770: 28 0d 0a 09 09 30 2c 20 54 4f 4f 4c 54 49 50 53 (....0, TOOLTIPS
2780: 5f 43 4c 41 53 53 2c 20 4e 55 4c 4c 2c 20 54 54 _CLASS, NULL, TT
2790: 53 5f 41 4c 57 41 59 53 54 49 50 2c 0d 0a 09 09 S_ALWAYSTIP,....
27a0: 43 57 5f 55 53 45 44 45 46 41 55 4c 54 2c 20 43 CW_USEDEFAULT, C
27b0: 57 5f 55 53 45 44 45 46 41 55 4c 54 2c 20 43 57 W_USEDEFAULT, CW
27c0: 5f 55 53 45 44 45 46 41 55 4c 54 2c 20 43 57 5f _USEDEFAULT, CW_
27d0: 55 53 45 44 45 46 41 55 4c 54 2c 0d 0a 09 09 68 USEDEFAULT,....h
27e0: 77 6e 64 28 29 2c 20 4e 55 4c 4c 2c 20 61 70 70 wnd(), NULL, app
27f0: 28 29 2d 3e 69 6e 73 74 28 29 2c 20 4e 55 4c 4c ()->inst(), NULL
2800: 20 29 3b 0d 0a 09 53 65 74 55 70 54 6f 6f 6c 54 );...SetUpToolT
2810: 69 70 28 29 3b 0d 0a 0d 0a 09 3a 3a 53 65 74 46 ip();.....::SetF
2820: 6f 63 75 73 28 68 77 6e 64 28 29 29 3b 0d 0a 09 ocus(hwnd());...
2830: 72 65 74 75 72 6e 20 54 52 55 45 3b 0d 0a 7d 0d return TRUE;..}.
2840: 0a 0d 0a 62 6f 6f 6c 20 43 4e 6f 61 68 43 6f 6e ...bool CNoahCon
2850: 66 69 67 44 69 61 6c 6f 67 3a 3a 43 43 6d 70 72 figDialog::CCmpr
2860: 50 61 67 65 3a 3a 6f 6e 4f 4b 28 29 0d 0a 7b 0d Page::onOK()..{.
2870: 0a 09 2f 2f 20 88 b3 8f 6b 90 e6 83 74 83 48 83 ..// ...k...t.H.
2880: 8b 83 5f 0d 0a 09 64 69 72 6f 6b 28 20 74 68 69 .._...dirok( thi
2890: 73 2c 20 6d 79 63 6e 66 28 29 2e 6d 5f 43 44 69 s, mycnf().m_CDi
28a0: 72 53 6d 2c 20 6d 79 63 6e 66 28 29 2e 6d 5f 43 rSm, mycnf().m_C
28b0: 4f 44 69 72 2c 20 6d 79 63 6e 66 28 29 2e 6d 5f ODir, mycnf().m_
28c0: 43 44 69 72 20 29 3b 0d 0a 0d 0a 09 2f 2f 20 93 CDir );.....// .
28d0: ae 8d ec 83 82 81 5b 83 68 0d 0a 09 66 6f 72 28 ......[.h...for(
28e0: 20 69 6e 74 20 69 3d 30 3b 20 69 21 3d 34 3b 20 int i=0; i!=4;
28f0: 69 2b 2b 20 29 0d 0a 09 09 69 66 28 20 42 53 54 i++ )....if( BST
2900: 5f 43 48 45 43 4b 45 44 3d 3d 73 65 6e 64 4d 73 _CHECKED==sendMs
2910: 67 54 6f 49 74 65 6d 28 20 49 44 43 5f 4d 4f 44 gToItem( IDC_MOD
2920: 45 31 20 2b 20 69 2c 20 42 4d 5f 47 45 54 43 48 E1 + i, BM_GETCH
2930: 45 43 4b 20 29 20 29 0d 0a 09 09 09 7b 20 6d 79 ECK ) ).....{ my
2940: 63 6e 66 28 29 2e 6d 5f 4d 6f 64 65 20 3d 20 69 cnf().m_Mode = i
2950: 3b 20 62 72 65 61 6b 3b 20 7d 0d 0a 0d 0a 09 2f ; break; }...../
2960: 2f 20 88 b3 8f 6b 8c 60 8e ae 0d 0a 09 63 68 61 / ...k.`.....cha
2970: 72 20 73 74 72 5b 32 30 30 5d 3d 22 22 3b 0d 0a r str[200]="";..
2980: 09 73 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 .sendMsgToItem(
2990: 49 44 43 5f 43 4d 50 45 58 54 2c 20 43 42 5f 47 IDC_CMPEXT, CB_G
29a0: 45 54 4c 42 54 45 58 54 2c 20 73 65 6e 64 4d 73 ETLBTEXT, sendMs
29b0: 67 54 6f 49 74 65 6d 28 20 49 44 43 5f 43 4d 50 gToItem( IDC_CMP
29c0: 45 58 54 2c 20 43 42 5f 47 45 54 43 55 52 53 45 EXT, CB_GETCURSE
29d0: 4c 20 29 2c 20 28 4c 50 41 52 41 4d 29 73 74 72 L ), (LPARAM)str
29e0: 20 29 3b 0d 0a 09 69 66 28 20 2a 73 74 72 20 29 );...if( *str )
29f0: 0d 0a 09 7b 0d 0a 09 09 6d 79 63 6e 66 28 29 2e ...{....mycnf().
2a00: 6d 5f 43 45 78 74 20 3d 20 73 74 72 3b 0d 0a 09 m_CExt = str;...
2a10: 09 73 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 .sendMsgToItem(
2a20: 49 44 43 5f 43 4d 50 4d 48 44 2c 20 43 42 5f 47 IDC_CMPMHD, CB_G
2a30: 45 54 4c 42 54 45 58 54 2c 20 73 65 6e 64 4d 73 ETLBTEXT, sendMs
2a40: 67 54 6f 49 74 65 6d 28 20 49 44 43 5f 43 4d 50 gToItem( IDC_CMP
2a50: 4d 48 44 2c 20 43 42 5f 47 45 54 43 55 52 53 45 MHD, CB_GETCURSE
2a60: 4c 20 29 2c 20 28 4c 50 41 52 41 4d 29 73 74 72 L ), (LPARAM)str
2a70: 20 29 3b 0d 0a 09 09 6d 79 63 6e 66 28 29 2e 6d );....mycnf().m
2a80: 5f 43 4d 68 64 20 3d 20 73 74 72 3b 0d 0a 09 7d _CMhd = str;...}
2a90: 0d 0a 0d 0a 09 6f 6e 43 61 6e 63 65 6c 28 29 3b .....onCancel();
2aa0: 20 2f 2f 20 8f 49 97 b9 8f 88 97 9d 0d 0a 09 72 // .I.........r
2ab0: 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d 0a eturn true;..}..
2ac0: 0d 0a 62 6f 6f 6c 20 43 4e 6f 61 68 43 6f 6e 66 ..bool CNoahConf
2ad0: 69 67 44 69 61 6c 6f 67 3a 3a 43 43 6d 70 72 50 igDialog::CCmprP
2ae0: 61 67 65 3a 3a 6f 6e 43 61 6e 63 65 6c 28 29 0d age::onCancel().
2af0: 0a 7b 0d 0a 09 2f 2f 20 8f 49 97 b9 8f 88 97 9d .{...// .I......
2b00: 0d 0a 09 3a 3a 44 65 73 74 72 6f 79 57 69 6e 64 ...::DestroyWind
2b10: 6f 77 28 20 6d 5f 74 6f 6f 6c 74 69 70 20 29 3b ow( m_tooltip );
2b20: 0d 0a 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0d ...return true;.
2b30: 0a 7d 0d 0a 0d 0a 76 6f 69 64 20 43 4e 6f 61 68 .}....void CNoah
2b40: 43 6f 6e 66 69 67 44 69 61 6c 6f 67 3a 3a 43 43 ConfigDialog::CC
2b50: 6d 70 72 50 61 67 65 3a 3a 53 65 74 55 70 54 6f mprPage::SetUpTo
2b60: 6f 6c 54 69 70 28 29 0d 0a 7b 0d 0a 09 63 68 61 olTip()..{...cha
2b70: 72 20 65 78 74 5b 32 30 30 5d 3d 22 22 3b 0d 0a r ext[200]="";..
2b80: 09 73 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 .sendMsgToItem(
2b90: 49 44 43 5f 43 4d 50 45 58 54 2c 20 43 42 5f 47 IDC_CMPEXT, CB_G
2ba0: 45 54 4c 42 54 45 58 54 2c 20 73 65 6e 64 4d 73 ETLBTEXT, sendMs
2bb0: 67 54 6f 49 74 65 6d 28 20 49 44 43 5f 43 4d 50 gToItem( IDC_CMP
2bc0: 45 58 54 2c 20 43 42 5f 47 45 54 43 55 52 53 45 EXT, CB_GETCURSE
2bd0: 4c 20 29 2c 20 28 4c 50 41 52 41 4d 29 65 78 74 L ), (LPARAM)ext
2be0: 20 29 3b 0d 0a 09 63 68 61 72 20 6d 68 64 5b 32 );...char mhd[2
2bf0: 30 30 5d 3d 22 22 3b 0d 0a 09 73 65 6e 64 4d 73 00]="";...sendMs
2c00: 67 54 6f 49 74 65 6d 28 20 49 44 43 5f 43 4d 50 gToItem( IDC_CMP
2c10: 4d 48 44 2c 20 43 42 5f 47 45 54 4c 42 54 45 58 MHD, CB_GETLBTEX
2c20: 54 2c 20 73 65 6e 64 4d 73 67 54 6f 49 74 65 6d T, sendMsgToItem
2c30: 28 20 49 44 43 5f 43 4d 50 4d 48 44 2c 20 43 42 ( IDC_CMPMHD, CB
2c40: 5f 47 45 54 43 55 52 53 45 4c 20 29 2c 20 28 4c _GETCURSEL ), (L
2c50: 50 41 52 41 4d 29 6d 68 64 20 29 3b 0d 0a 0d 0a PARAM)mhd );....
2c60: 09 54 4f 4f 4c 49 4e 46 4f 20 74 69 20 3d 20 7b .TOOLINFO ti = {
2c70: 73 69 7a 65 6f 66 28 54 4f 4f 4c 49 4e 46 4f 29 sizeof(TOOLINFO)
2c80: 7d 3b 0d 0a 09 74 69 2e 75 46 6c 61 67 73 20 20 };...ti.uFlags
2c90: 20 3d 20 54 54 46 5f 53 55 42 43 4c 41 53 53 3b = TTF_SUBCLASS;
2ca0: 0d 0a 09 7b 0d 0a 09 09 74 69 2e 75 49 64 20 20 ...{....ti.uId
2cb0: 20 20 20 20 3d 20 30 3b 0d 0a 09 09 74 69 2e 68 = 0;....ti.h
2cc0: 77 6e 64 20 20 20 20 20 3d 20 69 74 65 6d 28 49 wnd = item(I
2cd0: 44 43 5f 43 4d 50 45 58 54 29 3b 0d 0a 09 09 3a DC_CMPEXT);....:
2ce0: 3a 47 65 74 43 6c 69 65 6e 74 52 65 63 74 28 20 :GetClientRect(
2cf0: 69 74 65 6d 28 49 44 43 5f 43 4d 50 45 58 54 29 item(IDC_CMPEXT)
2d00: 2c 20 26 74 69 2e 72 65 63 74 20 29 3b 0d 0a 09 , &ti.rect );...
2d10: 09 53 65 6e 64 4d 65 73 73 61 67 65 28 20 6d 5f .SendMessage( m_
2d20: 74 6f 6f 6c 74 69 70 2c 20 54 54 4d 5f 44 45 4c tooltip, TTM_DEL
2d30: 54 4f 4f 4c 2c 20 30 2c 20 28 4c 50 41 52 41 4d TOOL, 0, (LPARAM
2d40: 29 26 74 69 20 29 3b 0d 0a 09 09 69 66 28 20 2a )&ti );....if( *
2d50: 65 78 74 20 29 0d 0a 09 09 7b 0d 0a 09 09 09 74 ext )....{.....t
2d60: 69 2e 6c 70 73 7a 54 65 78 74 20 3d 20 65 78 74 i.lpszText = ext
2d70: 3b 0d 0a 09 09 09 53 65 6e 64 4d 65 73 73 61 67 ;.....SendMessag
2d80: 65 28 20 6d 5f 74 6f 6f 6c 74 69 70 2c 20 54 54 e( m_tooltip, TT
2d90: 4d 5f 41 44 44 54 4f 4f 4c 2c 20 30 2c 20 28 4c M_ADDTOOL, 0, (L
2da0: 50 41 52 41 4d 29 26 74 69 20 29 3b 0d 0a 09 09 PARAM)&ti );....
2db0: 7d 0d 0a 09 7d 0d 0a 09 7b 0d 0a 09 09 74 69 2e }...}...{....ti.
2dc0: 75 49 64 20 20 20 20 20 20 3d 20 31 3b 0d 0a 09 uId = 1;...
2dd0: 09 74 69 2e 68 77 6e 64 20 20 20 20 20 3d 20 69 .ti.hwnd = i
2de0: 74 65 6d 28 49 44 43 5f 43 4d 50 4d 48 44 29 3b tem(IDC_CMPMHD);
2df0: 0d 0a 09 09 3a 3a 47 65 74 43 6c 69 65 6e 74 52 ....::GetClientR
2e00: 65 63 74 28 20 69 74 65 6d 28 49 44 43 5f 43 4d ect( item(IDC_CM
2e10: 50 4d 48 44 29 2c 20 26 74 69 2e 72 65 63 74 20 PMHD), &ti.rect
2e20: 29 3b 0d 0a 09 09 53 65 6e 64 4d 65 73 73 61 67 );....SendMessag
2e30: 65 28 20 6d 5f 74 6f 6f 6c 74 69 70 2c 20 54 54 e( m_tooltip, TT
2e40: 4d 5f 44 45 4c 54 4f 4f 4c 2c 20 30 2c 20 28 4c M_DELTOOL, 0, (L
2e50: 50 41 52 41 4d 29 26 74 69 20 29 3b 0d 0a 09 09 PARAM)&ti );....
2e60: 69 66 28 20 2a 6d 68 64 20 29 0d 0a 09 09 7b 0d if( *mhd )....{.
2e70: 0a 09 09 09 74 69 2e 6c 70 73 7a 54 65 78 74 20 ....ti.lpszText
2e80: 3d 20 6d 68 64 3b 0d 0a 09 09 09 53 65 6e 64 4d = mhd;.....SendM
2e90: 65 73 73 61 67 65 28 20 6d 5f 74 6f 6f 6c 74 69 essage( m_toolti
2ea0: 70 2c 20 54 54 4d 5f 41 44 44 54 4f 4f 4c 2c 20 p, TTM_ADDTOOL,
2eb0: 30 2c 20 28 4c 50 41 52 41 4d 29 26 74 69 20 29 0, (LPARAM)&ti )
2ec0: 3b 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 7d 0d 0a 0d ;....}...}..}...
2ed0: 0a 42 4f 4f 4c 20 43 41 4c 4c 42 41 43 4b 20 43 .BOOL CALLBACK C
2ee0: 4e 6f 61 68 43 6f 6e 66 69 67 44 69 61 6c 6f 67 NoahConfigDialog
2ef0: 3a 3a 43 43 6d 70 72 50 61 67 65 3a 3a 70 72 6f ::CCmprPage::pro
2f00: 63 28 20 55 49 4e 54 20 6d 73 67 2c 20 57 50 41 c( UINT msg, WPA
2f10: 52 41 4d 20 77 70 2c 20 4c 50 41 52 41 4d 20 6c RAM wp, LPARAM l
2f20: 70 20 29 0d 0a 7b 0d 0a 09 69 66 28 20 64 69 72 p )..{...if( dir
2f30: 64 6c 67 28 20 74 68 69 73 2c 20 6d 73 67 2c 20 dlg( this, msg,
2f40: 77 70 20 29 20 29 0d 0a 09 09 72 65 74 75 72 6e wp ) )....return
2f50: 20 54 52 55 45 3b 0d 0a 0d 0a 09 69 66 28 20 6d TRUE;.....if( m
2f60: 73 67 3d 3d 57 4d 5f 43 4f 4d 4d 41 4e 44 20 26 sg==WM_COMMAND &
2f70: 26 20 48 49 57 4f 52 44 28 77 70 29 3d 3d 43 42 & HIWORD(wp)==CB
2f80: 4e 5f 53 45 4c 43 48 41 4e 47 45 20 26 26 20 4c N_SELCHANGE && L
2f90: 4f 57 4f 52 44 28 77 70 29 3d 3d 49 44 43 5f 43 OWORD(wp)==IDC_C
2fa0: 4d 50 45 58 54 20 29 0d 0a 09 7b 0d 0a 09 09 63 MPEXT )...{....c
2fb0: 68 61 72 20 73 74 72 5b 32 30 30 5d 3d 22 22 3b har str[200]="";
2fc0: 0d 0a 09 09 73 65 6e 64 4d 73 67 54 6f 49 74 65 ....sendMsgToIte
2fd0: 6d 28 20 49 44 43 5f 43 4d 50 45 58 54 2c 20 43 m( IDC_CMPEXT, C
2fe0: 42 5f 47 45 54 4c 42 54 45 58 54 2c 20 73 65 6e B_GETLBTEXT, sen
2ff0: 64 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 43 5f dMsgToItem( IDC_
3000: 43 4d 50 45 58 54 2c 20 43 42 5f 47 45 54 43 55 CMPEXT, CB_GETCU
3010: 52 53 45 4c 20 29 2c 20 28 4c 50 41 52 41 4d 29 RSEL ), (LPARAM)
3020: 73 74 72 20 29 3b 0d 0a 09 09 69 66 28 20 2a 73 str );....if( *s
3030: 74 72 20 29 0d 0a 09 09 09 63 6f 72 72 65 63 74 tr ).....correct
3040: 28 20 73 74 72 2c 20 66 61 6c 73 65 20 29 3b 0d ( str, false );.
3050: 0a 09 09 53 65 74 55 70 54 6f 6f 6c 54 69 70 28 ...SetUpToolTip(
3060: 29 3b 0d 0a 09 09 72 65 74 75 72 6e 20 54 52 55 );....return TRU
3070: 45 3b 0d 0a 09 7d 0d 0a 09 65 6c 73 65 20 69 66 E;...}...else if
3080: 28 20 6d 73 67 3d 3d 57 4d 5f 43 4f 4d 4d 41 4e ( msg==WM_COMMAN
3090: 44 20 26 26 20 48 49 57 4f 52 44 28 77 70 29 3d D && HIWORD(wp)=
30a0: 3d 43 42 4e 5f 53 45 4c 43 48 41 4e 47 45 20 26 =CBN_SELCHANGE &
30b0: 26 20 4c 4f 57 4f 52 44 28 77 70 29 3d 3d 49 44 & LOWORD(wp)==ID
30c0: 43 5f 43 4d 50 4d 48 44 20 29 0d 0a 09 7b 0d 0a C_CMPMHD )...{..
30d0: 09 09 53 65 74 55 70 54 6f 6f 6c 54 69 70 28 29 ..SetUpToolTip()
30e0: 3b 0d 0a 09 7d 0d 0a 09 72 65 74 75 72 6e 20 46 ;...}...return F
30f0: 41 4c 53 45 3b 0d 0a 7d 0d 0a 0d 0a 76 6f 69 64 ALSE;..}....void
3100: 20 43 4e 6f 61 68 43 6f 6e 66 69 67 44 69 61 6c CNoahConfigDial
3110: 6f 67 3a 3a 43 43 6d 70 72 50 61 67 65 3a 3a 63 og::CCmprPage::c
3120: 6f 72 72 65 63 74 28 20 63 6f 6e 73 74 20 63 68 orrect( const ch
3130: 61 72 2a 20 65 78 74 2c 20 62 6f 6f 6c 20 66 69 ar* ext, bool fi
3140: 72 73 74 20 29 0d 0a 7b 0d 0a 09 63 43 68 61 72 rst )..{...cChar
3150: 41 72 72 61 79 20 65 78 74 6c 3b 0d 0a 09 53 74 Array extl;...St
3160: 72 41 72 72 61 79 20 6d 68 64 6c 3b 0d 0a 09 69 rArray mhdl;...i
3170: 6e 74 20 6d 68 64 65 66 3b 0d 0a 09 6d 79 61 72 nt mhdef;...myar
3180: 63 28 29 2e 67 65 74 5f 63 6d 70 6d 65 74 68 6f c().get_cmpmetho
3190: 64 28 20 65 78 74 2c 20 6d 68 64 65 66 2c 20 6d d( ext, mhdef, m
31a0: 68 64 6c 2c 20 66 69 72 73 74 2c 20 26 65 78 74 hdl, first, &ext
31b0: 6c 20 29 3b 0d 0a 0d 0a 09 69 66 28 20 66 69 72 l );.....if( fir
31c0: 73 74 20 29 0d 0a 09 09 66 6f 72 28 20 75 6e 73 st )....for( uns
31d0: 69 67 6e 65 64 20 69 6e 74 20 69 3d 30 3b 20 69 igned int i=0; i
31e0: 21 3d 65 78 74 6c 2e 6c 65 6e 28 29 3b 20 69 2b !=extl.len(); i+
31f0: 2b 20 29 0d 0a 09 09 09 73 65 6e 64 4d 73 67 54 + ).....sendMsgT
3200: 6f 49 74 65 6d 28 20 49 44 43 5f 43 4d 50 45 58 oItem( IDC_CMPEX
3210: 54 2c 20 43 42 5f 41 44 44 53 54 52 49 4e 47 2c T, CB_ADDSTRING,
3220: 20 30 2c 20 28 4c 50 41 52 41 4d 29 65 78 74 6c 0, (LPARAM)extl
3230: 5b 69 5d 20 29 3b 0d 0a 09 73 65 6e 64 4d 73 67 [i] );...sendMsg
3240: 54 6f 49 74 65 6d 28 20 49 44 43 5f 43 4d 50 45 ToItem( IDC_CMPE
3250: 58 54 2c 20 43 42 5f 53 45 4c 45 43 54 53 54 52 XT, CB_SELECTSTR
3260: 49 4e 47 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 ING, 0, (LPARAM)
3270: 65 78 74 20 29 3b 0d 0a 0d 0a 09 73 65 6e 64 4d ext );.....sendM
3280: 73 67 54 6f 49 74 65 6d 28 20 49 44 43 5f 43 4d sgToItem( IDC_CM
3290: 50 4d 48 44 2c 20 43 42 5f 52 45 53 45 54 43 4f PMHD, CB_RESETCO
32a0: 4e 54 45 4e 54 20 29 3b 0d 0a 09 66 6f 72 28 20 NTENT );...for(
32b0: 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 6a 3d 30 unsigned int j=0
32c0: 3b 20 6a 21 3d 6d 68 64 6c 2e 6c 65 6e 28 29 3b ; j!=mhdl.len();
32d0: 20 6a 2b 2b 20 29 0d 0a 09 09 73 65 6e 64 4d 73 j++ )....sendMs
32e0: 67 54 6f 49 74 65 6d 28 20 49 44 43 5f 43 4d 50 gToItem( IDC_CMP
32f0: 4d 48 44 2c 20 43 42 5f 41 44 44 53 54 52 49 4e MHD, CB_ADDSTRIN
3300: 47 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 63 G, 0, (LPARAM)(c
3310: 6f 6e 73 74 20 63 68 61 72 2a 29 6d 68 64 6c 5b onst char*)mhdl[
3320: 6a 5d 20 29 3b 0d 0a 09 73 65 6e 64 4d 73 67 54 j] );...sendMsgT
3330: 6f 49 74 65 6d 28 20 49 44 43 5f 43 4d 50 4d 48 oItem( IDC_CMPMH
3340: 44 2c 20 43 42 5f 53 45 54 43 55 52 53 45 4c 2c D, CB_SETCURSEL,
3350: 20 6d 68 64 65 66 20 29 3b 0d 0a 7d 0d 0a 0d 0a mhdef );..}....
3360: 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 20 89 f0 93 80 ..///////// ....
3370: 90 dd 92 e8 20 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f .... ///////////
3380: 2f 2f 0d 0a 0d 0a 42 4f 4f 4c 20 43 4e 6f 61 68 //....BOOL CNoah
3390: 43 6f 6e 66 69 67 44 69 61 6c 6f 67 3a 3a 43 4d ConfigDialog::CM
33a0: 65 6c 74 50 61 67 65 3a 3a 6f 6e 49 6e 69 74 28 eltPage::onInit(
33b0: 29 0d 0a 7b 0d 0a 09 2f 2f 20 89 f0 93 80 90 e6 )..{...// ......
33c0: 83 74 83 48 83 8b 83 5f 0d 0a 09 64 69 72 69 6e .t.H..._...dirin
33d0: 69 74 28 20 74 68 69 73 2c 20 6d 79 63 6e 66 28 it( this, mycnf(
33e0: 29 2e 6d 64 69 72 73 6d 28 29 2c 20 6d 79 63 6e ).mdirsm(), mycn
33f0: 66 28 29 2e 6d 6f 64 69 72 28 29 2c 20 6d 79 63 f().modir(), myc
3400: 6e 66 28 29 2e 6d 64 69 72 28 29 20 29 3b 0d 0a nf().mdir() );..
3410: 0d 0a 09 2f 2f 20 83 74 83 48 83 8b 83 5f 8e a9 ...// .t.H..._..
3420: 93 ae 90 b6 90 ac 0d 0a 09 69 66 28 20 6d 79 63 .........if( myc
3430: 6e 66 28 29 2e 6d 6b 64 69 72 28 29 21 3d 30 20 nf().mkdir()!=0
3440: 29 0d 0a 09 09 73 65 6e 64 4d 73 67 54 6f 49 74 )....sendMsgToIt
3450: 65 6d 28 20 49 44 43 5f 4d 4b 44 49 52 20 2c 42 em( IDC_MKDIR ,B
3460: 4d 5f 53 45 54 43 48 45 43 4b 2c 20 54 52 55 45 M_SETCHECK, TRUE
3470: 20 29 3b 0d 0a 09 69 66 28 20 6d 79 63 6e 66 28 );...if( mycnf(
3480: 29 2e 6d 6b 64 69 72 28 29 3d 3d 31 20 29 0d 0a ).mkdir()==1 )..
3490: 09 09 73 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 ..sendMsgToItem(
34a0: 20 49 44 43 5f 4d 4b 44 49 52 31 2c 42 4d 5f 53 IDC_MKDIR1,BM_S
34b0: 45 54 43 48 45 43 4b 2c 20 54 52 55 45 20 29 3b ETCHECK, TRUE );
34c0: 0d 0a 09 69 66 28 20 6d 79 63 6e 66 28 29 2e 6d ...if( mycnf().m
34d0: 6b 64 69 72 28 29 3d 3d 32 20 29 0d 0a 09 09 73 kdir()==2 )....s
34e0: 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 endMsgToItem( ID
34f0: 43 5f 4d 4b 44 49 52 32 2c 42 4d 5f 53 45 54 43 C_MKDIR2,BM_SETC
3500: 48 45 43 4b 2c 20 54 52 55 45 20 29 3b 0d 0a 09 HECK, TRUE );...
3510: 69 66 28 20 6d 79 63 6e 66 28 29 2e 6d 6e 6f 6e if( mycnf().mnon
3520: 75 6d 28 29 20 29 0d 0a 09 09 73 65 6e 64 4d 73 um() )....sendMs
3530: 67 54 6f 49 74 65 6d 28 20 49 44 43 5f 4d 4b 44 gToItem( IDC_MKD
3540: 49 52 33 2c 42 4d 5f 53 45 54 43 48 45 43 4b 2c IR3,BM_SETCHECK,
3550: 20 54 52 55 45 20 29 3b 0d 0a 09 63 6f 72 72 65 TRUE );...corre
3560: 63 74 28 29 3b 0d 0a 0d 0a 09 72 65 74 75 72 6e ct();.....return
3570: 20 46 41 4c 53 45 3b 0d 0a 7d 0d 0a 0d 0a 62 6f FALSE;..}....bo
3580: 6f 6c 20 43 4e 6f 61 68 43 6f 6e 66 69 67 44 69 ol CNoahConfigDi
3590: 61 6c 6f 67 3a 3a 43 4d 65 6c 74 50 61 67 65 3a alog::CMeltPage:
35a0: 3a 6f 6e 4f 4b 28 29 0d 0a 7b 0d 0a 09 2f 2f 20 :onOK()..{...//
35b0: 89 f0 93 80 90 e6 83 74 83 48 83 8b 83 5f 0d 0a .......t.H..._..
35c0: 09 64 69 72 6f 6b 28 20 74 68 69 73 2c 20 6d 79 .dirok( this, my
35d0: 63 6e 66 28 29 2e 6d 5f 4d 44 69 72 53 6d 2c 20 cnf().m_MDirSm,
35e0: 6d 79 63 6e 66 28 29 2e 6d 5f 4d 4f 44 69 72 2c mycnf().m_MODir,
35f0: 20 6d 79 63 6e 66 28 29 2e 6d 5f 4d 44 69 72 20 mycnf().m_MDir
3600: 29 3b 0d 0a 0d 0a 09 2f 2f 20 83 74 83 48 83 8b );.....// .t.H..
3610: 83 5f 8e a9 93 ae 90 b6 90 ac 0d 0a 09 6d 79 63 ._...........myc
3620: 6e 66 28 29 2e 6d 5f 4d 4e 6f 4e 75 6d 20 3d 20 nf().m_MNoNum =
3630: 28 20 42 53 54 5f 43 48 45 43 4b 45 44 3d 3d 73 ( BST_CHECKED==s
3640: 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 endMsgToItem( ID
3650: 43 5f 4d 4b 44 49 52 33 2c 20 42 4d 5f 47 45 54 C_MKDIR3, BM_GET
3660: 43 48 45 43 4b 20 29 20 29 3b 0d 0a 09 69 66 28 CHECK ) );...if(
3670: 20 42 53 54 5f 43 48 45 43 4b 45 44 21 3d 73 65 BST_CHECKED!=se
3680: 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 43 ndMsgToItem( IDC
3690: 5f 4d 4b 44 49 52 20 2c 42 4d 5f 47 45 54 43 48 _MKDIR ,BM_GETCH
36a0: 45 43 4b 20 29 20 29 0d 0a 09 09 6d 79 63 6e 66 ECK ) )....mycnf
36b0: 28 29 2e 6d 5f 4d 6b 44 69 72 20 3d 20 30 3b 0d ().m_MkDir = 0;.
36c0: 0a 09 65 6c 73 65 0d 0a 09 7b 0d 0a 09 09 69 66 ..else...{....if
36d0: 28 20 42 53 54 5f 43 48 45 43 4b 45 44 3d 3d 73 ( BST_CHECKED==s
36e0: 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 endMsgToItem( ID
36f0: 43 5f 4d 4b 44 49 52 31 20 2c 42 4d 5f 47 45 54 C_MKDIR1 ,BM_GET
3700: 43 48 45 43 4b 20 29 20 29 0d 0a 09 09 09 6d 79 CHECK ) ).....my
3710: 63 6e 66 28 29 2e 6d 5f 4d 6b 44 69 72 20 3d 20 cnf().m_MkDir =
3720: 31 3b 0d 0a 09 09 65 6c 73 65 20 69 66 28 20 42 1;....else if( B
3730: 53 54 5f 43 48 45 43 4b 45 44 3d 3d 73 65 6e 64 ST_CHECKED==send
3740: 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 43 5f 4d MsgToItem( IDC_M
3750: 4b 44 49 52 32 20 2c 42 4d 5f 47 45 54 43 48 45 KDIR2 ,BM_GETCHE
3760: 43 4b 20 29 20 29 0d 0a 09 09 09 6d 79 63 6e 66 CK ) ).....mycnf
3770: 28 29 2e 6d 5f 4d 6b 44 69 72 20 3d 20 32 3b 0d ().m_MkDir = 2;.
3780: 0a 09 09 65 6c 73 65 0d 0a 09 09 09 6d 79 63 6e ...else.....mycn
3790: 66 28 29 2e 6d 5f 4d 6b 44 69 72 20 3d 20 33 3b f().m_MkDir = 3;
37a0: 0d 0a 09 7d 0d 0a 09 72 65 74 75 72 6e 20 74 72 ...}...return tr
37b0: 75 65 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 43 ue;..}....BOOL C
37c0: 41 4c 4c 42 41 43 4b 20 43 4e 6f 61 68 43 6f 6e ALLBACK CNoahCon
37d0: 66 69 67 44 69 61 6c 6f 67 3a 3a 43 4d 65 6c 74 figDialog::CMelt
37e0: 50 61 67 65 3a 3a 70 72 6f 63 28 20 55 49 4e 54 Page::proc( UINT
37f0: 20 6d 73 67 2c 20 57 50 41 52 41 4d 20 77 70 2c msg, WPARAM wp,
3800: 20 4c 50 41 52 41 4d 20 6c 70 20 29 0d 0a 7b 0d LPARAM lp )..{.
3810: 0a 09 69 66 28 20 64 69 72 64 6c 67 28 20 74 68 ..if( dirdlg( th
3820: 69 73 2c 20 6d 73 67 2c 20 77 70 20 29 20 29 0d is, msg, wp ) ).
3830: 0a 09 09 72 65 74 75 72 6e 20 54 52 55 45 3b 0d ...return TRUE;.
3840: 0a 0d 0a 09 69 66 28 20 6d 73 67 3d 3d 57 4d 5f ....if( msg==WM_
3850: 43 4f 4d 4d 41 4e 44 20 29 0d 0a 09 09 69 66 28 COMMAND )....if(
3860: 20 4c 4f 57 4f 52 44 28 77 70 29 3d 3d 49 44 43 LOWORD(wp)==IDC
3870: 5f 4d 4b 44 49 52 20 7c 7c 20 4c 4f 57 4f 52 44 _MKDIR || LOWORD
3880: 28 77 70 29 3d 3d 49 44 43 5f 4d 4b 44 49 52 31 (wp)==IDC_MKDIR1
3890: 20 29 0d 0a 09 09 7b 0d 0a 09 09 09 63 6f 72 72 )....{.....corr
38a0: 65 63 74 28 29 3b 0d 0a 09 09 09 72 65 74 75 72 ect();.....retur
38b0: 6e 20 54 52 55 45 3b 0d 0a 09 09 7d 0d 0a 0d 0a n TRUE;....}....
38c0: 09 72 65 74 75 72 6e 20 46 41 4c 53 45 3b 0d 0a .return FALSE;..
38d0: 7d 0d 0a 0d 0a 76 6f 69 64 20 43 4e 6f 61 68 43 }....void CNoahC
38e0: 6f 6e 66 69 67 44 69 61 6c 6f 67 3a 3a 43 4d 65 onfigDialog::CMe
38f0: 6c 74 50 61 67 65 3a 3a 63 6f 72 72 65 63 74 28 ltPage::correct(
3900: 29 0d 0a 7b 0d 0a 09 42 4f 4f 4c 20 5f 6d 6b 20 )..{...BOOL _mk
3910: 3d 20 28 20 42 53 54 5f 43 48 45 43 4b 45 44 3d = ( BST_CHECKED=
3920: 3d 73 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 =sendMsgToItem(
3930: 49 44 43 5f 4d 4b 44 49 52 20 2c 42 4d 5f 47 45 IDC_MKDIR ,BM_GE
3940: 54 43 48 45 43 4b 20 29 20 29 3b 0d 0a 09 42 4f TCHECK ) );...BO
3950: 4f 4c 20 5f 31 66 20 3d 20 28 20 42 53 54 5f 43 OL _1f = ( BST_C
3960: 48 45 43 4b 45 44 3d 3d 73 65 6e 64 4d 73 67 54 HECKED==sendMsgT
3970: 6f 49 74 65 6d 28 20 49 44 43 5f 4d 4b 44 49 52 oItem( IDC_MKDIR
3980: 31 2c 42 4d 5f 47 45 54 43 48 45 43 4b 20 29 20 1,BM_GETCHECK )
3990: 29 3b 0d 0a 09 3a 3a 45 6e 61 62 6c 65 57 69 6e );...::EnableWin
39a0: 64 6f 77 28 20 3a 3a 47 65 74 44 6c 67 49 74 65 dow( ::GetDlgIte
39b0: 6d 28 68 77 6e 64 28 29 2c 49 44 43 5f 4d 4b 44 m(hwnd(),IDC_MKD
39c0: 49 52 31 29 2c 20 5f 6d 6b 20 29 3b 0d 0a 09 3a IR1), _mk );...:
39d0: 3a 45 6e 61 62 6c 65 57 69 6e 64 6f 77 28 20 3a :EnableWindow( :
39e0: 3a 47 65 74 44 6c 67 49 74 65 6d 28 68 77 6e 64 :GetDlgItem(hwnd
39f0: 28 29 2c 49 44 43 5f 4d 4b 44 49 52 32 29 2c 20 (),IDC_MKDIR2),
3a00: 5f 6d 6b 20 26 26 20 21 5f 31 66 20 29 3b 0d 0a _mk && !_1f );..
3a10: 09 3a 3a 45 6e 61 62 6c 65 57 69 6e 64 6f 77 28 .::EnableWindow(
3a20: 20 3a 3a 47 65 74 44 6c 67 49 74 65 6d 28 68 77 ::GetDlgItem(hw
3a30: 6e 64 28 29 2c 49 44 43 5f 4d 4b 44 49 52 33 29 nd(),IDC_MKDIR3)
3a40: 2c 20 5f 6d 6b 20 29 3b 0d 0a 09 69 66 28 20 5f , _mk );...if( _
3a50: 31 66 20 29 0d 0a 09 09 73 65 6e 64 4d 73 67 54 1f )....sendMsgT
3a60: 6f 49 74 65 6d 28 20 49 44 43 5f 4d 4b 44 49 52 oItem( IDC_MKDIR
3a70: 32 2c 20 42 4d 5f 53 45 54 43 48 45 43 4b 2c 20 2, BM_SETCHECK,
3a80: 54 52 55 45 20 29 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f TRUE );..}....//
3a90: 2f 2f 2f 2f 2f 2f 2f 20 57 69 6e 64 6f 77 73 8a /////// Windows.
3aa0: 67 92 a3 90 dd 92 e8 20 2f 2f 2f 2f 2f 2f 2f 2f g...... ////////
3ab0: 2f 2f 2f 2f 2f 0d 0a 0d 0a 42 4f 4f 4c 20 43 4e /////....BOOL CN
3ac0: 6f 61 68 43 6f 6e 66 69 67 44 69 61 6c 6f 67 3a oahConfigDialog:
3ad0: 3a 43 57 69 6e 58 50 61 67 65 3a 3a 6f 6e 49 6e :CWinXPage::onIn
3ae0: 69 74 28 29 0d 0a 7b 0d 0a 09 69 66 28 20 21 6d it()..{...if( !m
3af0: 79 63 6e 66 28 29 2e 6d 5f 62 53 68 6c 4f 4b 20 ycnf().m_bShlOK
3b00: 29 0d 0a 09 09 66 6f 72 28 20 55 49 4e 54 20 69 )....for( UINT i
3b10: 3d 49 44 43 5f 4c 5a 48 3b 20 69 3c 3d 49 44 43 =IDC_LZH; i<=IDC
3b20: 5f 4d 4c 54 3b 20 69 2b 2b 20 29 0d 0a 09 09 09 _MLT; i++ ).....
3b30: 3a 3a 45 6e 61 62 6c 65 57 69 6e 64 6f 77 28 20 ::EnableWindow(
3b40: 69 74 65 6d 28 69 29 2c 20 46 41 4c 53 45 20 29 item(i), FALSE )
3b50: 3b 0d 0a 09 65 6c 73 65 0d 0a 09 7b 0d 0a 09 09 ;...else...{....
3b60: 66 6f 72 28 20 55 49 4e 54 20 69 3d 49 44 43 5f for( UINT i=IDC_
3b70: 4c 5a 48 3b 20 69 3c 3d 49 44 43 5f 37 5a 3b 20 LZH; i<=IDC_7Z;
3b80: 69 2b 2b 20 29 0d 0a 09 09 09 69 66 28 20 6d 79 i++ ).....if( my
3b90: 63 6e 66 28 29 2e 6d 5f 62 41 73 73 6f 5b 69 2d cnf().m_bAsso[i-
3ba0: 49 44 43 5f 4c 5a 48 5d 20 29 0d 0a 09 09 09 09 IDC_LZH] )......
3bb0: 73 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 69 sendMsgToItem( i
3bc0: 2c 20 42 4d 5f 53 45 54 43 48 45 43 4b 2c 20 54 , BM_SETCHECK, T
3bd0: 52 55 45 20 29 3b 0d 0a 09 09 69 66 28 20 6d 79 RUE );....if( my
3be0: 63 6e 66 28 29 2e 6d 5f 53 45 43 6d 70 20 29 0d cnf().m_SECmp ).
3bf0: 0a 09 09 09 73 65 6e 64 4d 73 67 54 6f 49 74 65 ....sendMsgToIte
3c00: 6d 28 20 49 44 43 5f 43 4d 50 20 2c 42 4d 5f 53 m( IDC_CMP ,BM_S
3c10: 45 54 43 48 45 43 4b 2c 20 54 52 55 45 20 29 3b ETCHECK, TRUE );
3c20: 0d 0a 09 09 69 66 28 20 6d 79 63 6e 66 28 29 2e ....if( mycnf().
3c30: 6d 5f 53 45 45 78 74 20 29 0d 0a 09 09 09 73 65 m_SEExt ).....se
3c40: 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 43 ndMsgToItem( IDC
3c50: 5f 4d 4c 54 20 2c 42 4d 5f 53 45 54 43 48 45 43 _MLT ,BM_SETCHEC
3c60: 4b 2c 20 54 52 55 45 20 29 3b 0d 0a 09 7d 0d 0a K, TRUE );...}..
3c70: 09 69 66 28 20 21 6d 79 63 6e 66 28 29 2e 6d 5f .if( !mycnf().m_
3c80: 62 53 68 6c 4f 4b 20 7c 7c 20 21 6d 79 61 72 63 bShlOK || !myarc
3c90: 28 29 2e 62 32 65 5f 65 6e 61 62 6c 65 64 28 29 ().b2e_enabled()
3ca0: 20 29 0d 0a 09 7b 0d 0a 09 09 3a 3a 53 68 6f 77 )...{....::Show
3cb0: 57 69 6e 64 6f 77 28 20 69 74 65 6d 28 49 44 43 Window( item(IDC
3cc0: 5f 41 53 53 29 2c 20 53 57 5f 48 49 44 45 20 29 _ASS), SW_HIDE )
3cd0: 3b 0d 0a 09 09 3a 3a 45 6e 61 62 6c 65 57 69 6e ;....::EnableWin
3ce0: 64 6f 77 28 20 69 74 65 6d 28 49 44 43 5f 41 53 dow( item(IDC_AS
3cf0: 53 29 2c 20 46 41 4c 53 45 20 29 3b 0d 0a 09 7d S), FALSE );...}
3d00: 0d 0a 09 69 66 28 20 6d 79 63 6e 66 28 29 2e 6d ...if( mycnf().m
3d10: 5f 62 53 68 6c 4f 4b 21 3d 31 20 29 0d 0a 09 09 _bShlOK!=1 )....
3d20: 3a 3a 53 68 6f 77 57 69 6e 64 6f 77 28 20 69 74 ::ShowWindow( it
3d30: 65 6d 28 49 44 43 5f 4e 4f 41 44 4d 49 4e 29 2c em(IDC_NOADMIN),
3d40: 20 53 57 5f 48 49 44 45 20 29 3b 0d 0a 09 69 66 SW_HIDE );...if
3d50: 28 20 6d 79 63 6e 66 28 29 2e 6d 5f 53 43 53 65 ( mycnf().m_SCSe
3d60: 6e 64 54 6f 20 29 0d 0a 09 09 73 65 6e 64 4d 73 ndTo )....sendMs
3d70: 67 54 6f 49 74 65 6d 28 20 49 44 43 5f 53 4e 44 gToItem( IDC_SND
3d80: 2c 20 42 4d 5f 53 45 54 43 48 45 43 4b 2c 20 54 , BM_SETCHECK, T
3d90: 52 55 45 20 29 3b 0d 0a 09 69 66 28 20 6d 79 63 RUE );...if( myc
3da0: 6e 66 28 29 2e 6d 5f 53 43 44 65 73 6b 74 6f 70 nf().m_SCDesktop
3db0: 20 29 0d 0a 09 09 73 65 6e 64 4d 73 67 54 6f 49 )....sendMsgToI
3dc0: 74 65 6d 28 20 49 44 43 5f 44 53 4b 2c 20 42 4d tem( IDC_DSK, BM
3dd0: 5f 53 45 54 43 48 45 43 4b 2c 20 54 52 55 45 20 _SETCHECK, TRUE
3de0: 29 3b 0d 0a 0d 0a 09 72 65 74 75 72 6e 20 46 41 );.....return FA
3df0: 4c 53 45 3b 0d 0a 7d 0d 0a 0d 0a 62 6f 6f 6c 20 LSE;..}....bool
3e00: 43 4e 6f 61 68 43 6f 6e 66 69 67 44 69 61 6c 6f CNoahConfigDialo
3e10: 67 3a 3a 43 57 69 6e 58 50 61 67 65 3a 3a 6f 6e g::CWinXPage::on
3e20: 4f 4b 28 29 0d 0a 7b 0d 0a 09 6d 79 63 6e 66 28 OK()..{...mycnf(
3e30: 29 2e 6d 5f 53 43 53 65 6e 64 54 6f 20 3d 20 28 ).m_SCSendTo = (
3e40: 20 42 53 54 5f 43 48 45 43 4b 45 44 3d 3d 73 65 BST_CHECKED==se
3e50: 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 43 ndMsgToItem( IDC
3e60: 5f 53 4e 44 20 2c 42 4d 5f 47 45 54 43 48 45 43 _SND ,BM_GETCHEC
3e70: 4b 20 29 20 29 3b 0d 0a 09 6d 79 63 6e 66 28 29 K ) );...mycnf()
3e80: 2e 6d 5f 53 43 44 65 73 6b 74 6f 70 3d 20 28 20 .m_SCDesktop= (
3e90: 42 53 54 5f 43 48 45 43 4b 45 44 3d 3d 73 65 6e BST_CHECKED==sen
3ea0: 64 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 43 5f dMsgToItem( IDC_
3eb0: 44 53 4b 20 2c 42 4d 5f 47 45 54 43 48 45 43 4b DSK ,BM_GETCHECK
3ec0: 20 29 20 29 3b 0d 0a 09 66 6f 72 28 20 55 49 4e ) );...for( UIN
3ed0: 54 20 69 3d 49 44 43 5f 4c 5a 48 3b 20 69 3c 3d T i=IDC_LZH; i<=
3ee0: 49 44 43 5f 37 5a 3b 20 69 2b 2b 20 29 0d 0a 09 IDC_7Z; i++ )...
3ef0: 09 6d 79 63 6e 66 28 29 2e 6d 5f 62 41 73 73 6f .mycnf().m_bAsso
3f00: 5b 69 2d 49 44 43 5f 4c 5a 48 5d 20 3d 20 28 20 [i-IDC_LZH] = (
3f10: 42 53 54 5f 43 48 45 43 4b 45 44 3d 3d 73 65 6e BST_CHECKED==sen
3f20: 64 4d 73 67 54 6f 49 74 65 6d 28 20 69 2c 20 42 dMsgToItem( i, B
3f30: 4d 5f 47 45 54 43 48 45 43 4b 20 29 20 29 3b 0d M_GETCHECK ) );.
3f40: 0a 09 6d 79 63 6e 66 28 29 2e 6d 5f 53 45 43 6d ..mycnf().m_SECm
3f50: 70 20 3d 20 28 20 42 53 54 5f 43 48 45 43 4b 45 p = ( BST_CHECKE
3f60: 44 3d 3d 73 65 6e 64 4d 73 67 54 6f 49 74 65 6d D==sendMsgToItem
3f70: 28 20 49 44 43 5f 43 4d 50 20 2c 42 4d 5f 47 45 ( IDC_CMP ,BM_GE
3f80: 54 43 48 45 43 4b 20 29 20 29 3b 0d 0a 09 6d 79 TCHECK ) );...my
3f90: 63 6e 66 28 29 2e 6d 5f 53 45 45 78 74 20 3d 20 cnf().m_SEExt =
3fa0: 28 20 42 53 54 5f 43 48 45 43 4b 45 44 3d 3d 73 ( BST_CHECKED==s
3fb0: 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 endMsgToItem( ID
3fc0: 43 5f 4d 4c 54 20 2c 42 4d 5f 47 45 54 43 48 45 C_MLT ,BM_GETCHE
3fd0: 43 4b 20 29 20 29 3b 0d 0a 0d 0a 09 72 65 74 75 CK ) );.....retu
3fe0: 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d 0a 0d 0a 42 rn true;..}....B
3ff0: 4f 4f 4c 20 43 41 4c 4c 42 41 43 4b 20 43 4e 6f OOL CALLBACK CNo
4000: 61 68 43 6f 6e 66 69 67 44 69 61 6c 6f 67 3a 3a ahConfigDialog::
4010: 43 57 69 6e 58 50 61 67 65 3a 3a 70 72 6f 63 28 CWinXPage::proc(
4020: 20 55 49 4e 54 20 6d 73 67 2c 20 57 50 41 52 41 UINT msg, WPARA
4030: 4d 20 77 70 2c 20 4c 50 41 52 41 4d 20 6c 70 20 M wp, LPARAM lp
4040: 29 0d 0a 7b 0d 0a 09 69 66 28 20 6d 73 67 3d 3d )..{...if( msg==
4050: 57 4d 5f 43 4f 4d 4d 41 4e 44 20 29 0d 0a 09 09 WM_COMMAND )....
4060: 69 66 28 20 4c 4f 57 4f 52 44 28 77 70 29 3d 3d if( LOWORD(wp)==
4070: 49 44 43 5f 41 53 53 20 29 0d 0a 09 09 7b 0d 0a IDC_ASS )....{..
4080: 09 09 09 43 41 73 73 50 61 67 65 20 78 28 20 68 ...CAssPage x( h
4090: 77 6e 64 28 29 20 29 3b 0d 0a 09 09 09 72 65 74 wnd() );.....ret
40a0: 75 72 6e 20 54 52 55 45 3b 0d 0a 09 09 7d 0d 0a urn TRUE;....}..
40b0: 09 72 65 74 75 72 6e 20 46 41 4c 53 45 3b 0d 0a .return FALSE;..
40c0: 7d 0d 0a 0d 0a 43 4e 6f 61 68 43 6f 6e 66 69 67 }....CNoahConfig
40d0: 44 69 61 6c 6f 67 3a 3a 43 41 73 73 50 61 67 65 Dialog::CAssPage
40e0: 3a 3a 43 41 73 73 50 61 67 65 28 20 48 57 4e 44 ::CAssPage( HWND
40f0: 20 70 61 72 65 6e 74 20 29 20 3a 20 6b 69 44 69 parent ) : kiDi
4100: 61 6c 6f 67 28 20 49 44 44 5f 41 4e 59 41 53 53 alog( IDD_ANYASS
4110: 20 29 0d 0a 7b 0d 0a 09 64 6f 4d 6f 64 61 6c 28 )..{...doModal(
4120: 20 70 61 72 65 6e 74 20 29 3b 0d 0a 7d 0d 0a 0d parent );..}...
4130: 0a 42 4f 4f 4c 20 43 4e 6f 61 68 43 6f 6e 66 69 .BOOL CNoahConfi
4140: 67 44 69 61 6c 6f 67 3a 3a 43 41 73 73 50 61 67 gDialog::CAssPag
4150: 65 3a 3a 6f 6e 49 6e 69 74 28 29 0d 0a 7b 0d 0a e::onInit()..{..
4160: 09 74 79 70 65 64 65 66 20 76 6f 69 64 20 28 57 .typedef void (W
4170: 49 4e 41 50 49 20 2a 20 58 54 5f 4c 41 58 29 28 INAPI * XT_LAX)(
4180: 63 6f 6e 73 74 20 63 68 61 72 2a 2c 62 6f 6f 6c const char*,bool
4190: 2a 29 3b 0d 0a 09 58 54 5f 4c 41 58 20 4c 6f 61 *);...XT_LAX Loa
41a0: 64 41 53 45 78 20 3d 20 28 58 54 5f 4c 41 58 29 dASEx = (XT_LAX)
41b0: 6d 79 63 6e 66 28 29 2e 67 65 74 50 72 6f 63 28 mycnf().getProc(
41c0: 20 22 4c 6f 61 64 41 53 45 78 22 20 29 3b 0d 0a "LoadASEx" );..
41d0: 09 73 74 61 74 69 63 20 63 6f 6e 73 74 20 63 68 .static const ch
41e0: 61 72 2a 20 63 6f 6e 73 74 20 65 78 74 5f 6c 69 ar* const ext_li
41f0: 73 74 5b 5d 20 3d 0d 0a 09 09 7b 20 22 6c 7a 68 st[] =....{ "lzh
4200: 22 2c 22 7a 69 70 22 2c 22 63 61 62 22 2c 22 72 ","zip","cab","r
4210: 61 72 22 2c 22 74 61 72 22 2c 22 79 7a 31 22 2c ar","tar","yz1",
4220: 22 67 63 61 22 2c 22 61 72 6a 22 2c 22 67 7a 61 "gca","arj","gza
4230: 22 2c 22 61 63 65 22 2c 22 63 70 74 22 2c 22 6a ","ace","cpt","j
4240: 61 6b 22 2c 22 37 7a 22 20 7d 3b 0d 0a 0d 0a 09 ak","7z" };.....
4250: 2f 2f 20 62 32 65 8c 9f 8d f5 0d 0a 09 6b 69 50 // b2e.......kiP
4260: 61 74 68 20 77 69 6c 64 28 20 6b 69 50 61 74 68 ath wild( kiPath
4270: 3a 3a 45 78 65 20 29 3b 0d 0a 09 77 69 6c 64 20 ::Exe );...wild
4280: 2b 3d 20 22 62 32 65 5c 5c 2a 2e 62 32 65 22 3b += "b2e\\*.b2e";
4290: 0d 0a 09 6b 69 46 69 6e 64 46 69 6c 65 20 66 69 ...kiFindFile fi
42a0: 6e 64 3b 0d 0a 09 66 69 6e 64 2e 62 65 67 69 6e nd;...find.begin
42b0: 28 20 77 69 6c 64 20 29 3b 0d 0a 0d 0a 09 63 68 ( wild );.....ch
42c0: 61 72 2a 20 66 69 72 73 74 5f 64 6f 74 3b 0d 0a ar* first_dot;..
42d0: 09 62 6f 6f 6c 20 73 74 61 74 65 3b 0d 0a 09 48 .bool state;...H
42e0: 57 4e 44 20 6c 73 74 5b 5d 20 3d 20 7b 20 69 74 WND lst[] = { it
42f0: 65 6d 28 49 44 43 5f 4e 41 53 53 4f 43 29 2c 20 em(IDC_NASSOC),
4300: 69 74 65 6d 28 49 44 43 5f 41 53 53 4f 43 29 20 item(IDC_ASSOC)
4310: 7d 3b 0d 0a 0d 0a 09 66 6f 72 28 20 57 49 4e 33 };.....for( WIN3
4320: 32 5f 46 49 4e 44 5f 44 41 54 41 20 66 64 3b 20 2_FIND_DATA fd;
4330: 66 69 6e 64 2e 6e 65 78 74 28 26 66 64 29 3b 20 find.next(&fd);
4340: 29 0d 0a 09 7b 0d 0a 09 09 2f 2f 20 23 20 95 74 )...{....// # .t
4350: 82 ab 82 cd 88 b3 8f 6b 90 ea 97 70 0d 0a 09 09 .......k...p....
4360: 69 66 28 20 66 64 2e 63 46 69 6c 65 4e 61 6d 65 if( fd.cFileName
4370: 5b 30 5d 20 3d 3d 20 27 23 27 20 29 0d 0a 09 09 [0] == '#' )....
4380: 09 63 6f 6e 74 69 6e 75 65 3b 0d 0a 0d 0a 09 09 .continue;......
4390: 2f 2f 20 8a 67 92 a3 8e 71 82 f0 90 d8 82 e8 8f // .g...q.......
43a0: 6f 82 b5 0d 0a 09 09 3a 3a 43 68 61 72 4c 6f 77 o......::CharLow
43b0: 65 72 28 20 66 64 2e 63 46 69 6c 65 4e 61 6d 65 er( fd.cFileName
43c0: 20 29 3b 0d 0a 09 09 66 69 72 73 74 5f 64 6f 74 );....first_dot
43d0: 20 3d 20 63 6f 6e 73 74 5f 63 61 73 74 3c 63 68 = const_cast<ch
43e0: 61 72 2a 3e 28 6b 69 50 61 74 68 3a 3a 65 78 74 ar*>(kiPath::ext
43f0: 5f 61 6c 6c 28 66 64 2e 63 46 69 6c 65 4e 61 6d _all(fd.cFileNam
4400: 65 29 2d 31 29 3b 0d 0a 09 09 2a 66 69 72 73 74 e)-1);....*first
4410: 5f 64 6f 74 20 3d 20 27 5c 30 27 3b 0d 0a 0d 0a _dot = '\0';....
4420: 09 09 2f 2f 20 8a ee 96 7b 8c 60 8e ae 82 c8 82 ..// ...{.`.....
4430: e7 82 b1 82 b1 82 c5 82 cd 82 cb 82 e9 0d 0a 09 ................
4440: 09 66 6f 72 28 20 69 6e 74 20 69 3d 30 3b 20 69 .for( int i=0; i
4450: 3c 73 69 7a 65 6f 66 28 65 78 74 5f 6c 69 73 74 <sizeof(ext_list
4460: 29 2f 73 69 7a 65 6f 66 28 63 6f 6e 73 74 20 63 )/sizeof(const c
4470: 68 61 72 2a 29 3b 20 69 2b 2b 20 29 0d 0a 09 09 har*); i++ )....
4480: 09 69 66 28 20 30 3d 3d 6b 69 5f 73 74 72 63 6d .if( 0==ki_strcm
4490: 70 28 20 65 78 74 5f 6c 69 73 74 5b 69 5d 2c 20 p( ext_list[i],
44a0: 66 64 2e 63 46 69 6c 65 4e 61 6d 65 20 29 20 29 fd.cFileName ) )
44b0: 0d 0a 09 09 09 09 62 72 65 61 6b 3b 0d 0a 09 09 ......break;....
44c0: 69 66 28 20 69 20 21 3d 20 73 69 7a 65 6f 66 28 if( i != sizeof(
44d0: 65 78 74 5f 6c 69 73 74 29 2f 73 69 7a 65 6f 66 ext_list)/sizeof
44e0: 28 63 6f 6e 73 74 20 63 68 61 72 2a 29 20 29 0d (const char*) ).
44f0: 0a 09 09 09 63 6f 6e 74 69 6e 75 65 3b 0d 0a 0d ....continue;...
4500: 0a 09 09 2f 2f 20 8a d6 98 41 82 c3 82 af 8d cf ...// ...A......
4510: 82 dd 82 a9 82 c7 82 a4 82 a9 83 60 83 46 83 62 ...........`.F.b
4520: 83 4e 0d 0a 09 09 4c 6f 61 64 41 53 45 78 28 20 .N....LoadASEx(
4530: 66 64 2e 63 46 69 6c 65 4e 61 6d 65 2c 20 26 73 fd.cFileName, &s
4540: 74 61 74 65 20 29 3b 0d 0a 0d 0a 09 09 2f 2f 20 tate );......//
4550: 93 4b 90 d8 82 c8 95 fb 82 cc 83 8a 83 58 83 67 .K...........X.g
4560: 82 d6 92 c7 89 c1 0d 0a 09 09 2a 66 69 72 73 74 ..........*first
4570: 5f 64 6f 74 20 3d 20 27 2e 27 3b 0d 0a 09 09 2a _dot = '.';....*
4580: 63 6f 6e 73 74 5f 63 61 73 74 3c 63 68 61 72 2a const_cast<char*
4590: 3e 28 6b 69 50 61 74 68 3a 3a 65 78 74 28 66 64 >(kiPath::ext(fd
45a0: 2e 63 46 69 6c 65 4e 61 6d 65 29 2d 31 29 20 3d .cFileName)-1) =
45b0: 20 27 5c 30 27 3b 0d 0a 09 09 3a 3a 53 65 6e 64 '\0';....::Send
45c0: 4d 65 73 73 61 67 65 28 20 6c 73 74 5b 73 74 61 Message( lst[sta
45d0: 74 65 3f 31 3a 30 5d 2c 20 4c 42 5f 53 45 54 49 te?1:0], LB_SETI
45e0: 54 45 4d 44 41 54 41 2c 0d 0a 09 09 09 09 09 20 TEMDATA,.......
45f0: 20 20 3a 3a 53 65 6e 64 4d 65 73 73 61 67 65 28 ::SendMessage(
4600: 20 6c 73 74 5b 73 74 61 74 65 3f 31 3a 30 5d 2c lst[state?1:0],
4610: 20 4c 42 5f 41 44 44 53 54 52 49 4e 47 2c 20 30 LB_ADDSTRING, 0
4620: 2c 20 28 4c 50 41 52 41 4d 29 66 64 2e 63 46 69 , (LPARAM)fd.cFi
4630: 6c 65 4e 61 6d 65 20 29 2c 0d 0a 09 09 09 09 09 leName ),.......
4640: 20 20 20 73 74 61 74 65 3f 31 3a 30 20 29 3b 0d state?1:0 );.
4650: 0a 09 7d 0d 0a 0d 0a 09 72 65 74 75 72 6e 20 46 ..}.....return F
4660: 41 4c 53 45 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c ALSE;..}....BOOL
4670: 20 43 41 4c 4c 42 41 43 4b 20 43 4e 6f 61 68 43 CALLBACK CNoahC
4680: 6f 6e 66 69 67 44 69 61 6c 6f 67 3a 3a 43 41 73 onfigDialog::CAs
4690: 73 50 61 67 65 3a 3a 70 72 6f 63 28 20 55 49 4e sPage::proc( UIN
46a0: 54 20 6d 73 67 2c 20 57 50 41 52 41 4d 20 77 70 T msg, WPARAM wp
46b0: 2c 20 4c 50 41 52 41 4d 20 6c 70 20 29 0d 0a 7b , LPARAM lp )..{
46c0: 0d 0a 09 69 66 28 20 6d 73 67 3d 3d 57 4d 5f 43 ...if( msg==WM_C
46d0: 4f 4d 4d 41 4e 44 20 29 0d 0a 09 7b 0d 0a 09 09 OMMAND )...{....
46e0: 63 68 61 72 20 73 74 72 5b 33 30 30 5d 3b 0d 0a char str[300];..
46f0: 09 09 44 57 4f 52 44 20 64 61 74 3b 0d 0a 09 09 ..DWORD dat;....
4700: 48 57 4e 44 20 66 72 6f 6d 3d 69 74 65 6d 28 49 HWND from=item(I
4710: 44 43 5f 4e 41 53 53 4f 43 29 2c 20 74 6f 3d 69 DC_NASSOC), to=i
4720: 74 65 6d 28 49 44 43 5f 41 53 53 4f 43 29 3b 0d tem(IDC_ASSOC);.
4730: 0a 0d 0a 09 09 73 77 69 74 63 68 28 20 4c 4f 57 .....switch( LOW
4740: 4f 52 44 28 77 70 29 20 29 0d 0a 09 09 7b 0d 0a ORD(wp) )....{..
4750: 09 09 63 61 73 65 20 49 44 43 5f 44 45 4c 3a 0d ..case IDC_DEL:.
4760: 0a 09 09 09 66 72 6f 6d 3d 69 74 65 6d 28 49 44 ....from=item(ID
4770: 43 5f 41 53 53 4f 43 29 2c 20 74 6f 3d 69 74 65 C_ASSOC), to=ite
4780: 6d 28 49 44 43 5f 4e 41 53 53 4f 43 29 3b 0d 0a m(IDC_NASSOC);..
4790: 09 09 63 61 73 65 20 49 44 43 5f 41 44 44 3a 7b ..case IDC_ADD:{
47a0: 0d 0a 09 09 09 69 6e 74 20 65 6e 64 20 3d 20 3a .....int end = :
47b0: 3a 53 65 6e 64 4d 65 73 73 61 67 65 28 20 66 72 :SendMessage( fr
47c0: 6f 6d 2c 20 4c 42 5f 47 45 54 43 4f 55 4e 54 2c om, LB_GETCOUNT,
47d0: 20 30 2c 20 30 20 29 3b 0d 0a 09 09 09 66 6f 72 0, 0 );.....for
47e0: 28 20 69 6e 74 20 69 3d 30 3b 20 69 3c 65 6e 64 ( int i=0; i<end
47f0: 3b 20 69 2b 2b 20 29 0d 0a 09 09 09 09 69 66 28 ; i++ )......if(
4800: 20 3a 3a 53 65 6e 64 4d 65 73 73 61 67 65 28 20 ::SendMessage(
4810: 66 72 6f 6d 2c 20 4c 42 5f 47 45 54 53 45 4c 2c from, LB_GETSEL,
4820: 20 69 2c 20 30 20 29 20 29 0d 0a 09 09 09 09 7b i, 0 ) )......{
4830: 0d 0a 09 09 09 09 09 2f 2f 20 8e e6 93 be 0d 0a .......// ......
4840: 09 09 09 09 09 3a 3a 53 65 6e 64 4d 65 73 73 61 .....::SendMessa
4850: 67 65 28 20 66 72 6f 6d 2c 20 4c 42 5f 47 45 54 ge( from, LB_GET
4860: 54 45 58 54 2c 20 69 2c 20 28 4c 50 41 52 41 4d TEXT, i, (LPARAM
4870: 29 73 74 72 20 29 3b 0d 0a 09 09 09 09 09 64 61 )str );.......da
4880: 74 20 3d 20 3a 3a 53 65 6e 64 4d 65 73 73 61 67 t = ::SendMessag
4890: 65 28 20 66 72 6f 6d 2c 20 4c 42 5f 47 45 54 49 e( from, LB_GETI
48a0: 54 45 4d 44 41 54 41 2c 20 69 2c 20 30 20 29 3b TEMDATA, i, 0 );
48b0: 0d 0a 09 09 09 09 09 2f 2f 81 40 83 52 83 73 81 .......//.@.R.s.
48c0: 5b 0d 0a 09 09 09 09 09 3a 3a 53 65 6e 64 4d 65 [.......::SendMe
48d0: 73 73 61 67 65 28 20 74 6f 2c 20 4c 42 5f 53 45 ssage( to, LB_SE
48e0: 54 49 54 45 4d 44 41 54 41 2c 0d 0a 09 09 09 09 TITEMDATA,......
48f0: 09 09 09 09 20 20 20 3a 3a 53 65 6e 64 4d 65 73 .... ::SendMes
4900: 73 61 67 65 28 20 74 6f 2c 20 4c 42 5f 41 44 44 sage( to, LB_ADD
4910: 53 54 52 49 4e 47 2c 20 30 2c 20 28 4c 50 41 52 STRING, 0, (LPAR
4920: 41 4d 29 73 74 72 20 29 2c 0d 0a 09 09 09 09 09 AM)str ),.......
4930: 09 09 09 20 20 20 64 61 74 20 29 3b 0d 0a 09 09 ... dat );....
4940: 09 09 09 2f 2f 20 8d ed 8f 9c 0d 0a 09 09 09 09 ...// ..........
4950: 09 3a 3a 53 65 6e 64 4d 65 73 73 61 67 65 28 20 .::SendMessage(
4960: 66 72 6f 6d 2c 20 4c 42 5f 44 45 4c 45 54 45 53 from, LB_DELETES
4970: 54 52 49 4e 47 2c 20 69 2c 20 30 20 29 3b 0d 0a TRING, i, 0 );..
4980: 09 09 09 09 09 69 2d 2d 2c 20 65 6e 64 2d 2d 3b .....i--, end--;
4990: 0d 0a 09 09 09 09 7d 0d 0a 0d 0a 09 09 09 7d 72 ......}.......}r
49a0: 65 74 75 72 6e 20 54 52 55 45 3b 0d 0a 09 09 7d eturn TRUE;....}
49b0: 0d 0a 09 7d 0d 0a 09 72 65 74 75 72 6e 20 46 41 ...}...return FA
49c0: 4c 53 45 3b 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 LSE;..}....stati
49d0: 63 20 76 6f 69 64 20 63 72 61 63 6b 5f 73 74 72 c void crack_str
49e0: 28 20 63 68 61 72 2a 20 70 20 29 0d 0a 7b 0d 0a ( char* p )..{..
49f0: 09 66 6f 72 28 20 3b 20 2a 70 3b 20 70 3d 6b 69 .for( ; *p; p=ki
4a00: 53 74 72 3a 3a 6e 65 78 74 28 70 29 20 29 0d 0a Str::next(p) )..
4a10: 09 09 69 66 28 20 2a 70 3d 3d 27 2e 27 20 29 0d ..if( *p=='.' ).
4a20: 0a 09 09 09 2a 70 2b 2b 20 3d 20 27 5c 30 27 3b ....*p++ = '\0';
4a30: 0d 0a 09 2a 2b 2b 70 20 3d 20 27 5c 30 27 3b 0d ...*++p = '\0';.
4a40: 0a 7d 0d 0a 0d 0a 62 6f 6f 6c 20 43 4e 6f 61 68 .}....bool CNoah
4a50: 43 6f 6e 66 69 67 44 69 61 6c 6f 67 3a 3a 43 41 ConfigDialog::CA
4a60: 73 73 50 61 67 65 3a 3a 6f 6e 4f 4b 28 29 0d 0a ssPage::onOK()..
4a70: 7b 0d 0a 09 74 79 70 65 64 65 66 20 76 6f 69 64 {...typedef void
4a80: 20 28 57 49 4e 41 50 49 20 2a 20 58 54 5f 53 41 (WINAPI * XT_SA
4a90: 58 29 28 63 6f 6e 73 74 20 63 68 61 72 2a 2c 62 X)(const char*,b
4aa0: 6f 6f 6c 29 3b 0d 0a 09 58 54 5f 53 41 58 20 53 ool);...XT_SAX S
4ab0: 61 76 65 41 53 45 78 20 3d 20 28 58 54 5f 53 41 aveASEx = (XT_SA
4ac0: 58 29 6d 79 63 6e 66 28 29 2e 67 65 74 50 72 6f X)mycnf().getPro
4ad0: 63 28 20 22 53 61 76 65 41 53 45 78 22 20 29 3b c( "SaveASEx" );
4ae0: 0d 0a 0d 0a 09 63 68 61 72 20 73 74 72 5b 33 30 .....char str[30
4af0: 31 5d 3b 0d 0a 09 69 6e 74 20 69 2c 20 6e 63 20 1];...int i, nc
4b00: 3d 20 73 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 = sendMsgToItem(
4b10: 20 49 44 43 5f 4e 41 53 53 4f 43 2c 20 4c 42 5f IDC_NASSOC, LB_
4b20: 47 45 54 43 4f 55 4e 54 20 29 2c 0d 0a 09 20 20 GETCOUNT ),...
4b30: 20 20 20 20 20 61 63 20 3d 20 73 65 6e 64 4d 73 ac = sendMs
4b40: 67 54 6f 49 74 65 6d 28 20 20 49 44 43 5f 41 53 gToItem( IDC_AS
4b50: 53 4f 43 2c 20 4c 42 5f 47 45 54 43 4f 55 4e 54 SOC, LB_GETCOUNT
4b60: 20 29 3b 0d 0a 0d 0a 09 2f 2f 20 89 f0 8f 9c 0d );.....// .....
4b70: 0a 09 66 6f 72 28 20 69 3d 30 3b 20 69 3c 6e 63 ..for( i=0; i<nc
4b80: 3b 20 69 2b 2b 20 29 0d 0a 09 09 69 66 28 20 73 ; i++ )....if( s
4b90: 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 endMsgToItem( ID
4ba0: 43 5f 4e 41 53 53 4f 43 2c 20 4c 42 5f 47 45 54 C_NASSOC, LB_GET
4bb0: 49 54 45 4d 44 41 54 41 2c 20 69 20 29 20 29 0d ITEMDATA, i ) ).
4bc0: 0a 09 09 7b 0d 0a 09 09 09 73 65 6e 64 4d 73 67 ...{.....sendMsg
4bd0: 54 6f 49 74 65 6d 28 20 49 44 43 5f 4e 41 53 53 ToItem( IDC_NASS
4be0: 4f 43 2c 20 4c 42 5f 47 45 54 54 45 58 54 2c 20 OC, LB_GETTEXT,
4bf0: 69 2c 20 28 4c 50 41 52 41 4d 29 73 74 72 20 29 i, (LPARAM)str )
4c00: 3b 0d 0a 09 09 09 63 72 61 63 6b 5f 73 74 72 28 ;.....crack_str(
4c10: 20 73 74 72 20 29 3b 0d 0a 09 09 09 53 61 76 65 str );.....Save
4c20: 41 53 45 78 28 20 73 74 72 2c 20 66 61 6c 73 65 ASEx( str, false
4c30: 20 29 3b 0d 0a 09 09 7d 0d 0a 09 2f 2f 20 90 dd );....}...// ..
4c40: 92 e8 0d 0a 09 66 6f 72 28 20 69 3d 30 3b 20 69 .....for( i=0; i
4c50: 3c 61 63 3b 20 69 2b 2b 20 29 0d 0a 09 09 69 66 <ac; i++ )....if
4c60: 28 20 21 73 65 6e 64 4d 73 67 54 6f 49 74 65 6d ( !sendMsgToItem
4c70: 28 20 49 44 43 5f 41 53 53 4f 43 2c 20 4c 42 5f ( IDC_ASSOC, LB_
4c80: 47 45 54 49 54 45 4d 44 41 54 41 2c 20 69 20 29 GETITEMDATA, i )
4c90: 20 29 0d 0a 09 09 7b 0d 0a 09 09 09 73 65 6e 64 )....{.....send
4ca0: 4d 73 67 54 6f 49 74 65 6d 28 20 20 49 44 43 5f MsgToItem( IDC_
4cb0: 41 53 53 4f 43 2c 20 4c 42 5f 47 45 54 54 45 58 ASSOC, LB_GETTEX
4cc0: 54 2c 20 69 2c 20 28 4c 50 41 52 41 4d 29 73 74 T, i, (LPARAM)st
4cd0: 72 20 29 3b 0d 0a 09 09 09 63 72 61 63 6b 5f 73 r );.....crack_s
4ce0: 74 72 28 20 73 74 72 20 29 3b 0d 0a 09 09 09 53 tr( str );.....S
4cf0: 61 76 65 41 53 45 78 28 20 73 74 72 2c 20 74 72 aveASEx( str, tr
4d00: 75 65 20 29 3b 0d 0a 09 09 7d 0d 0a 0d 0a 09 72 ue );....}.....r
4d10: 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d 0a eturn true;..}..
4d20: 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 20 82 bb 82 cc ..///////// ....
4d30: 91 bc 90 dd 92 e8 20 2f 2f 2f 2f 2f 2f 2f 2f 2f ...... /////////
4d40: 2f 2f 2f 2f 0d 0a 0d 0a 42 4f 4f 4c 20 43 4e 6f ////....BOOL CNo
4d50: 61 68 43 6f 6e 66 69 67 44 69 61 6c 6f 67 3a 3a ahConfigDialog::
4d60: 43 49 6e 66 6f 50 61 67 65 3a 3a 6f 6e 49 6e 69 CInfoPage::onIni
4d70: 74 28 29 0d 0a 7b 0d 0a 09 6b 69 53 74 72 20 76 t()..{...kiStr v
4d80: 65 72 3b 0d 0a 09 6d 79 61 72 63 28 29 2e 67 65 er;...myarc().ge
4d90: 74 5f 76 65 72 73 69 6f 6e 28 20 76 65 72 20 29 t_version( ver )
4da0: 3b 0d 0a 09 73 65 6e 64 4d 73 67 54 6f 49 74 65 ;...sendMsgToIte
4db0: 6d 28 20 49 44 43 5f 56 45 52 53 49 4f 4e 2c 20 m( IDC_VERSION,
4dc0: 57 4d 5f 53 45 54 54 45 58 54 2c 20 30 2c 20 28 WM_SETTEXT, 0, (
4dd0: 4c 50 41 52 41 4d 29 28 63 6f 6e 73 74 20 63 68 LPARAM)(const ch
4de0: 61 72 2a 29 76 65 72 20 29 3b 0d 0a 09 72 65 74 ar*)ver );...ret
4df0: 75 72 6e 20 46 41 4c 53 45 3b 0d 0a 7d 0d 0a urn FALSE;..}..