From e3004f2c951b62e35a70d11aff6e8a6e9e4c5d6d Mon Sep 17 00:00:00 2001 From: upstream svn Date: Sun, 16 May 2010 11:12:37 +0000 Subject: [PATCH] Upstream tarball 10171 --- .svn-revision | 2 +- src/SharedFilesWnd.cpp | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.svn-revision b/.svn-revision index 6a64bc87..3d79c658 100644 --- a/.svn-revision +++ b/.svn-revision @@ -1 +1 @@ -10170 +10171 diff --git a/src/SharedFilesWnd.cpp b/src/SharedFilesWnd.cpp index 0d0d95bc..62f60a99 100644 --- a/src/SharedFilesWnd.cpp +++ b/src/SharedFilesWnd.cpp @@ -104,6 +104,8 @@ void CSharedFilesWnd::SelectionUpdated() m_bar_accepted->SetRange( lAccepted ); m_bar_transfer->SetRange( lTransferred / 1024 ); + CKnownFileVector fileVector; + if ( !sharedfilesctrl->GetSelectedItemCount() ) { // Requests m_bar_requests->SetValue( 0 ); @@ -119,6 +121,7 @@ void CSharedFilesWnd::SelectionUpdated() m_bar_transfer->SetValue( 0 ); CastChild(IDC_STRANSFERRED, wxStaticText)->SetLabel( wxT("- /") ); CastChild(IDC_STRANSFERRED2, wxStaticText)->SetLabel( wxT("- /") ); + } else { // Create a total statistic for the selected item(s) uint32 session_requests = 0; @@ -129,7 +132,7 @@ void CSharedFilesWnd::SelectionUpdated() uint64 all_transferred = 0; long index = -1; - CKnownFileVector fileVector; + fileVector.reserve(sharedfilesctrl->GetSelectedItemCount()); while ( (index = sharedfilesctrl->GetNextItem( index, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED )) != -1) { @@ -149,8 +152,7 @@ void CSharedFilesWnd::SelectionUpdated() } }; - std::sort(fileVector.begin(), fileVector.end()); - this->peerslistctrl->ShowSources(fileVector); + std::sort(fileVector.begin(), fileVector.end()); // Requests session_requests = session_requests > lRequested ? lRequested : session_requests; @@ -171,6 +173,9 @@ void CSharedFilesWnd::SelectionUpdated() CastChild(IDC_STRANSFERRED2, wxStaticText)->SetLabel( CastItoXBytes( all_transferred ) + wxT(" /")); } + this->peerslistctrl->ShowSources(fileVector); + + Refresh(); Layout(); } } -- 2.11.4.GIT