Changeset 717


Ignore:
Timestamp:
02/05/09 21:24:05 (11 years ago)
Author:
Eoin
Message:
 
Location:
trunk
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Halite.sln

    r711 r717  
    131131                {67F0629E-04ED-4CF3-BC02-4A49B4919F05}.Debug|Mixed Platforms.Build.0 = Debug|Win32 
    132132                {67F0629E-04ED-4CF3-BC02-4A49B4919F05}.Debug|Win32.ActiveCfg = Debug|Win32 
    133                 {67F0629E-04ED-4CF3-BC02-4A49B4919F05}.Debug|Win32.Build.0 = Debug|Win32 
    134133                {67F0629E-04ED-4CF3-BC02-4A49B4919F05}.Debug|x64.ActiveCfg = Debug|Win32 
    135134                {67F0629E-04ED-4CF3-BC02-4A49B4919F05}.Debug|x86.ActiveCfg = Debug|Win32 
     
    152151                {95A9F4A0-8CEF-4A1B-AA6B-94B7E0178253}.Debug|Mixed Platforms.Build.0 = Debug|Win32 
    153152                {95A9F4A0-8CEF-4A1B-AA6B-94B7E0178253}.Debug|Win32.ActiveCfg = Debug|Win32 
    154                 {95A9F4A0-8CEF-4A1B-AA6B-94B7E0178253}.Debug|Win32.Build.0 = Debug|Win32 
    155153                {95A9F4A0-8CEF-4A1B-AA6B-94B7E0178253}.Debug|x64.ActiveCfg = Debug|Win32 
    156154                {95A9F4A0-8CEF-4A1B-AA6B-94B7E0178253}.Debug|x86.ActiveCfg = Debug|Win32 
  • trunk/sln/libtorrent/libtorrent.vcproj

    r714 r717  
    4646                                Optimization="0" 
    4747                                AdditionalIncludeDirectories=""$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\Openssl\inc"" 
    48                                 PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0600;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;_DEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_LOGGING;TORRENT_VERBOSE_LOGGING;TORRENT_STORAGE_DEBUG;TORRENT_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
     48                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0600;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;_DEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
    4949                                MinimalRebuild="true" 
    5050                                ExceptionHandling="2" 
  • trunk/src/HaliteDialog.cpp

    r715 r717  
    124124void HaliteDialog::OnReannounce(UINT, int, HWND) 
    125125{ 
    126         if (hal::torrent_details_ptr torrent = hal::bittorrent().torrentDetails().focusedTorrent())  
    127                 hal::bittorrent().reannounce_torrent(hal::to_utf8(torrent->name())); 
     126//      if (hal::torrent_details_ptr torrent = hal::bittorrent().torrentDetails().focusedTorrent())  
     127//              hal::bittorrent().reannounce_torrent(hal::to_utf8(torrent->name())); 
    128128} 
    129129 
    130130void HaliteDialog::OnRemove(UINT, int, HWND) 
    131131{ 
    132         if (hal::torrent_details_ptr torrent = hal::bittorrent().torrentDetails().focusedTorrent())  
     132/*      if (hal::torrent_details_ptr torrent = hal::bittorrent().torrentDetails().focusedTorrent())  
    133133        { 
    134134                string torrentName = hal::to_utf8(torrent->name()); 
    135135 
    136136                hal::bittorrent().remove_torrent(torrentName); 
    137                 torrentsList().clearFocused(); 
    138         } 
     137//              torrentsList().clearFocused(); 
     138        }*/ 
    139139} 
    140140 
     
    267267        uploadRate_ = tranLimit.second; 
    268268         
    269         m_list.clearAll(); 
     269//      m_list.clearAll(); 
    270270         
    271271        DoDataExchange(false); 
  • trunk/src/HaliteListView.cpp

    r716 r717  
    107107                        int index = GetColumnSortType(GetSecondarySortColumn()); 
    108108                         
    109                         if (index > WTL::LVCOLSORT_LAST) 
    110                                 sort(index - (WTL::LVCOLSORT_LAST+1+hal::torrent_details::name_e), IsSecondarySortDescending()); 
     109                //      if (index > WTL::LVCOLSORT_LAST) 
     110                //              sort(index - (WTL::LVCOLSORT_LAST+1+hal::torrent_details::name_e), IsSecondarySortDescending()); 
    111111                } 
    112112 
     
    118118 
    119119//      if (IsGroupViewEnabled()) 
    120 //              sort(hal::torrent_details::managed_e, IsSortDescending()); 
     120//              sort(hal::torrent_details::managed_e, true); 
    121121 
    122122        bool sort_once = IsSortOnce(); 
     
    131131                HAL_DEV_SORT_MSG(hal::wform(L"AutoSort() = %1%, SortOnce() = %2%, !AutoSort() && !SortOnce() = %3%")  
    132132                        % AutoSort() % sort_once % (!AutoSort() && !sort_once)); 
    133  
    134                 if (!AutoSort() && !sort_once) 
    135                 { 
    136                         LV_FINDINFO findInfo;  
    137                         findInfo.flags = LVFI_STRING; 
    138                         findInfo.psz = const_cast<LPTSTR>(td->name().c_str()); 
    139                          
    140                         item_pos = FindItem(&findInfo, -1); 
    141                 } 
    142133                 
    143134                HAL_DEV_SORT_MSG(hal::wform(L"Item = %1%, Index = %2%") % td->name() % item_pos); 
     
    168159                item_pos = InsertKeyItem(td->name(), &lvItem); 
    169160 
    170 /*              if (item_pos < 0 || GetItemCount() <= static_cast<int>(item_pos)) 
    171                 { 
    172                         lvItem.iItem = GetItemCount(); 
    173                         td_index = InsertItem(&lvItem); 
    174                 } 
    175                 else 
    176                 { 
    177                         lvItem.iItem = item_pos; 
    178                         SetItem(&lvItem); 
    179                 } 
    180 */       
    181161                for (size_t i=1; i<NumberOfColumns_s; ++i) 
    182162                { 
     
    186166         
    187167        // Perform internal ListView sort here. 
    188         if (AutoSort() && col_sort_index >= 0 && col_sort_index < m_arrColSortType.GetSize()) 
     168/*      if (AutoSort() && col_sort_index >= 0 && col_sort_index < m_arrColSortType.GetSize()) 
    189169        { 
    190170                if (GetColumnSortType(col_sort_index) <= WTL::LVCOLSORT_CUSTOM) 
    191171                        DoSortItems(col_sort_index, IsSortDescending()); 
    192172        } 
    193          
     173*/       
    194174        } 
    195175} 
     
    228208LRESULT HaliteListViewCtrl::OnResume(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) 
    229209{ 
    230         std::for_each(manager().allSelected().begin(), manager().allSelected().end(), 
    231                 bind((void (hal::bit::*)(const std::wstring&))&hal::bit::resume_torrent,  
    232                         &hal::bittorrent(), _1)); 
     210        foreach(const list_value_type& val, std::make_pair(is_selected_begin(), is_selected_end())) 
     211        { 
     212                hal::bittorrent().resume_torrent(val.text().c_str()); 
     213        } 
    233214         
    234215        return 0; 
     
    237218LRESULT HaliteListViewCtrl::OnPause(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) 
    238219{        
    239         std::for_each(manager().allSelected().begin(), manager().allSelected().end(), 
    240                 bind((void (hal::bit::*)(const std::wstring&))&hal::bit::pause_torrent,  
    241                         &hal::bittorrent(), _1)); 
     220        foreach(const list_value_type& val, std::make_pair(is_selected_begin(), is_selected_end())) 
     221        { 
     222                hal::bittorrent().pause_torrent(val.text().c_str()); 
     223        } 
    242224         
    243225        return 0; 
     
    246228LRESULT HaliteListViewCtrl::OnStop(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) 
    247229{ 
    248         std::for_each(manager().allSelected().begin(), manager().allSelected().end(), 
    249                 bind((void (hal::bit::*)(const std::wstring&))&hal::bit::stop_torrent,  
    250                         &hal::bittorrent(), _1)); 
     230        foreach(const list_value_type& val, std::make_pair(is_selected_begin(), is_selected_end())) 
     231        { 
     232                hal::bittorrent().stop_torrent(val.text().c_str()); 
     233        } 
    251234 
    252235        return 0; 
     
    255238LRESULT HaliteListViewCtrl::OnRemoveFocused(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) 
    256239{ 
    257         hal::bittorrent().remove_torrent(hal::to_utf8(manager_.selected())); 
    258  
    259         clearFocused();  
     240        hal::bittorrent().remove_torrent(hal::to_utf8(is_selected_begin()->text().c_str())); 
     241        erase_from_list(*is_selected_begin()); 
     242 
    260243        return 0; 
    261244} 
     
    263246LRESULT HaliteListViewCtrl::OnRemove(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) 
    264247{ 
    265         foreach(const list_value_type& val, std::make_pair(is_selected_begin(), is_selected_end())) 
    266         { 
    267                 hal::bittorrent().remove_torrent(val.text().c_str()); 
    268         } 
    269         clearSelected(); 
     248        foreach(const list_value_type& v, std::make_pair(is_selected_begin(), is_selected_end())) 
     249        { 
     250                hal::bittorrent().remove_torrent(v.text().c_str()); 
     251                erase_from_list(v); 
     252        } 
    270253 
    271254        return 0; 
     
    274257LRESULT HaliteListViewCtrl::OnRecheck(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) 
    275258{ 
    276         std::for_each(manager().allSelected().begin(), manager().allSelected().end(), 
    277                 bind((void (hal::bit::*)(const std::wstring&))&hal::bit::recheck_torrent,  
    278                         &hal::bittorrent(), _1));        
     259        foreach(const list_value_type& v, std::make_pair(is_selected_begin(), is_selected_end())) 
     260        { 
     261                hal::bittorrent().recheck_torrent(v.text().c_str()); 
     262        } 
    279263 
    280264        return 0; 
     
    286270                                hal::app().res_wstr(HAL_HALITE).c_str(), MB_YESNO) == IDYES) 
    287271        { 
    288                 std::for_each(manager().allSelected().begin(), manager().allSelected().end(), 
    289                         bind((void (hal::bit::*)(const std::wstring&))&hal::bit::remove_torrent_wipe_files,  
    290                                 &hal::bittorrent(), _1)); 
    291                  
    292                 clearSelected(); 
    293         } 
     272                is_selected_iterator i=is_selected_end(); 
     273                if (i != is_selected_begin()) 
     274                { 
     275                        --i; 
     276                        while (i != is_selected_begin()) 
     277                        { 
     278                                hal::bittorrent().remove_torrent_wipe_files(i->text().c_str()); 
     279                                erase_from_list(*i); 
     280                        }  
     281                } 
     282        } 
     283 
    294284        return 0; 
    295285} 
     
    301291        std::set<wpath> uniquePaths; 
    302292 
    303         for(std::set<wstring>::const_iterator i=manager().allSelected().begin(), e=manager().allSelected().end(); 
    304                 i != e; ++i) 
    305         { 
    306                 wpath saveDir = hal::bittorrent().get(*i).save_directory;                
    307                 HAL_DEV_MSG(hal::wform(L"Name %1%, Save dir: %2%.") % *i % saveDir); 
     293//      for(std::set<wstring>::const_iterator i=manager().allSelected().begin(), e=manager().allSelected().end(); 
     294//              i != e; ++i) 
     295        foreach(const list_value_type& v, std::make_pair(is_selected_begin(), is_selected_end())) 
     296        { 
     297                wpath saveDir = hal::bittorrent().get(v).save_directory;                 
     298                HAL_DEV_MSG(hal::wform(L"Name %1%, Save dir: %2%.") % v.text() % saveDir); 
    308299 
    309300                uniquePaths.insert(saveDir); 
     
    337328        HAL_DEV_MSG(L"OnEditFolders"); 
    338329 
    339         if (hal::bit::torrent t = hal::bittorrent().get(manager_.selected())) 
     330        if (hal::bit::torrent t = hal::bittorrent().get(*is_selected_begin())) 
    340331        { 
    341332                wstring saveDirectory = static_cast<wpath>(t.save_directory).native_file_string(); 
     
    364355LRESULT HaliteListViewCtrl::OnSetManaged(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) 
    365356{ 
    366         foreach(const list_value_type val, std::make_pair(is_selected_begin(), is_selected_end())) 
    367         { 
    368                 hal::bittorrent().get(std::wstring(winstl::c_str_ptr(val))).managed = true; 
    369         } 
    370         DeleteAllItems(); 
     357        for (is_selected_iterator i = is_selected_end();  
     358                        i != is_selected_begin() &&  is_selected_begin() != is_selected_end(); /**/) 
     359        { 
     360                --i; 
     361                hal::bittorrent().get(*i).managed = true; 
     362                erase_from_list(*i); 
     363        } 
     364 
    371365        halite_window_.issueUiUpdate(); 
    372366 
     
    376370LRESULT HaliteListViewCtrl::OnSetUnmanaged(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) 
    377371{ 
    378         foreach(const list_value_type val, std::make_pair(is_selected_begin(), is_selected_end())) 
    379         { 
    380                 hal::bittorrent().get(std::wstring(winstl::c_str_ptr(val))).managed = false; 
    381         } 
    382         DeleteAllItems(); 
     372        for (is_selected_iterator i = is_selected_end();  
     373                        i != is_selected_begin() &&  is_selected_begin() != is_selected_end(); /**/) 
     374        { 
     375                --i; 
     376                hal::bittorrent().get(*i).managed = false; 
     377                erase_from_list(*i); 
     378        } 
     379 
    383380        halite_window_.issueUiUpdate(); 
    384381 
     
    388385LRESULT HaliteListViewCtrl::OnAdjustQueuePosition(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) 
    389386{ 
    390         foreach(const list_value_type val, std::make_pair(is_selected_begin(), is_selected_end())) 
    391         { 
    392                 hal::bit::torrent t = hal::bittorrent().get(std::wstring(winstl::c_str_ptr(val))); 
     387        foreach(const list_value_type v, std::make_pair(is_selected_begin(), is_selected_end())) 
     388        { 
     389                hal::bit::torrent t = hal::bittorrent().get(v); 
    393390 
    394391                switch (wID) 
  • trunk/src/HaliteListView.hpp

    r716 r717  
    4343        private boost::noncopyable 
    4444{ 
    45 protected: 
     45public: 
    4646        typedef HaliteListViewCtrl thisClass; 
    4747        typedef hal::IniBase<thisClass> iniClass; 
  • trunk/src/HaliteSortListViewCtrl.hpp

    r716 r717  
    128128         
    129129        thisClass() : 
    130                 manager_(*this), 
     130        //      manager_(*this), 
    131131                header_(*this), 
    132132                update_lock_(0), 
     
    324324                hal::try_update_lock<thisClass> lock(*this); 
    325325                 
    326                 if (lock) manager_.sync_list(true, true); 
     326//              if (lock) manager_.sync_list(true, true); 
    327327                 
    328328                return 0; 
     
    332332        { 
    333333                LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pnmh; 
    334                 manager_.sync_list(true); 
     334        //      manager_.sync_list(true); 
    335335                 
    336336                if (menu_) 
     
    514514        BOOST_SERIALIZATION_SPLIT_MEMBER() 
    515515 
    516         const SelectionManager& manager() { return manager_; } 
     516//      const SelectionManager& manager() { return manager_; } 
    517517                 
    518518        std::vector<int>& ListColumnWidth() { return listColumnWidth_; } 
     
    524524        bool CanUpdate() const { return updateLock_ == 0; } 
    525525         
    526         void clearFocused() { manager_.clear(); } 
    527         void clearSelected() { manager_.clear_all_selected(); } 
    528         void clearAll() { manager_.clear_all(); } 
     526//      void clearFocused() { manager_.clear(); } 
     527//      void clearSelected() { manager_.clear_all_selected(); } 
     528//      void clearAll() { manager_.clear_all(); } 
    529529         
    530530/*      int CompareItemsCustom(LVCompareParam* pItem1, LVCompareParam* pItem2, int iSortCol) 
     
    598598        friend class hal::try_update_lock<thisClass>;    
    599599 
    600         SelectionManager manager_; 
     600//      SelectionManager manager_; 
    601601        WTL::CMenu menu_; 
    602602        CHaliteHeaderCtrl header_;       
     
    705705                pair_container_.rearrange(sv.begin()); 
    706706        } 
     707 
     708        void erase_from_list(const list_value_type& val) 
     709        { 
     710                erase_from_list(val.index()); 
     711        } 
     712 
     713        void erase_from_list(size_t index) 
     714        { 
     715                pair_container_.erase(pair_container_.begin() + index); 
     716                DeleteItem(index); 
     717        } 
     718         
     719        void erase_from_list(const DataType& str) 
     720        { 
     721                key_iterator i = pair_container_.get<by_key>().find(str); 
     722                pair_container::iterator i_pos = pair_container_.project<0>(i); 
     723 
     724                if (i != pair_container_.get<by_key>().end()) 
     725                { 
     726                        DeleteItem(std::distance(pair_container_.begin(), i_pos)); 
     727                        pair_container_.erase(i_pos); 
     728                } 
     729        } 
    707730         
    708731private: 
     
    727750        mutable bool descending_; 
    728751        mutable int sortCol_; 
    729                  
    730 //      boost::ptr_map<size_t, ColumnAdapter> column_adapters_; 
    731752}; 
    732753 
     
    735756        (const winstl::listview_sequence::sequence_value_type& v) 
    736757{ 
    737         return std::wstring(winstl::c_str_ptr(v)); 
     758        return std::wstring(v.text().c_str()); 
     759} 
     760 
     761template<> 
     762inline const std::wstring hal::to_wstr_shim<winstl::listview_sequence::sequence_value_type> 
     763        (winstl::listview_sequence::sequence_value_type& v) 
     764{ 
     765        return std::wstring(v.text().c_str()); 
    738766} 
    739767 
  • trunk/src/HaliteWindow.cpp

    r712 r717  
    118118        haliteList.Create(m_Split.m_hWnd, rc, NULL,  
    119119                LVS_REPORT|WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|LVS_SHOWSELALWAYS); 
    120         haliteList.manager().attach(bind(&HaliteWindow::issueUiUpdate, this)); 
     120//      haliteList.manager().attach(bind(&HaliteWindow::issueUiUpdate, this)); 
    121121 
    122122 
     
    287287                { 
    288288 
    289                 hal::ini().save_data(); 
    290                 hal::bittorrent().save_torrent_data();   
     289//              hal::ini().save_data(); 
     290//              hal::bittorrent().save_torrent_data();   
    291291         
    292292                } HAL_GENERIC_FN_EXCEPTION_CATCH(L"HaliteWindow::OnTimer(ID_SAVE_TIMER)") 
     
    302302        try 
    303303        { 
     304 
     305                std::set<wstring> s; 
     306 
     307                foreach(const HaliteListViewCtrl::listClass::list_value_type val, std::make_pair(haliteList.is_selected_begin(), haliteList.is_selected_end())) 
     308        { 
     309                s.insert(val.text().c_str()); 
     310        } 
    304311         
    305312        const hal::torrent_details_manager& torrents = hal::bittorrent().updatetorrent_details_manager( 
    306                 haliteList.manager().selected(), haliteList.manager().allSelected()); 
     313                haliteList.is_selected_begin()->text().c_str(), s); 
    307314 
    308315        ui_update_signal_(torrents); 
  • trunk/src/NewTorrentTracker.cpp

    r710 r717  
    5555                {                        
    5656                        std::vector<hal::tracker_detail> trackers =     t.trackers; 
    57                         clearAll(); 
     57                        DeleteAllItems(); 
    5858                         
    5959                        foreach (const hal::tracker_detail& tracker, trackers) 
     
    6666        else 
    6767        {                
    68                 clearAll(); 
     68                DeleteAllItems(); 
    6969        } 
    7070} 
  • trunk/src/WTLx/GenericAddListView.hpp

    r710 r717  
    9191        { 
    9292                ListClass* pT = static_cast<ListClass*>(this); 
    93                 pT->editItem(pT->manager().selectedIndex()); 
     93                pT->editItem(pT->is_selected_begin()->index()); 
    9494 
    9595                return 0; 
     
    9999        { 
    100100                ListClass* pT = static_cast<ListClass*>(this);           
    101                 pT->deleteItem(pT->manager().selectedIndex()); 
     101                pT->deleteItem(pT->is_selected_begin()->index()); 
    102102 
    103103                return 0; 
  • trunk/src/WTLx/ListViewIterators.hpp

    r710 r717  
    1717class ListViewIterators 
    1818{ 
    19 protected: 
     19public: 
    2020        winstl::listview_sequence::const_iterator const_begin() 
    2121        { 
  • trunk/src/advtabs/Tracker.cpp

    r710 r717  
    185185                 
    186186                std::vector<hal::tracker_detail> trackers =t.trackers; 
    187                 m_list.clearAll(); 
     187                m_list.DeleteAllItems(); 
    188188                 
    189189                foreach (const hal::tracker_detail& tracker, trackers) 
  • trunk/src/advtabs/TrackerListView.cpp

    r710 r717  
    5757                {                        
    5858                        std::vector<hal::tracker_detail> trackers = t.trackers;                          
    59                         clearAll(); 
     59                        DeleteAllItems(); 
    6060                         
    6161                        foreach (const hal::tracker_detail& tracker, trackers) 
     
    6868        else 
    6969        {                
    70                 clearAll(); 
     70                DeleteAllItems(); 
    7171        } 
    7272} 
     
    134134        } 
    135135         
    136         SetItemText(manager().selectedIndex(), 1, L"0"); 
     136//      SetItemText(manager().selectedIndex(), 1, L"0"); 
    137137         
    138138        listEdited_(); 
Note: See TracChangeset for help on using the changeset viewer.