Changeset 461


Ignore:
Timestamp:
05/29/08 14:08:35 (12 years ago)
Author:
Eoin
Message:

Improved Torrent Creation.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/res/Halite.rc

    r460 r461  
    410410IDD_NEWTORRENT DIALOGEX 0,0,229,132 
    411411STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILDWINDOW | WS_CLIPCHILDREN 
     412CAPTION "Details" 
     413FONT 8,"MS Shell Dlg",400,0,1 
     414BEGIN 
     415        LTEXT           "Enter the tracker URLs for the torrent.",IDC_NEWTORRENT_TRACKERS_TEXT,4,32,221,11,NOT WS_VISIBLE 
     416    EDITTEXT        IDC_NEWT_TRACKER,4,42,193,12,ES_AUTOHSCROLL|NOT WS_VISIBLE 
     417//    AUTOCHECKBOX    "Have Halite acts a DHT node.",IDC_NEWT_DHTNODE,4,116,118,8,WS_DISABLED 
     418    AUTOCHECKBOX    "Private",IDC_NEWTORRENT_PRIVATE,4,116,118,8 
     419        LTEXT           "Comment",IDC_NEWTORRENT_COMMENT_TEXT,4,4,50,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     420    EDITTEXT        IDC_NEWTORRENT_COMMENT,4,15,203,12,ES_AUTOHSCROLL 
     421    LTEXT           "Creator",IDC_NEWTORRENT_CREATOR_TEXT,4,4,50,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     422    EDITTEXT        IDC_NEWTORRENT_CREATOR,4,15,203,12,ES_AUTOHSCROLL 
     423    LTEXT           "Piece Size (KBs)",HAL_NEWT_PIECESIZE_TEXT,4,4,50,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     424    EDITTEXT        HAL_NEWT_PIECESIZE,4,15,203,12,ES_AUTOHSCROLL|ES_NUMBER 
     425    LTEXT           "Output File",IDC_NEWT_OUTFILE_TEXT,4,4,50,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     426    EDITTEXT        IDC_NEWT_FILE,4,15,203,12,ES_AUTOHSCROLL 
     427    PUSHBUTTON      "...",IDC_NEWT_OUT_BROWSE,212,14,18,13 
     428END 
     429 
     430IDD_NEWT_FILES DIALOGEX 0,0,186,50 
     431STYLE DS_SETFONT | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME 
     432EXSTYLE WS_EX_TOOLWINDOW 
    412433CAPTION "Files" 
    413434FONT 8,"MS Shell Dlg",400,0,1 
    414435BEGIN 
    415 //    PUSHBUTTON      "Save",IDOK,130,114,45,14,BS_DEFPUSHBUTTON 
    416 //    PUSHBUTTON      "Cancel",IDCANCEL,180,114,45,14 
    417436    LTEXT           "Select a file or directory from which to construct the torrent.",IDC_NEWTORRENT_SELECT_TEXT,4,4,221,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    418437    PUSHBUTTON      "File",IDC_NEWT_FILE_BROWSE,212,14,40,13 
    419438    PUSHBUTTON      "Dir.",IDC_NEWT_DIR_BROWSE,212,14,40,13 
    420     LISTBOX         IDC_NEWT_LISTTRACKERS,4,57,221,52,WS_TABSTOP|WS_VSCROLL|LBS_NOINTEGRALHEIGHT|LBS_SORT|NOT WS_VISIBLE 
    421439    CONTROL         "",IDC_NEWT_LISTFILES,"SysListView32",WS_TABSTOP | WS_BORDER | LVS_ALIGNLEFT | LVS_REPORT,4,7,296,59 
    422     LTEXT           "Enter the tracker URLs for the torrent.",IDC_NEWTORRENT_TRACKERS_TEXT,4,32,221,11,NOT WS_VISIBLE 
    423     EDITTEXT        IDC_NEWT_TRACKER,4,42,193,12,ES_AUTOHSCROLL|NOT WS_VISIBLE 
    424 //    AUTOCHECKBOX    "Have Halite acts a DHT node.",IDC_NEWT_DHTNODE,4,116,118,8,WS_DISABLED 
    425     AUTOCHECKBOX    "Private",IDC_NEWTORRENT_PRIVATE,4,116,118,8 
    426     PUSHBUTTON      "Add",IDC_NEWT_ADDTRACKER,202,41,23,13,NOT WS_VISIBLE 
    427     LTEXT           "Comment",IDC_NEWTORRENT_COMMENT_TEXT,4,4,50,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    428     EDITTEXT        IDC_NEWTORRENT_COMMENT,4,15,203,12,ES_AUTOHSCROLL 
    429     LTEXT           "Creator",IDC_NEWTORRENT_CREATOR_TEXT,4,4,50,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    430     EDITTEXT        IDC_NEWTORRENT_CREATOR,4,15,203,12,ES_AUTOHSCROLL 
    431     LTEXT           "Output File",IDC_NEWT_OUTFILE_TEXT,4,4,50,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    432     EDITTEXT        IDC_NEWT_FILE,4,15,203,12,ES_AUTOHSCROLL 
    433     PUSHBUTTON      "...",IDC_NEWT_OUT_BROWSE,212,14,18,13 
    434 END 
    435  
    436 IDD_NEWT_FILES DIALOGEX 0,0,186,50 
    437 STYLE DS_SETFONT | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME 
    438 EXSTYLE WS_EX_TOOLWINDOW 
    439 CAPTION "Add New Tracker" 
    440 FONT 8,"MS Shell Dlg",400,0,1 
    441 BEGIN 
    442     LTEXT           "Select a file or directory from which to construct the torrent.",IDC_NEWTORRENT_SELECT_TEXT,4,4,221,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    443     PUSHBUTTON      "File",IDC_NEWT_FILE_BROWSE,212,14,40,13 
    444     PUSHBUTTON      "Dir.",IDC_NEWT_DIR_BROWSE,212,14,40,13 
    445     LISTBOX         IDC_NEWT_LISTTRACKERS,4,57,221,52,WS_TABSTOP|WS_VSCROLL|LBS_NOINTEGRALHEIGHT|LBS_SORT|NOT WS_VISIBLE 
    446     CONTROL         "",IDC_NEWT_LISTFILES,"SysListView32",WS_TABSTOP | WS_BORDER | LVS_ALIGNLEFT | LVS_REPORT,4,7,296,59 
     440    LTEXT           "Generated Torrent Name (Cannot change)",HAL_NEWT_FILE_NAME,4,4,221,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     441    EDITTEXT        HAL_NEWT_FILE_NAME_EDIT,4,15,203,12,ES_AUTOHSCROLL|ES_READONLY 
    447442END 
    448443 
  • trunk/src/NewTorrentDialog.cpp

    r460 r461  
    3737} 
    3838 
    39 void FileSheet::OnFileBrowse(UINT, int, HWND hWnd) 
    40 {        
    41         CSSFileDialog dlgOpen(TRUE, NULL, NULL, OFN_HIDEREADONLY, L"All Files (*.*)|*.*|", m_hWnd); 
    42  
    43         if (dlgOpen.DoModal() == IDOK)  
    44         { 
    45                 files_.clear(); 
    46                 wpath file = wpath(dlgOpen.m_ofn.lpstrFile); 
    47  
    48                 fileRoot_ = file.branch_path();          
    49                 files_.push_back(file.leaf()); 
    50  
    51                 UpdateFileList(); 
    52         } 
    53 } 
    54  
    5539void FileSheet::OnOutBrowse(UINT, int, HWND hWnd) 
    5640{        
     
    7559    else 
    7660    { 
    77 //              HAL_DEV_MSG(currentDir.string()); 
    7861                files.push_back(baseDir.leaf()/relDir);          
    7962    } 
    8063} 
    8164 
    82 void FileSheet::OnDirBrowse(UINT, int, HWND hWnd) 
    83 {        
    84         CFolderDialog fldDlg(NULL, L"", BIF_RETURNONLYFSDIRS|BIF_NEWDIALOGSTYLE); 
    85  
    86         try 
    87         { 
    88  
    89         if (IDOK == fldDlg.DoModal()) 
    90         { 
    91                 files_.clear(); 
    92  
    93                 fileRoot_ = wpath(fldDlg.m_szFolderPath).branch_path(); 
    94                 recurseDirectory(files_, wpath(fldDlg.m_szFolderPath), L""); 
    95  
    96                 UpdateFileList(); 
    97         } 
    98  
    99         } 
    100         catch(const std::exception& e) 
    101         { 
    102                 hal::event().post(shared_ptr<hal::EventDetail>( 
    103                         new hal::EventStdException(hal::Event::fatal, e, L"FileSheet::OnDirBrowse"))); 
    104         } 
    105 } 
    106  
    107 void FileSheet::UpdateFileList() 
    108 { 
    109         filesList_.DeleteAllItems(); 
    110  
    111         foreach(wpath& file, files_) 
    112         { 
    113                 int itemPos = filesList_.AddItem(0, 0, file.leaf().c_str(), 0); 
    114  
    115                 filesList_.SetItemText(itemPos, 1, file.branch_path().file_string().c_str()); 
    116                 filesList_.SetItemText(itemPos, 2, lexical_cast<wstring>( 
    117                         hal::fs::file_size(fileRoot_/file)).c_str()); 
    118         } 
    119 } 
    120  
    12165LRESULT FileSheet::onInitDialog(HWND, LPARAM) 
    12266{        
    123         filesList_.Attach(GetDlgItem(IDC_NEWT_LISTFILES));       
    124  
    12567        creator_ = L"Halite " + hal::app().res_wstr(HAL_VERSION_STRING); 
     68 
     69        pieceSize_ = 256; 
    12670 
    12771        BOOL retval =  DoDataExchange(false); 
    12872        return 0; 
    129 } 
    130          
    131 wpath FileSheet::FileFullPath() const 
    132 { 
    133         return fileRoot_; 
    134 } 
    135  
    136 hal::file_size_pairs_t FileSheet::FileSizePairs() const 
    137 { 
    138         hal::file_size_pairs_t filePairs; 
    139  
    140         try 
    141         { 
    142  
    143         for (int i=0, e=filesList_.GetItemCount(); i<e; ++i) 
    144         { 
    145                 hal::win_c_str<std::wstring> name_buf(MAX_PATH);                 
    146                 filesList_.GetItemText(i, 0, name_buf, name_buf.size()); 
    147  
    148                 hal::win_c_str<std::wstring> path_buf(MAX_PATH);                 
    149                 filesList_.GetItemText(i, 1, path_buf, path_buf.size()); 
    150  
    151                 filePairs.push_back(hal::make_pair( 
    152                         wpath(wpath(path_buf.str()) / name_buf).string(),  
    153                         hal::fs::file_size(fileRoot_ / path_buf / name_buf))); 
    154         } 
    155  
    156         } 
    157         catch(const std::exception& e) 
    158         { 
    159                 hal::event().post(boost::shared_ptr<hal::EventDetail>( 
    160                         new hal::EventStdException(hal::Event::critical, e,  
    161                                 L"FileSheet::FileSizePairs"))); 
    162         } 
    163  
    164         return filePairs; 
    165 } 
    166  
    167 wpath FileSheet::OutputFile() 
    168 { 
    169         DoDataExchange(true); 
    170         return outFile_; 
    17173} 
    17274 
     
    18183        DoDataExchange(true); 
    18284        return comment_;  
    183  
    184 } 
     85} 
     86 
     87int FileSheet::PieceSize() 
     88{  
     89        DoDataExchange(true); 
     90        return pieceSize_;  
     91} 
     92 
    18593bool FileSheet::Private()  
    18694{  
    18795        DoDataExchange(true); 
    18896        return private_; 
     97} 
     98 
     99void FilesSheet::OnFileBrowse(UINT, int, HWND hWnd) 
     100{        
     101        CSSFileDialog dlgOpen(TRUE, NULL, NULL, OFN_HIDEREADONLY, L"All Files (*.*)|*.*|", m_hWnd); 
     102 
     103        if (dlgOpen.DoModal() == IDOK)  
     104        { 
     105                files_.clear(); 
     106                wpath file = wpath(dlgOpen.m_ofn.lpstrFile); 
     107 
     108                fileRoot_ = file.branch_path();          
     109                files_.push_back(file.leaf()); 
     110 
     111                UpdateFileList(); 
     112        } 
     113} 
     114 
     115wpath FileSheet::OutputFile() 
     116{ 
     117        DoDataExchange(true); 
     118        return outFile_; 
     119} 
     120 
     121void FilesSheet::OnDirBrowse(UINT, int, HWND hWnd) 
     122{        
     123        CFolderDialog fldDlg(NULL, L"", BIF_RETURNONLYFSDIRS|BIF_NEWDIALOGSTYLE); 
     124 
     125        try 
     126        { 
     127 
     128        if (IDOK == fldDlg.DoModal()) 
     129        { 
     130                files_.clear(); 
     131 
     132                fileRoot_ = wpath(fldDlg.m_szFolderPath).branch_path(); 
     133                recurseDirectory(files_, wpath(fldDlg.m_szFolderPath), L""); 
     134 
     135                UpdateFileList(); 
     136        } 
     137 
     138        } 
     139        catch(const std::exception& e) 
     140        { 
     141                hal::event().post(shared_ptr<hal::EventDetail>( 
     142                        new hal::EventStdException(hal::Event::fatal, e, L"FileSheet::OnDirBrowse"))); 
     143        } 
     144} 
     145 
     146void FilesSheet::UpdateFileList() 
     147{ 
     148        filesList_.DeleteAllItems(); 
     149 
     150        foreach(wpath& file, files_) 
     151        { 
     152                int itemPos = filesList_.AddItem(0, 0, file.leaf().c_str(), 0); 
     153 
     154                filesList_.SetItemText(itemPos, 1, file.branch_path().file_string().c_str()); 
     155                filesList_.SetItemText(itemPos, 2, lexical_cast<wstring>( 
     156                        hal::fs::file_size(fileRoot_/file)).c_str()); 
     157        } 
     158} 
     159 
     160wpath FilesSheet::FileFullPath() const 
     161{ 
     162        return fileRoot_; 
     163} 
     164 
     165hal::file_size_pairs_t FilesSheet::FileSizePairs() const 
     166{ 
     167        hal::file_size_pairs_t filePairs; 
     168 
     169        try 
     170        { 
     171 
     172        for (int i=0, e=filesList_.GetItemCount(); i<e; ++i) 
     173        { 
     174                hal::win_c_str<std::wstring> name_buf(MAX_PATH);                 
     175                filesList_.GetItemText(i, 0, name_buf, name_buf.size()); 
     176 
     177                hal::win_c_str<std::wstring> path_buf(MAX_PATH);                 
     178                filesList_.GetItemText(i, 1, path_buf, path_buf.size()); 
     179 
     180                filePairs.push_back(hal::make_pair( 
     181                        wpath(wpath(path_buf.str()) / name_buf).string(),  
     182                        hal::fs::file_size(fileRoot_ / path_buf / name_buf))); 
     183        } 
     184 
     185        } 
     186        catch(const std::exception& e) 
     187        { 
     188                hal::event().post(boost::shared_ptr<hal::EventDetail>( 
     189                        new hal::EventStdException(hal::Event::critical, e,  
     190                                L"FileSheet::FileSizePairs"))); 
     191        } 
     192 
     193        return filePairs; 
    189194} 
    190195 
     
    269274 
    270275#define NEWTORRENT_COMMENT_LAYOUT \ 
    271         WMB_HEAD(WMB_COL(_auto), WMB_COLNOMIN(_exp)), \ 
    272                 WMB_ROW(_auto,  IDC_NEWTORRENT_COMMENT_TEXT,  IDC_NEWTORRENT_COMMENT), \ 
     276        WMB_HEAD(WMB_COLNOMIN(_exp)), \ 
     277                WMB_ROW(_auto,  IDC_NEWTORRENT_COMMENT_TEXT), \ 
     278                WMB_ROW(_exp,   IDC_NEWTORRENT_COMMENT), \ 
    273279        WMB_END() 
    274280 
     
    278284        WMB_END() 
    279285 
     286#define NEWTORRENT_PIECESIZE_LAYOUT \ 
     287        WMB_HEAD(WMB_COL(_auto), WMB_COLNOMIN(_exp)), \ 
     288        WMB_ROW(_auto,  HAL_NEWT_PIECESIZE_TEXT,  HAL_NEWT_PIECESIZE), \ 
     289        WMB_END() 
     290 
    280291#define NEWTORRENT_OUTPUT_LAYOUT \ 
    281292        WMB_HEAD(WMB_COL(_auto), WMB_COLNOMIN(_exp), WMB_COL(_auto)), \ 
     
    287298        BEGIN_WINDOW_MAP_INLINE(FileSheet, 3, 3, 3, 3) 
    288299                WMB_HEAD(WMB_COL(_exp)),  
    289                 WMB_ROWNOMIN(_exp, NEWTORRENT_SELECT_LAYOUT), 
     300                WMB_ROW(_auto, NEWTORRENT_CREATOR_LAYOUT), 
     301                WMB_ROW(_exp, NEWTORRENT_COMMENT_LAYOUT), 
     302                WMB_ROW(_auto, NEWTORRENT_PIECESIZE_LAYOUT), 
    290303                WMB_ROW(_auto, NEWTORRENT_OUTPUT_LAYOUT), 
    291                 WMB_ROW(_auto, NEWTORRENT_CREATOR_LAYOUT), 
    292                 WMB_ROW(_auto, NEWTORRENT_COMMENT_LAYOUT), 
    293304                WMB_ROW(_auto, IDC_NEWTORRENT_PRIVATE), 
    294305                WMB_END()  
     
    296307}        
    297308 
     309#define NEWTORRENT_FILENAME_LAYOUT \ 
     310        WMB_HEAD(WMB_COL(_exp)), \ 
     311                WMB_ROW(_auto,  HAL_NEWT_FILE_NAME), \ 
     312                WMB_ROW(_auto,  HAL_NEWT_FILE_NAME_EDIT), \ 
     313        WMB_END() 
     314 
    298315FilesSheet::CWindowMapStruct* FilesSheet::GetWindowMap() 
    299316{ 
     
    301318                WMB_HEAD(WMB_COL(_exp)),  
    302319                WMB_ROWNOMIN(_exp, NEWTORRENT_SELECT_LAYOUT), 
     320                WMB_ROW(_auto, NEWTORRENT_FILENAME_LAYOUT, _r, _r, _r), 
    303321                WMB_END()  
    304322        END_WINDOW_MAP_INLINE()  
     
    383401        hal::create_torrent_params params; 
    384402 
    385         params.file_size_pairs = fileSheet_.FileSizePairs(); 
    386         params.root_path = fileSheet_.FileFullPath(); 
    387  
    388403        params.creator = fileSheet_.Creator(); 
    389404        params.comment = fileSheet_.Comment(); 
     405        params.piece_size = fileSheet_.PieceSize()*1024; 
    390406        params.private_torrent = fileSheet_.Private(); 
    391407 
    392408        params.trackers = trackerSheet_.Trackers(); 
     409 
     410        params.file_size_pairs = filesSheet_.FileSizePairs(); 
     411        params.root_path = filesSheet_.FileFullPath(); 
    393412 
    394413        params.dht_nodes = detailsSheet_.DhtNodes(); 
  • trunk/src/NewTorrentDialog.hpp

    r460 r461  
    2828#define HAL_NEWT_SAVING_TORRENT                 ID_NEWTORRENT_BEGIN+19 
    2929#define HAL_NEWT_DIALOG_TITLE                   ID_NEWTORRENT_BEGIN+20 
     30#define HAL_NEWT_FILE_NAME                              ID_NEWTORRENT_BEGIN+21 
     31#define HAL_NEWT_FILE_NAME_EDIT                 ID_NEWTORRENT_BEGIN+22 
     32#define HAL_NEWT_PIECESIZE_TEXT                 ID_NEWTORRENT_BEGIN+23 
     33#define HAL_NEWT_PIECESIZE                              ID_NEWTORRENT_BEGIN+24 
     34 
    3035 
    3136#ifndef RC_INVOKED 
     
    126131                MSG_WM_DESTROY(OnDestroy) 
    127132 
    128                 COMMAND_ID_HANDLER_EX(IDC_NEWT_FILE_BROWSE, OnFileBrowse) 
    129                 COMMAND_ID_HANDLER_EX(IDC_NEWT_DIR_BROWSE, OnDirBrowse) 
    130133                COMMAND_ID_HANDLER_EX(IDC_NEWT_OUT_BROWSE, OnOutBrowse) 
    131134 
     
    139142                DDX_EX_STDWSTRING(IDC_NEWTORRENT_COMMENT, comment_); 
    140143                DDX_EX_STDWSTRING(IDC_NEWT_FILE, outFile_); 
     144                DDX_INT(HAL_NEWT_PIECESIZE, pieceSize_); 
    141145        DDX_CHECK(IDC_NEWTORRENT_PRIVATE, private_) 
    142146    END_DDX_MAP() 
     
    149153        } 
    150154         
    151         void OnFileBrowse(UINT, int, HWND hWnd); 
    152         void OnDirBrowse(UINT, int, HWND hWnd); 
    153155        void OnOutBrowse(UINT, int, HWND hWnd); 
    154156 
     
    156158        void OnDestroy() {}; 
    157159 
    158         wpath FileFullPath() const; 
    159         hal::file_size_pairs_t FileSizePairs() const; 
    160  
    161160        wpath OutputFile(); 
    162161        wstring Creator(); 
     162        int PieceSize(); 
    163163        wstring Comment(); 
    164164        bool Private(); 
    165165         
    166166private: 
    167         void UpdateFileList(); 
    168  
    169         FilesListViewCtrl filesList_; 
    170167        enable_save EnableSave_; 
    171          
    172         wpath fileRoot_; 
    173         std::vector<wpath> files_; 
    174168 
    175169        wstring creator_; 
    176170        wstring comment_; 
     171        int pieceSize_; 
    177172        wstring outFile_; 
    178173        bool private_; 
     
    189184 
    190185public:  
    191         enum { IDD = IDD_NEWT_TRACKERS }; 
     186        enum { IDD = IDD_NEWT_FILES }; 
    192187 
    193188    BEGIN_MSG_MAP_EX(thisClass) 
    194189                MSG_WM_INITDIALOG(onInitDialog) 
    195190                MSG_WM_DESTROY(OnDestroy) 
     191 
     192                COMMAND_ID_HANDLER_EX(IDC_NEWT_FILE_BROWSE, OnFileBrowse) 
     193                COMMAND_ID_HANDLER_EX(IDC_NEWT_DIR_BROWSE, OnDirBrowse) 
    196194 
    197195                CHAIN_MSG_MAP(autosizeClass) 
     
    199197                REFLECT_NOTIFICATIONS() 
    200198    END_MSG_MAP() 
    201  
    202         static CWindowMapStruct* GetWindowMap(); 
    203          
    204         BOOL PreTranslateMessage(MSG* pMsg) 
    205         { 
    206                 return this->IsDialogMessage(pMsg); 
    207         } 
    208199         
    209200        LRESULT onInitDialog(HWND, LPARAM) 
    210201        {        
    211                 trackerList_.Attach(GetDlgItem(IDC_NEWT_LISTTRACKERS));  
     202                filesList_.Attach(GetDlgItem(IDC_NEWT_LISTFILES));       
    212203 
    213204                return 0; 
     
    216207        void OnDestroy() {} 
    217208 
    218         hal::tracker_details_t Trackers() const; 
    219          
    220 private: 
    221         NewTorrent_TrackerListViewCtrl trackerList_; 
     209        static CWindowMapStruct* GetWindowMap(); 
     210 
     211        void OnFileBrowse(UINT, int, HWND hWnd); 
     212        void OnDirBrowse(UINT, int, HWND hWnd); 
     213 
     214        wpath FileFullPath() const; 
     215        hal::file_size_pairs_t FileSizePairs() const; 
     216         
     217        BOOL PreTranslateMessage(MSG* pMsg) 
     218        { 
     219                return this->IsDialogMessage(pMsg); 
     220        } 
     221 
     222private: 
     223        void UpdateFileList(); 
     224 
     225        FilesListViewCtrl filesList_; 
     226         
     227        wpath fileRoot_; 
     228        std::vector<wpath> files_; 
    222229}; 
    223230 
     
    330337 
    331338                AddPage(fileSheet_); 
     339                AddPage(filesSheet_); 
    332340                AddPage(trackerSheet_); 
    333341                AddPage(detailsSheet_);          
     
    411419 
    412420        FileSheet fileSheet_; 
     421        FilesSheet filesSheet_; 
    413422        TrackerSheet trackerSheet_; 
    414423        PeersSheet detailsSheet_; 
  • trunk/src/halTorrent.cpp

    r460 r461  
    694694                boost::intrusive_ptr<libt::torrent_info> t_info(new libt::torrent_info); 
    695695 
    696                 int piece_size = 256 * 1024; 
     696                int piece_size = params.piece_size; 
     697                HAL_DEV_MSG(wformat(L"piece size: %1%") % piece_size); 
    697698                t_info->set_piece_size(piece_size); 
    698699 
  • trunk/src/halTorrent.hpp

    r460 r461  
    388388        std::wstring creator; 
    389389        std::wstring comment; 
     390        int piece_size; 
    390391        bool private_torrent; 
    391392 
Note: See TracChangeset for help on using the changeset viewer.