Changeset 237


Ignore:
Timestamp:
07/16/07 17:27:24 (13 years ago)
Author:
Eoin
Message:
 
Location:
src
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • src/HaliteDialog.cpp

    r236 r237  
    160160} 
    161161 
    162 void HaliteDialog::uiUpdate(const hal::TorrentDetail_vec& allTorrents,  
    163                 const hal::TorrentDetail_vec& selectedTorrents, const hal::TorrentDetail_ptr selectedTorrent)  
     162void HaliteDialog::uiUpdate(const hal::TorrentDetails& tD)  
    164163{        
    165         if (selectedTorrent)     
    166         { 
    167                 SetDlgItemText(IDC_NAME, selectedTorrent->filename().c_str()); 
    168                 SetDlgItemText(IDC_TRACKER, selectedTorrent->currentTracker().c_str()); 
    169                 SetDlgItemText(IDC_STATUS, selectedTorrent->state().c_str()); 
    170                 m_prog.SetPos(static_cast<int>(selectedTorrent->completion()*100)); 
    171                  
    172                 if (!selectedTorrent->estimatedTimeLeft().is_special()) 
     164        if (tD.selectedTorrent())        
     165        { 
     166                SetDlgItemText(IDC_NAME, tD.selectedTorrent()->filename().c_str()); 
     167                SetDlgItemText(IDC_TRACKER, tD.selectedTorrent()->currentTracker().c_str()); 
     168                SetDlgItemText(IDC_STATUS, tD.selectedTorrent()->state().c_str()); 
     169                m_prog.SetPos(static_cast<int>(tD.selectedTorrent()->completion()*100)); 
     170                 
     171                if (!tD.selectedTorrent()->estimatedTimeLeft().is_special()) 
    173172                { 
    174173                        SetDlgItemText(IDC_AVAIL, 
    175174                                (hal::from_utf8(boost::posix_time::to_simple_string( 
    176                                         selectedTorrent->estimatedTimeLeft())).c_str())); 
     175                                        tD.selectedTorrent()->estimatedTimeLeft())).c_str())); 
    177176                } 
    178177                else 
     
    183182                SetDlgItemText(IDC_COMPLETE, 
    184183                        (wformat(L"%1$.2fmb of %2$.2fmb")  
    185                                 % (static_cast<float>(selectedTorrent->totalWantedDone())/(1024*1024)) 
    186                                 % (static_cast<float>(selectedTorrent->totalWanted())/(1024*1024)) 
     184                                % (static_cast<float>(tD.selectedTorrent()->totalWantedDone())/(1024*1024)) 
     185                                % (static_cast<float>(tD.selectedTorrent()->totalWanted())/(1024*1024)) 
    187186                        ).str().c_str()); 
    188187                                 
     
    190189                m_list.manager().clearAll(); 
    191190                 
    192                 if (!selectedTorrent->peerDetails().empty()) 
     191                if (!tD.selectedTorrent()->peerDetails().empty()) 
    193192                {                        
    194193                         
    195                         foreach (const hal::PeerDetail& peer, selectedTorrent->peerDetails()) 
     194                        foreach (const hal::PeerDetail& peer, tD.selectedTorrent()->peerDetails()) 
    196195                        {                        
    197196                                LV_FINDINFO findInfo;  
  • src/HaliteDialog.hpp

    r236 r237  
    152152        void selectionChanged(const string& torrent_name); 
    153153        void updateDialog(); 
    154         void uiUpdate(const hal::TorrentDetail_vec& allTorrents,  
    155                 const hal::TorrentDetail_vec& selectedTorrents, const hal::TorrentDetail_ptr selectedTorrent);  
     154        void uiUpdate(const hal::TorrentDetails& allTorrents);  
    156155         
    157156protected: 
  • src/HaliteDialogBase.hpp

    r236 r237  
    2020                selection_manager_(single_sel) 
    2121        {                
    22                 theDaddy.connectUiUpdate(bind(&TBase::uiUpdate, static_cast<TBase*>(this), _1, _2, _3)); 
     22                theDaddy.connectUiUpdate(bind(&TBase::uiUpdate, static_cast<TBase*>(this), _1)); 
    2323        } 
    2424         
     
    2929        } 
    3030         
    31         void uiUpdate(const hal::TorrentDetail_vec& allTorrents,  
    32                 const hal::TorrentDetail_vec& selectedTorrents, const hal::TorrentDetail_ptr selectedTorrent)  
     31        void uiUpdate(const hal::TorrentDetails& tD) 
    3332        {} 
    3433         
  • src/HaliteListView.cpp

    r236 r237  
    77        iniClass("listviews/halite", "HaliteListView") 
    88{                
    9         HalWindow.connectUiUpdate(bind(&HaliteListViewCtrl::uiUpdate, this, _1, _2, _3)); 
     9        HalWindow.connectUiUpdate(bind(&HaliteListViewCtrl::uiUpdate, this, _1)); 
    1010        load(); 
    1111} 
     
    3030 
    3131 
    32 void HaliteListViewCtrl::uiUpdate(const hal::TorrentDetail_vec& allTorrents,  
    33         const hal::TorrentDetail_vec& selectedTorrents, const hal::TorrentDetail_ptr selectedTorrent) 
     32void HaliteListViewCtrl::uiUpdate(const hal::TorrentDetails& tD) 
    3433{ 
    3534        RedrawLock<HaliteListViewCtrl> rLock(*this); 
    3635         
    37         foreach (const hal::TorrentDetail_ptr td, allTorrents)  
     36        tD.sort(hal::TorrentDetails::name); 
     37        DeleteAllItems(); 
     38         
     39        foreach (const hal::TorrentDetail_ptr td, tD.torrents())  
    3840        { 
    3941                LV_FINDINFO findInfo;  
  • src/HaliteListView.hpp

    r236 r237  
    5151        void OnDestroy(); 
    5252        void saveSettings(); 
    53         void uiUpdate(const hal::TorrentDetail_vec& allTorrents,  
    54                 const hal::TorrentDetail_vec& selectedTorrents, const hal::TorrentDetail_ptr selectedTorrent);  
     53        void uiUpdate(const hal::TorrentDetails& allTorrents);  
    5554 
    5655        LRESULT OnPause(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
  • src/HaliteWindow.cpp

    r236 r237  
    247247                haliteList.manager().selected(), selectedNames); 
    248248 
    249         ui_update_signal_(td.torrents(), td.selectedTorrents(), td.selectedTorrent()); 
     249        ui_update_signal_(td); 
    250250 
    251251        } 
  • src/HaliteWindow.hpp

    r236 r237  
    9898        void ProcessFile(LPCTSTR lpszPath); 
    9999         
    100         void connectUiUpdate(boost::function<void (const hal::TorrentDetail_vec& allTorrents,  
    101                 const hal::TorrentDetail_vec& selectedTorrents, const hal::TorrentDetail_ptr selectedTorrent)> fn)  
     100        void connectUiUpdate(boost::function<void (const hal::TorrentDetails& allTorrents)> fn)  
    102101        {  
    103102                ui_update_signal_.connect(fn);  
    104103        } 
    105104                 
    106         boost::signal<void (const hal::TorrentDetail_vec& allTorrents,  
    107                 const hal::TorrentDetail_vec& selectedTorrents,  
    108                 const hal::TorrentDetail_ptr selectedTorrent)> & ui_sig() 
     105        boost::signal<void (const hal::TorrentDetails& allTorrents)> & ui_sig() 
    109106        {  
    110107                return ui_update_signal_;  
     
    179176private: 
    180177        // These two gotta be first!!! 
    181         boost::signal<void (const hal::TorrentDetail_vec& allTorrents,  
    182                 const hal::TorrentDetail_vec& selectedTorrents, const hal::TorrentDetail_ptr selectedTorrent)>  
    183                         ui_update_signal_; 
     178        boost::signal<void (const hal::TorrentDetails& tD)> ui_update_signal_; 
    184179        boost::signal<void ()> save_state_signal_;       
    185180         
  • src/advtabs/Torrent.hpp

    r236 r237  
    9494        void selectionChanged(const string& torrent_name); 
    9595        void updateDialog();     
    96         void uiUpdate(const hal::TorrentDetail_vec& allTorrents,  
    97                 const hal::TorrentDetail_vec& selectedTorrents, const hal::TorrentDetail_ptr selectedTorrent)  
    98         {} 
     96        void uiUpdate(const hal::TorrentDetails& tD) {} 
    9997 
    10098protected: 
  • src/halTorrent.cpp

    r236 r237  
    249249} 
    250250 
    251 bool nameLess(const TorrentDetail_ptr left, const TorrentDetail_ptr right) 
    252 { 
    253         return left->filename() < right->filename(); 
     251bool nameLess(const TorrentDetail_ptr& left, const TorrentDetail_ptr& right) 
     252{ 
     253        return left->state() < right->state(); 
     254} 
     255 
     256void TorrentDetails::sort(sortIndex i) const 
     257{ 
     258        std::stable_sort(torrents_.begin(), torrents_.end(), &nameLess); 
    254259} 
    255260 
  • src/halTorrent.hpp

    r236 r237  
    154154        enum sortIndex 
    155155        { 
    156                 sortName = 0, 
    157                 sortStatus, 
    158                 sortCompleted, 
    159                 sortDownload, 
    160                 sortUpload, 
    161                 sortPeers, 
    162                 sortSeeds, 
    163                 sortETA, 
    164                 sortCopies 
     156                name = 0, 
     157                status, 
     158                completed, 
     159                download, 
     160                upload, 
     161                peers, 
     162                seeds, 
     163                eta, 
     164                copies 
    165165        }; 
    166166         
    167         const TorrentDetail_vec torrents() { return torrents_; } 
    168         const TorrentDetail_vec selectedTorrents() { return selectedTorrents_; } 
    169         const TorrentDetail_ptr selectedTorrent() { return selectedTorrent_; } 
     167        void sort(sortIndex i) const; 
     168         
     169        const TorrentDetail_vec torrents() const { return torrents_; } 
     170        const TorrentDetail_vec selectedTorrents() const { return selectedTorrents_; } 
     171        const TorrentDetail_ptr selectedTorrent() const { return selectedTorrent_; } 
    170172         
    171173        friend class BitTorrent; 
    172174 
    173175private: 
    174         TorrentDetail_vec torrents_; 
     176        mutable TorrentDetail_vec torrents_; 
    175177        TorrentDetail_vec selectedTorrents_; 
    176178        TorrentDetail_ptr selectedTorrent_; 
Note: See TracChangeset for help on using the changeset viewer.