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

File list working but very slow.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/halTorrent.cpp

    r660 r661  
    3434        static bit t; 
    3535        return t; 
     36} 
     37 
     38 
     39 
     40bool file_details::less(const file_details& r, size_t index) const 
     41{        
     42        switch (index) 
     43        { 
     44        case branch_e: return branch < r.branch; 
     45        case filename_e: return filename < r.filename; 
     46 
     47        case type_e: return type < r.type; 
     48        case size_e: return size < r.size; 
     49 
     50        case progress_e: return progress < r.progress; 
     51        case priority_e: return priority < r.priority; 
     52 
     53        default: return false; // ??? 
     54        }; 
     55} 
     56 
     57std::wstring file_details::to_wstring(size_t index) 
     58{ 
     59        switch (index) 
     60        { 
     61        case branch_e: return branch.string(); 
     62        case filename_e: return filename; 
     63 
     64        case type_e: return L"(Undefined)"; // ??? 
     65 
     66        case size_e: return (wform(L"%1$.2fMB") % (static_cast<double>(size)/(1024*1024))).str(); 
     67        case progress_e: return (wform(L"%1$.2f%%") % (static_cast<double>(progress)/size*100)).str();  
     68 
     69        case priority_e:                 
     70                { 
     71                        switch (priority) 
     72                        { 
     73                        case 0: 
     74                                return hal::app().res_wstr(HAL_FILE_PRIORITY_0); 
     75                        case 1: 
     76                                return hal::app().res_wstr(HAL_FILE_PRIORITY_1); 
     77                        case 2: 
     78                                return hal::app().res_wstr(HAL_FILE_PRIORITY_2); 
     79                        case 3: 
     80                                return hal::app().res_wstr(HAL_FILE_PRIORITY_3); 
     81                        case 4: 
     82                                return hal::app().res_wstr(HAL_FILE_PRIORITY_4); 
     83                        case 5: 
     84                                return hal::app().res_wstr(HAL_FILE_PRIORITY_5); 
     85                        case 6: 
     86                                return hal::app().res_wstr(HAL_FILE_PRIORITY_6); 
     87                        case 7: 
     88                                return hal::app().res_wstr(HAL_FILE_PRIORITY_7); 
     89                        default: 
     90                                return hal::app().res_wstr(HAL_FILE_PRIORITY_0); 
     91                        }; 
     92                }  
     93 
     94        default: return L"(Undefined)"; // ??? 
     95        }; 
     96} 
     97 
     98void file_details_sort(file_details_vec& p, size_t index, bool cmp_less) 
     99{ 
     100        std::stable_sort(p.begin(), p.end(),  
     101                bind(&hal_details_compare<const file_details&>, _1, _2, index, cmp_less)); 
    36102} 
    37103 
Note: See TracChangeset for help on using the changeset viewer.