BOOL CQueuePropertiesDlg::OnInitDialog() { CSkinDialog::OnInitDialog(); SkinMe( _T("CQueuePropertiesDlg"), ID_VIEW_UPLOADS ); m_wndTransfersMin.SetRange( 1, 128 ); m_wndTransfersMax.SetRange( 1, 512 ); m_wndRotateTimeSpin.SetRange( 30, 15 * 60 ); CoolInterface.LoadIconsTo( m_gdiProtocols, protocolIDs ); m_wndProtocols.SetImageList( &m_gdiProtocols, LVSIL_SMALL ); m_wndProtocols.SetExtendedStyle( LVS_EX_CHECKBOXES ); m_wndProtocols.InsertItem( LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM, 0, _T("HTTP"), 0, 0, PROTOCOL_HTTP, PROTOCOL_HTTP ); m_wndProtocols.InsertItem( LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM, 1, _T("ED2K"), 0, 0, PROTOCOL_ED2K, PROTOCOL_ED2K ); m_wndProtocols.InsertItem( LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM, 2, _T("DC++"), 0, 0, PROTOCOL_DC, PROTOCOL_DC ); m_wndProtocols.InsertItem( LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM, 3, _T("BitTorrent"), 0, 0, PROTOCOL_BT, PROTOCOL_BT ); CSingleLock pLock( &UploadQueues.m_pSection, TRUE ); if ( ! UploadQueues.Check( m_pQueue ) ) { PostMessage( WM_CLOSE ); return TRUE; } m_sName = m_pQueue->m_sName; m_nFileStatusFlag = m_pQueue->m_nFileStateFlag; if ( m_nFileStatusFlag == CUploadQueue::ulqPartial ) { m_wndPartialOnly.SetCheck(BST_CHECKED); m_wndLibraryOnly.SetCheck(BST_UNCHECKED); m_wndBoth.SetCheck(BST_UNCHECKED); } else if ( m_nFileStatusFlag == CUploadQueue::ulqLibrary ) { m_wndPartialOnly.SetCheck(BST_UNCHECKED); m_wndLibraryOnly.SetCheck(BST_CHECKED); m_wndBoth.SetCheck(BST_UNCHECKED); } else { m_wndPartialOnly.SetCheck(BST_UNCHECKED); m_wndLibraryOnly.SetCheck(BST_UNCHECKED); m_wndBoth.SetCheck(BST_CHECKED); } m_bMinSize = m_pQueue->m_nMinSize > 0; m_sMinSize = Settings.SmartVolume( m_bMinSize ? m_pQueue->m_nMinSize : 0 ); m_bMaxSize = m_pQueue->m_nMaxSize < SIZE_UNKNOWN; m_sMaxSize = Settings.SmartVolume( m_bMaxSize ? m_pQueue->m_nMaxSize : 0 ); m_bMarked = ( ! m_pQueue->m_sShareTag.IsEmpty() ); m_sMarked = m_pQueue->m_sShareTag; m_bMatch = ( ! m_pQueue->m_sNameMatch.IsEmpty() ); m_sMatch = m_pQueue->m_sNameMatch; m_bProtocols = ( m_pQueue->m_nProtocols != 0 ); if ( ! m_bProtocols || ( m_pQueue->m_nProtocols & (1<<PROTOCOL_HTTP) ) ) m_wndProtocols.SetItemState( 0, INDEXTOSTATEIMAGEMASK(2), LVIS_STATEIMAGEMASK ); if ( ! m_bProtocols || ( m_pQueue->m_nProtocols & (1<<PROTOCOL_ED2K) ) ) m_wndProtocols.SetItemState( 1, INDEXTOSTATEIMAGEMASK(2), LVIS_STATEIMAGEMASK ); if ( ! m_bProtocols || ( m_pQueue->m_nProtocols & (1<<PROTOCOL_DC) ) ) m_wndProtocols.SetItemState( 2, INDEXTOSTATEIMAGEMASK(2), LVIS_STATEIMAGEMASK ); if ( ! m_bProtocols || ( m_pQueue->m_nProtocols & (1<<PROTOCOL_BT) ) ) m_wndProtocols.SetItemState( 3, INDEXTOSTATEIMAGEMASK(2), LVIS_STATEIMAGEMASK ); m_bEnable = m_pQueue->m_bEnable || m_bEnableOverride; m_nCapacity = max( m_pQueue->m_nCapacity, m_pQueue->m_nMaxTransfers ); m_nTransfersMin = m_pQueue->m_nMinTransfers; m_nTransfersMax = m_pQueue->m_nMaxTransfers; m_bRotate = m_pQueue->m_bRotate; m_nRotateTime = m_pQueue->m_nRotateTime; m_bReward = m_pQueue->m_bRewardUploaders; //DWORD nTotal = Settings.Connection.OutSpeed * 1024 / 8; //DWORD nLimit = Settings.Bandwidth.Uploads; //if ( nLimit == 0 || nLimit > nTotal ) nLimit = nTotal; int nOtherPoints = (int)UploadQueues.GetTotalBandwidthPoints( !( m_pQueue->m_nProtocols & (1<<PROTOCOL_ED2K) ) ) - (int)m_pQueue->m_nBandwidthPoints; if ( nOtherPoints < 0 ) nOtherPoints = 0; m_wndBandwidthSlider.SetRange( 1, max( 100, nOtherPoints * 3 ) ); m_wndBandwidthSlider.SetPos( m_pQueue->m_nBandwidthPoints ); UpdateData( FALSE ); m_wndPartialOnly.EnableWindow(TRUE); m_wndLibraryOnly.EnableWindow(TRUE); m_wndBoth.EnableWindow(TRUE); m_wndMinSize.EnableWindow( m_bMinSize ); m_wndMaxSize.EnableWindow( m_bMaxSize ); m_wndMarked.EnableWindow( m_bMarked ); m_wndMatch.EnableWindow( m_bMatch ); m_wndProtocols.EnableWindow( m_bProtocols ); m_wndRotateTime.EnableWindow( m_bRotate ); m_wndRotateTimeSpin.EnableWindow( m_bRotate ); m_wndCapacity.SetRange32( static_cast< int >( m_nTransfersMax ), 4096 ); OnHScroll( 0, 0, NULL ); if ( Settings.General.GUIMode == GUI_BASIC && !( Settings.eDonkey.EnableAlways | Settings.eDonkey.Enabled ) ) { m_bProtocols = FALSE; m_wndProtocols.EnableWindow( FALSE ); m_wndProtocols.ShowWindow( FALSE ); (GetProtocolCheckbox())->EnableWindow( FALSE ); (GetProtocolCheckbox())->ShowWindow( FALSE ); } return TRUE; }
BOOL CQueuePropertiesDlg::OnInitDialog() { CSkinDialog::OnInitDialog(); SkinMe( _T("CQueuePropertiesDlg"), ID_VIEW_UPLOADS ); m_wndTransfersMin.SetRange( 1, 128 ); m_wndTransfersMax.SetRange( 1, 512 ); m_wndRotateTimeSpin.SetRange( 30, 15 * 60 ); CBitmap bmProtocols; bmProtocols.LoadBitmap( IDB_PROTOCOLS ); if ( theApp.m_bRTL ) bmProtocols.m_hObject = CreateMirroredBitmap( (HBITMAP)bmProtocols.m_hObject ); m_gdiProtocols.Create( 16, 16, ILC_COLOR32|ILC_MASK, 7, 1 ); m_gdiProtocols.Add( &bmProtocols, RGB( 0, 255, 0 ) ); m_wndProtocols.SendMessage( LVM_SETEXTENDEDLISTVIEWSTYLE, LVS_EX_CHECKBOXES, LVS_EX_CHECKBOXES ); m_wndProtocols.SetImageList( &m_gdiProtocols, LVSIL_SMALL ); m_wndProtocols.InsertItem( LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM, 0, _T("HTTP"), 0, 0, PROTOCOL_HTTP, PROTOCOL_HTTP ); m_wndProtocols.InsertItem( LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM, 1, _T("ED2K"), 0, 0, PROTOCOL_ED2K, PROTOCOL_ED2K ); CSingleLock pLock( &UploadQueues.m_pSection, TRUE ); if ( ! UploadQueues.Check( m_pQueue ) ) { PostMessage( WM_CLOSE ); return TRUE; } m_sName = m_pQueue->m_sName; m_bPartial = m_pQueue->m_bPartial; if ( m_bMinSize = ( m_pQueue->m_nMinSize > 0 ) ) { m_sMinSize = Settings.SmartVolume( m_pQueue->m_nMinSize, FALSE ); } else { m_sMinSize = Settings.SmartVolume( 0, FALSE ); } if ( m_bMaxSize = ( m_pQueue->m_nMaxSize < SIZE_UNKNOWN ) ) { m_sMaxSize = Settings.SmartVolume( m_pQueue->m_nMaxSize, FALSE ); } else { m_sMaxSize = Settings.SmartVolume( 0, FALSE ); } m_bMarked = ( m_pQueue->m_sShareTag.GetLength() > 0 ); m_sMarked = m_pQueue->m_sShareTag; m_bMatch = ( m_pQueue->m_sNameMatch.GetLength() > 0 ); m_sMatch = m_pQueue->m_sNameMatch; m_bProtocols = ( m_pQueue->m_nProtocols != 0 ); if ( ! m_bProtocols || ( m_pQueue->m_nProtocols & (1<<PROTOCOL_HTTP) ) ) m_wndProtocols.SetItemState( 0, INDEXTOSTATEIMAGEMASK(2), LVIS_STATEIMAGEMASK ); if ( ! m_bProtocols || ( m_pQueue->m_nProtocols & (1<<PROTOCOL_ED2K) ) ) m_wndProtocols.SetItemState( 1, INDEXTOSTATEIMAGEMASK(2), LVIS_STATEIMAGEMASK ); m_bEnable = m_pQueue->m_bEnable || m_bEnableOverride; m_nCapacity = max( m_pQueue->m_nCapacity, m_pQueue->m_nMaxTransfers ); m_nTransfersMin = m_pQueue->m_nMinTransfers; m_nTransfersMax = m_pQueue->m_nMaxTransfers; m_bRotate = m_pQueue->m_bRotate; m_nRotateTime = m_pQueue->m_nRotateTime; m_bReward = m_pQueue->m_bRewardUploaders; DWORD nTotal = Settings.Connection.OutSpeed * 1024 / 8; DWORD nLimit = Settings.Bandwidth.Uploads; if ( nLimit == 0 || nLimit > nTotal ) nLimit = nTotal; int nOtherPoints = UploadQueues.GetTotalBandwidthPoints( !( m_pQueue->m_nProtocols & (1<<PROTOCOL_ED2K) ) ) - m_pQueue->m_nBandwidthPoints; if ( nOtherPoints < 0 ) nOtherPoints = 0; m_wndBandwidthSlider.SetRange( 1, max( 100, nOtherPoints * 3 ) ); m_wndBandwidthSlider.SetPos( m_pQueue->m_nBandwidthPoints ); UpdateData( FALSE ); m_wndMinSize.EnableWindow( m_bMinSize ); m_wndMaxSize.EnableWindow( m_bMaxSize ); m_wndMarked.EnableWindow( m_bMarked ); m_wndMatch.EnableWindow( m_bMatch ); m_wndProtocols.EnableWindow( m_bProtocols ); m_wndRotateTime.EnableWindow( m_bRotate ); m_wndRotateTimeSpin.EnableWindow( m_bRotate ); m_wndCapacity.SetRange32( m_nTransfersMax, 4096 ); OnHScroll( 0, 0, NULL ); if ( Settings.General.GUIMode == GUI_BASIC ) { if ( !( Settings.eDonkey.EnableAlways | Settings.eDonkey.EnableToday ) ) { m_bProtocols = FALSE; m_wndProtocols.EnableWindow( FALSE ); m_wndProtocols.ShowWindow( FALSE ); (GetProtocolCheckbox())->EnableWindow( FALSE ); (GetProtocolCheckbox())->ShowWindow( FALSE ); } } return TRUE; }