Ignore:
Timestamp:
12/26/08 21:23:19 (11 years ago)
Author:
Eoin
Message:

Peer list sorting fixed and so more naming conventions consistency work.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/advtabs/Peers.hpp

    r651 r659  
    1818 
    1919class PeerListView : 
    20         public CHaliteSortListViewCtrl<PeerListView, const hal::PeerDetail>, 
     20        public CHaliteSortListViewCtrl<PeerListView>, 
    2121        public hal::IniBase<PeerListView>, 
    2222        private boost::noncopyable 
     
    2525        typedef PeerListView thisClass; 
    2626        typedef hal::IniBase<thisClass> iniClass; 
    27         typedef CHaliteSortListViewCtrl<thisClass, const hal::PeerDetail> listClass; 
    28         typedef const hal::PeerDetail pD; 
     27        typedef CHaliteSortListViewCtrl<thisClass> listClass; 
    2928 
    3029        friend class listClass; 
    3130         
    32         struct ColumnAdapters 
    33         { 
    34          
    35         typedef listClass::ColumnAdapter ColAdapter_t; 
    36          
    37         struct SpeedDown : public ColAdapter_t 
    38         { 
    39                 virtual int compare(pD& l, pD& r)       { return hal::compare(l.speed.first, r.speed.first); }           
    40                 virtual std::wstring print(pD& p)  
    41                 { 
    42                         return (hal::wform(L"%1$.2fkb/s") % (p.speed.first/1024)).str();  
    43                 }                
    44         }; 
    45          
    46         struct SpeedUp : public ColAdapter_t 
    47         { 
    48                 virtual int compare(pD& l, pD& r)       { return hal::compare(l.speed.second, r.speed.second); }                 
    49                 virtual std::wstring print(pD& p)  
    50                 { 
    51                         return (hal::wform(L"%1$.2fkb/s") % (p.speed.second/1024)).str();  
    52                 }                
    53         }; 
    54          
    55         }; 
    56  
    5731public:  
    5832        enum {  
     
    6438        BEGIN_MSG_MAP_EX(thisClass) 
    6539                MSG_WM_DESTROY(OnDestroy) 
     40                REFLECTED_NOTIFY_CODE_HANDLER(SLVN_SORTCHANGED, OnSortChanged) 
    6641 
    6742                CHAIN_MSG_MAP(listClass) 
     
    6944        END_MSG_MAP() 
    7045 
    71         thisClass() : 
    72                 iniClass("listviews/advPeers", "PeerListView") 
     46        PeerListView(HaliteWindow& halWindow) : 
     47                iniClass("listviews/advPeers", "PeerListView"), 
     48                halite_window_(halWindow) 
    7349        {} 
    7450         
     
    10177                }        
    10278                                         
    103                 load_from_ini(); 
     79                load_from_ini();                 
    10480                 
    105                 SetColumnSortType(2, WTL::LVCOLSORT_CUSTOM, new ColumnAdapters::SpeedDown()); 
    106                 SetColumnSortType(3, WTL::LVCOLSORT_CUSTOM, new ColumnAdapters::SpeedUp()); 
     81                SetColumnSortType(2, hal::peer_detail::speed_down_e + (WTL::LVCOLSORT_LAST+1+hal::peer_detail::ip_address_e), NULL);             
     82                SetColumnSortType(3, hal::peer_detail::speed_up_e + (WTL::LVCOLSORT_LAST+1+hal::peer_detail::ip_address_e), NULL); 
    10783                 
    10884                return true; 
     
    11389                saveSettings(); 
    11490        } 
     91 
     92        LRESULT OnSortChanged(int, LPNMHDR pnmh, BOOL&); 
    11593         
    11694        friend class boost::serialization::access; 
     
    12199                        boost::serialization::base_object<listClass>(*this)); 
    122100        } 
    123          
    124 /*      pD CustomItemConversion(LVCompareParam* param, int iSortCol) 
    125         {                        
    126                 return peerDetails_[param->dwItemData]; 
    127         }               */ 
    128101 
    129102        void uiUpdate(const hal::torrent_details_manager& tD); 
    130103         
    131104private: 
    132         hal::PeerDetails peerDetails_; 
     105        hal::peer_details_vec peer_details_; 
     106        HaliteWindow& halite_window_; 
    133107}; 
    134108 
     
    148122 
    149123        AdvPeerDialog(HaliteWindow& halWindow) : 
    150                 dialogBaseClass(halWindow) 
     124                dialogBaseClass(halWindow), 
     125                peerList_(halWindow) 
    151126        {} 
    152127 
     
    175150        LRESULT OnInitDialog(HWND, LPARAM); 
    176151        void OnClose(); 
    177          
    178152        void uiUpdate(const hal::torrent_details_manager& tD); 
    179153 
Note: See TracChangeset for help on using the changeset viewer.