Ignore:
Timestamp:
10/15/07 17:02:28 (12 years ago)
Author:
Eoin
Message:

Bugfixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/advtabs/Tracker.cpp

    r316 r317  
    1111 
    1212#include "Tracker.hpp" 
     13 
     14LRESULT AdvTrackerDialog::onInitDialog(HWND, LPARAM) 
     15{ 
     16        dialogBaseClass::InitializeHalDialogBase();      
     17         
     18        m_list.Attach(GetDlgItem(IDC_TRACKERLIST));      
     19        m_list.attachEditedConnection(bind(&AdvTrackerDialog::trackerListEdited, this)); 
     20 
     21        string torrent_name;     
     22         
     23        if (hal::bittorrent().torrentDetails().focusedTorrent()) 
     24                torrent_name = hal::to_utf8(hal::bittorrent().torrentDetails().focusedTorrent()->name()); 
     25         
     26        if (hal::bittorrent().isTorrent(torrent_name)) 
     27        {                
     28                ::EnableWindow(GetDlgItem(IDC_TRACKER_LOGINCHECK), true); 
     29                ::EnableWindow(GetDlgItem(IDC_TRACKERLIST), true); 
     30                 
     31                pair<wstring, wstring> details =  
     32                        hal::bittorrent().getTorrentLogin(torrent_name); 
     33                 
     34                username_ = details.first; 
     35                password_ = details.second; 
     36        } 
     37        else 
     38        {                
     39                ::EnableWindow(GetDlgItem(IDC_TRACKER_LOGINCHECK), false); 
     40                ::EnableWindow(GetDlgItem(IDC_TRACKERLIST), false); 
     41                 
     42                username_ = L""; 
     43                password_ = L""; 
     44        } 
     45                 
     46        setLoginUiState(torrent_name); 
     47        DoDataExchange(false);   
     48        return 0; 
     49} 
     50 
     51void AdvTrackerDialog::setLoginUiState(const string& torrent_name) 
     52{ 
     53        if (username_ == L"") 
     54        { 
     55                ::SendMessage(GetDlgItem(IDC_TRACKER_LOGINCHECK), BM_SETCHECK, BST_UNCHECKED, 0); 
     56                password_ = L""; 
     57        } 
     58        else 
     59        {        
     60                ::SendMessage(GetDlgItem(IDC_TRACKER_LOGINCHECK), BM_SETCHECK, BST_CHECKED, 0); 
     61        } 
     62         
     63        onLoginCheck(0, 0, GetDlgItem(IDC_TRACKER_LOGINCHECK));  
     64} 
     65 
     66void AdvTrackerDialog::onClose() 
     67{ 
     68        if(::IsWindow(m_hWnd))  
     69        { 
     70                ::DestroyWindow(m_hWnd); 
     71        } 
     72} 
     73 
     74LRESULT AdvTrackerDialog::OnEditKillFocus(UINT uCode, int nCtrlID, HWND hwndCtrl) 
     75{ 
     76        DoDataExchange(true); 
     77         
     78        string torrent_name;     
     79        if (hal::bittorrent().torrentDetails().focusedTorrent()) 
     80                torrent_name = hal::to_utf8(hal::bittorrent().torrentDetails().focusedTorrent()->name()); 
     81         
     82        setLoginUiState(torrent_name); 
     83        hal::bittorrent().setTorrentLogin(torrent_name, username_, password_); 
     84         
     85        return 0; 
     86} 
    1387 
    1488void AdvTrackerDialog::focusChanged(const hal::TorrentDetail_ptr pT) 
     
    94168} 
    95169 
    96 LRESULT AdvTrackerDialog::onInitDialog(HWND, LPARAM) 
    97 { 
    98         dialogBaseClass::InitializeHalDialogBase();      
    99          
    100         m_list.Attach(GetDlgItem(IDC_TRACKERLIST));      
    101         m_list.attachEditedConnection(bind(&AdvTrackerDialog::trackerListEdited, this)); 
    102  
    103         string torrent_name;     
    104          
    105         if (hal::bittorrent().torrentDetails().focusedTorrent()) 
    106                 torrent_name = hal::to_utf8(hal::bittorrent().torrentDetails().focusedTorrent()->name()); 
    107          
    108         if (hal::bittorrent().isTorrent(torrent_name)) 
    109         {                
    110                 ::EnableWindow(GetDlgItem(IDC_TRACKER_LOGINCHECK), true); 
    111                 ::EnableWindow(GetDlgItem(IDC_TRACKERLIST), true); 
    112                  
    113                 pair<wstring, wstring> details =  
    114                         hal::bittorrent().getTorrentLogin(torrent_name); 
    115                  
    116                 username_ = details.first; 
    117                 password_ = details.second; 
    118         } 
    119         else 
    120         {                
    121                 ::EnableWindow(GetDlgItem(IDC_TRACKER_LOGINCHECK), false); 
    122                 ::EnableWindow(GetDlgItem(IDC_TRACKERLIST), false); 
    123                  
    124                 username_ = L""; 
    125                 password_ = L""; 
    126         } 
    127                  
    128         setLoginUiState(torrent_name); 
    129         DoDataExchange(false);   
    130         return 0; 
    131 } 
    132  
    133 void AdvTrackerDialog::setLoginUiState(const string& torrent_name) 
    134 { 
    135         if (username_ == L"") 
    136         { 
    137                 ::SendMessage(GetDlgItem(IDC_TRACKER_LOGINCHECK), BM_SETCHECK, BST_UNCHECKED, 0); 
    138                 password_ = L""; 
    139         } 
    140         else 
    141         {        
    142                 ::SendMessage(GetDlgItem(IDC_TRACKER_LOGINCHECK), BM_SETCHECK, BST_CHECKED, 0); 
    143         } 
    144          
    145         onLoginCheck(0, 0, GetDlgItem(IDC_TRACKER_LOGINCHECK));  
    146 } 
    147  
    148 void AdvTrackerDialog::onClose() 
    149 { 
    150         if(::IsWindow(m_hWnd))  
    151         { 
    152                 ::DestroyWindow(m_hWnd); 
    153         } 
    154 } 
    155  
    156 LRESULT AdvTrackerDialog::OnEditKillFocus(UINT uCode, int nCtrlID, HWND hwndCtrl) 
    157 { 
    158         DoDataExchange(true); 
    159          
    160         string torrent_name;     
    161         if (hal::bittorrent().torrentDetails().focusedTorrent()) 
    162                 torrent_name = hal::to_utf8(hal::bittorrent().torrentDetails().focusedTorrent()->name()); 
    163          
    164         setLoginUiState(torrent_name); 
    165         hal::bittorrent().setTorrentLogin(torrent_name, username_, password_); 
    166          
    167         return 0; 
    168 } 
    169  
    170170void AdvTrackerDialog::onReannounce(UINT, int, HWND) 
    171171{ 
     
    223223        ::EnableWindow(GetDlgItem(IDC_TRACKER_APPLY), false); 
    224224} 
    225  
Note: See TracChangeset for help on using the changeset viewer.