Changeset 256
- Timestamp:
- Jan 17, 2014, 10:25:19 AM (9 years ago)
- Location:
- trunk/DirectShowSpy
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/DirectShowSpy/DirectShowSpy.rc
r251 r256 59 59 60 60 VS_VERSION_INFO VERSIONINFO 61 FILEVERSION 1, 0, 0, 12 4861 FILEVERSION 1, 0, 0, 1293 62 62 PRODUCTVERSION 1,0,0,1 63 63 FILEFLAGSMASK 0x3fL … … 78 78 VALUE "CompanyName", "Roman Ryltsov" 79 79 VALUE "FileDescription", "Alax.Info DirectShow Spy Module" 80 VALUE "FileVersion", "1, 0, 0, 12 48\0"80 VALUE "FileVersion", "1, 0, 0, 1293\0" 81 81 VALUE "InternalName", "DirectShowSpy.dll" 82 82 VALUE "LegalCopyright", "Copyright © Alax.Info, Roman Ryltsov, 2008-2014" … … 296 296 END 297 297 298 IDD_FILTERGRAPHHELPER_EMAIL_LOG DIALOGEX 0, 0, 374, 254 299 STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD 300 EXSTYLE WS_EX_CONTROLPARENT 301 FONT 8, "MS Shell Dlg", 400, 0, 0x0 302 BEGIN 303 LTEXT "Email Attachments: Log Files",IDC_FILTERGRAPHHELPER_EMAIL_LOG_TITLE,6,0,294,18 304 CONTROL "",IDC_FILTERGRAPHHELPER_EMAIL_LOG_FILE,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,6,42,360,168 305 LTEXT "Use controls below to specify log files to attach to the email to be sent. The files will be BZip2 compressed. ",IDC_FILTERGRAPHHELPER_EMAIL_LOG_INTRODUCTION,6,24,360,8,0,WS_EX_TRANSPARENT 306 LTEXT "&Truncation Policy: ",IDC_FILTERGRAPHHELPER_EMAIL_LOG_TRUNCATETITLE,12,218,60,8 307 COMBOBOX IDC_FILTERGRAPHHELPER_EMAIL_LOG_TRUNCATE,78,216,192,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP 308 LTEXT "&Deletion Policy: ",IDC_FILTERGRAPHHELPER_EMAIL_LOG_DELETETITLE,12,236,52,8 309 COMBOBOX IDC_FILTERGRAPHHELPER_EMAIL_LOG_DELETE,78,234,192,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP 310 END 311 298 312 299 313 ///////////////////////////////////////////////////////////////////////////// … … 327 341 RIGHTMARGIN, 368 328 342 BOTTOMMARGIN, 200 343 END 344 345 IDD_FILTERGRAPHHELPER_EMAIL_LOG, DIALOG 346 BEGIN 347 RIGHTMARGIN, 366 348 BOTTOMMARGIN, 248 329 349 END 330 350 END … … 474 494 END 475 495 496 STRINGTABLE 497 BEGIN 498 IDC_FILTERGRAPHHELPER_EMAIL_LOG_FILE 499 "v, 1\nx, 0x424, 0x424\nc, File Name, 210, -1\nc, Size, 150, 1, ""f, 1""\nc, Update Time, 180, 2\nc, Directory, 240, 3\n" 500 END 501 502 STRINGTABLE 503 BEGIN 504 IDC_FILTERGRAPHHELPER_EMAIL_LOG_TRUNCATE 505 "Attach up to Most Recent 1 MB per File\nAttach up to Most Recent 10 MB per File\nAttach up to Most Recent 25 MB per File\nAttach up to Most Recent 50 MB per File\n" 506 IDC_FILTERGRAPHHELPER_EMAIL_LOG_DELETE 507 "Leave Sent Files Intact\nAttempt to Delete Sent Files\n" 508 END 509 476 510 #endif // English (United States) resources 477 511 ///////////////////////////////////////////////////////////////////////////// -
trunk/DirectShowSpy/DirectShowSpy.vcxproj
r233 r256 103 103 <IgnoreImportLibrary>true</IgnoreImportLibrary> 104 104 <LinkIncremental>true</LinkIncremental> 105 <IncludePath>..\..\Repository-Private\Utilities\DeflateTools\bzip2-1.0.6;$(IncludePath)</IncludePath> 105 106 </PropertyGroup> 106 107 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> … … 109 110 <IgnoreImportLibrary>true</IgnoreImportLibrary> 110 111 <LinkIncremental>true</LinkIncremental> 112 <IncludePath>..\..\Repository-Private\Utilities\DeflateTools\bzip2-1.0.6;$(IncludePath)</IncludePath> 111 113 </PropertyGroup> 112 114 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> … … 115 117 <IgnoreImportLibrary>true</IgnoreImportLibrary> 116 118 <LinkIncremental>false</LinkIncremental> 119 <IncludePath>..\..\Repository-Private\Utilities\DeflateTools\bzip2-1.0.6;$(IncludePath)</IncludePath> 117 120 </PropertyGroup> 118 121 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> … … 121 124 <IgnoreImportLibrary>true</IgnoreImportLibrary> 122 125 <LinkIncremental>false</LinkIncremental> 126 <IncludePath>..\..\Repository-Private\Utilities\DeflateTools\bzip2-1.0.6;$(IncludePath)</IncludePath> 123 127 </PropertyGroup> 124 128 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Trace|Win32'"> … … 127 131 <IgnoreImportLibrary>true</IgnoreImportLibrary> 128 132 <LinkIncremental>false</LinkIncremental> 133 <IncludePath>..\..\Repository-Private\Utilities\DeflateTools\bzip2-1.0.6;$(IncludePath)</IncludePath> 129 134 </PropertyGroup> 130 135 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Trace|x64'"> … … 133 138 <IgnoreImportLibrary>true</IgnoreImportLibrary> 134 139 <LinkIncremental>false</LinkIncremental> 140 <IncludePath>..\..\Repository-Private\Utilities\DeflateTools\bzip2-1.0.6;$(IncludePath)</IncludePath> 135 141 </PropertyGroup> 136 142 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> … … 169 175 <SubSystem>Windows</SubSystem> 170 176 <TargetMachine>MachineX86</TargetMachine> 177 <AdditionalLibraryDirectories>..\..\Repository-Private\Utilities\DeflateTools\_Bin</AdditionalLibraryDirectories> 171 178 </Link> 172 179 </ItemDefinitionGroup> … … 205 212 <SubSystem>Windows</SubSystem> 206 213 <TargetMachine>MachineX64</TargetMachine> 214 <AdditionalLibraryDirectories>..\..\Repository-Private\Utilities\DeflateTools\_Bin</AdditionalLibraryDirectories> 207 215 </Link> 208 216 </ItemDefinitionGroup> … … 250 258 <EnableCOMDATFolding>true</EnableCOMDATFolding> 251 259 <TargetMachine>MachineX86</TargetMachine> 260 <AdditionalLibraryDirectories>..\..\Repository-Private\Utilities\DeflateTools\_Bin</AdditionalLibraryDirectories> 252 261 </Link> 253 262 </ItemDefinitionGroup> … … 294 303 <EnableCOMDATFolding>true</EnableCOMDATFolding> 295 304 <TargetMachine>MachineX64</TargetMachine> 305 <AdditionalLibraryDirectories>..\..\Repository-Private\Utilities\DeflateTools\_Bin</AdditionalLibraryDirectories> 296 306 </Link> 297 307 </ItemDefinitionGroup> … … 339 349 <EnableCOMDATFolding>true</EnableCOMDATFolding> 340 350 <TargetMachine>MachineX86</TargetMachine> 351 <AdditionalLibraryDirectories>..\..\Repository-Private\Utilities\DeflateTools\_Bin</AdditionalLibraryDirectories> 341 352 </Link> 342 353 </ItemDefinitionGroup> … … 383 394 <EnableCOMDATFolding>true</EnableCOMDATFolding> 384 395 <TargetMachine>MachineX64</TargetMachine> 396 <AdditionalLibraryDirectories>..\..\Repository-Private\Utilities\DeflateTools\_Bin</AdditionalLibraryDirectories> 385 397 </Link> 386 398 </ItemDefinitionGroup> -
trunk/DirectShowSpy/DirectShowSpy_i.c
r251 r256 7 7 8 8 /* File created by MIDL compiler version 7.00.0555 */ 9 /* at Sun Jan 12 15:13:1520149 /* at Fri Jan 17 17:28:17 2014 10 10 */ 11 11 /* Compiler settings for DirectShowSpy.idl: -
trunk/DirectShowSpy/DirectShowSpy_i.h
r251 r256 5 5 6 6 /* File created by MIDL compiler version 7.00.0555 */ 7 /* at Sun Jan 12 15:13:1520147 /* at Fri Jan 17 17:28:17 2014 8 8 */ 9 9 /* Compiler settings for DirectShowSpy.idl: -
trunk/DirectShowSpy/DirectShowSpy_p.c
r251 r256 5 5 6 6 /* File created by MIDL compiler version 7.00.0555 */ 7 /* at Sun Jan 12 15:13:1520147 /* at Fri Jan 17 17:28:17 2014 8 8 */ 9 9 /* Compiler settings for DirectShowSpy.idl: -
trunk/DirectShowSpy/FilterGraphHelper.h
r249 r256 11 11 #include "AboutDialog.h" 12 12 #include "..\..\Repository-Private\Utilities\EmailTools\Message.h" 13 #define BZ_NO_STDIO 14 #include "..\..\Repository-Private\Utilities\DeflateTools\Bzip2Item.h" 13 15 14 16 INT_PTR DoFilterGraphListPropertySheetModal(HWND hParentWindow); … … 335 337 336 338 //////////////////////////////////////////////////// 339 // CEmailLogDialog 340 341 class CEmailLogDialog : 342 public CDialogImpl<CEmailLogDialog>, 343 public CDialogResize<CEmailLogDialog> 344 { 345 public: 346 enum { IDD = IDD_FILTERGRAPHHELPER_EMAIL_LOG }; 347 348 BEGIN_MSG_MAP_EX(CEmailLogDialog) 349 //CHAIN_MSG_MAP(CDialogImpl<CEmailLogDialog>) 350 CHAIN_MSG_MAP(CDialogResize<CEmailLogDialog>) 351 MSG_WM_INITDIALOG(OnInitDialog) 352 MSG_LVN_GETDISPINFO(IDC_FILTERGRAPHHELPER_EMAIL_LOG_FILE, OnFileListViewGetDispInfo) 353 //MSG_LVN_GETINFOTIP() 354 MSG_LVN_ITEMCHANGED(IDC_FILTERGRAPHHELPER_EMAIL_LOG_FILE, OnFileListViewItemChanged) 355 //COMMAND_HANDLER_EX(IDC_FILTERGRAPHHELPER_EMAIL_LOG_TRUNCATE, CBN_CHANGE, OnChanged) 356 //COMMAND_HANDLER_EX(IDC_FILTERGRAPHHELPER_EMAIL_LOG_DELETE, CBN_CHANGE, OnChanged) 357 REFLECT_NOTIFICATIONS() 358 END_MSG_MAP() 359 360 BEGIN_DLGRESIZE_MAP(CEmailLogDialog) 361 DLGRESIZE_CONTROL(IDC_FILTERGRAPHHELPER_EMAIL_LOG_FILE, DLSZ_SIZE_X | DLSZ_SIZE_Y) 362 DLGRESIZE_CONTROL(IDC_FILTERGRAPHHELPER_EMAIL_LOG_TRUNCATETITLE, DLSZ_MOVE_Y) 363 DLGRESIZE_CONTROL(IDC_FILTERGRAPHHELPER_EMAIL_LOG_TRUNCATE, DLSZ_MOVE_Y) 364 DLGRESIZE_CONTROL(IDC_FILTERGRAPHHELPER_EMAIL_LOG_DELETETITLE, DLSZ_MOVE_Y) 365 DLGRESIZE_CONTROL(IDC_FILTERGRAPHHELPER_EMAIL_LOG_DELETE, DLSZ_MOVE_Y) 366 END_DLGRESIZE_MAP() 367 368 public: 369 370 //////////////////////////////////////////////// 371 // CFileData 372 373 class CFileData 374 { 375 public: 376 UINT m_nLocation; 377 CPath m_sPath; 378 ULONGLONG m_nSize; 379 FILETIME m_UpdateTime; 380 381 public: 382 // CFileData 383 CFileData(UINT nLocation, LPCTSTR pszDirectory, WIN32_FIND_DATA FindData) 384 { 385 m_nLocation = nLocation; 386 m_sPath.Combine(pszDirectory, FindData.cFileName); 387 m_nSize = ((ULONGLONG) FindData.nFileSizeHigh << 32) + FindData.nFileSizeLow; 388 m_UpdateTime = FindData.ftLastWriteTime; 389 } 390 FILETIME GetLocalUpdateTime() const 391 { 392 FILETIME UpdateTime; 393 _W(FileTimeToLocalFileTime(&m_UpdateTime, &UpdateTime)); 394 return UpdateTime; 395 } 396 }; 397 398 //////////////////////////////////////////////// 399 // CFileDataSortTraits 400 401 class CFileDataSortTraits : 402 public CDefaultSortTraitsT<CFileData> 403 { 404 public: 405 // CFileDataSortTraits 406 static INT_PTR CompareElements(const CFileData& FileData1, const CFileData& FileData2, PARAMETERARGUMENT Parameter) 407 { 408 const INT nLocation = FileData1.m_nLocation - FileData2.m_nLocation; 409 if(nLocation) 410 return nLocation; 411 return _tcsicmp(FindFileName(FileData1.m_sPath), FindFileName(FileData2.m_sPath)); 412 } 413 }; 414 415 //////////////////////////////////////////////// 416 // CFileDataArray 417 418 class CFileDataArray : 419 public CRoArrayT<CFileData> 420 { 421 public: 422 // CFileDataArray 423 static BOOL CompareLocation(const CFileData& FileData, UINT nLocation) 424 { 425 return FileData.m_nLocation == nLocation; 426 } 427 SIZE_T GetCountForLocation(UINT nLocation) 428 { 429 return GetCountThatT<UINT>(&CFileDataArray::CompareLocation, nLocation); 430 } 431 }; 432 433 //////////////////////////////////////////////// 434 // CSelectedFileData 435 436 class CSelectedFileData 437 { 438 public: 439 CPath m_sPath; 440 CString m_sName; 441 442 public: 443 // CSelectedFileData 444 }; 445 446 private: 447 CPropertyFrameDialog* m_pOwner; 448 BOOL m_bActivating; 449 CStatic m_TitleStatic; 450 CFont m_TitleFont; 451 CRoListViewT<CFileData, CRoListControlDataTraitsT> m_FileListView; 452 INT m_nFileListViewGroupViewEnabled; 453 CRoComboBoxT<> m_TruncateComboBox; 454 CRoComboBoxT<> m_DeleteComboBox; 455 CRoMapT<INT_PTR, BOOL> m_ChangeMap; 456 457 public: 458 // CEmailLogDialog 459 CEmailLogDialog() 460 { 461 } 462 VOID UpdateControls() 463 { 464 } 465 VOID InitializeFileListView() 466 { 467 CWindowRedraw FileListViewRedraw(m_FileListView); 468 m_FileListView.DeleteAllItems(); 469 m_FileListView.DeleteAllGroups(); 470 #pragma region File 471 CFileDataArray FileDataArray; 472 static DWORD g_pnLocations[] = 473 { 474 CSIDL_COMMON_APPDATA, 475 CSIDL_APPDATA, 476 }; 477 for(SIZE_T nLocationIndex = 0; nLocationIndex < DIM(g_pnLocations); nLocationIndex++) 478 _ATLTRY 479 { 480 TCHAR pszDirectory[MAX_PATH] = { 0 }; 481 if(!SHGetSpecialFolderPath(NULL, pszDirectory, g_pnLocations[nLocationIndex], FALSE)) 482 continue; 483 CFindFiles FindFiles; 484 for(BOOL bFound = FindFiles.FindFirstFile(pszDirectory, _T("*.log")); bFound; bFound = FindFiles.FindNextFile()) 485 { 486 const WIN32_FIND_DATA& Data = FindFiles.GetFindData(); 487 FileDataArray.Add(CFileData((UINT) nLocationIndex, pszDirectory, Data)); 488 } 489 } 490 _ATLCATCHALL() 491 { 492 _Z_EXCEPTION(); 493 } 494 _SortHelper::QuickSort<CFileDataSortTraits>(FileDataArray); 495 if(m_nFileListViewGroupViewEnabled >= 0) 496 { 497 if(FileDataArray.GetCountForLocation(0)) 498 m_FileListView.InsertGroup(0, 0, _T("Local Machine (Common AppData)")); 499 if(FileDataArray.GetCountForLocation(1)) 500 m_FileListView.InsertGroup(1, 1, _T("Current User (AppData)")); 501 } 502 CPath sPrivateLogFileName = FindFileName(GetModulePath()); 503 sPrivateLogFileName.RenameExtension(_T(".log")); 504 for(SIZE_T nIndex = 0; nIndex < FileDataArray.GetCount(); nIndex++) 505 { 506 CFileData& FileData = FileDataArray[nIndex]; 507 INT nItem; 508 if(m_nFileListViewGroupViewEnabled >= 0) 509 nItem = m_FileListView.InsertGroupItem(m_FileListView.GetItemCount(), FileData.m_nLocation, FileData); 510 else 511 nItem = m_FileListView.InsertItem(m_FileListView.GetItemCount(), FileData); 512 if(_tcsicmp(FindFileName(FileData.m_sPath), sPrivateLogFileName) == 0) 513 m_FileListView.SetCheckState(nItem, TRUE); 514 } 515 } 516 SIZE_T GetFiles(CRoArrayT<CSelectedFileData>& Array) 517 { 518 _A(Array.IsEmpty()); 519 for(INT nItem = 0; nItem < m_FileListView.GetItemCount(); nItem++) 520 { 521 if(!m_FileListView.GetCheckState(nItem)) 522 continue; 523 const CFileData& FileData = m_FileListView.GetItemData(nItem); 524 CSelectedFileData SelectedFileData; 525 SelectedFileData.m_sPath = FileData.m_sPath; 526 CPath sName = FindFileName(FileData.m_sPath); 527 if(FileData.m_nLocation == 1) 528 { 529 CString sExtention = FindExtension(sName); 530 sName.RemoveExtension(); 531 sName = (LPCTSTR) AtlFormatString(_T("%s (%s)%s"), sName, _T("Current User"), sExtention); 532 } 533 SelectedFileData.m_sName = (LPCTSTR) sName; 534 Array.Add(SelectedFileData); 535 } 536 return Array.GetCount(); 537 } 538 ULONGLONG GetTruncateSize() 539 { 540 static const ULONGLONG g_pnTruncateSizes[] = 541 { 542 1i64 << 20, // 1 MB 543 10i64 << 20, // 10 MB 544 25i64 << 20, // 25 MB 545 50i64 << 20, // 50 MB 546 }; 547 const INT nItem = m_TruncateComboBox.GetCurSel(); 548 _A(nItem >= 0 && nItem < DIM(g_pnTruncateSizes)); 549 return g_pnTruncateSizes[nItem]; 550 } 551 BOOL GetDelete() 552 { 553 return m_DeleteComboBox.GetCurSel() == 1; 554 } 555 556 // Window Message Handler 557 LRESULT OnInitDialog(HWND, LPARAM lParam) 558 { 559 m_pOwner = (CPropertyFrameDialog*) lParam; 560 m_bActivating = TRUE; 561 _ATLTRY 562 { 563 CWaitCursor WaitCursor; 564 m_TitleStatic = GetDlgItem(IDC_FILTERGRAPHHELPER_EMAIL_LOG_TITLE); 565 CreateTitleFont(m_TitleFont, m_TitleStatic); 566 m_FileListView.Initialize(GetDlgItem(IDC_FILTERGRAPHHELPER_EMAIL_LOG_FILE)); 567 m_nFileListViewGroupViewEnabled = m_FileListView.EnableGroupView(TRUE); 568 m_TruncateComboBox.Initialize(GetDlgItem(IDC_FILTERGRAPHHELPER_EMAIL_LOG_TRUNCATE)); 569 m_DeleteComboBox.Initialize(GetDlgItem(IDC_FILTERGRAPHHELPER_EMAIL_LOG_DELETE)); 570 DlgResize_Init(FALSE, FALSE); 571 InitializeFileListView(); 572 m_FileListView.SetColumnWidth(3, LVSCW_AUTOSIZE); 573 m_TruncateComboBox.SetCurSel(2); 574 m_DeleteComboBox.SetCurSel(0); 575 UpdateControls(); 576 m_bActivating = FALSE; 577 } 578 _ATLCATCH(Exception) 579 { 580 for(CWindow Window = GetWindow(GW_CHILD); Window; Window = Window.GetWindow(GW_HWNDNEXT)) 581 Window.EnableWindow(FALSE); 582 AtlExceptionMessageBox(m_hWnd, Exception); 583 } 584 return TRUE; 585 } 586 LRESULT OnChanged(UINT, INT_PTR nIdentifier, HWND) 587 { 588 if(m_bActivating) 589 return 0; 590 m_ChangeMap[nIdentifier] = TRUE; 591 UpdateControls(); 592 return 0; 593 } 594 LRESULT OnChanged(NMHDR* pHeader) 595 { 596 return OnChanged(pHeader->code, pHeader->idFrom, pHeader->hwndFrom); 597 } 598 LRESULT OnFileListViewGetDispInfo(NMLVDISPINFO* pHeader) 599 { 600 const CFileData& FileData = m_FileListView.DataFromParameter(pHeader->item.lParam); 601 if(pHeader->item.mask & LVIF_TEXT) 602 { 603 CString& sTextBuffer = m_FileListView.GetTextBufferString(TRUE); 604 switch(pHeader->item.iSubItem) 605 { 606 case 1: // Size 607 sTextBuffer = _StringHelper::FormatNumber((LONGLONG) FileData.m_nSize); 608 break; 609 case 2: // Update Time 610 sTextBuffer = _StringHelper::FormatDateTime(FileData.GetLocalUpdateTime()); 611 break; 612 case 3: // Directory 613 sTextBuffer = (LPCTSTR) GetPathDirectory(FileData.m_sPath); 614 break; 615 default: // File Name 616 sTextBuffer = FindFileName(FileData.m_sPath); 617 } 618 pHeader->item.pszText = m_FileListView.GetTextBuffer(); 619 } 620 return 0; 621 } 622 LRESULT OnFileListViewItemChanged(NMLISTVIEW* pHeader) 623 { 624 return m_FileListView.OnReflectedItemChanged(pHeader); 625 } 626 }; 627 628 //////////////////////////////////////////////////// 337 629 // CEmailDialog 338 630 … … 360 652 NOTIFY_HANDLER_EX(IDC_FILTERGRAPHHELPER_EMAIL_CLEANUP, CRoHyperStatic::NC_ANCHORCLICKED, OnCleanupStaticAnchorClicked) 361 653 REFLECT_NOTIFICATIONS() 654 ALT_MSG_MAP(IDC_FILTERGRAPHHELPER_EMAIL_FROM) 655 MSG_WM_PASTE(OnFromEditPaste) 362 656 END_MSG_MAP() 363 657 … … 373 667 CStatic m_TitleStatic; 374 668 CFont m_TitleFont; 375 C RoEditm_FromEdit;669 CContainedWindowT<CRoEdit> m_FromEdit; 376 670 CRoEdit m_ToEdit; 377 671 CRoComboBoxT<> m_MethodComboBox; … … 387 681 public: 388 682 // CEmailDialog 389 VOID InitializeControlsFromRegistry() 390 { 391 const CString sMessageString = _RegKeyHelper::QueryStringValue(HKEY_CURRENT_USER, REGISTRY_ROOT, _T("Email Message Template")); 392 if(sMessageString.IsEmpty()) 393 return; 683 CEmailDialog() : 684 m_FromEdit(this, IDC_FILTERGRAPHHELPER_EMAIL_FROM) 685 { 686 } 687 BOOL InitializeControlsFromMessageString(const CString& sMessageString) 688 { 394 689 _ATLTRY 395 690 { … … 448 743 { 449 744 _Z_EXCEPTION(); 450 } 745 return FALSE; 746 } 747 return TRUE; 748 } 749 VOID InitializeControlsFromRegistry() 750 { 751 const CString sMessageString = _RegKeyHelper::QueryStringValue(HKEY_CURRENT_USER, REGISTRY_ROOT, _T("Email Message Template")); 752 if(sMessageString.IsEmpty()) 753 return; 754 InitializeControlsFromMessageString(sMessageString); 451 755 } 452 756 VOID InitializeBody() … … 501 805 sText += AtlFormatString(_T(" * ") _T("Version: %s") _T("\r\n"), _StringHelper::Join(VersionArray, _T("; "))); 502 806 #pragma endregion 503 TCHAR pszComputerName[256] = { 0 }; 504 DWORD nComputerNameLength = DIM(pszComputerName); 505 GetComputerName(pszComputerName, &nComputerNameLength); 506 sText += AtlFormatString(_T(" * ") _T("Computer Name: %s") _T("\r\n"), I(pszComputerName)); 807 sText += AtlFormatString(_T(" * ") _T("Computer Name: %s") _T("\r\n"), I(GetComputerName())); 507 808 TCHAR pszUserName[256] = { 0 }; 508 809 DWORD nUserNameLength = DIM(pszUserName); … … 581 882 m_SendButton.EnableWindow(bAllowSend); 582 883 } 884 static CString GetComputerName() 885 { 886 TCHAR pszComputerName[256] = { 0 }; 887 DWORD nComputerNameLength = DIM(pszComputerName); 888 ::GetComputerName(pszComputerName, &nComputerNameLength); 889 return pszComputerName; 890 } 583 891 584 892 // Window Message Handler … … 592 900 m_TitleStatic = GetDlgItem(IDC_FILTERGRAPHHELPER_EMAIL_TITLE); 593 901 CreateTitleFont(m_TitleFont, m_TitleStatic); 594 m_FromEdit = GetDlgItem(IDC_FILTERGRAPHHELPER_EMAIL_FROM);902 _W(m_FromEdit.SubclassWindow(GetDlgItem(IDC_FILTERGRAPHHELPER_EMAIL_FROM))); 595 903 m_ToEdit = GetDlgItem(IDC_FILTERGRAPHHELPER_EMAIL_TO); 596 904 m_MethodComboBox.Initialize(GetDlgItem(IDC_FILTERGRAPHHELPER_EMAIL_METHOD)); … … 639 947 { 640 948 return OnChanged(pHeader->code, pHeader->idFrom, pHeader->hwndFrom); 949 } 950 LRESULT OnFromEditPaste() 951 { 952 _ATLTRY 953 { 954 CString sText; 955 if(GetClipboardText(m_hWnd, sText)) 956 { 957 const INT nLength = sText.GetLength(); 958 if(nLength >= 128 && nLength < 8192) 959 { 960 sText.Trim(); 961 const BOOL bResult = InitializeControlsFromMessageString(sText); 962 UpdateControls(); 963 if(bResult) 964 return 0; 965 } 966 } 967 } 968 _ATLCATCHALL() 969 { 970 MessageBeep(MB_ICONERROR); 971 } 972 return 0; 641 973 } 642 974 LRESULT OnSend(UINT, INT, HWND) … … 697 1029 sText += m_sFilterGraphText; 698 1030 __C(pMessage->put_Body(CComBSTR(sText))); 699 CString sSubject = AtlFormatString(_T("DirectShow Filter Graph by %s"), AtlLoadString(IDS_PROJNAME));1031 CString sSubject = AtlFormatString(_T("DirectShow Filter Graph from %s by %s"), GetComputerName(), AtlLoadString(IDS_PROJNAME)); 700 1032 __C(pMessage->put_Subject(CComBSTR(sSubject))); 1033 #pragma region Attachment 1034 CRoArrayT<CPath> DeleteArray; 1035 { 1036 CEmailLogDialog& EmailLogDialog = m_pOwner->m_EmailLogDialog; 1037 CRoArrayT<CEmailLogDialog::CSelectedFileData> Array; 1038 if(EmailLogDialog.GetFiles(Array)) 1039 { 1040 const ULONGLONG nTruncateSize = EmailLogDialog.GetTruncateSize(); 1041 const BOOL bDelete = EmailLogDialog.GetDelete(); 1042 for(SIZE_T nIndex = 0; nIndex < Array.GetCount(); nIndex++) 1043 _ATLTRY 1044 { 1045 CEmailLogDialog::CSelectedFileData& FileData = Array[nIndex]; 1046 CLocalObjectPtr<CBzip2Item> pItem; 1047 pItem->LoadFromFile(FileData.m_sPath, nTruncateSize); 1048 CHeapPtr<BYTE> pnData; 1049 SIZE_T nDataSize; 1050 pItem->GetData(pnData, nDataSize); 1051 if(nDataSize) 1052 { 1053 CObjectPtr<CMessage::CComAttachment> pAttachment = pMessage->GetAttachments()->Add(); 1054 _ATLTRY 1055 { 1056 pAttachment->SetType(L"application/bzip2"); 1057 pAttachment->SetDisposition(L"attachment"); 1058 pAttachment->SetName(CStringW(FileData.m_sName + _T(".bz2"))); 1059 CLocalObjectPtr<CUnmanagedMemoryStream> pStream; 1060 pStream->Initialize(pnData, nDataSize); 1061 pAttachment->LoadFromStream(pStream); 1062 } 1063 _ATLCATCHALL() 1064 { 1065 _V(pMessage->GetAttachments()->Remove(pAttachment)); 1066 _ATLRETHROW; 1067 } 1068 } 1069 if(bDelete) 1070 DeleteArray.Add(FileData.m_sPath); 1071 } 1072 _ATLCATCHALL() 1073 { 1074 _Z_EXCEPTION() 1075 } 1076 } 1077 } 1078 #pragma endregion 701 1079 __C(pMessage->Send()); 1080 for(SIZE_T nIndex = 0; nIndex < DeleteArray.GetCount(); nIndex++) 1081 DeleteFile(DeleteArray[nIndex]); 702 1082 _RegKeyHelper::SetStringValue(HKEY_CURRENT_USER, REGISTRY_ROOT, _T("Email Message Template"), CString(sMessageString)); 703 AtlOptionalMessageBoxEx(m_hWnd, _T("CFilterGraphHelper::CPropertyFrameDialog::CEmailDialog::CredentialsSaved"), _T("The email was sent ") _T("\r\n\r\n") _T("The credentials were written into registry for further reuse. Use Erase Cached Credentials link to delete them from registry."), IDS_INFORMATION, MB_ICONINFORMATION | MB_OK);1083 AtlOptionalMessageBoxEx(m_hWnd, _T("CFilterGraphHelper::CPropertyFrameDialog::CEmailDialog::CredentialsSaved"), _T("The email was sent.") _T("\r\n\r\n") _T("The credentials were written into registry for further reuse. Use Erase Cached Credentials link to delete them from registry."), IDS_INFORMATION, MB_ICONINFORMATION | MB_OK); 704 1084 MessageBeep(MB_OK); 705 1085 return 0; … … 708 1088 { 709 1089 _RegKeyHelper::DeleteValue(HKEY_CURRENT_USER, REGISTRY_ROOT, _T("Email Message Template")); 710 AtlOptionalMessageBoxEx(m_hWnd, _T("CFilterGraphHelper::CPropertyFrameDialog::CEmailDialog::SavedCredentialsDeleted"), _T("Cached email credentials are removed from registry."), IDS_INFORMATION, MB_ICONINFORMATION | MB_OK);1090 AtlOptionalMessageBoxEx(m_hWnd, _T("CFilterGraphHelper::CPropertyFrameDialog::CEmailDialog::SavedCredentialsDeleted"), _T("Cached email credentials were removed from registry."), IDS_INFORMATION, MB_ICONINFORMATION | MB_OK); 711 1091 MessageBeep(MB_OK); 712 1092 return 0; … … 732 1112 TYPE_ACTION, 733 1113 TYPE_EMAIL, 1114 TYPE_EMAIL_LOG, 734 1115 } TYPE; 735 1116 … … 808 1189 CTreeItem m_ActionItem; 809 1190 CTreeItem m_EmailItem; 1191 CTreeItem m_EmailLogItem; 810 1192 CTabCtrl m_Tab; 811 1193 CRoEdit m_TextEdit; … … 818 1200 CActionDialog m_ActionDialog; 819 1201 CEmailDialog m_EmailDialog; 1202 CEmailLogDialog m_EmailLogDialog; 820 1203 821 1204 static VOID CreateTitleFont(CFont& Font, HWND hStaticWindow = NULL) … … 911 1294 m_EmailItem.m_hTreeItem = EmailItem; 912 1295 m_EmailItem.m_pTreeView = &m_TreeView; 1296 CTreeItem EmailLogItem = m_TreeView.InsertItem(EmailItem, NULL, CData(CData::TYPE_EMAIL_LOG), _T("Log Files")); 1297 m_EmailLogItem.m_hTreeItem = EmailLogItem; 1298 m_EmailLogItem.m_pTreeView = &m_TreeView; 1299 m_TreeView.Expand(EmailItem); 913 1300 } 914 1301 VOID HideCurrentSite() … … 946 1333 _W(m_ActionDialog.SetWindowPos(NULL, Position, SWP_NOZORDER | SWP_NOACTIVATE)); 947 1334 _W(m_EmailDialog.SetWindowPos(NULL, Position, SWP_NOZORDER | SWP_NOACTIVATE)); 1335 _W(m_EmailLogDialog.SetWindowPos(NULL, Position, SWP_NOZORDER | SWP_NOACTIVATE)); 948 1336 } 949 1337 … … 992 1380 __E(m_ActionDialog.Create(m_hWnd, (LPARAM) this)); 993 1381 __E(m_EmailDialog.Create(m_hWnd, (LPARAM) this)); 1382 __E(m_EmailLogDialog.Create(m_hWnd, (LPARAM) this)); 994 1383 DlgResize_Init(TRUE); 995 1384 UpdateTree(); … … 1082 1471 if(Data.m_Type != CData::TYPE_EMAIL) 1083 1472 m_EmailDialog.ShowWindow(SW_HIDE); 1473 if(Data.m_Type != CData::TYPE_EMAIL_LOG) 1474 m_EmailLogDialog.ShowWindow(SW_HIDE); 1084 1475 if(Data.m_pBaseFilter) 1085 1476 { … … 1195 1586 break; 1196 1587 #pragma endregion 1588 #pragma region TYPE_EMAIL_LOG 1589 case CData::TYPE_EMAIL_LOG: 1590 m_TextEdit.ShowWindow(SW_HIDE); 1591 _W(m_EmailLogDialog.SetWindowPos(NULL, GetTextEditPosition(), SWP_NOZORDER | SWP_SHOWWINDOW)); 1592 break; 1593 #pragma endregion 1197 1594 default: 1198 1595 m_TextEdit.ShowWindow(SW_SHOW); … … 1200 1597 m_ActionDialog.ShowWindow(SW_HIDE); 1201 1598 m_EmailDialog.ShowWindow(SW_HIDE); 1599 m_EmailLogDialog.ShowWindow(SW_HIDE); 1202 1600 } 1203 1601 m_ApplyButton.EnableWindow(FALSE); … … 1209 1607 m_ActionDialog.ShowWindow(SW_HIDE); 1210 1608 m_EmailDialog.ShowWindow(SW_HIDE); 1609 m_EmailLogDialog.ShowWindow(SW_HIDE); 1211 1610 m_ApplyButton.EnableWindow(FALSE); 1212 1611 } -
trunk/DirectShowSpy/GraphBuilderCallbackPropertySheet.h
r242 r256 1326 1326 { 1327 1327 if(!_tcslen(m_sPath)) 1328 m_sPath = CDebugTraceBase::Get FilePath();1328 m_sPath = CDebugTraceBase::GetLocalMachineFilePath(); 1329 1329 #if _DEVELOPMENT && FALSE 1330 1330 static LPCTSTR g_pszPath = _T("D:\\Projects\\A&H\\LuxRiot\\_Issues\\45 Sanyo XP Issues\\DirectShowSpy.log"); -
trunk/DirectShowSpy/resource.h
r247 r256 89 89 #define IDC_FILTERGRAPHHELPER_ACTION_OPENLIST 1711 90 90 #define IDC_FILTERGRAPHHELPER_ACTION_OPENLISTDESCRIPTION 1712 91 #define IDD_FILTERGRAPHHELPER_EMAIL_LOG 1800 92 #define IDC_FILTERGRAPHHELPER_EMAIL_LOG_TITLE 1801 93 #define IDC_FILTERGRAPHHELPER_EMAIL_LOG_INTRODUCTION 1805 94 #define IDC_FILTERGRAPHHELPER_EMAIL_LOG_FILE 1806 95 #define IDC_FILTERGRAPHHELPER_EMAIL_LOG_TRUNCATE 1810 96 #define IDC_FILTERGRAPHHELPER_EMAIL_LOG_TRUNCATETITLE 1811 97 #define IDC_FILTERGRAPHHELPER_EMAIL_LOG_DELETETITLE 1812 98 #define IDC_FILTERGRAPHHELPER_EMAIL_LOG_DELETE 1813 91 99 #define IDR_FILTERGRAPHSPY 25000 92 100 #define IDR_NOTHREADFILTERGRAPHSPY 25001 … … 112 120 #define _APS_NEXT_RESOURCE_VALUE 211 113 121 #define _APS_NEXT_COMMAND_VALUE 32781 114 #define _APS_NEXT_CONTROL_VALUE 2 29122 #define _APS_NEXT_CONTROL_VALUE 236 115 123 #define _APS_NEXT_SYMED_VALUE 103 116 124 #endif
Note: See TracChangeset
for help on using the changeset viewer.