Changeset 505 for trunk


Ignore:
Timestamp:
07/20/08 16:09:45 (11 years ago)
Author:
Eoin
Message:

Added configuration options for the new libtorrent queue feature.

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Halite.sln

    r483 r505  
    5656                {B9C9CB3A-22F4-466B-9AEA-79C621DCD40A}.Debug|Any CPU.ActiveCfg = Debug x86|Any CPU 
    5757                {B9C9CB3A-22F4-466B-9AEA-79C621DCD40A}.Debug|Win32.ActiveCfg = Debug x86|Any CPU 
    58                 {B9C9CB3A-22F4-466B-9AEA-79C621DCD40A}.Debug|Win32.Build.0 = Debug x86|Any CPU 
    5958                {B9C9CB3A-22F4-466B-9AEA-79C621DCD40A}.Debug|x64.ActiveCfg = Debug x86|Any CPU 
    6059                {B9C9CB3A-22F4-466B-9AEA-79C621DCD40A}.Release Logging|Any CPU.ActiveCfg = Release x86|Any CPU 
  • trunk/res/Halite.rc

    r496 r505  
    149149FONT 8, "MS Shell Dlg", 400, 0, 0x1 
    150150BEGIN 
     151    GROUPBOX        "Enable Extension",HAL_BC_EXT_GROUP,5,6,315,54 
     152    CONTROL         "Metadata Extension",HAL_BC_METADATADHT_EXT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,120,90,11 
     153    CONTROL         "uTorrent Metadata",HAL_BC_uT_METADATA_EXT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,120,90,11 
     154    CONTROL         "uTorrent Peer Exchange",HAL_BC_uT_PEEER_EX_EXT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,120,90,11 
     155    CONTROL         "Smart Ban Plugin",HAL_BC_SMART_BAN_PLUGIN_EXT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,120,90,11 
     156END 
     157 
     158HAL_CONFIGPORTS DIALOGEX 0, 0, 325, 155 
     159STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU 
     160CAPTION "Ports" 
     161FONT 8, "MS Shell Dlg", 400, 0, 0x1 
     162BEGIN 
    151163    RTEXT           "Open a (single) port between : ",HAL_BITT_OPENPORT,12,31,120,12,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    152164    EDITTEXT        HAL_BC_PORTFROM,135,29,65,12,ES_AUTOHSCROLL 
    153165    EDITTEXT        HAL_BC_PORTTO,250,29,65,12,ES_AUTOHSCROLL 
    154166    CONTROL         "Enable DHT",HAL_BC_DHT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,120,90,10 
     167    CONTROL         "Enable DHT Extentions",HAL_BC_DHT_EXT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,120,90,10 
    155168    CONTROL         "to",HAL_BC_PORTCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,29,40,12 
    156169    LTEXT           "Select the (TCP) port (or range) on which to listen for incoming connections.",HAL_BITT_SELECT_TEXT,12,17,300,11,SS_WORDELLIPSIS | SS_CENTERIMAGE 
     
    158171    EDITTEXT        HAL_BC_DHTPORT,180,119,80,12,ES_AUTOHSCROLL 
    159172    RTEXT           "Port (UDP) : ",HAL_BC_DHTPORT_S,110,121,70,8 
    160     CTEXT           "(DHT will not apply to private torrents)",HAL_BITT_DHT_NOTE,11,134,250,8,SS_WORDELLIPSIS | SS_CENTERIMAGE 
     173    RTEXT           "(DHT will not apply to private torrents)",HAL_BITT_DHT_NOTE,11,134,250,8,SS_WORDELLIPSIS | SS_CENTERIMAGE 
    161174    GROUPBOX        "General Settings",HAL_BITT_GSETTINGS,5,6,315,54 
    162175    EDITTEXT        HAL_BC_HALFCONN_NUM,205,44,65,12,ES_AUTOHSCROLL 
     
    164177                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,45,190,12 
    165178    GROUPBOX        "Port Forwarding",HAL_BITT_GPORTFORWARDING,5,6,315,54 
    166     CONTROL         "None (Managed Externally)",HAL_BITT_GPORTFORWARD_NONE,"Button",BS_AUTORADIOBUTTON|WS_GROUP,284,73,16,10 
    167     CONTROL         "UnPlug and Play",HAL_BITT_GPORTFORWARD_UPNG,"Button",BS_AUTORADIOBUTTON,284,83,16,10 
    168     CONTROL         "NAT-PMG",HAL_BIT_GPORTFORWARD_NATPMP,"Button",BS_AUTORADIOBUTTON,284,93,16,10 
    169     PUSHBUTTON      "Test",HAL_BITT_GPORTFORWARD_TEST,207,46,51,12,NOT WS_VISIBLE 
     179    CONTROL         "None (Managed Externally)",HAL_BITT_GPORTFORWARD_NONE,"Button",BS_AUTORADIOBUTTON|WS_GROUP,284,73,16,11 
     180    CONTROL         "UnPlug and Play",HAL_BITT_GPORTFORWARD_UPNG,"Button",BS_AUTORADIOBUTTON,284,83,16,11 
     181    CONTROL         "NAT-PMG",HAL_BIT_GPORTFORWARD_NATPMP,"Button",BS_AUTORADIOBUTTON,284,93,16,11 
     182    PUSHBUTTON      "Test",HAL_BITT_GPORTFORWARD_TEST,207,46,51,11,WS_VISIBLE 
    170183 
    171184    LISTBOX         HAL_BITT_GPORTFORWARD_LIST,165,24,149,7,LBS_SORT|LBS_NOINTEGRALHEIGHT|WS_VSCROLL|WS_TABSTOP|NOT WS_VISIBLE 
     
    173186//    RTEXT           "Why?",HAL_BC_CON_WHY,239,47,31,8 
    174187END 
     188 
     189HAL_CONFIGGLOBAL DIALOGEX 0, 0, 325, 155 
     190STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU 
     191CAPTION "Globals" 
     192FONT 8, "MS Shell Dlg", 400, 0, 0x1 
     193BEGIN 
     194    GROUPBOX        "Global Limits",HAL_CONFIGT_GLOBALG,5,6,315,55 
     195    EDITTEXT        HAL_BC_MAXCONN,118,29,42,12,ES_AUTOHSCROLL 
     196    RTEXT           "Total max connections :",HAL_CONFIGT_TOTALMAX,12,31,100,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     197    RTEXT           "Total upload slots :",HAL_CONFIGT_TOTALUP,12,44,100,10,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     198    EDITTEXT        HAL_BC_MAXUP,118,42,42,12,ES_AUTOHSCROLL 
     199    EDITTEXT        HAL_BC_DOWNRATE,271,29,42,12,ES_AUTOHSCROLL 
     200    RTEXT           "Download Rate (KB/s) :",HAL_CONFIGT_DOWNRATE,165,31,100,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     201    RTEXT           "Upload Rate (KB/s) :",HAL_CONFIGT_UPRATE,165,44,100,10,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     202    EDITTEXT        HAL_BC_UPRATE,271,42,42,12,ES_AUTOHSCROLL 
     203 
     204    LTEXT           "These options set global maximums which will always be honoured.",HAL_CONFIGT_GLOBAL_TEXT,12,16,300,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     205 
     206    GROUPBOX        "Queue System",HAL_CGLOBAL_QUEUEG,5,6,315,55 
     207    RTEXT           "Active downloads :",HAL_CGLOBAL_ACTDOWNT,165,44,100,10,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     208    EDITTEXT        HAL_CGLOBAL_ACTDOWN,271,42,42,12,ES_AUTOHSCROLL 
     209    RTEXT           "Active seeds :",HAL_CGLOBAL_ACTSEEDT,165,44,100,10,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     210    EDITTEXT        HAL_CGLOBAL_ACTSEED,271,42,42,12,ES_AUTOHSCROLL 
     211    CONTROL         "Don't count slow torrents.",HAL_CGLOBAL_DISCOUNTSLOW,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,12,50,175,10 
     212         
     213    RTEXT           "Active seeds hard limit:",HAL_CGLOBAL_ACTSEEDHARDT,165,44,100,10,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     214    EDITTEXT        HAL_CGLOBAL_ACTSEEDHARD,271,42,42,12,ES_AUTOHSCROLL 
     215 
     216    GROUPBOX        "Seeding Limits",HAL_CGLOBAL_SEEDINGG,5,6,315,55 
     217        RTEXT           "Share ratio limit:",HAL_CGLOBAL_SHARERATIOT,165,44,100,10,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     218        EDITTEXT        HAL_CGLOBAL_SHARERATIO,271,42,42,12,ES_AUTOHSCROLL 
     219    RTEXT           "Time ratio limit:",HAL_CGLOBAL_SHARERATIOTIMET,165,44,100,10,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     220    EDITTEXT        HAL_CGLOBAL_SHARERATIOTIME,271,42,42,12,ES_AUTOHSCROLL 
     221    RTEXT           "Time limit (sec):",HAL_CGLOBAL_SHARETIMET,165,44,100,10,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     222    EDITTEXT        HAL_CGLOBAL_SHARETIME,271,42,42,12,ES_AUTOHSCROLL 
     223END 
     224 
    175225 
    176226HAL_CONFIGPROXY DIALOGEX 0, 0, 285, 155 
     
    268318FONT 8, "MS Shell Dlg", 400, 0, 0x1 
    269319BEGIN 
    270     GROUPBOX        "Global Limits",HAL_CONFIGT_GLOBALG,5,6,315,55 
    271     EDITTEXT        HAL_BC_MAXCONN,118,29,42,12,ES_AUTOHSCROLL 
    272     RTEXT           "Total max connections :",HAL_CONFIGT_TOTALMAX,12,31,100,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    273     RTEXT           "Total upload slots :",HAL_CONFIGT_TOTALUP,12,44,100,10,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    274     EDITTEXT        HAL_BC_MAXUP,118,42,42,12,ES_AUTOHSCROLL 
    275     EDITTEXT        HAL_BC_DOWNRATE,271,29,42,12,ES_AUTOHSCROLL 
    276     RTEXT           "Download Rate (KB/s) :",HAL_CONFIGT_DOWNRATE,165,31,100,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    277     RTEXT           "Upload Rate (KB/s) :",HAL_CONFIGT_UPRATE,165,44,100,10,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    278     EDITTEXT        HAL_BC_UPRATE,271,42,42,12,ES_AUTOHSCROLL 
     320 
    279321    EDITTEXT        HAL_BC_TMAXCONN,118,88,42,12,ES_AUTOHSCROLL 
    280322    RTEXT           "Total max connections :",HAL_CONFIGT_TORMAX,12,91,100,12,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     
    286328    EDITTEXT        HAL_BC_TUPRATE,271,101,42,12,ES_AUTOHSCROLL 
    287329    GROUPBOX        "Torrent Defaults",HAL_CONFIGT_TORRENTG,5,66,315,82 
    288     LTEXT           "These options set global maximums which will always be honoured.",HAL_CONFIGT_GLOBAL_TEXT,12,16,300,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    289330    LTEXT           "These options specify the default limits applied to new torrents.",HAL_CONFIGT_TOR_TEXT,12,76,301,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    290331    RTEXT           "Default save folder :",HAL_CONFIGT_DEF_FOLDER,12,120,100,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
  • trunk/res/resource.h

    r495 r505  
    1616#define HAL_CONFIGSECURITY              108 
    1717#define HAL_CONFIGPROXY                 109 
     18#define HAL_CONFIGGLOBAL                                110 
    1819#define HAL_ABOUT                       104 
    1920#define HAL_CLOSESPLASH                 105 
    2021#define HAL_HALITEDLG                   106 
    2122#define HAL_TRAY_MENU                   107 
     23#define HAL_CONFIGPORTS                                 111 
    2224#define HAL_CONFIGGENERAL               112 
    2325#define HAL_ADVHALITEDLG                114 
  • trunk/sln/libtorrent/libtorrent.vcproj

    r495 r505  
    817817                                </File> 
    818818                                <File 
     819                                        RelativePath="..\..\lib\libtorrent\include\libtorrent\error_code.hpp" 
     820                                        > 
     821                                </File> 
     822                                <File 
    819823                                        RelativePath="..\..\lib\libtorrent\include\libtorrent\escape_string.hpp" 
    820824                                        > 
  • trunk/src/ConfigOptions.hpp

    r495 r505  
    5252#define HAL_BC_MOVETO_TEXT                      ID_CONFIG_BEGIN + 43 
    5353#define HAL_BC_MOVETO_CHECK                     ID_CONFIG_BEGIN + 44 
     54#define HAL_BC_DHT_EXT                          ID_CONFIG_BEGIN + 45 
     55#define HAL_BC_METADATADHT_EXT          ID_CONFIG_BEGIN + 46 
     56#define HAL_BC_uT_METADATA_EXT          ID_CONFIG_BEGIN + 47 
     57#define HAL_BC_uT_PEEER_EX_EXT          ID_CONFIG_BEGIN + 48 
     58#define HAL_BC_SMART_BAN_PLUGIN_EXT     ID_CONFIG_BEGIN + 49 
     59#define HAL_BC_EXT_GROUP                        ID_CONFIG_BEGIN + 50 
     60 
     61#define HAL_CGLOBAL_QUEUEG                      ID_CONFIG_BEGIN + 51 
     62#define HAL_CGLOBAL_ACTDOWNT            ID_CONFIG_BEGIN + 52 
     63#define HAL_CGLOBAL_ACTDOWN                     ID_CONFIG_BEGIN + 53 
     64#define HAL_CGLOBAL_ACTSEEDT            ID_CONFIG_BEGIN + 54 
     65#define HAL_CGLOBAL_ACTSEED                     ID_CONFIG_BEGIN + 55 
     66#define HAL_CGLOBAL_DISCOUNTSLOW        ID_CONFIG_BEGIN + 56 
     67#define HAL_CGLOBAL_ACTSEEDHARDT        ID_CONFIG_BEGIN + 57 
     68#define HAL_CGLOBAL_ACTSEEDHARD         ID_CONFIG_BEGIN + 58 
     69#define HAL_CGLOBAL_SEEDINGG            ID_CONFIG_BEGIN + 59 
     70#define HAL_CGLOBAL_SHARERATIOT         ID_CONFIG_BEGIN + 60 
     71#define HAL_CGLOBAL_SHARERATIO          ID_CONFIG_BEGIN + 61 
     72#define HAL_CGLOBAL_SHARERATIOTIMET     ID_CONFIG_BEGIN + 62 
     73#define HAL_CGLOBAL_SHARERATIOTIME      ID_CONFIG_BEGIN + 63 
     74#define HAL_CGLOBAL_SHARETIMET          ID_CONFIG_BEGIN + 64 
     75#define HAL_CGLOBAL_SHARETIME           ID_CONFIG_BEGIN + 65 
    5476 
    5577#ifndef RC_INVOKED 
     
    170192        {} 
    171193 
    172         ~BitTorrentOptions() 
    173         {} 
    174  
    175     BEGIN_MSG_MAP_EX(BitTorrentOptions) 
     194    BEGIN_MSG_MAP_EX(thisClass) 
    176195        MSG_WM_INITDIALOG(OnInitDialog) 
    177                 COMMAND_ID_HANDLER_EX(HAL_BC_PORTCHECK, onPortCheck) 
    178                 COMMAND_ID_HANDLER_EX(HAL_BC_HALFCONN_CHECK, onHalfCheck) 
    179                 COMMAND_ID_HANDLER_EX(HAL_BC_DHT, onDHTCheck) 
    180                  
    181         CHAIN_MSG_MAP(CPropertyPageImpl<BitTorrentOptions>) 
     196                 
     197        CHAIN_MSG_MAP(CPropertyPageImpl<thisClass>) 
    182198        CHAIN_MSG_MAP(autosizeClass) 
    183199    END_MSG_MAP() 
    184200 
    185     BEGIN_DDX_MAP(BitTorrentOptions) 
     201    BEGIN_DDX_MAP(thisClass) 
    186202        DDX_CHECK(HAL_BC_PORTCHECK, hal::config().portRange) 
    187203        DDX_INT(HAL_BC_PORTFROM, hal::config().portFrom) 
     
    193209        DDX_RADIO(HAL_BITT_GPORTFORWARD_NONE, hal::config().mappingType) 
    194210    END_DDX_MAP() 
     211 
     212#define BITT_EXT_LAYOUT \ 
     213                WMB_HEAD(WMB_COL(_gap), WMB_COLNOMAX(_exp), WMB_COL(_gap)), \ 
     214                WMB_ROW(_gap|3, HAL_BC_EXT_GROUP, _r, _r), \ 
     215                WMB_ROW(_auto,  _d, HAL_BC_METADATADHT_EXT), \ 
     216                WMB_ROW(_auto,  _d, HAL_BC_uT_METADATA_EXT), \ 
     217                WMB_ROW(_auto,  _d, HAL_BC_uT_PEEER_EX_EXT), \ 
     218                WMB_ROW(_auto,  _d, HAL_BC_SMART_BAN_PLUGIN_EXT), \ 
     219                WMB_ROW(_gap,   _d), \ 
     220        WMB_END() 
     221 
     222        BEGIN_WINDOW_MAP(thisClass, 6, 6, 3, 3) 
     223                WMB_HEAD(WMB_COL(_gap), WMB_COLNOMAX(_exp), WMB_COL(_gap)), 
     224                        WMB_ROW(_auto,  BITT_EXT_LAYOUT, _r, _r),  
     225                        WMB_ROW(_gap,   _d), 
     226                WMB_END() 
     227        END_WINDOW_MAP() 
     228 
     229    BOOL OnInitDialog (HWND hwndFocus, LPARAM lParam) 
     230        {                        
     231                BOOL retval = DoDataExchange(false); 
     232 
     233                autosizeClass::CtrlsArrange(); 
     234                return retval; 
     235        } 
     236 
     237    int OnApply() 
     238        { 
     239                hal::event_log.post(shared_ptr<hal::EventDetail>( 
     240                        new hal::EventMsg(L"Applying bittorrent options.", hal::event_logger::info))); 
     241 
     242 
     243                return DoDataExchange(true); 
     244        } 
     245 
     246 
     247private: 
     248//      WTL::CHyperLink helpLink; 
     249//      WTL::CHyperLink whyHalfConn; 
     250}; 
     251 
     252class PortOptions : 
     253    public WTL::CPropertyPageImpl<PortOptions>, 
     254        public ATL::CAutoSizeWindow<PortOptions, false>, 
     255    public CWinDataExchangeEx<PortOptions> 
     256{ 
     257        typedef PortOptions thisClass; 
     258        typedef ATL::CAutoSizeWindow<thisClass, false> autosizeClass; 
     259         
     260public: 
     261    enum { IDD = HAL_CONFIGPORTS }; 
     262 
     263        PortOptions() 
     264        {} 
     265 
     266    BEGIN_MSG_MAP_EX(thisClass) 
     267        MSG_WM_INITDIALOG(OnInitDialog) 
     268                COMMAND_ID_HANDLER_EX(HAL_BC_PORTCHECK, onPortCheck) 
     269                COMMAND_ID_HANDLER_EX(HAL_BC_HALFCONN_CHECK, onHalfCheck) 
     270                COMMAND_ID_HANDLER_EX(HAL_BC_DHT, onDHTCheck) 
     271                 
     272        CHAIN_MSG_MAP(CPropertyPageImpl<thisClass>) 
     273        CHAIN_MSG_MAP(autosizeClass) 
     274    END_MSG_MAP() 
     275 
     276    BEGIN_DDX_MAP(thisClass) 
     277        DDX_CHECK(HAL_BC_PORTCHECK, hal::config().portRange) 
     278        DDX_INT(HAL_BC_PORTFROM, hal::config().portFrom) 
     279        DDX_INT(HAL_BC_PORTTO, hal::config().portTo)             
     280        DDX_CHECK(HAL_BC_HALFCONN_CHECK, hal::config().halfConn) 
     281        DDX_EX_INT_POSITIVE(HAL_BC_HALFCONN_NUM, hal::config().halfConnLimit) 
     282        DDX_CHECK(HAL_BC_DHT, hal::config().enableDHT) 
     283        DDX_INT(HAL_BC_DHTPORT, hal::config().dhtServicePort) 
     284        DDX_RADIO(HAL_BITT_GPORTFORWARD_NONE, hal::config().mappingType) 
     285    END_DDX_MAP() 
    195286         
    196287#define BITT_GS_LAYOUT \ 
     
    203294#define BITT_DHT_LAYOUT \ 
    204295        WMB_HEAD(WMB_COLNOMAX(_exp), WMB_COLNOMAX(_exp), WMB_COLNOMAX(_exp)), \ 
    205                 WMB_ROW(_auto,  HAL_BC_DHT, HAL_BC_DHTPORT_S, HAL_BC_DHTPORT), \ 
    206                 WMB_ROW(_auto,  HAL_BITT_DHT_NOTE, _r, _r), \ 
     296                WMB_ROW(_auto,  HAL_BC_DHT, HAL_BITT_DHT_NOTE, _r), \ 
     297                WMB_ROW(_auto,  HAL_BC_DHT_EXT, HAL_BC_DHTPORT_S, HAL_BC_DHTPORT), \ 
    207298        WMB_END() 
    208299 
    209300#define BITT_FOR_LAYOUT \ 
    210         WMB_HEAD(WMB_COLNOMAX(_exp), WMB_COLNOMAX(_exp), WMB_COLNOMAX(_exp|50)), \ 
    211                 WMB_ROW(_auto,  HAL_BITT_GPORTFORWARD_NONE, _r, HAL_BITT_GPORTFORWARD_TEST), \ 
    212                 WMB_ROW(_auto,  HAL_BITT_GPORTFORWARD_UPNG, HAL_BITT_GPORTFORWARD_LIST, _r), \ 
    213                 WMB_ROW(_auto,  HAL_BIT_GPORTFORWARD_NATPMP, _d), \ 
     301        WMB_HEAD(WMB_COL(_gap), WMB_COLNOMAX(_exp|50), WMB_COLNOMAX(_exp), WMB_COL(_gap)), \ 
     302                WMB_ROW(_gap|3, HAL_BITT_GPORTFORWARDING, _r, _r, _r),\ 
     303                WMB_ROW(_auto,  _d, HAL_BITT_GPORTFORWARD_NONE, _r), \ 
     304                WMB_ROW(_auto,  _d, HAL_BITT_GPORTFORWARD_UPNG, HAL_BITT_GPORTFORWARD_TEST), \ 
     305                WMB_ROW(_auto,  _d, HAL_BIT_GPORTFORWARD_NATPMP, _r), \ 
     306                WMB_ROW(_gap,   _d), \ 
    214307        WMB_END() 
    215308 
     
    219312                        WMB_ROW(_auto,  _d, BITT_GS_LAYOUT), 
    220313                        WMB_ROW(_gap,   _d), 
    221                         WMB_ROW(_gap|3, HAL_BITT_GDHT, _r, _r), 
     314                        WMB_ROW(_gap|3, HAL_BITT_GDHT, _r, _r,  HAL_BITT_GDHT, _r, _r), 
    222315                        WMB_ROW(_auto,  _d, BITT_DHT_LAYOUT),  
    223316                        WMB_ROW(_gap,   _d), 
    224                         WMB_ROW(_gap|3, HAL_BITT_GPORTFORWARDING, _r, _r), 
    225                         WMB_ROW(_auto,  _d, BITT_FOR_LAYOUT),  
     317                        WMB_ROW(_auto,  BITT_FOR_LAYOUT, _r, _r),  
    226318                        WMB_ROW(_gap,   _d), 
    227319                WMB_END() 
     
    230322    BOOL OnInitDialog (HWND hwndFocus, LPARAM lParam) 
    231323        {        
    232         //      helpLink.SubclassWindow(GetDlgItem(HAL_BC_HELP_LINK)); 
    233         //      helpLink.SetHyperLink(L"http://www.binarynotions.com/"); 
    234                  
    235         //      whyHalfConn.SubclassWindow(GetDlgItem(HAL_BC_CON_WHY)); 
    236         //      whyHalfConn.SetHyperLink(L"http://www.binarynotions.com/"); 
     324//              helpLink.SubclassWindow(GetDlgItem(HAL_BC_EXT_GROUP)); 
     325//              helpLink.SetHyperLink(L"http://www.binarynotions.com/"); 
     326                 
     327//              whyHalfConn.SubclassWindow(GetDlgItem(HAL_BC_CON_WHY)); 
     328//              whyHalfConn.SetHyperLink(L"http://www.binarynotions.com/"); 
    237329                 
    238330                BOOL retval = DoDataExchange(false); 
     
    304396                } 
    305397        } 
     398 
    306399private: 
    307         WTL::CHyperLink helpLink; 
    308         WTL::CHyperLink whyHalfConn; 
     400//      WTL::CHyperLink helpLink; 
     401//      WTL::CHyperLink whyHalfConn; 
    309402}; 
    310403 
     
    557650}; 
    558651 
     652class GlobalOptions : 
     653    public WTL::CPropertyPageImpl<GlobalOptions>, 
     654        public ATL::CAutoSizeWindow<GlobalOptions, false>, 
     655    public CWinDataExchangeEx<GlobalOptions> 
     656{ 
     657        typedef GlobalOptions thisClass; 
     658        typedef ATL::CAutoSizeWindow<thisClass, false> autosizeClass; 
     659public: 
     660    enum { IDD = HAL_CONFIGGLOBAL }; 
     661         
     662        GlobalOptions() : 
     663                gTotalConnections_(0, false, false), 
     664                gUploadConnections_(0, false, false), 
     665                gDownloadRate_(0, false, false), 
     666                gUploadRate_(0, false, false) 
     667        {} 
     668 
     669    BEGIN_MSG_MAP_EX(thisClass) 
     670        MSG_WM_INITDIALOG(OnInitDialog) 
     671 
     672        CHAIN_MSG_MAP(CPropertyPageImpl<thisClass>) 
     673        CHAIN_MSG_MAP(autosizeClass) 
     674           REFLECT_NOTIFICATIONS() 
     675    END_MSG_MAP() 
     676         
     677#define CONFIGT_GLOBAL_LAYOUT \ 
     678        WMB_HEAD(WMB_COLNOMAX(_exp), WMB_COLNOMAX(_exp|30), WMB_COLNOMAX(_eq|0), WMB_COLNOMAX(_eq|1)), \ 
     679                WMB_ROW(_auto,  HAL_CONFIGT_GLOBAL_TEXT, _r, _r, _r), \ 
     680                WMB_ROW(_auto,  HAL_CONFIGT_TOTALMAX, HAL_BC_MAXCONN, HAL_CONFIGT_DOWNRATE, HAL_BC_DOWNRATE), \ 
     681                WMB_ROW(_auto,  HAL_CONFIGT_TOTALUP, HAL_BC_MAXUP, HAL_CONFIGT_UPRATE, HAL_BC_UPRATE), \ 
     682        WMB_END() 
     683 
     684#define CONFIGT_ACTIVE_LAYOUT \ 
     685        WMB_HEAD(WMB_COLNOMAX(_exp), WMB_COLNOMAX(_exp|70)), \ 
     686                WMB_ROW(_gap|3), \ 
     687                WMB_ROW(_auto, HAL_CGLOBAL_ACTDOWNT, HAL_CGLOBAL_ACTDOWN), \ 
     688                WMB_ROW(_auto, HAL_CGLOBAL_ACTSEEDT, HAL_CGLOBAL_ACTSEED), \ 
     689                WMB_ROW(_auto, HAL_CGLOBAL_ACTSEEDHARDT, HAL_CGLOBAL_ACTSEEDHARD), \ 
     690        WMB_END() 
     691 
     692#define CONFIGT_SEEDING_LAYOUT \ 
     693        WMB_HEAD(WMB_COL(_gap), WMB_COLNOMAX(_exp), WMB_COLNOMAX(_exp|70), WMB_COL(_gap)), \ 
     694                WMB_ROW(_gap|3, HAL_CGLOBAL_SEEDINGG, _r, _r, _r), \ 
     695                WMB_ROW(_auto,  _d, HAL_CGLOBAL_SHARERATIOT, HAL_CGLOBAL_SHARERATIO), \ 
     696                WMB_ROW(_auto,  _d, HAL_CGLOBAL_SHARERATIOTIMET, HAL_CGLOBAL_SHARERATIOTIME), \ 
     697                WMB_ROW(_auto,  _d, HAL_CGLOBAL_SHARETIMET, HAL_CGLOBAL_SHARETIME), \ 
     698                WMB_ROW(_gap,   _d), \ 
     699        WMB_END() 
     700 
     701#define CONFIGT_QUEUE_LAYOUT \ 
     702        WMB_HEAD(WMB_COLNOMAX(_exp), WMB_COL(_gap), WMB_COLNOMAX(_exp)), \ 
     703                WMB_ROW(_auto, CONFIGT_ACTIVE_LAYOUT, 0,  CONFIGT_SEEDING_LAYOUT), \ 
     704                WMB_ROW(_auto, HAL_CGLOBAL_DISCOUNTSLOW, _r, _r), \ 
     705        WMB_END() 
     706 
     707        BEGIN_WINDOW_MAP(thisClass, 6, 6, 3, 3) 
     708                WMB_HEAD(WMB_COL(_gap), WMB_COLNOMAX(_exp), WMB_COL(_gap)),  
     709                        WMB_ROW(_gap|3, HAL_CONFIGT_GLOBALG, _r, _r),  
     710                        WMB_ROW(_auto,  _d, CONFIGT_GLOBAL_LAYOUT),  
     711                        WMB_ROW(_gap,   _d), 
     712                        WMB_ROW(_gap|3, HAL_CGLOBAL_QUEUEG, _r, _r),  
     713                        WMB_ROW(_auto,  _d, CONFIGT_QUEUE_LAYOUT),  
     714                        WMB_ROW(_gap,   _d), 
     715                WMB_END() 
     716        END_WINDOW_MAP() 
     717 
     718    BEGIN_DDX_MAP(thisClass) 
     719        DDX_CHECK(HAL_CGLOBAL_DISCOUNTSLOW, hal::config().dont_count_slow_torrents_); 
     720    END_DDX_MAP()        
     721 
     722    BOOL OnInitDialog(HWND hwndFocus, LPARAM lParam) 
     723        { 
     724                gTotalConnections_.Attach(GetDlgItem(HAL_BC_MAXCONN)); 
     725                gUploadConnections_.Attach(GetDlgItem(HAL_BC_MAXUP)); 
     726                gDownloadRate_.Attach(GetDlgItem(HAL_BC_DOWNRATE)); 
     727                gUploadRate_.Attach(GetDlgItem(HAL_BC_UPRATE)); 
     728 
     729                gTotalConnections_ = hal::config().maxConnections; 
     730                gUploadConnections_ = hal::config().maxUploads; 
     731                gDownloadRate_ = hal::config().downRate; 
     732                gUploadRate_ = hal::config().upRate; 
     733 
     734                active_downloads_.Attach(GetDlgItem(HAL_CGLOBAL_ACTDOWN)); 
     735                active_seeds_.Attach(GetDlgItem(HAL_CGLOBAL_ACTSEED)); 
     736                seeds_hard_limit_.Attach(GetDlgItem(HAL_CGLOBAL_ACTSEEDHARD)); 
     737 
     738                seed_ratio_limit_.Attach(GetDlgItem(HAL_CGLOBAL_SHARERATIO)); 
     739                seed_ratio_time_limit_.Attach(GetDlgItem(HAL_CGLOBAL_SHARERATIOTIME)); 
     740                seed_time_limit_.Attach(GetDlgItem(HAL_CGLOBAL_SHARETIME));              
     741         
     742                active_downloads_ = hal::config().active_downloads_; 
     743                active_seeds_ = hal::config().active_seeds_; 
     744                seeds_hard_limit_ = hal::config().seeds_hard_limit_; 
     745                seed_ratio_limit_ = hal::config().seed_ratio_limit_; 
     746                seed_ratio_time_limit_ = hal::config().seed_ratio_time_limit_; 
     747                seed_time_limit_ = hal::config().seed_time_limit_; 
     748 
     749                BOOL retval =  DoDataExchange(false); 
     750 
     751                autosizeClass::CtrlsArrange(); 
     752                return retval; 
     753        } 
     754 
     755    int OnApply() 
     756        { 
     757                hal::event_log.post(shared_ptr<hal::EventDetail>( 
     758                        new hal::EventMsg(L"Applying torrent options.", hal::event_logger::info))); 
     759 
     760                hal::config().maxConnections = gTotalConnections_; 
     761                hal::config().maxUploads = gUploadConnections_; 
     762                hal::config().downRate = gDownloadRate_; 
     763                hal::config().upRate = gUploadRate_; 
     764         
     765                hal::config().active_downloads_ = active_downloads_; 
     766                hal::config().active_seeds_ = active_seeds_; 
     767                hal::config().seeds_hard_limit_ = seeds_hard_limit_; 
     768                hal::config().seed_ratio_limit_ = seed_ratio_limit_; 
     769                hal::config().seed_ratio_time_limit_ = seed_ratio_time_limit_; 
     770                hal::config().seed_time_limit_ = seed_time_limit_; 
     771                 
     772                return DoDataExchange(true); 
     773        } 
     774         
     775private: 
     776        CHaliteEditCtrl<int> gTotalConnections_; 
     777        CHaliteEditCtrl<int> gUploadConnections_; 
     778        CHaliteEditCtrl<float> gDownloadRate_; 
     779        CHaliteEditCtrl<float> gUploadRate_; 
     780 
     781        CHaliteEditCtrl<int> active_downloads_; 
     782        CHaliteEditCtrl<int> active_seeds_; 
     783        CHaliteEditCtrl<int> seeds_hard_limit_; 
     784        CHaliteEditCtrl<float> seed_ratio_limit_; 
     785        CHaliteEditCtrl<float> seed_ratio_time_limit_; 
     786        CHaliteEditCtrl<int> seed_time_limit_; 
     787}; 
     788 
    559789class TorrentsOptions : 
    560790    public WTL::CPropertyPageImpl<TorrentsOptions>, 
     
    568798         
    569799        TorrentsOptions() : 
    570                 gTotalConnections_(0, false, false), 
    571                 gUploadConnections_(0, false, false), 
    572                 gDownloadRate_(0, false, false), 
    573                 gUploadRate_(0, false, false), 
    574800                tTotalConnections_(0, false, false), 
    575801                tUploadConnections_(0, false, false), 
     
    589815           REFLECT_NOTIFICATIONS() 
    590816    END_MSG_MAP() 
    591          
    592 #define CONFIGT_GLOBAL_LAYOUT \ 
    593         WMB_HEAD(WMB_COLNOMAX(_exp), WMB_COLNOMAX(_exp|30), WMB_COLNOMAX(_eq|0), WMB_COLNOMAX(_eq|1)), \ 
    594                 WMB_ROW(_auto,  HAL_CONFIGT_GLOBAL_TEXT, _r, _r, _r), \ 
    595                 WMB_ROW(_auto,  HAL_CONFIGT_TOTALMAX, HAL_BC_MAXCONN, HAL_CONFIGT_DOWNRATE, HAL_BC_DOWNRATE), \ 
    596                 WMB_ROW(_auto,  HAL_CONFIGT_TOTALUP, HAL_BC_MAXUP, HAL_CONFIGT_UPRATE, HAL_BC_UPRATE), \ 
    597         WMB_END() 
    598817 
    599818#define CONFIGT_TORRENT_LAYOUT \ 
     
    618837        BEGIN_WINDOW_MAP(thisClass, 6, 6, 3, 3) 
    619838                WMB_HEAD(WMB_COL(_gap), WMB_COLNOMAX(_exp), WMB_COL(_gap)),  
    620                         WMB_ROW(_gap|3, HAL_CONFIGT_GLOBALG, _r, _r),  
    621                         WMB_ROW(_auto,  _d, CONFIGT_GLOBAL_LAYOUT),  
    622                         WMB_ROW(_gap,   _d),   
    623839                        WMB_ROW(_gap|3, HAL_CONFIGT_TORRENTG, _r, _r), 
    624840                        WMB_ROW(_auto,  _d, CONFIGT_TORRENT_LAYOUT), 
    625                         WMB_ROW(_auto,  _d, CONFIGT_TORRENT_FOLDER_LAYOUT),  
    626841                        WMB_ROW(_gap,   _d), 
     842                        WMB_ROW(_auto,  CONFIGT_TORRENT_FOLDER_LAYOUT, _r, _r),  
    627843                WMB_END() 
    628844        END_WINDOW_MAP() 
     
    647863    BOOL OnInitDialog(HWND hwndFocus, LPARAM lParam) 
    648864        { 
    649                 gTotalConnections_.Attach(GetDlgItem(HAL_BC_MAXCONN)); 
    650                 gUploadConnections_.Attach(GetDlgItem(HAL_BC_MAXUP)); 
    651                 gDownloadRate_.Attach(GetDlgItem(HAL_BC_DOWNRATE)); 
    652                 gUploadRate_.Attach(GetDlgItem(HAL_BC_UPRATE)); 
    653          
    654865                tTotalConnections_.Attach(GetDlgItem(HAL_BC_TMAXCONN)); 
    655866                tUploadConnections_.Attach(GetDlgItem(HAL_BC_TMAXUP)); 
    656867                tDownloadRate_.Attach(GetDlgItem(HAL_BC_TDOWNRATE)); 
    657868                tUploadRate_.Attach(GetDlgItem(HAL_BC_TUPRATE)); 
    658  
    659                 gTotalConnections_ = hal::config().maxConnections; 
    660                 gUploadConnections_ = hal::config().maxUploads; 
    661                 gDownloadRate_ = hal::config().downRate; 
    662                 gUploadRate_ = hal::config().upRate; 
    663869         
    664870                tTotalConnections_ = hal::config().torrentMaxConnections; 
     
    717923                        new hal::EventMsg(L"Applying torrent options.", hal::event_logger::info))); 
    718924 
    719                 hal::config().maxConnections = gTotalConnections_; 
    720                 hal::config().maxUploads = gUploadConnections_; 
    721                 hal::config().downRate = gDownloadRate_; 
    722                 hal::config().upRate = gUploadRate_; 
    723  
    724925                hal::config().torrentMaxConnections = tTotalConnections_; 
    725926                hal::config().torrentMaxUploads = tUploadConnections_; 
     
    730931        } 
    731932         
    732 private: 
    733         CHaliteEditCtrl<int> gTotalConnections_; 
    734         CHaliteEditCtrl<int> gUploadConnections_; 
    735         CHaliteEditCtrl<float> gDownloadRate_; 
    736         CHaliteEditCtrl<float> gUploadRate_; 
    737          
     933private:         
    738934        CHaliteEditCtrl<int> tTotalConnections_; 
    739935        CHaliteEditCtrl<int> tUploadConnections_; 
     
    8401036                AddPage(generalOptions); 
    8411037                AddPage(bitTorrentOptions); 
     1038                AddPage(portOptions); 
     1039                AddPage(globalOptions); 
    8421040                AddPage(securityOptions); 
    8431041                AddPage(torrentsOptions); 
     
    9111109        GeneralOptions generalOptions; 
    9121110        BitTorrentOptions bitTorrentOptions; 
     1111        PortOptions portOptions; 
     1112        GlobalOptions globalOptions; 
    9131113        SecurityOptions securityOptions; 
    9141114        TorrentsOptions torrentsOptions; 
  • trunk/src/Halite.hpp

    r503 r505  
    124124         
    125125        friend class GeneralOptions; 
     126        friend class GlobalOptions; 
     127        friend class PortOptions; 
    126128        friend class SplashDialog; 
    127129        friend class AdvDebugDialog; 
  • trunk/src/halConfig.hpp

    r403 r505  
    6363                mappingType(0), 
    6464                peerTimeout(30), 
    65                 trackerTimeout(60) 
     65                trackerTimeout(60), 
     66                active_downloads_(8), 
     67                active_seeds_(5), 
     68                seeds_hard_limit_(15), 
     69                seed_ratio_limit_(2.f), 
     70                seed_ratio_time_limit_(7.f), 
     71                seed_time_limit_(24 * 60 * 60), 
     72                dont_count_slow_torrents_(true), 
     73                auto_scrape_min_interval_(300), 
     74                auto_scrape_interval_(1800), 
     75                auto_manage_interval_(30), 
     76                close_redundant_connections_(true) 
    6677        {} 
    6778         
     
    7081        void serialize(Archive& ar, const unsigned int version) 
    7182        {        
     83                using boost::serialization::make_nvp; 
     84 
    7285                ar & BOOST_SERIALIZATION_NVP(maxConnections); 
    7386                ar & BOOST_SERIALIZATION_NVP(maxUploads); 
     
    121134                        ar & BOOST_SERIALIZATION_NVP(trackerTimeout); 
    122135                } 
     136 
     137                if (version > 4) { 
     138                        ar & make_nvp("auto_manage_interval", auto_manage_interval_); 
     139                        ar & make_nvp("active_downloads", active_downloads_); 
     140                        ar & make_nvp("active_seeds", active_seeds_); 
     141                        ar & make_nvp("seeds_hard_limit", seeds_hard_limit_); 
     142                        ar & make_nvp("seed_ratio_limit", seed_ratio_limit_); 
     143                        ar & make_nvp("seed_ratio_time_limit", seed_ratio_time_limit_); 
     144                        ar & make_nvp("seed_time_limit", seed_time_limit_); 
     145                        ar & make_nvp("dont_count_slow_torrents", dont_count_slow_torrents_); 
     146                        ar & make_nvp("auto_scrape_interval", auto_scrape_interval_); 
     147                        ar & make_nvp("auto_scrape_min_interval", auto_scrape_min_interval_); 
     148                        ar & make_nvp("close_redundant_connections", close_redundant_connections_); 
     149                } 
    123150        } 
    124151         
     
    130157        friend class ProxyOptions; 
    131158        friend class TorrentsOptions; 
     159        friend class GlobalOptions; 
     160        friend class PortOptions; 
    132161 
    133162private: 
     
    181210        int peerTimeout; 
    182211        int trackerTimeout;      
     212 
     213        int auto_manage_interval_; 
     214 
     215        int active_downloads_; 
     216        int active_seeds_; 
     217        int seeds_hard_limit_; 
     218        float seed_ratio_limit_; 
     219        float seed_ratio_time_limit_; 
     220        int seed_time_limit_; 
     221        bool dont_count_slow_torrents_; 
     222 
     223        int auto_scrape_min_interval_; 
     224        int auto_scrape_interval_; 
     225        bool close_redundant_connections_; 
     226 
    183227}; 
    184228 
     
    187231} // namespace hal 
    188232 
    189 BOOST_CLASS_VERSION(hal::Config, 4) 
     233BOOST_CLASS_VERSION(hal::Config, 5) 
Note: See TracChangeset for help on using the changeset viewer.