Changeset 376
- Timestamp:
- Mar 18, 2015, 1:57:00 AM (8 years ago)
- Location:
- trunk/DirectShowSpy
- Files:
-
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/DirectShowSpy/AboutDialog.h
r319 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/Common.h
r348 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/Configuration.cpp
r276 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/Configuration.h
r276 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/FilterGraphHelper.h
r359 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // … … 58 58 MSG_WM_DESTROY(OnDestroy) 59 59 COMMAND_ID_HANDLER_EX(IDC_GENERIC_RUNPROPERTYBAG_REFRESH, OnRefresh) 60 COMMAND_ID_HANDLER_EX(IDC_GENERIC_RUNPROPERTYBAG_COPY, OnCopy) 61 COMMAND_ID_HANDLER_EX(IDC_GENERIC_RUNPROPERTYBAG_SAVEAS, OnSaveAs) 60 62 REFLECT_NOTIFICATIONS() 61 63 END_MSG_MAP() … … 65 67 DLGRESIZE_CONTROL(IDC_GENERIC_RUNPROPERTYBAG_TEXT, DLSZ_SIZE_X | DLSZ_SIZE_Y) 66 68 DLGRESIZE_CONTROL(IDC_GENERIC_RUNPROPERTYBAG_REFRESH, DLSZ_MOVE_Y) 69 DLGRESIZE_CONTROL(IDC_GENERIC_RUNPROPERTYBAG_COPY, DLSZ_MOVE_Y) 70 DLGRESIZE_CONTROL(IDC_GENERIC_RUNPROPERTYBAG_SAVEAS, DLSZ_MOVE_Y) 67 71 END_DLGRESIZE_MAP() 68 72 … … 71 75 CRoEdit m_TextEdit; 72 76 CFont m_TextFont; 77 CButton m_CopyButton; 78 CButton m_SaveAsButton; 73 79 CRoMapT<INT_PTR, BOOL> m_ChangeMap; 74 80 … … 94 100 VOID UpdateControls() 95 101 { 102 const INT nLextLength = m_TextEdit.GetWindowTextLength(); 103 m_CopyButton.EnableWindow(nLextLength > 0); 104 m_SaveAsButton.EnableWindow(nLextLength > 0); 96 105 } 97 106 VOID UpdateText() … … 102 111 } 103 112 104 // Window message handlers113 // Window Message Handler 105 114 LRESULT OnInitDialog(HWND, LPARAM) 106 115 { … … 116 125 m_TextFont = TextFont.CreateFontIndirect(); 117 126 m_TextEdit.SetFont(m_TextFont); 127 //m_RefreshButton = GetDlgItem(IDC_GENERIC_RUNEVENT_REFRESH); 128 m_CopyButton = GetDlgItem(IDC_GENERIC_RUNPROPERTYBAG_COPY); 129 m_SaveAsButton = GetDlgItem(IDC_GENERIC_RUNPROPERTYBAG_SAVEAS); 118 130 DlgResize_Init(FALSE); 119 131 _A(GetObjectCount() >= 1); … … 142 154 UpdateText(); 143 155 UpdateControls(); 156 return 0; 157 } 158 LRESULT OnCopy(UINT, INT, HWND) 159 { 160 SetClipboardText(m_hWnd, m_TextEdit.GetValue()); 161 MessageBeep(MB_OK); 162 return 0; 163 } 164 LRESULT OnSaveAs(UINT, INT, HWND) 165 { 166 static const COMDLG_FILTERSPEC g_pFilter[] = 167 { 168 { _T("Text Files"), _T("*.txt") }, 169 { _T("BZip2 Compressed Text Files"), _T("*.txt.bz2") }, 170 { _T("All Files"), _T("*.*") }, 171 }; 172 CPath sPath = _CommonDialogHelper::QuerySavePath(m_hWnd, g_pFilter, _T("txt")); 173 if(!_tcslen(sPath)) 174 return 0; 175 CAtlFile File; 176 __C(File.Create(sPath, GENERIC_WRITE, FILE_SHARE_READ, CREATE_ALWAYS)); 177 _ATLTRY 178 { 179 CStringA sText = Utf8StringFromString(CStringW(m_TextEdit.GetValue())); 180 static const BYTE g_pnByteOrderMark[] = { 0xEF, 0xBB, 0xBF, 0x00 }; 181 sText.Insert(0, (LPCSTR) g_pnByteOrderMark); 182 if(_tcsicmp(GetPathExtension(sPath), _T(".bz2")) == 0) 183 { 184 CLocalObjectPtr<CBzip2Item> pItem; 185 pItem->SetRawData((const BYTE*) (LPCSTR) sText, sText.GetLength()); 186 CHeapPtr<BYTE> pnData; 187 SIZE_T nDataSize = 0; 188 pItem->GetData(pnData, nDataSize); 189 __C(File.Write(pnData, (DWORD) nDataSize)); 190 } else 191 __C(File.Write(sText, (DWORD) sText.GetLength())); 192 } 193 _ATLCATCHALL() 194 { 195 File.Close(); 196 _W(DeleteFile(sPath)); 197 _ATLRETHROW; 198 } 199 MessageBeep(MB_OK); 144 200 return 0; 145 201 } … … 193 249 COMMAND_HANDLER_EX(IDC_GENERIC_RUNEVENT_CAPTURE, BN_CLICKED, OnCaptureButtonClicked) 194 250 COMMAND_ID_HANDLER_EX(IDC_GENERIC_RUNEVENT_REFRESH, OnRefresh) 251 COMMAND_ID_HANDLER_EX(IDC_GENERIC_RUNEVENT_COPY, OnCopy) 252 COMMAND_ID_HANDLER_EX(IDC_GENERIC_RUNEVENT_SAVEAS, OnSaveAs) 195 253 REFLECT_NOTIFICATIONS() 196 254 END_MSG_MAP() … … 200 258 DLGRESIZE_CONTROL(IDC_GENERIC_RUNEVENT_TEXT, DLSZ_SIZE_X | DLSZ_SIZE_Y) 201 259 DLGRESIZE_CONTROL(IDC_GENERIC_RUNEVENT_REFRESH, DLSZ_MOVE_Y) 260 DLGRESIZE_CONTROL(IDC_GENERIC_RUNEVENT_COPY, DLSZ_MOVE_Y) 261 DLGRESIZE_CONTROL(IDC_GENERIC_RUNEVENT_SAVEAS, DLSZ_MOVE_Y) 202 262 END_DLGRESIZE_MAP() 203 263 … … 209 269 CRoEdit m_TextEdit; 210 270 CButton m_RefreshButton; 271 CButton m_CopyButton; 272 CButton m_SaveAsButton; 211 273 CRoMapT<INT_PTR, BOOL> m_ChangeMap; 212 274 … … 235 297 //m_TextEdit.EnableWindow(bCapture); 236 298 m_RefreshButton.EnableWindow(bCapture); 299 const INT nLextLength = m_TextEdit.GetWindowTextLength(); 300 m_CopyButton.EnableWindow(nLextLength > 0); 301 m_SaveAsButton.EnableWindow(nLextLength > 0); 237 302 } 238 303 VOID Refresh() … … 267 332 } 268 333 269 // Window message handlers334 // Window Message Handler 270 335 LRESULT OnInitDialog(HWND, LPARAM) 271 336 { … … 276 341 m_TextEdit = GetDlgItem(IDC_GENERIC_RUNEVENT_TEXT); 277 342 m_RefreshButton = GetDlgItem(IDC_GENERIC_RUNEVENT_REFRESH); 343 m_CopyButton = GetDlgItem(IDC_GENERIC_RUNEVENT_COPY); 344 m_SaveAsButton = GetDlgItem(IDC_GENERIC_RUNEVENT_SAVEAS); 278 345 DlgResize_Init(FALSE); 279 346 //m_OutputSampleTimeEdit = GetDlgItem(IDC_SUSPENSIONFILTER_SAMPLE_OUTPUTTIME); … … 326 393 return 0; 327 394 } 395 LRESULT OnCopy(UINT, INT, HWND) 396 { 397 SetClipboardText(m_hWnd, m_TextEdit.GetValue()); 398 MessageBeep(MB_OK); 399 return 0; 400 } 401 LRESULT OnSaveAs(UINT, INT, HWND) 402 { 403 static const COMDLG_FILTERSPEC g_pFilter[] = 404 { 405 { _T("Text Files"), _T("*.txt") }, 406 { _T("BZip2 Compressed Text Files"), _T("*.txt.bz2") }, 407 { _T("All Files"), _T("*.*") }, 408 }; 409 CPath sPath = _CommonDialogHelper::QuerySavePath(m_hWnd, g_pFilter, _T("txt")); 410 if(!_tcslen(sPath)) 411 return 0; 412 CAtlFile File; 413 __C(File.Create(sPath, GENERIC_WRITE, FILE_SHARE_READ, CREATE_ALWAYS)); 414 _ATLTRY 415 { 416 CStringA sText = Utf8StringFromString(CStringW(m_TextEdit.GetValue())); 417 static const BYTE g_pnByteOrderMark[] = { 0xEF, 0xBB, 0xBF, 0x00 }; 418 sText.Insert(0, (LPCSTR) g_pnByteOrderMark); 419 if(_tcsicmp(GetPathExtension(sPath), _T(".bz2")) == 0) 420 { 421 CLocalObjectPtr<CBzip2Item> pItem; 422 pItem->SetRawData((const BYTE*) (LPCSTR) sText, sText.GetLength()); 423 CHeapPtr<BYTE> pnData; 424 SIZE_T nDataSize = 0; 425 pItem->GetData(pnData, nDataSize); 426 __C(File.Write(pnData, (DWORD) nDataSize)); 427 } else 428 __C(File.Write(sText, (DWORD) sText.GetLength())); 429 } 430 _ATLCATCHALL() 431 { 432 File.Close(); 433 _W(DeleteFile(sPath)); 434 _ATLRETHROW; 435 } 436 MessageBeep(MB_OK); 437 return 0; 438 } 328 439 329 440 // COlePropertyPageT, IRoPropertyPageT, IPropertyPage2, IPropertyPage … … 411 522 MSG_TVN_ITEMEXPANDING(IDC_FILTERGRAPHHELPER_PROPERTYFRAME_TREE, OnTreeViewItemExplanding) 412 523 MSG_TVN_DBLCLK(IDC_FILTERGRAPHHELPER_PROPERTYFRAME_TREE, OnTreeViewDblClk) 524 NOTIFY_HANDLER_EX(IDC_FILTERGRAPHHELPER_PROPERTYFRAME_REFRESH, CRoHyperStatic::NC_ANCHORCLICKED, OnRefreshAnchorClicked) 525 NOTIFY_HANDLER_EX(IDC_FILTERGRAPHHELPER_PROPERTYFRAME_COPY, CRoHyperStatic::NC_ANCHORCLICKED, OnCopyAnchorClicked) 526 NOTIFY_HANDLER_EX(IDC_FILTERGRAPHHELPER_PROPERTYFRAME_SAVEAS, CRoHyperStatic::NC_ANCHORCLICKED, OnSaveAsAnchorClicked) 413 527 MSG_WM_SYSCOMMAND(OnSysCommand) 414 528 COMMAND_ID_HANDLER_EX(IDOK, OnOk) … … 425 539 DLGRESIZE_CONTROL(IDC_FILTERGRAPHHELPER_PROPERTYFRAME_TREE, DLSZ_SIZE_Y) 426 540 DLGRESIZE_CONTROL(IDC_FILTERGRAPHHELPER_PROPERTYFRAME_TEXT, DLSZ_SIZE_X | DLSZ_SIZE_Y) 541 DLGRESIZE_CONTROL(IDC_FILTERGRAPHHELPER_PROPERTYFRAME_REFRESH, DLSZ_MOVE_Y) 542 DLGRESIZE_CONTROL(IDC_FILTERGRAPHHELPER_PROPERTYFRAME_COPY, DLSZ_MOVE_Y) 543 DLGRESIZE_CONTROL(IDC_FILTERGRAPHHELPER_PROPERTYFRAME_SAVEAS, DLSZ_MOVE_Y) 427 544 DLGRESIZE_CONTROL(IDOK, DLSZ_MOVE_X | DLSZ_MOVE_Y) 428 545 DLGRESIZE_CONTROL(IDCANCEL, DLSZ_MOVE_X | DLSZ_MOVE_Y) … … 851 968 LRESULT OnSaveAs(UINT, INT, HWND) 852 969 { 853 CPath sPath;854 970 static const COMDLG_FILTERSPEC g_pFilter[] = 855 971 { … … 857 973 { _T("All Files"), _T("*.*") }, 858 974 }; 859 if(GetOsVersion() >= GetWinVistaOsVersion()) 860 { 861 CShellFileSaveDialog Dialog(NULL, FOS_OVERWRITEPROMPT | FOS_FORCEFILESYSTEM | FOS_PATHMUSTEXIST, _T("grf"), g_pFilter, DIM(g_pFilter)); 862 if(Dialog.DoModal(m_hWnd) != IDOK) 863 return 0; 864 CString sPathString; 865 __C(Dialog.GetFilePath(sPathString)); 866 sPath = (LPCTSTR) sPathString; 867 } else 868 { 869 CString sFilter; 870 CFileDialog Dialog(FALSE, _T("grf"), NULL, OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_PATHMUSTEXIST | OFN_EXPLORER | OFN_ENABLESIZING, GetLegacyFilter(g_pFilter, sFilter)); 871 if(Dialog.DoModal(m_hWnd) != IDOK) 872 return 0; 873 sPath = Dialog.m_szFileName; 874 } 975 CPath sPath = _CommonDialogHelper::QuerySavePath(m_hWnd, g_pFilter, _T("grf")); 976 if(_tcslen(sPath) == 0) 977 return 0; 875 978 #pragma region Save 876 979 // NOTE: See http://msdn.microsoft.com/en-us/library/windows/desktop/dd377551 … … 1816 1919 CRect m_TextPosition; 1817 1920 CFont m_TextFont; 1921 CRoHyperStatic m_RefreshStatic; 1922 CRoHyperStatic m_CopyStatic; 1923 CRoHyperStatic m_SaveAsStatic; 1818 1924 CButton m_OkButton; 1819 1925 CButton m_CancelButton; … … 1835 1941 if(hStaticWindow) 1836 1942 CStatic(hStaticWindow).SetFont(Font); 1943 } 1944 VOID ShowText(BOOL bVisible, BOOL bStaticVisible = FALSE) 1945 { 1946 m_TextEdit.ShowWindow(bVisible ? SW_SHOW : SW_HIDE); 1947 bStaticVisible &= bVisible; 1948 m_RefreshStatic.ShowWindow(bStaticVisible ? SW_SHOW : SW_HIDE); 1949 m_CopyStatic.ShowWindow(bStaticVisible ? SW_SHOW : SW_HIDE); 1950 m_SaveAsStatic.ShowWindow(bStaticVisible ? SW_SHOW : SW_HIDE); 1837 1951 } 1838 1952 … … 2027 2141 _W(m_EmailDialog.SetWindowPos(NULL, Position, SWP_NOZORDER | SWP_NOACTIVATE)); 2028 2142 _W(m_EmailLogDialog.SetWindowPos(NULL, Position, SWP_NOZORDER | SWP_NOACTIVATE)); 2143 } 2144 2145 // CDialogWithAcceleratorsT 2146 BOOL TranslateAccelerator(MSG* pMessage) 2147 { 2148 CTreeItem TreeItem = m_TreeView.GetSelectedItem(); 2149 if(TreeItem) 2150 { 2151 CData& Data = m_TreeView.GetItemData(TreeItem); 2152 if(Data.m_Type == CData::TYPE_FILTERPROPERTYPAGE) 2153 { 2154 if(Data.m_pPropertyPage) 2155 if(Data.m_pPropertyPage->TranslateAccelerator(pMessage) == S_OK) 2156 return TRUE; 2157 } 2158 } 2159 return __super::TranslateAccelerator(pMessage); 2029 2160 } 2030 2161 … … 2068 2199 m_TextFont = TextFont.CreateFontIndirect(); 2069 2200 m_TextEdit.SetFont(m_TextFont); 2201 m_RefreshStatic.SubclassWindow(GetDlgItem(IDC_FILTERGRAPHHELPER_PROPERTYFRAME_REFRESH)); 2202 m_CopyStatic.SubclassWindow(GetDlgItem(IDC_FILTERGRAPHHELPER_PROPERTYFRAME_COPY)); 2203 m_SaveAsStatic.SubclassWindow(GetDlgItem(IDC_FILTERGRAPHHELPER_PROPERTYFRAME_SAVEAS)); 2204 CRoHyperStatic::ArrangeHorizontally(&m_RefreshStatic, &m_CopyStatic, &m_SaveAsStatic, NULL); 2070 2205 m_OkButton = GetDlgItem(IDOK); 2071 2206 m_CancelButton = GetDlgItem(IDCANCEL); … … 2176 2311 if(Data.m_pPropertyPage) 2177 2312 { 2178 m_TextEdit.ShowWindow(SW_HIDE);2313 ShowText(FALSE); 2179 2314 if(Data.m_pSite != m_pCurrentSite) 2180 2315 HideCurrentSite(); … … 2194 2329 CWaitCursor WaitCursor; 2195 2330 HideCurrentSite(); 2196 m_TextEdit.ShowWindow(SW_SHOW);2331 ShowText(TRUE, FALSE); 2197 2332 CString sText; 2198 2333 sText += AtlFormatString(_T("## ") _T("Filter %ls") _T("\r\n") _T("\r\n"), _FilterGraphHelper::GetFilterName(Data.m_pBaseFilter)); … … 2313 2448 #pragma region TYPE_MEMORYALLOCATOR 2314 2449 case CData::TYPE_MEMORYALLOCATOR: 2315 m_TextEdit.ShowWindow(SW_HIDE);2450 ShowText(FALSE); 2316 2451 _W(m_MemoryAllocatorDialog.SetWindowPos(NULL, GetTextEditPosition(), SWP_NOZORDER | SWP_SHOWWINDOW)); 2317 2452 break; … … 2319 2454 #pragma region TYPE_ACTION 2320 2455 case CData::TYPE_ACTION: 2321 m_TextEdit.ShowWindow(SW_HIDE);2456 ShowText(FALSE); 2322 2457 _W(m_ActionDialog.SetWindowPos(NULL, GetTextEditPosition(), SWP_NOZORDER | SWP_SHOWWINDOW)); 2323 2458 break; … … 2325 2460 #pragma region TYPE_EMAIL 2326 2461 case CData::TYPE_EMAIL: 2327 m_TextEdit.ShowWindow(SW_HIDE);2462 ShowText(FALSE); 2328 2463 _W(m_EmailDialog.SetWindowPos(NULL, GetTextEditPosition(), SWP_NOZORDER | SWP_SHOWWINDOW)); 2329 2464 break; … … 2331 2466 #pragma region TYPE_EMAIL_LOG 2332 2467 case CData::TYPE_EMAIL_LOG: 2333 m_TextEdit.ShowWindow(SW_HIDE);2468 ShowText(FALSE); 2334 2469 _W(m_EmailLogDialog.SetWindowPos(NULL, GetTextEditPosition(), SWP_NOZORDER | SWP_SHOWWINDOW)); 2335 2470 break; 2336 2471 #pragma endregion 2337 2472 default: 2338 m_TextEdit.ShowWindow(SW_SHOW);2339 m_TextEdit.SetValue(m_Owner.GetText());2473 UpdateText(); 2474 ShowText(TRUE, TRUE); 2340 2475 m_MemoryAllocatorDialog.ShowWindow(SW_HIDE); 2341 2476 m_ActionDialog.ShowWindow(SW_HIDE); … … 2351 2486 { 2352 2487 HideCurrentSite(); 2353 m_TextEdit.ShowWindow(SW_HIDE);2488 ShowText(FALSE); 2354 2489 m_MemoryAllocatorDialog.ShowWindow(SW_HIDE); 2355 2490 m_ActionDialog.ShowWindow(SW_HIDE); … … 2379 2514 return 0; 2380 2515 Dialog.DoModal(m_hWnd); 2516 return 0; 2517 } 2518 VOID UpdateText() 2519 { 2520 m_TextEdit.SetValue(m_Owner.GetText()); 2521 const INT nTextLength = m_TextEdit.GetWindowTextLength(); 2522 //m_RefreshStatic.EnableWindow(TRUE); 2523 m_CopyStatic.EnableWindow(nTextLength > 0); 2524 m_SaveAsStatic.EnableWindow(nTextLength > 0); 2525 } 2526 LRESULT OnRefreshAnchorClicked(NMHDR*) 2527 { 2528 UpdateText(); 2529 MessageBeep(MB_OK); 2530 return 0; 2531 } 2532 LRESULT OnCopyAnchorClicked(NMHDR*) 2533 { 2534 SetClipboardText(m_hWnd, m_TextEdit.GetValue()); 2535 MessageBeep(MB_OK); 2536 return 0; 2537 } 2538 LRESULT OnSaveAsAnchorClicked(NMHDR*) 2539 { 2540 static const COMDLG_FILTERSPEC g_pFilter[] = 2541 { 2542 { _T("Markdown Files"), _T("*.md") }, 2543 { _T("Text Files"), _T("*.txt") }, 2544 { _T("BZip2 Compressed Markdown Files"), _T("*.md.bz2") }, 2545 { _T("All Files"), _T("*.*") }, 2546 }; 2547 CPath sPath = _CommonDialogHelper::QuerySavePath(m_hWnd, g_pFilter, _T("md")); 2548 if(!_tcslen(sPath)) 2549 return 0; 2550 CAtlFile File; 2551 __C(File.Create(sPath, GENERIC_WRITE, FILE_SHARE_READ, CREATE_ALWAYS)); 2552 _ATLTRY 2553 { 2554 CStringA sText = Utf8StringFromString(CStringW(m_TextEdit.GetValue())); 2555 static const BYTE g_pnByteOrderMark[] = { 0xEF, 0xBB, 0xBF, 0x00 }; 2556 sText.Insert(0, (LPCSTR) g_pnByteOrderMark); 2557 if(_tcsicmp(GetPathExtension(sPath), _T(".bz2")) == 0) 2558 { 2559 CLocalObjectPtr<CBzip2Item> pItem; 2560 pItem->SetRawData((const BYTE*) (LPCSTR) sText, sText.GetLength()); 2561 CHeapPtr<BYTE> pnData; 2562 SIZE_T nDataSize = 0; 2563 pItem->GetData(pnData, nDataSize); 2564 __C(File.Write(pnData, (DWORD) nDataSize)); 2565 } else 2566 __C(File.Write(sText, (DWORD) sText.GetLength())); 2567 } 2568 _ATLCATCHALL() 2569 { 2570 File.Close(); 2571 _W(DeleteFile(sPath)); 2572 _ATLRETHROW; 2573 } 2574 MessageBeep(MB_OK); 2381 2575 return 0; 2382 2576 } … … 3471 3665 #endif // defined(_WIN64) 3472 3666 } 3473 template <SIZE_T t_nItemCount>3474 static CString& GetLegacyFilter(const COMDLG_FILTERSPEC (&pItems)[t_nItemCount], CString& sFilter)3475 {3476 _A(sFilter.IsEmpty());3477 for(SIZE_T nIndex = 0; nIndex < t_nItemCount; nIndex++)3478 {3479 const COMDLG_FILTERSPEC& Item = pItems[nIndex];3480 sFilter += AtlFormatString(_T("%s (%s)|%s|"), Item.pszName, Item.pszSpec, Item.pszSpec);3481 }3482 sFilter.Replace(_T('|'), 0);3483 return sFilter;3484 }3485 3667 static BOOL OpenMonikerWithGsn(LPCWSTR pszMonikerDisplayName, HWND hParentWindow = GetActiveWindow()) 3486 3668 { … … 3515 3697 if(sPath.IsEmpty()) 3516 3698 { 3517 #pragma region Prompt3518 3699 static const COMDLG_FILTERSPEC g_pFilter[] = 3519 3700 { … … 3521 3702 { _T("All Files"), _T("*.*") }, 3522 3703 }; 3523 if(GetOsVersion() >= GetWinVistaOsVersion()) 3524 { 3525 CShellFileOpenDialog Dialog(g_pszFileName, FOS_FORCEFILESYSTEM | FOS_FILEMUSTEXIST, _T("exe"), g_pFilter, DIM(g_pFilter)); 3526 if(Dialog.DoModal(hParentWindow) != IDOK) 3527 return FALSE; 3528 __C(Dialog.GetFilePath(sPath)); 3529 } else 3530 { 3531 CString sFilter; 3532 CFileDialog Dialog(TRUE, _T("exe"), NULL, OFN_HIDEREADONLY | OFN_FILEMUSTEXIST | OFN_EXPLORER | OFN_ENABLESIZING, GetLegacyFilter(g_pFilter, sFilter)); 3533 if(Dialog.DoModal(hParentWindow) != IDOK) 3534 return FALSE; 3535 sPath = Dialog.m_szFileName; 3536 } 3537 #pragma endregion 3704 sPath = (LPCTSTR) _CommonDialogHelper::QueryOpenPath(hParentWindow, g_pFilter, _T("exe"), g_pszFileName); 3705 if(sPath.IsEmpty()) 3706 return FALSE; 3538 3707 _RegKeyHelper::SetStringValue(HKEY_CURRENT_USER, REGISTRY_ROOT, sValueName, sPath); 3539 3708 } … … 3568 3737 if(sPath.IsEmpty()) 3569 3738 { 3570 #pragma region Prompt3571 3739 static const COMDLG_FILTERSPEC g_pFilter[] = 3572 3740 { … … 3574 3742 { _T("All Files"), _T("*.*") }, 3575 3743 }; 3576 if(GetOsVersion() >= GetWinVistaOsVersion()) 3577 { 3578 CShellFileOpenDialog Dialog(g_pszFileName, FOS_FORCEFILESYSTEM | FOS_FILEMUSTEXIST, _T("exe"), g_pFilter, DIM(g_pFilter)); 3579 if(Dialog.DoModal(hParentWindow) != IDOK) 3580 return FALSE; 3581 __C(Dialog.GetFilePath(sPath)); 3582 } else 3583 { 3584 CString sFilter; 3585 CFileDialog Dialog(TRUE, _T("exe"), NULL, OFN_HIDEREADONLY | OFN_FILEMUSTEXIST | OFN_EXPLORER | OFN_ENABLESIZING, GetLegacyFilter(g_pFilter, sFilter)); 3586 if(Dialog.DoModal(hParentWindow) != IDOK) 3587 return FALSE; 3588 sPath = Dialog.m_szFileName; 3589 } 3590 #pragma endregion 3744 sPath = (LPCTSTR) _CommonDialogHelper::QueryOpenPath(hParentWindow, g_pFilter, _T("exe"), g_pszFileName); 3745 if(sPath.IsEmpty()) 3746 return FALSE; 3591 3747 _RegKeyHelper::SetStringValue(HKEY_CURRENT_USER, REGISTRY_ROOT, sValueName, sPath); 3592 3748 } -
trunk/DirectShowSpy/FilterGraphList.h
r355 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/FilterGraphSpy.cpp
r348 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/FilterGraphSpy.h
r355 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/FilterMapperSpy.h
r319 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/GraphBuilderCallbackPropertySheet.h
r276 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/Helper.cpp
r276 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/Module.cpp
r310 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/Module.idl
r348 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/RunEvent.h
r355 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/RunPropertyBag.h
r359 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/SystemDeviceEnumeratorSpy.h
r319 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/dllmain.cpp
r310 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/dllmain.h
r319 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/resource.h
r322 r376 71 71 #define IDC_FILTERGRAPHHELPER_PROPERTYFRAME_APPLY 1510 72 72 #define IDC_FILTERGRAPHHELPER_PROPERTYFRAME_TEXT 1511 73 #define IDC_FILTERGRAPHHELPER_PROPERTYFRAME_REFRESH 1512 74 #define IDC_FILTERGRAPHHELPER_PROPERTYFRAME_COPY 1513 75 #define IDC_FILTERGRAPHHELPER_PROPERTYFRAME_SAVEAS 1514 73 76 #define IDC_FILTERGRAPHHELPER_PROPERTYFRAME_TREE_WALKUP 1520 74 77 #define IDD_FILTERGRAPHHELPER_EMAIL 1600 … … 106 109 #define IDC_GENERIC_RUNPROPERTYBAG_TEXT 1916 107 110 #define IDC_GENERIC_RUNPROPERTYBAG_REFRESH 1917 111 #define IDC_GENERIC_RUNPROPERTYBAG_COPY 1918 112 #define IDC_GENERIC_RUNPROPERTYBAG_SAVEAS 1919 108 113 #define IDR_GENERIC_RUNEVENT_PROPERTYPAGE 1950 109 114 #define IDD_GENERIC_RUNEVENT 1960 … … 111 116 #define IDC_GENERIC_RUNEVENT_TEXT 1966 112 117 #define IDC_GENERIC_RUNEVENT_REFRESH 1967 118 #define IDC_GENERIC_RUNEVENT_COPY 1968 119 #define IDC_GENERIC_RUNEVENT_SAVEAS 1969 113 120 #define IDD_FILTERGRAPHHELPER_MEMORYALLOCATOR 2000 114 121 #define IDC_FILTERGRAPHHELPER_MEMORYALLOCATOR_TITLE 2001 … … 138 145 #define _APS_NEXT_RESOURCE_VALUE 211 139 146 #define _APS_NEXT_COMMAND_VALUE 32783 140 #define _APS_NEXT_CONTROL_VALUE 24 2147 #define _APS_NEXT_CONTROL_VALUE 249 141 148 #define _APS_NEXT_SYMED_VALUE 103 142 149 #endif -
trunk/DirectShowSpy/stdafx.cpp
r276 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/stdafx.h
r312 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 // -
trunk/DirectShowSpy/targetver.h
r276 r376 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-201 42 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info, http://alax.info 4 4 //
Note: See TracChangeset
for help on using the changeset viewer.