📄 configwnd.c.orig
字号:
{ BOOL bEnable = IsDlgButtonChecked (hDlg, IDC_SPLASH_SCREEN) == BST_CHECKED ; Config_SetInteger (CFGINT_SPLASH_SCREEN, bEnable) ; } return TRUE ; case MAKELONG(IDC_CHECK_UPDATES,BN_CLICKED): { BOOL bEnable = IsDlgButtonChecked (hDlg, IDC_CHECK_UPDATES) == BST_CHECKED ; Config_SetInteger (CFGINT_CHECK_FOR_UPDATES, bEnable) ; } return TRUE ; case MAKELONG(IDC_TRAY_ICON_ANIMATION,BN_CLICKED): { BOOL bEnable = IsDlgButtonChecked (hDlg, IDC_TRAY_ICON_ANIMATION) == BST_CHECKED ; Config_SetInteger (CFGINT_TRAY_ICON_ANIMATION, bEnable) ; TrayIcon_ReloadConfig () ; } return TRUE ; case MAKELONG(IDC_ALERT_SOUND,EN_KILLFOCUS): { TCHAR szBuffer[MAX_PATH] ; GetDlgItemText (hDlg, IDC_ALERT_SOUND, szBuffer, MAX_PATH) ; Config_SetString (CFGSTR_ALERT_SOUND, szBuffer) ; Sounds_ReloadConfig () ; } return TRUE ; case MAKELONG(IDC_ASK_SOUND,EN_KILLFOCUS): { TCHAR szBuffer[MAX_PATH] ; GetDlgItemText (hDlg, IDC_ASK_SOUND, szBuffer, MAX_PATH) ; Config_SetString (CFGSTR_ASK_SOUND, szBuffer) ; Sounds_ReloadConfig () ; } return TRUE ; case MAKELONG(IDC_VIRUS_SOUND,EN_KILLFOCUS): { TCHAR szBuffer[MAX_PATH] ; GetDlgItemText (hDlg, IDC_VIRUS_SOUND, szBuffer, MAX_PATH) ; Config_SetString (CFGSTR_VIRUS_SOUND, szBuffer) ; Sounds_ReloadConfig () ; } return TRUE ; case MAKELONG(IDC_BROWSE_ALERT_SOUND,BN_CLICKED): { TCHAR szBuffer[MAX_PATH] ; _ConfigWnd_BrowseSound (hDlg, szBuffer, MAX_PATH) ; SetDlgItemText (hDlg, IDC_ALERT_SOUND, szBuffer) ; Config_SetString (CFGSTR_ALERT_SOUND, szBuffer) ; Sounds_ReloadConfig () ; } return TRUE ; case MAKELONG(IDC_BROWSE_ASK_SOUND,BN_CLICKED): { TCHAR szBuffer[MAX_PATH] ; _ConfigWnd_BrowseSound (hDlg, szBuffer, MAX_PATH) ; SetDlgItemText (hDlg, IDC_ASK_SOUND, szBuffer) ; Config_SetString (CFGSTR_ASK_SOUND, szBuffer) ; Sounds_ReloadConfig () ; } return TRUE ; case MAKELONG(IDC_BROWSE_VIRUS_SOUND,BN_CLICKED): { TCHAR szBuffer[MAX_PATH] ; _ConfigWnd_BrowseSound (hDlg, szBuffer, MAX_PATH) ; SetDlgItemText (hDlg, IDC_VIRUS_SOUND, szBuffer) ; Config_SetString (CFGSTR_VIRUS_SOUND, szBuffer) ; Sounds_ReloadConfig () ; } return TRUE ; case MAKELONG(IDC_NO_SOUND,BN_CLICKED): { EnableDlgItem (hDlg, IDC_ALERT_SOUND, FALSE) ; EnableDlgItem (hDlg, IDC_ASK_SOUND, FALSE) ; EnableDlgItem (hDlg, IDC_VIRUS_SOUND, FALSE) ; EnableDlgItem (hDlg, IDC_BROWSE_ALERT_SOUND, FALSE) ; EnableDlgItem (hDlg, IDC_BROWSE_ASK_SOUND, FALSE) ; EnableDlgItem (hDlg, IDC_BROWSE_VIRUS_SOUND, FALSE) ; Config_SetInteger(CFGINT_SOUND, 0) ; Sounds_ReloadConfig () ; } return TRUE ; case MAKELONG(IDC_DEFAULT_SOUNDS,BN_CLICKED): { EnableDlgItem (hDlg, IDC_ALERT_SOUND, FALSE) ; EnableDlgItem (hDlg, IDC_ASK_SOUND, FALSE) ; EnableDlgItem (hDlg, IDC_VIRUS_SOUND, FALSE) ; EnableDlgItem (hDlg, IDC_BROWSE_ALERT_SOUND, FALSE) ; EnableDlgItem (hDlg, IDC_BROWSE_ASK_SOUND, FALSE) ; EnableDlgItem (hDlg, IDC_BROWSE_VIRUS_SOUND, FALSE) ; Config_SetInteger(CFGINT_SOUND, 1) ; Sounds_ReloadConfig () ; } return TRUE ; case MAKELONG(IDC_CUSTOM_SOUNDS,BN_CLICKED): { EnableDlgItem (hDlg, IDC_ALERT_SOUND, TRUE) ; EnableDlgItem (hDlg, IDC_ASK_SOUND, TRUE) ; EnableDlgItem (hDlg, IDC_VIRUS_SOUND, TRUE) ; EnableDlgItem (hDlg, IDC_BROWSE_ALERT_SOUND, TRUE) ; EnableDlgItem (hDlg, IDC_BROWSE_ASK_SOUND, TRUE) ; EnableDlgItem (hDlg, IDC_BROWSE_VIRUS_SOUND, TRUE) ; Config_SetInteger(CFGINT_SOUND, 2) ; Sounds_ReloadConfig () ; } return TRUE ; case MAKELONG(IDC_EXPORT,BN_CLICKED): // ======== 'Export' button clicked ======== { TCHAR szFileName[64] ; int i ; BOOL bSuccess ; if( _ConfigWnd_Browse (hDlg, TRUE, szBuffer, MAX_PATH) ) { SpySrv_LockFilterSet () ; bSuccess = FilterFile_Write (szBuffer, SpySrv_GetFilterSet()) ; SpySrv_UnlockFilterSet () ; if( ! bSuccess ) { _tcslcpy (szFileName, PathFindFileName(szBuffer), 64) ; i = wsprintf (szBuffer, STR_DEF(_ERROR_WRITING_FILE_S, TEXT("Error writing file \"%s\"")), szFileName) ; wsprintf (szBuffer+i, TEXT("\r\n%s"), FilterFile_GetErrorString()) ; MessageBox (hDlg, szBuffer, NULL, MB_ICONERROR) ; } } } return TRUE ; // ======== 'Export' button clicked ======== case MAKELONG(IDC_IMPORT,BN_CLICKED): // ======== 'Import' button clicked ======== { HFILTERSET hFilterSet ; TCHAR szFileName[64] ; int i ; if( _ConfigWnd_Browse (hDlg, FALSE, szBuffer, MAX_PATH) ) { hFilterSet = FilterFile_Read (szBuffer) ; if( ! hFilterSet ) { _tcslcpy (szFileName, PathFindFileName(szBuffer), 64) ; i = wsprintf (szBuffer, STR_DEF(_ERROR_READING_FILE_S, TEXT("Error reading file \"%s\"")), szFileName) ; wsprintf (szBuffer+i, TEXT("\r\n%s"), FilterFile_GetErrorString()) ; MessageBox (hDlg, szBuffer, NULL, MB_ICONERROR) ; } else { i = MessageBox(hDlg, STR_DEF(_CONFIRM_ERASE_FILTERS, g_szConfirmEraseFilters), TEXT(APPLICATION_NAME), MB_ICONWARNING|MB_YESNO) ; if( i==IDYES ) { SpySrv_LockFilterSet () ; SpySrv_SetFilterSet (hFilterSet) ; SpySrv_SendFilterSetToDriver () ; SpySrv_UnlockFilterSet () ; } else FilterSet_Destroy (hFilterSet) ; } } } return TRUE ; // ======== 'Import' button clicked ======== case MAKELONG(IDC_RESET,BN_CLICKED): // ======== 'Reset' button clicked ======== { HFILTERSET hFilterSet ; int i ; hFilterSet = FilterSet_Create (64) ; if( hFilterSet ) { FilterSet_InitDefaultFilter (hFilterSet) ; i = MessageBox(hDlg, STR_DEF(_CONFIRM_ERASE_FILTERS, g_szConfirmEraseFilters), TEXT(APPLICATION_NAME), MB_ICONWARNING|MB_YESNO) ; if( i==IDYES ) { SpySrv_LockFilterSet () ; SpySrv_SetFilterSet (hFilterSet) ; SpySrv_SendFilterSetToDriver () ; SpySrv_UnlockFilterSet () ; } else FilterSet_Destroy (hFilterSet) ; } } return TRUE ; // ======== 'Reset' button clicked ======== } return FALSE ; } return FALSE ;}/******************************************************************//* Internal function : Browse *//******************************************************************/BOOL _ConfigWnd_Browse (HWND hDlg, BOOL bExport, LPTSTR szPath, UINT nMax){ TCHAR szFilter[MAX_FILTER] ; INT iPos ; OPENFILENAME ofn = { .lStructSize = sizeof(OPENFILENAME), .hwndOwner = hDlg, .nMaxFile = nMax, .lpstrFile = szPath, .lpstrFilter = szFilter, .lpstrDefExt = TEXT("wpf"), } ; szPath[0] = 0 ; if( bExport ) ofn.Flags = OFN_PATHMUSTEXIST ; else ofn.Flags = OFN_PATHMUSTEXIST|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY ; iPos = 0 ; iPos += 1 + _sntprintf (szFilter+iPos, MAX_FILTER-iPos, TEXT("%s (*.wpf)"), STR_DEF(_FILTER_FILES,TEXT("Winpooch filters"))) ; iPos += 1 + _sntprintf (szFilter+iPos, MAX_FILTER-iPos, TEXT("*.wpf")) ; iPos += 1 + _sntprintf (szFilter+iPos, MAX_FILTER-iPos, TEXT("%s (*.*)"), STR_DEF(_ALL_FILES,TEXT("All files"))) ; iPos += 1 + _sntprintf (szFilter+iPos, MAX_FILTER-iPos, TEXT("*.*")) ; szFilter[iPos] = 0 ; if( bExport ) return GetSaveFileName (&ofn) ; return GetOpenFileName (&ofn) ;}/******************************************************************//* Internal function *//******************************************************************/BOOL _ConfigWnd_BrowseSound (HWND hDlg, LPTSTR szPath, UINT nMax){ TCHAR szFilter[MAX_FILTER] ; INT iPos ; OPENFILENAME ofn = { .lStructSize = sizeof(OPENFILENAME), .hwndOwner = hDlg, .nMaxFile = nMax, .lpstrFile = szPath, .lpstrFilter = szFilter, .lpstrDefExt = TEXT("wav"), .Flags = OFN_PATHMUSTEXIST|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY, } ; szPath[0] = 0 ; iPos = 0 ; iPos += 1 + _sntprintf (szFilter+iPos, MAX_FILTER-iPos, TEXT("%s (*.wav)"), STR_DEF(_WAVE_FILES,TEXT("Wave files"))) ; iPos += 1 + _sntprintf (szFilter+iPos, MAX_FILTER-iPos, TEXT("*.wav")) ; iPos += 1 + _sntprintf (szFilter+iPos, MAX_FILTER-iPos, TEXT("%s (*.*)"), STR_DEF(_ALL_FILES,TEXT("All files"))) ; iPos += 1 + _sntprintf (szFilter+iPos, MAX_FILTER-iPos, TEXT("*.*")) ; szFilter[iPos] = 0 ; return GetOpenFileName (&ofn) ;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -