Changeset 712


Ignore:
Timestamp:
01/30/09 02:24:17 (10 years ago)
Author:
kavika
Message:

Now skips exit confirmation if no torrents are active.

Moved exit confirmation check to common method (removed tiny bit of code duplication)

Location:
trunk
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/HaliteWindow.cpp

    r710 r712  
    379379        else 
    380380        { 
    381                 if (!confirmClose || (confirmClose &&  
    382                         MessageBox(hal::app().res_wstr(HAL_WINDOW_CLOSECONFRIM).c_str(),  
    383                                 hal::app().res_wstr(HAL_HALITE).c_str(), MB_YESNO) == IDYES)) 
    384                 { 
    385                         DestroyWindow(); 
    386                 } 
     381                TryToCloseWithConfirmation(); 
    387382        } 
    388383} 
     
    403398        } HAL_GENERIC_FN_EXCEPTION_CATCH(L"HaliteWindow::ShutdownThread()") 
    404399} 
    405   
     400 
     401void HaliteWindow::TryToCloseWithConfirmation() 
     402{ 
     403        bool noTorrentsAreActive = !hal::bittorrent().is_any_torrent_active(); 
     404         
     405        if (noTorrentsAreActive || !confirmClose || (confirmClose &&  
     406                MessageBox(hal::app().res_wstr(HAL_WINDOW_CLOSECONFRIM).c_str(),  
     407                        hal::app().res_wstr(HAL_HALITE).c_str(), MB_YESNO) == IDYES)) 
     408        { 
     409                DestroyWindow(); 
     410        } 
     411} 
     412 
    406413void HaliteWindow::OnDestroy() 
    407414{        
     
    561568LRESULT HaliteWindow::OnToolbarExit(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) 
    562569{ 
    563         if (!confirmClose || (confirmClose &&  
    564                 MessageBox(hal::app().res_wstr(HAL_WINDOW_CLOSECONFRIM).c_str(),  
    565                         hal::app().res_wstr(HAL_HALITE).c_str(), MB_YESNO) == IDYES)) 
    566         { 
    567                 DestroyWindow(); 
    568         } 
     570        TryToCloseWithConfirmation(); 
    569571         
    570572        return 0; 
  • trunk/src/HaliteWindow.hpp

    r710 r712  
    220220private: 
    221221        void ShutdownThread(); 
     222        void TryToCloseWithConfirmation(); 
    222223 
    223224        // These two gotta be first!!! 
  • trunk/src/halTorrent.cpp

    r706 r712  
    786786} 
    787787 
     788bool bit::is_any_torrent_active() 
     789{ 
     790        bool result = false; 
     791         
     792        try { 
     793         
     794        for (torrent_manager::torrent_by_name::iterator i=pimpl()->the_torrents_.begin(), e=pimpl()->the_torrents_.end(); 
     795                i != e; ++i) 
     796        { 
     797                if ((*i).torrent->is_active()) 
     798                { 
     799                        result = true; 
     800                        break; 
     801                } 
     802        } 
     803         
     804        } HAL_GENERIC_TORRENT_EXCEPTION_CATCH("Torrent Unknown!", "unpauseAllTorrents") 
     805         
     806        return result; 
     807} 
     808 
    788809bit::torrent::torrent() 
    789810{} 
  • trunk/src/halTorrent.hpp

    r711 r712  
    750750        void pause_all_torrents(); 
    751751        void unpause_all_torrents(); 
     752        bool is_any_torrent_active(); 
    752753 
    753754        template<typename S> 
Note: See TracChangeset for help on using the changeset viewer.