Hex Artifact Content

Not logged in

Artifact f3e6b8304ab28f8713a8ef14b11620d7185792b5:


0000: 23 69 66 6e 64 65 66 20 41 46 58 5f 41 52 43 56  #ifndef AFX_ARCV
0010: 49 45 57 44 4c 47 5f 48 5f 5f 39 31 45 44 46 39  IEWDLG_H__91EDF9
0020: 46 36 5f 31 34 32 45 5f 34 45 32 35 5f 42 43 45  F6_142E_4E25_BCE
0030: 33 5f 34 34 38 45 39 33 37 45 32 39 44 39 5f 5f  3_448E937E29D9__
0040: 49 4e 43 4c 55 44 45 44 5f 0d 0a 23 64 65 66 69  INCLUDED_..#defi
0050: 6e 65 20 41 46 58 5f 41 52 43 56 49 45 57 44 4c  ne AFX_ARCVIEWDL
0060: 47 5f 48 5f 5f 39 31 45 44 46 39 46 36 5f 31 34  G_H__91EDF9F6_14
0070: 32 45 5f 34 45 32 35 5f 42 43 45 33 5f 34 34 38  2E_4E25_BCE3_448
0080: 45 39 33 37 45 32 39 44 39 5f 5f 49 4e 43 4c 55  E937E29D9__INCLU
0090: 44 45 44 5f 0d 0a 0d 0a 23 69 6e 63 6c 75 64 65  DED_....#include
00a0: 20 22 4e 6f 61 68 41 70 70 2e 68 22 0d 0a 23 69   "NoahApp.h"..#i
00b0: 6e 63 6c 75 64 65 20 22 41 72 63 68 69 76 65 72  nclude "Archiver
00c0: 2e 68 22 0d 0a 23 69 6e 63 6c 75 64 65 20 22 72  .h"..#include "r
00d0: 65 73 6f 75 72 63 65 2e 68 22 0d 0a 0d 0a 63 6c  esource.h"....cl
00e0: 61 73 73 20 43 41 72 63 56 69 65 77 44 6c 67 20  ass CArcViewDlg 
00f0: 3a 20 70 75 62 6c 69 63 20 6b 69 44 69 61 6c 6f  : public kiDialo
0100: 67 2c 20 6b 69 44 61 74 61 4f 62 6a 65 63 74 0d  g, kiDataObject.
0110: 0a 7b 0d 0a 70 75 62 6c 69 63 3a 0d 0a 09 43 41  .{..public:...CA
0120: 72 63 56 69 65 77 44 6c 67 28 20 43 41 72 63 68  rcViewDlg( CArch
0130: 69 76 65 72 2a 20 70 74 72 2c 61 72 63 6e 61 6d  iver* ptr,arcnam
0140: 65 26 20 66 6e 6d 2c 63 6f 6e 73 74 20 6b 69 50  e& fnm,const kiP
0150: 61 74 68 26 20 64 64 69 72 20 29 0d 0a 09 09 3a  ath& ddir )....:
0160: 20 6b 69 44 69 61 6c 6f 67 28 20 49 44 44 5f 41   kiDialog( IDD_A
0170: 52 43 56 49 45 57 20 29 2c 20 6d 5f 70 41 72 63  RCVIEW ), m_pArc
0180: 28 20 70 74 72 20 29 2c 0d 0a 09 09 6d 5f 66 6e  ( ptr ),....m_fn
0190: 61 6d 65 28 20 66 6e 6d 20 29 2c 20 6d 5f 64 64  ame( fnm ), m_dd
01a0: 69 72 28 20 64 64 69 72 20 29 0d 0a 09 09 7b 0d  ir( ddir )....{.
01b0: 0a 09 09 09 41 64 64 52 65 66 28 29 3b 0d 0a 09  ....AddRef();...
01c0: 09 09 6d 79 61 70 70 28 29 2e 67 65 74 5f 74 65  ..myapp().get_te
01d0: 6d 70 64 69 72 28 20 6d 5f 74 64 69 72 20 29 3b  mpdir( m_tdir );
01e0: 0d 0a 09 09 7d 0d 0a 0d 0a 70 72 69 76 61 74 65  ....}....private
01f0: 3a 20 2f 2f 2d 2d 20 83 5f 83 43 83 41 83 8d 83  : //-- ._.C.A...
0200: 4f 82 c6 82 b5 82 c4 82 cc 8f 88 97 9d 0d 0a 0d  O...............
0210: 0a 09 42 4f 4f 4c 20 43 41 4c 4c 42 41 43 4b 20  ..BOOL CALLBACK 
0220: 70 72 6f 63 28 20 55 49 4e 54 20 6d 73 67 2c 20  proc( UINT msg, 
0230: 57 50 41 52 41 4d 20 77 70 2c 20 4c 50 41 52 41  WPARAM wp, LPARA
0240: 4d 20 6c 70 20 29 3b 0d 0a 09 42 4f 4f 4c 20 6f  M lp );...BOOL o
0250: 6e 49 6e 69 74 28 29 3b 0d 0a 09 62 6f 6f 6c 20  nInit();...bool 
0260: 6f 6e 4f 4b 28 29 3b 0d 0a 09 62 6f 6f 6c 20 6f  onOK();...bool o
0270: 6e 43 61 6e 63 65 6c 28 29 3b 0d 0a 09 76 6f 69  nCancel();...voi
0280: 64 20 73 65 74 64 69 72 28 29 0d 0a 09 09 7b 0d  d setdir()....{.
0290: 0a 09 09 09 63 68 61 72 20 73 74 72 5b 4d 41 58  ....char str[MAX
02a0: 5f 50 41 54 48 5d 3b 0d 0a 09 09 09 73 65 6e 64  _PATH];.....send
02b0: 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 43 5f 44  MsgToItem( IDC_D
02c0: 44 49 52 2c 20 57 4d 5f 47 45 54 54 45 58 54 2c  DIR, WM_GETTEXT,
02d0: 20 4d 41 58 5f 50 41 54 48 2c 20 28 4c 50 41 52   MAX_PATH, (LPAR
02e0: 41 4d 29 73 74 72 20 29 3b 0d 0a 09 09 09 6d 5f  AM)str );.....m_
02f0: 64 64 69 72 20 3d 20 73 74 72 3b 0d 0a 09 09 09  ddir = str;.....
0300: 6d 5f 64 64 69 72 2e 62 65 42 61 63 6b 53 6c 61  m_ddir.beBackSla
0310: 73 68 28 20 74 72 75 65 20 29 3b 0d 0a 09 09 09  sh( true );.....
0320: 6d 5f 64 64 69 72 2e 6d 6b 64 69 72 28 29 3b 0d  m_ddir.mkdir();.
0330: 0a 09 09 09 6d 5f 64 64 69 72 2e 62 65 53 68 6f  ....m_ddir.beSho
0340: 72 74 50 61 74 68 28 29 3b 0d 0a 09 09 7d 0d 0a  rtPath();....}..
0350: 09 62 6f 6f 6c 20 73 65 74 53 65 6c 65 63 74 69  .bool setSelecti
0360: 6f 6e 28 29 0d 0a 09 09 7b 0d 0a 09 09 09 62 6f  on()....{.....bo
0370: 6f 6c 20 78 3d 66 61 6c 73 65 3b 0d 0a 09 09 09  ol x=false;.....
0380: 4c 56 49 54 45 4d 20 69 74 3b 0d 0a 09 09 09 69  LVITEM it;.....i
0390: 74 2e 6d 61 73 6b 20 3d 20 28 4c 56 49 46 5f 50  t.mask = (LVIF_P
03a0: 41 52 41 4d 20 7c 20 4c 56 49 46 5f 53 54 41 54  ARAM | LVIF_STAT
03b0: 45 29 3b 0d 0a 09 09 09 69 74 2e 69 53 75 62 49  E);.....it.iSubI
03c0: 74 65 6d 20 3d 20 30 3b 0d 0a 09 09 09 69 74 2e  tem = 0;.....it.
03d0: 73 74 61 74 65 4d 61 73 6b 20 3d 20 4c 56 49 53  stateMask = LVIS
03e0: 5f 53 45 4c 45 43 54 45 44 3b 0d 0a 09 09 09 66  _SELECTED;.....f
03f0: 6f 72 28 20 69 74 2e 69 49 74 65 6d 3d 30 3b 20  or( it.iItem=0; 
0400: 73 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 49  sendMsgToItem( I
0410: 44 43 5f 46 49 4c 45 4c 49 53 54 2c 20 4c 56 4d  DC_FILELIST, LVM
0420: 5f 47 45 54 49 54 45 4d 2c 20 30 2c 20 28 4c 50  _GETITEM, 0, (LP
0430: 41 52 41 4d 29 26 69 74 20 29 3b 20 69 74 2e 69  ARAM)&it ); it.i
0440: 49 74 65 6d 2b 2b 20 29 0d 0a 09 09 09 09 69 66  Item++ )......if
0450: 28 20 28 28 61 72 63 66 69 6c 65 2a 29 69 74 2e  ( ((arcfile*)it.
0460: 6c 50 61 72 61 6d 29 2d 3e 73 65 6c 65 63 74 65  lParam)->selecte
0470: 64 20 3d 20 28 30 21 3d 28 4c 56 49 53 5f 53 45  d = (0!=(LVIS_SE
0480: 4c 45 43 54 45 44 26 69 74 2e 73 74 61 74 65 29  LECTED&it.state)
0490: 29 20 29 0d 0a 09 09 09 09 09 78 20 3d 20 74 72  ) ).......x = tr
04a0: 75 65 3b 0d 0a 09 09 09 72 65 74 75 72 6e 20 78  ue;.....return x
04b0: 3b 0d 0a 09 09 7d 0d 0a 09 69 6e 74 20 68 6c 70  ;....}...int hlp
04c0: 5f 63 6e 74 5f 63 68 65 63 6b 28 29 3b 0d 0a 09  _cnt_check();...
04d0: 62 6f 6f 6c 20 6d 5f 62 41 62 6c 65 3b 0d 0a 0d  bool m_bAble;...
04e0: 0a 70 72 69 76 61 74 65 3a 20 2f 2f 2d 2d 20 83  .private: //-- .
04f0: 68 83 89 83 62 83 4f 81 95 83 68 83 8d 83 62 83  h...b.O...h...b.
0500: 76 8f 88 97 9d 0d 0a 0d 0a 09 62 6f 6f 6c 20 67  v.........bool g
0510: 69 76 65 44 61 74 61 28 20 63 6f 6e 73 74 20 46  iveData( const F
0520: 4f 52 4d 41 54 45 54 43 26 20 66 6d 74 2c 20 53  ORMATETC& fmt, S
0530: 54 47 4d 45 44 49 55 4d 2a 20 73 74 67 2c 20 62  TGMEDIUM* stg, b
0540: 6f 6f 6c 20 66 69 72 73 74 63 61 6c 6c 20 29 3b  ool firstcall );
0550: 0d 0a 0d 0a 70 72 69 76 61 74 65 3a 20 2f 2f 2d  ....private: //-
0560: 2d 20 83 5c 81 5b 83 67 8f 88 97 9d 0d 0a 0d 0a  - .\.[.g........
0570: 09 76 6f 69 64 20 44 6f 53 6f 72 74 28 20 69 6e  .void DoSort( in
0580: 74 20 63 6f 6c 20 29 3b 0d 0a 09 73 74 61 74 69  t col );...stati
0590: 63 20 69 6e 74 20 43 41 4c 4c 42 41 43 4b 20 6c  c int CALLBACK l
05a0: 76 5f 63 6f 6d 70 61 72 65 28 20 4c 50 41 52 41  v_compare( LPARA
05b0: 4d 20 70 31 2c 20 4c 50 41 52 41 4d 20 70 32 2c  M p1, LPARAM p2,
05c0: 20 4c 50 41 52 41 4d 20 74 79 70 65 20 29 3b 0d   LPARAM type );.
05d0: 0a 09 62 6f 6f 6c 20 6d 5f 62 53 6d 61 6c 6c 46  ..bool m_bSmallF
05e0: 69 72 73 74 5b 36 5d 3b 0d 0a 0d 0a 70 72 69 76  irst[6];....priv
05f0: 61 74 65 3a 20 2f 2f 2d 2d 20 89 45 83 4e 83 8a  ate: //-- .E.N..
0600: 83 62 83 4e 0d 0a 0d 0a 09 76 6f 69 64 20 44 6f  .b.N.....void Do
0610: 52 4d 65 6e 75 28 29 3b 0d 0a 09 76 6f 69 64 20  RMenu();...void 
0620: 47 65 6e 65 72 61 74 65 44 69 72 4d 65 6e 75 28  GenerateDirMenu(
0630: 20 48 4d 45 4e 55 20 6d 2c 20 69 6e 74 26 20 69   HMENU m, int& i
0640: 64 2c 20 53 74 72 41 72 72 61 79 2a 20 73 78 2c  d, StrArray* sx,
0650: 20 63 6f 6e 73 74 20 6b 69 50 61 74 68 26 20 70   const kiPath& p
0660: 74 68 20 29 3b 0d 0a 0d 0a 70 72 69 76 61 74 65  th );....private
0670: 3a 20 2f 2f 2d 2d 20 89 f0 93 80 8d ec 8b c6 0d  : //-- .........
0680: 0a 0d 0a 09 43 41 72 63 68 69 76 65 72 2a 20 6d  ....CArchiver* m
0690: 5f 70 41 72 63 3b 0d 0a 09 61 72 63 6e 61 6d 65  _pArc;...arcname
06a0: 20 6d 5f 66 6e 61 6d 65 3b 0d 0a 09 6b 69 50 61   m_fname;...kiPa
06b0: 74 68 20 6d 5f 64 64 69 72 2c 20 6d 5f 74 64 69  th m_ddir, m_tdi
06c0: 72 3b 0d 0a 09 61 66 6c 41 72 72 61 79 20 6d 5f  r;...aflArray m_
06d0: 66 69 6c 65 73 3b 0d 0a 0d 0a 2f 2f 2d 2d 20 91  files;....//-- .
06e0: b6 8d dd 82 b5 82 c4 82 a2 82 e9 83 45 83 43 83  ............E.C.
06f0: 93 83 68 83 45 90 94 8a c7 97 9d 81 42 0d 0a 70  ..h.E.......B..p
0700: 75 62 6c 69 63 3a 09 73 74 61 74 69 63 20 76 6f  ublic:.static vo
0710: 69 64 20 63 6c 65 61 72 28 29 20 7b 20 73 74 5f  id clear() { st_
0720: 6e 4c 69 66 65 3d 30 3b 20 7d 0d 0a 70 72 69 76  nLife=0; }..priv
0730: 61 74 65 3a 73 74 61 74 69 63 20 76 6f 69 64 20  ate:static void 
0740: 68 65 6c 6c 6f 28 29 20 7b 20 73 74 5f 6e 4c 69  hello() { st_nLi
0750: 66 65 2b 2b 3b 20 7d 0d 0a 09 09 73 74 61 74 69  fe++; }....stati
0760: 63 20 76 6f 69 64 20 62 79 65 62 79 65 28 29 20  c void byebye() 
0770: 7b 20 69 66 28 2d 2d 73 74 5f 6e 4c 69 66 65 3d  { if(--st_nLife=
0780: 3d 30 29 20 6b 69 57 69 6e 64 6f 77 3a 3a 6c 6f  =0) kiWindow::lo
0790: 6f 70 62 72 65 61 6b 28 29 3b 20 7d 0d 0a 09 09  opbreak(); }....
07a0: 73 74 61 74 69 63 20 69 6e 74 20 73 74 5f 6e 4c  static int st_nL
07b0: 69 66 65 3b 0d 0a 7d 3b 0d 0a 0d 0a 0d 0a 63 6c  ife;..};......cl
07c0: 61 73 73 20 43 41 72 63 50 77 64 44 6c 67 20 3a  ass CArcPwdDlg :
07d0: 20 70 75 62 6c 69 63 20 6b 69 44 69 61 6c 6f 67   public kiDialog
07e0: 0d 0a 7b 0d 0a 09 63 68 61 72 20 2a 62 75 66 3b  ..{...char *buf;
07f0: 0d 0a 09 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e  ...const char *n
0800: 61 6d 3b 0d 0a 09 69 6e 74 20 73 69 7a 3b 0d 0a  am;...int siz;..
0810: 70 75 62 6c 69 63 3a 0d 0a 09 43 41 72 63 50 77  public:...CArcPw
0820: 64 44 6c 67 28 20 48 57 4e 44 20 68 2c 20 63 68  dDlg( HWND h, ch
0830: 61 72 2a 20 78 2c 20 69 6e 74 20 73 2c 20 63 6f  ar* x, int s, co
0840: 6e 73 74 20 63 68 61 72 2a 20 6e 20 29 20 3a 20  nst char* n ) : 
0850: 6b 69 44 69 61 6c 6f 67 28 20 49 44 44 5f 50 41  kiDialog( IDD_PA
0860: 53 53 57 4f 52 44 20 29 2c 20 62 75 66 28 78 29  SSWORD ), buf(x)
0870: 2c 20 73 69 7a 28 73 29 2c 20 6e 61 6d 28 6e 29  , siz(s), nam(n)
0880: 0d 0a 09 09 7b 0d 0a 09 09 09 64 6f 4d 6f 64 61  ....{.....doModa
0890: 6c 28 20 68 20 29 3b 0d 0a 09 09 7d 0d 0a 09 42  l( h );....}...B
08a0: 4f 4f 4c 20 6f 6e 49 6e 69 74 28 29 0d 0a 09 09  OOL onInit()....
08b0: 7b 0d 0a 09 09 09 73 65 6e 64 4d 73 67 54 6f 49  {.....sendMsgToI
08c0: 74 65 6d 28 20 49 44 43 5f 4d 41 53 4b 2c 20 42  tem( IDC_MASK, B
08d0: 4d 5f 53 45 54 43 48 45 43 4b 2c 20 42 53 54 5f  M_SETCHECK, BST_
08e0: 43 48 45 43 4b 45 44 20 29 3b 0d 0a 09 09 09 73  CHECKED );.....s
08f0: 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 49 44  endMsgToItem( ID
0900: 43 5f 45 44 49 54 2c 20 45 4d 5f 53 45 54 4c 49  C_EDIT, EM_SETLI
0910: 4d 49 54 54 45 58 54 2c 20 73 69 7a 20 29 3b 0d  MITTEXT, siz );.
0920: 0a 09 09 09 73 65 6e 64 4d 73 67 54 6f 49 74 65  ....sendMsgToIte
0930: 6d 28 20 49 44 43 5f 45 44 49 54 2c 20 45 4d 5f  m( IDC_EDIT, EM_
0940: 53 45 54 50 41 53 53 57 4f 52 44 43 48 41 52 2c  SETPASSWORDCHAR,
0950: 20 27 2a 27 20 29 3b 0d 0a 09 09 09 73 65 6e 64   '*' );.....send
0960: 4d 73 67 28 20 57 4d 5f 53 45 54 54 45 58 54 2c  Msg( WM_SETTEXT,
0970: 20 30 2c 20 28 4c 50 41 52 41 4d 29 6e 61 6d 20   0, (LPARAM)nam 
0980: 29 3b 0d 0a 09 09 09 3a 3a 53 65 74 46 6f 63 75  );.....::SetFocu
0990: 73 28 20 69 74 65 6d 28 49 44 43 5f 45 44 49 54  s( item(IDC_EDIT
09a0: 29 20 29 3b 0d 0a 09 09 09 72 65 74 75 72 6e 20  ) );.....return 
09b0: 54 52 55 45 3b 0d 0a 09 09 7d 0d 0a 09 42 4f 4f  TRUE;....}...BOO
09c0: 4c 20 43 41 4c 4c 42 41 43 4b 20 70 72 6f 63 28  L CALLBACK proc(
09d0: 20 55 49 4e 54 20 6d 73 67 2c 20 57 50 41 52 41   UINT msg, WPARA
09e0: 4d 20 77 70 2c 20 4c 50 41 52 41 4d 20 6c 70 20  M wp, LPARAM lp 
09f0: 29 0d 0a 09 09 7b 0d 0a 09 09 09 69 66 28 20 6d  )....{.....if( m
0a00: 73 67 3d 3d 57 4d 5f 43 4f 4d 4d 41 4e 44 20 26  sg==WM_COMMAND &
0a10: 26 20 4c 4f 57 4f 52 44 28 77 70 29 3d 3d 49 44  & LOWORD(wp)==ID
0a20: 43 5f 4d 41 53 4b 20 29 0d 0a 09 09 09 7b 0d 0a  C_MASK ).....{..
0a30: 09 09 09 09 69 66 28 20 42 53 54 5f 43 48 45 43  ....if( BST_CHEC
0a40: 4b 45 44 3d 3d 73 65 6e 64 4d 73 67 54 6f 49 74  KED==sendMsgToIt
0a50: 65 6d 28 20 49 44 43 5f 4d 41 53 4b 2c 20 42 4d  em( IDC_MASK, BM
0a60: 5f 47 45 54 43 48 45 43 4b 20 29 20 29 0d 0a 09  _GETCHECK ) )...
0a70: 09 09 09 09 73 65 6e 64 4d 73 67 54 6f 49 74 65  ....sendMsgToIte
0a80: 6d 28 20 49 44 43 5f 45 44 49 54 2c 20 45 4d 5f  m( IDC_EDIT, EM_
0a90: 53 45 54 50 41 53 53 57 4f 52 44 43 48 41 52 2c  SETPASSWORDCHAR,
0aa0: 20 27 2a 27 20 29 3b 0d 0a 09 09 09 09 65 6c 73   '*' );......els
0ab0: 65 0d 0a 09 09 09 09 09 73 65 6e 64 4d 73 67 54  e.......sendMsgT
0ac0: 6f 49 74 65 6d 28 20 49 44 43 5f 45 44 49 54 2c  oItem( IDC_EDIT,
0ad0: 20 45 4d 5f 53 45 54 50 41 53 53 57 4f 52 44 43   EM_SETPASSWORDC
0ae0: 48 41 52 20 29 3b 0d 0a 09 09 09 09 3a 3a 49 6e  HAR );......::In
0af0: 76 61 6c 69 64 61 74 65 52 65 63 74 28 20 69 74  validateRect( it
0b00: 65 6d 28 49 44 43 5f 45 44 49 54 29 2c 20 4e 55  em(IDC_EDIT), NU
0b10: 4c 4c 2c 20 54 52 55 45 20 29 3b 0d 0a 09 09 09  LL, TRUE );.....
0b20: 7d 0d 0a 09 09 09 72 65 74 75 72 6e 20 46 41 4c  }.....return FAL
0b30: 53 45 3b 0d 0a 09 09 7d 0d 0a 09 62 6f 6f 6c 20  SE;....}...bool 
0b40: 6f 6e 4f 4b 28 29 0d 0a 09 09 7b 0d 0a 09 09 09  onOK()....{.....
0b50: 73 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 49  sendMsgToItem( I
0b60: 44 43 5f 45 44 49 54 2c 20 57 4d 5f 47 45 54 54  DC_EDIT, WM_GETT
0b70: 45 58 54 2c 20 73 69 7a 2c 20 28 4c 50 41 52 41  EXT, siz, (LPARA
0b80: 4d 29 62 75 66 20 29 3b 0d 0a 09 09 09 72 65 74  M)buf );.....ret
0b90: 75 72 6e 20 74 72 75 65 3b 0d 0a 09 09 7d 0d 0a  urn true;....}..
0ba0: 7d 3b 0d 0a 0d 0a 63 6c 61 73 73 20 43 41 72 63  };....class CArc
0bb0: 50 72 6f 67 72 65 73 73 44 6c 67 20 3a 20 70 75  ProgressDlg : pu
0bc0: 62 6c 69 63 20 6b 69 44 69 61 6c 6f 67 0d 0a 7b  blic kiDialog..{
0bd0: 0d 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20  ...unsigned int 
0be0: 62 6c 3b 0d 0a 70 75 62 6c 69 63 3a 0d 0a 09 43  bl;..public:...C
0bf0: 41 72 63 50 72 6f 67 72 65 73 73 44 6c 67 28 20  ArcProgressDlg( 
0c00: 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 62 61 72  unsigned int bar
0c10: 6c 69 6d 69 74 2c 20 62 6f 6f 6c 20 70 61 63 6b  limit, bool pack
0c20: 69 6e 67 3d 66 61 6c 73 65 20 29 0d 0a 09 09 3a  ing=false )....:
0c30: 20 6b 69 44 69 61 6c 6f 67 28 20 49 44 44 5f 50   kiDialog( IDD_P
0c40: 52 4f 47 52 45 53 53 20 29 2c 20 62 6c 28 20 62  ROGRESS ), bl( b
0c50: 61 72 6c 69 6d 69 74 20 29 0d 0a 09 09 7b 0d 0a  arlimit )....{..
0c60: 09 09 09 63 72 65 61 74 65 4d 6f 64 65 6c 65 73  ...createModeles
0c70: 73 28 29 3b 0d 0a 09 09 09 69 66 28 20 62 6c 3c  s();.....if( bl<
0c80: 30 78 31 30 30 30 30 20 29 0d 0a 09 09 09 09 73  0x10000 )......s
0c90: 65 6e 64 4d 73 67 54 6f 49 74 65 6d 28 20 49 44  endMsgToItem( ID
0ca0: 43 5f 42 41 52 2c 20 50 42 4d 5f 53 45 54 52 41  C_BAR, PBM_SETRA
0cb0: 4e 47 45 2c 20 30 2c 20 4d 41 4b 45 4c 50 41 52  NGE, 0, MAKELPAR
0cc0: 41 4d 28 30 2c 62 6c 29 20 29 3b 0d 0a 09 09 09  AM(0,bl) );.....
0cd0: 69 66 28 20 70 61 63 6b 69 6e 67 20 29 0d 0a 09  if( packing )...
0ce0: 09 09 09 73 65 6e 64 4d 73 67 28 20 57 4d 5f 53  ...sendMsg( WM_S
0cf0: 45 54 54 45 58 54 2c 20 30 2c 20 28 4c 50 41 52  ETTEXT, 0, (LPAR
0d00: 41 4d 29 22 43 6f 6d 70 72 65 73 73 69 6e 67 2e  AM)"Compressing.
0d10: 2e 2e 22 20 29 3b 0d 0a 09 09 09 6b 69 57 69 6e  .." );.....kiWin
0d20: 64 6f 77 3a 3a 73 65 74 46 72 6f 6e 74 28 20 68  dow::setFront( h
0d30: 77 6e 64 28 29 20 29 3b 0d 0a 09 09 09 6d 73 67  wnd() );.....msg
0d40: 6c 6f 6f 70 28 29 3b 0d 0a 09 09 7d 0d 0a 09 7e  loop();....}...~
0d50: 43 41 72 63 50 72 6f 67 72 65 73 73 44 6c 67 28  CArcProgressDlg(
0d60: 29 0d 0a 09 09 7b 0d 0a 09 09 09 69 66 28 20 69  )....{.....if( i
0d70: 73 41 6c 69 76 65 28 29 20 29 0d 0a 09 09 09 09  sAlive() )......
0d80: 65 6e 64 28 20 49 44 43 41 4e 43 45 4c 20 29 3b  end( IDCANCEL );
0d90: 0d 0a 09 09 7d 0d 0a 09 62 6f 6f 6c 20 6d 73 67  ....}...bool msg
0da0: 6c 6f 6f 70 28 29 0d 0a 09 09 7b 0d 0a 09 09 09  loop()....{.....
0db0: 6b 69 57 69 6e 64 6f 77 3a 3a 6d 73 67 28 29 3b  kiWindow::msg();
0dc0: 0d 0a 09 09 09 72 65 74 75 72 6e 20 69 73 41 6c  .....return isAl
0dd0: 69 76 65 28 29 3b 0d 0a 09 09 7d 0d 0a 09 76 6f  ive();....}...vo
0de0: 69 64 20 63 68 61 6e 67 65 28 20 63 6f 6e 73 74  id change( const
0df0: 20 63 68 61 72 2a 20 6e 61 6d 65 3d 4e 55 4c 4c   char* name=NULL
0e00: 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 70  , unsigned int p
0e10: 6f 73 3d 30 78 66 66 66 66 66 66 66 66 20 29 0d  os=0xffffffff ).
0e20: 0a 09 09 7b 0d 0a 09 09 09 69 66 28 20 6e 61 6d  ...{.....if( nam
0e30: 65 20 29 20 73 65 6e 64 4d 73 67 54 6f 49 74 65  e ) sendMsgToIte
0e40: 6d 28 20 49 44 43 5f 46 4e 41 4d 45 2c 20 57 4d  m( IDC_FNAME, WM
0e50: 5f 53 45 54 54 45 58 54 2c 20 30 2c 20 28 4c 50  _SETTEXT, 0, (LP
0e60: 41 52 41 4d 29 6e 61 6d 65 20 29 3b 0d 0a 09 09  ARAM)name );....
0e70: 09 69 66 28 20 70 6f 73 21 3d 30 78 66 66 66 66  .if( pos!=0xffff
0e80: 66 66 66 66 20 29 0d 0a 09 09 09 09 69 66 28 20  ffff )......if( 
0e90: 62 6c 3c 30 78 31 30 30 30 30 20 29 73 65 6e 64  bl<0x10000 )send
0ea0: 4d 73 67 54 6f 49 74 65 6d 28 20 49 44 43 5f 42  MsgToItem( IDC_B
0eb0: 41 52 2c 20 50 42 4d 5f 53 45 54 50 4f 53 2c 20  AR, PBM_SETPOS, 
0ec0: 70 6f 73 20 29 3b 0d 0a 09 09 09 09 65 6c 73 65  pos );......else
0ed0: 09 09 09 73 65 6e 64 4d 73 67 54 6f 49 74 65 6d  ...sendMsgToItem
0ee0: 28 20 49 44 43 5f 42 41 52 2c 20 50 42 4d 5f 53  ( IDC_BAR, PBM_S
0ef0: 45 54 50 4f 53 2c 20 70 6f 73 2a 31 30 30 2f 62  ETPOS, pos*100/b
0f00: 6c 20 29 3b 0d 0a 09 09 7d 0d 0a 7d 3b 0d 0a 0d  l );....}..};...
0f10: 0a 0d 0a 63 6c 61 73 73 20 43 41 72 63 50 61 74  ...class CArcPat
0f20: 68 43 68 65 63 6b 44 6c 67 0d 0a 7b 0d 0a 70 72  hCheckDlg..{..pr
0f30: 69 76 61 74 65 3a 0d 0a 09 63 6c 61 73 73 20 54  ivate:...class T
0f40: 68 65 44 6c 67 20 3a 20 70 75 62 6c 69 63 20 6b  heDlg : public k
0f50: 69 44 69 61 6c 6f 67 0d 0a 09 7b 0d 0a 09 70 75  iDialog...{...pu
0f60: 62 6c 69 63 3a 0d 0a 09 09 54 68 65 44 6c 67 28  blic:....TheDlg(
0f70: 20 63 6f 6e 73 74 20 63 68 61 72 2a 20 70 61 74   const char* pat
0f80: 68 2c 20 48 57 4e 44 20 68 20 29 0d 0a 09 09 09  h, HWND h ).....
0f90: 3a 20 6b 69 44 69 61 6c 6f 67 28 49 44 44 5f 50  : kiDialog(IDD_P
0fa0: 41 54 48 43 48 45 43 4b 29 2c 20 72 65 73 75 6c  ATHCHECK), resul
0fb0: 74 28 43 41 4e 43 45 4c 29 2c 20 70 61 74 68 28  t(CANCEL), path(
0fc0: 70 61 74 68 29 20 7b 20 64 6f 4d 6f 64 61 6c 28  path) { doModal(
0fd0: 68 29 3b 20 7d 0d 0a 09 09 65 6e 75 6d 20 7b 20  h); }....enum { 
0fe0: 59 45 53 2c 20 41 4c 4c 5f 59 45 53 2c 20 43 41  YES, ALL_YES, CA
0ff0: 4e 43 45 4c 20 7d 20 72 65 73 75 6c 74 3b 0d 0a  NCEL } result;..
1000: 09 70 72 69 76 61 74 65 3a 0d 0a 09 09 63 6f 6e  .private:....con
1010: 73 74 20 63 68 61 72 2a 20 70 61 74 68 3b 0d 0a  st char* path;..
1020: 09 09 42 4f 4f 4c 20 6f 6e 49 6e 69 74 28 29 0d  ..BOOL onInit().
1030: 0a 09 09 7b 0d 0a 09 09 09 73 65 6e 64 4d 73 67  ...{.....sendMsg
1040: 54 6f 49 74 65 6d 28 20 49 44 43 5f 50 41 54 48  ToItem( IDC_PATH
1050: 4e 41 4d 45 2c 20 57 4d 5f 53 45 54 54 45 58 54  NAME, WM_SETTEXT
1060: 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 70 61 74  , 0, (LPARAM)pat
1070: 68 20 29 3b 0d 0a 09 09 09 72 65 74 75 72 6e 20  h );.....return 
1080: 54 52 55 45 3b 0d 0a 09 09 7d 0d 0a 09 09 42 4f  TRUE;....}....BO
1090: 4f 4c 20 43 41 4c 4c 42 41 43 4b 20 70 72 6f 63  OL CALLBACK proc
10a0: 28 20 55 49 4e 54 20 6d 73 67 2c 20 57 50 41 52  ( UINT msg, WPAR
10b0: 41 4d 20 77 70 2c 20 4c 50 41 52 41 4d 20 6c 70  AM wp, LPARAM lp
10c0: 20 29 0d 0a 09 09 7b 0d 0a 09 09 09 69 66 28 20   )....{.....if( 
10d0: 6d 73 67 3d 3d 57 4d 5f 43 4f 4d 4d 41 4e 44 20  msg==WM_COMMAND 
10e0: 29 0d 0a 09 09 09 09 73 77 69 74 63 68 28 20 4c  )......switch( L
10f0: 4f 57 4f 52 44 28 77 70 29 20 29 0d 0a 09 09 09  OWORD(wp) ).....
1100: 09 7b 0d 0a 09 09 09 09 63 61 73 65 20 49 44 59  .{......case IDY
1110: 45 53 3a 20 20 20 20 20 72 65 73 75 6c 74 20 3d  ES:     result =
1120: 20 59 45 53 3b 20 20 20 20 20 65 6e 64 28 49 44   YES;     end(ID
1130: 4f 4b 29 3b 20 20 20 20 20 72 65 74 75 72 6e 20  OK);     return 
1140: 54 52 55 45 3b 0d 0a 09 09 09 09 63 61 73 65 20  TRUE;......case 
1150: 49 44 5f 41 4c 4c 59 45 53 3a 20 72 65 73 75 6c  ID_ALLYES: resul
1160: 74 20 3d 20 41 4c 4c 5f 59 45 53 3b 20 65 6e 64  t = ALL_YES; end
1170: 28 49 44 4f 4b 29 3b 20 20 20 20 20 72 65 74 75  (IDOK);     retu
1180: 72 6e 20 54 52 55 45 3b 0d 0a 09 09 09 09 63 61  rn TRUE;......ca
1190: 73 65 20 49 44 5f 41 4c 4c 4e 4f 3a 20 20 72 65  se ID_ALLNO:  re
11a0: 73 75 6c 74 20 3d 20 43 41 4e 43 45 4c 3b 20 20  sult = CANCEL;  
11b0: 65 6e 64 28 49 44 43 41 4e 43 45 4c 29 3b 20 72  end(IDCANCEL); r
11c0: 65 74 75 72 6e 20 54 52 55 45 3b 0d 0a 09 09 09  eturn TRUE;.....
11d0: 09 7d 0d 0a 09 09 09 72 65 74 75 72 6e 20 46 41  .}.....return FA
11e0: 4c 53 45 3b 0d 0a 09 09 7d 0d 0a 09 7d 3b 0d 0a  LSE;....}...};..
11f0: 0d 0a 70 72 69 76 61 74 65 3a 0d 0a 09 62 6f 6f  ..private:...boo
1200: 6c 20 61 6c 6c 5f 79 65 73 3b 0d 0a 0d 0a 70 75  l all_yes;....pu
1210: 62 6c 69 63 3a 0d 0a 09 43 41 72 63 50 61 74 68  blic:...CArcPath
1220: 43 68 65 63 6b 44 6c 67 28 29 20 3a 20 61 6c 6c  CheckDlg() : all
1230: 5f 79 65 73 28 66 61 6c 73 65 29 20 7b 7d 0d 0a  _yes(false) {}..
1240: 0d 0a 09 62 6f 6f 6c 20 69 73 5f 6f 6b 5f 74 6f  ...bool is_ok_to
1250: 5f 65 78 74 72 61 63 74 28 20 63 6f 6e 73 74 20  _extract( const 
1260: 63 68 61 72 2a 20 70 61 74 68 2c 20 6b 69 57 69  char* path, kiWi
1270: 6e 64 6f 77 2a 20 77 6e 64 20 29 0d 0a 09 7b 0d  ndow* wnd )...{.
1280: 0a 09 09 69 66 28 20 61 6c 6c 5f 79 65 73 20 29  ...if( all_yes )
1290: 0d 0a 09 09 09 72 65 74 75 72 6e 20 74 72 75 65  .....return true
12a0: 3b 0d 0a 09 09 73 77 69 74 63 68 28 20 54 68 65  ;....switch( The
12b0: 44 6c 67 28 70 61 74 68 2c 77 6e 64 3f 77 6e 64  Dlg(path,wnd?wnd
12c0: 2d 3e 68 77 6e 64 28 29 3a 4e 55 4c 4c 29 2e 72  ->hwnd():NULL).r
12d0: 65 73 75 6c 74 20 29 0d 0a 09 09 7b 0d 0a 09 09  esult )....{....
12e0: 63 61 73 65 20 54 68 65 44 6c 67 3a 3a 41 4c 4c  case TheDlg::ALL
12f0: 5f 59 45 53 3a 20 61 6c 6c 5f 79 65 73 20 3d 20  _YES: all_yes = 
1300: 74 72 75 65 3b 0d 0a 09 09 63 61 73 65 20 54 68  true;....case Th
1310: 65 44 6c 67 3a 3a 59 45 53 3a 20 20 20 20 20 72  eDlg::YES:     r
1320: 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 09 09 7d  eturn true;....}
1330: 0d 0a 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65  ....return false
1340: 3b 0d 0a 09 7d 0d 0a 7d 3b 0d 0a 0d 0a 0d 0a 23  ;...}..};......#
1350: 65 6e 64 69 66 0d 0a                             endif..