Ignore:
Timestamp:
10/31/08 21:15:46 (11 years ago)
Author:
Eoin
Message:

Allocation mode combobox.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/AddTorrentDialog.hpp

    r495 r612  
    99#define ID_ADD_TORRENT_BEGIN            11000 
    1010#define HAL_ADJUST_DLG_HOLDER           ID_ADD_TORRENT_BEGIN + 1 
     11#define HAL_STORAGE_TYPE_COMBO          ID_ADD_TORRENT_BEGIN + 2 
    1112 
    1213#ifndef RC_INVOKED 
     
    2829        typedef hal::IniBase<thisClass> iniClass; 
    2930 
     31        typedef std::map<wstring, hal::bit::allocations> wstr2alloc_map; 
     32 
    3033public: 
    31         AddTorrentDialog(wstring& d, wstring& m, bool& u, bool& p, bool& c) :      
     34        AddTorrentDialog(wstring& d, wstring& m, bool& u, bool& p, bool& c, hal::bit::allocations& a_t) :          
    3235                iniClass("AddTorrentDialog", "settings"), 
    3336                rect_(0,0,0,0), 
    3437                adjustDlg_(d, m, u), 
    3538                startPaused_(p), 
    36                 compactStorage_(c) 
     39                compactStorage_(c), 
     40                allocation_type_(a_t) 
    3741        {  
    3842                load_from_ini();  
     
    5357                 
    5458        CHAIN_MSG_MAP(autosizeClass) 
     59//              AddHeightToComboBox(); 
    5560    END_MSG_MAP() 
    5661         
     
    5863        DDX_CHECK(HAL_CHECK_COMPACT, compactStorage_) 
    5964        DDX_CHECK(HAL_CHECK_PAUSED, startPaused_) 
     65                DDX_EX_STDWSTRING(HAL_STORAGE_TYPE_COMBO, allocation_type_name_) 
    6066    END_DDX_MAP()        
    6167 
     
    6975                        WMB_ROW(_exp,   HAL_ADJUST_DLG),  
    7076                        WMB_ROW(_gap,   _d), 
    71                         WMB_ROW(_auto,  HAL_CHECK_COMPACT),  
     77                        WMB_ROW(_auto,  HAL_STORAGE_TYPE_COMBO),  
    7278                        WMB_ROW(_auto,  HAL_CHECK_PAUSED),  
    7379                        WMB_ROW(_auto,  HAL_ADDT_NOTE_TEXT),  
     
    95101                CtrlsInitialize(); 
    96102                CtrlsArrange(); 
     103 
     104                allocation_type_map_[L"Full Allocation"] = hal::bit::full_allocation; 
     105                allocation_type_map_[L"Compact Allocation"] = hal::bit::compact_allocation; 
     106                allocation_type_map_[L"Sparse Allocation"] = hal::bit::sparse_allocation; 
     107 
     108                allocation_type_name_ = L"Sparse Allocation"; 
     109 
     110                foreach (wstr2alloc_map::value_type i, allocation_type_map_) 
     111                { 
     112                        ::SendMessage(GetDlgItem(HAL_STORAGE_TYPE_COMBO), CB_ADDSTRING, 0, (LPARAM)i.first.c_str()); 
     113                } 
     114                ::SendMessage(GetDlgItem(HAL_STORAGE_TYPE_COMBO), CB_SELECTSTRING, 0, (LPARAM)L"Sparse"); 
    97115                 
    98116                BOOL retval =  DoAllDataxchange(false); 
     
    114132        { 
    115133                DoAllDataxchange(true); 
     134 
     135                allocation_type_ = allocation_type_map_[allocation_type_name_]; 
    116136 
    117137                GetWindowRect(rect_); 
     
    138158        bool& startPaused_; 
    139159        bool& compactStorage_; 
     160        hal::bit::allocations& allocation_type_; 
     161 
     162        wstring allocation_type_name_; 
     163        wstr2alloc_map allocation_type_map_; 
    140164}; 
    141165 
Note: See TracChangeset for help on using the changeset viewer.