Index: src/ch/OptionsDlg.cpp =================================================================== diff -u -rbaad6054459abaaf69cbfd1ebad8783085160d99 -r5aac942a83e4a308ff401cca43be501b1bbdfb6a --- src/ch/OptionsDlg.cpp (.../OptionsDlg.cpp) (revision baad6054459abaaf69cbfd1ebad8783085160d99) +++ src/ch/OptionsDlg.cpp (.../OptionsDlg.cpp) (revision 5aac942a83e4a308ff401cca43be501b1bbdfb6a) @@ -138,30 +138,42 @@ pDlg->GetUintProp(iIndex - iParam + 1), pDlg->GetUintProp(iIndex - iParam + 2), pDlg->GetUintProp(iIndex - iParam + 3), - pDlg->GetUintProp(iIndex - iParam + 4)); + pDlg->GetUintProp(iIndex - iParam + 4), + pDlg->GetUintProp(iIndex - iParam + 8), + pDlg->GetUintProp(iIndex - iParam + 9), + pDlg->GetUintProp(iIndex - iParam + 10)); CBufferSizeDlg dlg(&tBufferSizes, (chcore::TBufferSizes::EBufferType)iParam); if (dlg.DoModal() == IDOK) { tBufferSizes = dlg.GetBufferSizes(); PROPERTYITEM* pItem; - TCHAR xx[32]; + TCHAR szData[32]; pItem = (PROPERTYITEM*)pList->GetAt(pList->FindIndex(iIndex-iParam-1)); pItem->nPropertySelected=(tBufferSizes.IsOnlyDefault() ? 1 : 0); pItem = (PROPERTYITEM*)pList->GetAt(pList->FindIndex(iIndex-iParam)); - pItem->csProperties.SetAt(0, _itot(tBufferSizes.GetDefaultSize(), xx, 10)); + pItem->csProperties.SetAt(0, _itot(tBufferSizes.GetDefaultSize(), szData, 10)); pItem = (PROPERTYITEM*)pList->GetAt(pList->FindIndex(iIndex-iParam+1)); - pItem->csProperties.SetAt(0, _itot(tBufferSizes.GetOneDiskSize(), xx, 10)); + pItem->csProperties.SetAt(0, _itot(tBufferSizes.GetOneDiskSize(), szData, 10)); pItem = (PROPERTYITEM*)pList->GetAt(pList->FindIndex(iIndex-iParam+2)); - pItem->csProperties.SetAt(0, _itot(tBufferSizes.GetTwoDisksSize(), xx, 10)); + pItem->csProperties.SetAt(0, _itot(tBufferSizes.GetTwoDisksSize(), szData, 10)); pItem = (PROPERTYITEM*)pList->GetAt(pList->FindIndex(iIndex-iParam+3)); - pItem->csProperties.SetAt(0, _itot(tBufferSizes.GetCDSize(), xx, 10)); + pItem->csProperties.SetAt(0, _itot(tBufferSizes.GetCDSize(), szData, 10)); pItem = (PROPERTYITEM*) pList->GetAt(pList->FindIndex(iIndex - iParam + 4)); - pItem->csProperties.SetAt(0, _itot(tBufferSizes.GetLANSize(), xx, 10)); + pItem->csProperties.SetAt(0, _itot(tBufferSizes.GetLANSize(), szData, 10)); pItem = (PROPERTYITEM*) pList->GetAt(pList->FindIndex(iIndex - iParam + 7)); - pItem->csProperties.SetAt(0, _itot(tBufferSizes.GetBufferCount(), xx, 10)); + pItem->csProperties.SetAt(0, _itot(tBufferSizes.GetBufferCount(), szData, 10)); + + pItem = (PROPERTYITEM*)pList->GetAt(pList->FindIndex(iIndex - iParam + 8)); + pItem->csProperties.SetAt(0, _itot(tBufferSizes.GetMaxReadAheadBuffers(), szData, 10)); + + pItem = (PROPERTYITEM*)pList->GetAt(pList->FindIndex(iIndex - iParam + 9)); + pItem->csProperties.SetAt(0, _itot(tBufferSizes.GetMaxConcurrentReads(), szData, 10)); + + pItem = (PROPERTYITEM*)pList->GetAt(pList->FindIndex(iIndex - iParam + 10)); + pItem->csProperties.SetAt(0, _itot(tBufferSizes.GetMaxConcurrentWrites(), szData, 10)); } } @@ -316,6 +328,9 @@ PROP_BOOL(IDS_USENOBUFFERING_STRING, GetPropValue(GetConfig())); PROP_UINT(IDS_LARGEFILESMINSIZE_STRING, GetPropValue(GetConfig())); PROP_UINT(IDS_BUFFER_QUEUE_DEPTH, GetPropValue(GetConfig())); + PROP_UINT(IDS_BUFFER_MAX_READAHEAD, GetPropValue(GetConfig())); + PROP_UINT(IDS_BUFFER_MAX_CONCURRENT_READS, GetPropValue(GetConfig())); + PROP_UINT(IDS_BUFFER_MAX_CONCURRENT_WRITES, GetPropValue(GetConfig())); PROP_SEPARATOR(IDS_CFGLOGFILE_STRING); PROP_UINT(IDS_CFGMAXLIMIT_STRING, GetPropValue(GetConfig())); @@ -442,6 +457,9 @@ SetPropValue(rConfig, GetBoolProp(iPosition++)); SetPropValue(rConfig, GetUintProp(iPosition++)); SetPropValue(rConfig, GetUintProp(iPosition++)); + SetPropValue(GetConfig(), GetUintProp(iPosition++)); + SetPropValue(GetConfig(), GetUintProp(iPosition++)); + SetPropValue(GetConfig(), GetUintProp(iPosition++)); // log file SKIP_SEPARATOR(iPosition);