Hex Artifact Content

Not logged in

Artifact 285630280e899bbb1e6aafa085917897cfe5d7e5:


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;..}..