Changeset 232


Ignore:
Timestamp:
07/11/07 13:50:11 (13 years ago)
Author:
Eoin
Message:

GUI support for Protocol Encryption

Files:
7 edited

Legend:

Unmodified
Added
Removed
  • Halite.pnproj

    r228 r232  
    1 <Project name="Halite"><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="res" path="res\"><File path="afxres.h"></File><File path="Halite.aps"></File><File path="Halite.ico"></File><File path="Halite.rc"></File><File path="Manifest.xml"></File><File path="resource.h"></File><File path="toolbar.bmp"></File></MagicFolder><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="src" path="src\"><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="advtabs" path="advtabs\"><File path="Debug.cpp"></File><File path="Debug.hpp"></File><File path="Peers.cpp"></File><File path="Peers.hpp"></File><File path="ThemeTestDialog.hpp"></File><File path="Torrent.cpp"></File><File path="Torrent.hpp"></File><File path="Tracker.cpp"></File><File path="Tracker.hpp"></File><File path="TrackerAddDialog.hpp"></File><File path="TrackerListView.cpp"></File><File path="TrackerListView.hpp"></File></MagicFolder><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="global" path="global\"><File path="ini.cpp"></File><File path="ini.hpp"></File><File path="ini_adapter.cpp"></File><File path="ini_adapter.hpp"></File><File path="logger.cpp"></File><File path="logger.hpp"></File><File path="string_conv.cpp"></File><File path="string_conv.hpp"></File><File path="tinyxml.cpp"></File><File path="tinyxml.hpp"></File><File path="tinyxmlerror.cpp"></File><File path="tinyxmlparser.cpp"></File><File path="unicode.hpp"></File><File path="utf8.hpp"></File><File path="wtl_app.cpp"></File><File path="wtl_app.hpp"></File></MagicFolder><File path="AdvHaliteDialog.cpp"></File><File path="AdvHaliteDialog.hpp"></File><File path="ConfigOptions.cpp"></File><File path="ConfigOptions.hpp"></File><File path="CSSFileDialog.hpp"></File><File path="DdxEx.hpp"></File><File path="DebugDialog.hpp"></File><File path="DropFileTarget.h"></File><File path="halConfig.cpp"></File><File path="halConfig.hpp"></File><File path="halEvent.cpp"></File><File path="halEvent.hpp"></File><File path="Halite.cpp"></File><File path="Halite.hpp"></File><File path="HaliteDialog.cpp"></File><File path="HaliteDialog.hpp"></File><File path="HaliteDialogBase.hpp"></File><File path="HaliteEditCtrl.hpp"></File><File path="HaliteIni.hpp"></File><File path="HaliteListManager.hpp"></File><File path="HaliteListView.cpp"></File><File path="HaliteListView.hpp"></File><File path="HaliteListViewCtrl.hpp"></File><File path="HaliteTabCtrl.hpp"></File><File path="HaliteTabPage.hpp"></File><File path="HaliteWindow.cpp"></File><File path="HaliteWindow.hpp"></File><File path="halTorrent.cpp"></File><File path="halTorrent.hpp"></File><File path="halTorrentInternal.hpp"></File><File path="halXmlRpc.cpp"></File><File path="halXmlRpc.hpp"></File><File path="NTray.cpp"></File><File path="NTray.hpp"></File><File path="ProgressDialog.hpp"></File><File path="SimpleHtml.h"></File><File path="SplashDialog.hpp"></File><File path="SSFileDialog.hpp"></File><File path="stdAfx.cpp"></File><File path="stdAfx.hpp"></File><File path="UxthemeWrapper.cpp"></File><File path="UxthemeWrapper.hpp"></File><File path="WinAPIMutex.hpp"></File></MagicFolder><File path="Jamfile.v2"></File></Project> 
     1<Project name="Halite"><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="res" path="res\"><File path="afxres.h"></File><File path="Halite.aps"></File><File path="Halite.ico"></File><File path="Halite.rc"></File><File path="Manifest.xml"></File><File path="toolbar.bmp"></File></MagicFolder><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="src" path="src\"><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="advtabs" path="advtabs\"><File path="Debug.cpp"></File><File path="Debug.hpp"></File><File path="Peers.cpp"></File><File path="Peers.hpp"></File><File path="ThemeTestDialog.hpp"></File><File path="Torrent.cpp"></File><File path="Torrent.hpp"></File><File path="Tracker.cpp"></File><File path="Tracker.hpp"></File><File path="TrackerAddDialog.hpp"></File><File path="TrackerListView.cpp"></File><File path="TrackerListView.hpp"></File></MagicFolder><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="global" path="global\"><File path="ini.cpp"></File><File path="ini.hpp"></File><File path="ini_adapter.cpp"></File><File path="ini_adapter.hpp"></File><File path="logger.cpp"></File><File path="logger.hpp"></File><File path="string_conv.cpp"></File><File path="string_conv.hpp"></File><File path="tinyxml.cpp"></File><File path="tinyxml.hpp"></File><File path="tinyxmlerror.cpp"></File><File path="tinyxmlparser.cpp"></File><File path="unicode.hpp"></File><File path="utf8.hpp"></File><File path="wtl_app.cpp"></File><File path="wtl_app.hpp"></File></MagicFolder><File path="AdvHaliteDialog.cpp"></File><File path="AdvHaliteDialog.hpp"></File><File path="ConfigOptions.cpp"></File><File path="ConfigOptions.hpp"></File><File path="CSSFileDialog.hpp"></File><File path="DdxEx.hpp"></File><File path="DebugDialog.hpp"></File><File path="DropFileTarget.h"></File><File path="halConfig.cpp"></File><File path="halConfig.hpp"></File><File path="halEvent.cpp"></File><File path="halEvent.hpp"></File><File path="Halite.cpp"></File><File path="Halite.hpp"></File><File path="HaliteDialog.cpp"></File><File path="HaliteDialog.hpp"></File><File path="HaliteDialogBase.hpp"></File><File path="HaliteEditCtrl.hpp"></File><File path="HaliteIni.hpp"></File><File path="HaliteListManager.hpp"></File><File path="HaliteListView.cpp"></File><File path="HaliteListView.hpp"></File><File path="HaliteListViewCtrl.hpp"></File><File path="HaliteTabCtrl.hpp"></File><File path="HaliteTabPage.hpp"></File><File path="HaliteWindow.cpp"></File><File path="HaliteWindow.hpp"></File><File path="halTorrent.cpp"></File><File path="halTorrent.hpp"></File><File path="halTorrentInternal.hpp"></File><File path="halXmlRpc.cpp"></File><File path="halXmlRpc.hpp"></File><File path="NTray.cpp"></File><File path="NTray.hpp"></File><File path="ProgressDialog.hpp"></File><File path="SimpleHtml.h"></File><File path="SplashDialog.hpp"></File><File path="SSFileDialog.hpp"></File><File path="stdAfx.cpp"></File><File path="stdAfx.hpp"></File><File path="UxthemeWrapper.cpp"></File><File path="UxthemeWrapper.hpp"></File><File path="WinAPIMutex.hpp"></File></MagicFolder><File path="Jamfile.v2"></File></Project> 
  • res/Halite.rc

    r224 r232  
    5353    CONTROL         "Enable DHT. (Note neither DHT nor PEX will apply to private torrents)",IDC_BC_DHT, 
    5454                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,98,258,12 
    55     CONTROL         "Enable IP filtering.",IDC_BC_FILTERCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,128,102,12 
    56     PUSHBUTTON      "Import ipfilter.dat",IDC_BC_FILTERLOAD,196,127,75,14,WS_DISABLED 
    57     PUSHBUTTON      "Clear IP database",IDC_BC_FILTERCLEAR,115,127,75,14,WS_DISABLED 
     55//  CONTROL         "Enable IP filtering.",IDC_BC_FILTERCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,128,102,12 
     56//  PUSHBUTTON      "Import ipfilter.dat",IDC_BC_FILTERLOAD,196,127,75,14,WS_DISABLED 
     57//  PUSHBUTTON      "Clear IP database",IDC_BC_FILTERCLEAR,115,127,75,14,WS_DISABLED 
    5858    EDITTEXT        IDC_BC_PROXYIP,124,17,77,12,ES_AUTOHSCROLL 
    5959    RTEXT           "Proxy Host/IP : ",IDC_BC_PROXYIP_S,68,19,55,12 
     
    7070    EDITTEXT        IDC_BC_DHTPORT,78,112,77,12,ES_AUTOHSCROLL 
    7171    RTEXT           "Port (UDP) : ",IDC_BC_DHTPORT_S,12,114,66,12 
     72END 
     73 
     74IDD_CONFIGSECURITY DIALOGEX 0, 0, 283, 152 
     75STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU 
     76CAPTION "Security" 
     77FONT 8, "MS Shell Dlg", 400, 0, 0x1 
     78BEGIN 
     79    GROUPBOX        "Security Options",IDC_STATIC,6,6,271,106 
     80    CONTROL         "Enable IP filtering.",IDC_BC_FILTERCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,18,102,12 
     81    PUSHBUTTON      "Import ipfilter.dat",IDC_BC_FILTERLOAD,196,17,75,14,WS_DISABLED 
     82    PUSHBUTTON      "Clear IP database",IDC_BC_FILTERCLEAR,115,17,75,14,WS_DISABLED 
     83         
     84    CONTROL         "Enable Protocol Encryption.",IDC_SC_ENABLE_PE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,35,104,10 
     85  
     86    GROUPBOX        "Connection Policies",IDC_STATIC,170,37,99,55 
     87    LTEXT           "Incoming",IDC_STATIC,177,46,42,9 
     88    RTEXT           "Outcoming",IDC_STATIC,220,46,42,9 
     89         
     90    CONTROL         "",IDC_SC_PE_CP_IN_FORCED,"Button",BS_AUTORADIOBUTTON|WS_GROUP,178,58,16,10 
     91    CONTROL         "",IDC_SC_PE_CP_IN_ENABLED,"Button",BS_AUTORADIOBUTTON,178,68,16,10 
     92    CONTROL         "",IDC_SC_PE_CP_IN_DISABLED,"Button",BS_AUTORADIOBUTTON,178,78,16,10 
     93    CTEXT           "Forced",IDC_STATIC,198,56,44,8 
     94    CTEXT           "Enabled",IDC_STATIC,198,67,44,8 
     95    CTEXT           "Disablied",IDC_STATIC,198,78,44,8 
     96    CONTROL         "",IDC_SC_PE_CP_OUT_FORCED,"Button",BS_AUTORADIOBUTTON|WS_GROUP,246,58,16,10,WS_EX_RIGHT 
     97    CONTROL         "",IDC_SC_PE_CP_OUT_ENABLED,"Button",BS_AUTORADIOBUTTON,246,68,16,10,WS_EX_RIGHT 
     98    CONTROL         "",IDC_SC_PE_CP_OUT_DISABLED,"Button",BS_AUTORADIOBUTTON,246,78,16,10,WS_EX_RIGHT 
     99         
     100    GROUPBOX        "Encoding Level",IDC_STATIC,31,48,127,44 
     101    CONTROL         "None",IDC_SC_PE_ENC_NONE,"Button",BS_AUTORADIOBUTTON|WS_GROUP,37,58,116,10 
     102    CONTROL         "Plaintext",IDC_SC_PE_ENC_PLAIN,"Button",BS_AUTORADIOBUTTON,37,69,116,10 
     103    CONTROL         "RC4",IDC_SC_PE_ENC_RC4,"Button",BS_AUTORADIOBUTTON,37,80,48,10 
     104    CONTROL         "Prefer RC4",IDC_SC_PE_ENC_RC4_PERFER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,90,80,63,10 
     105    LTEXT           "Need Help? See jldksfdslkfjsdlkfjklsdfjl",IDC_SC_HELP_LINK,13,98,255,8 
    72106END 
    73107 
  • res/resource.h

    r224 r232  
    1111#define IDD_CONFIGBIT                   102 
    1212#define IDD_CONFIGREMOTE                103 
     13#define IDD_CONFIGSECURITY              108 
    1314#define IDD_ABOUT                       104 
    1415#define IDD_CLOSESPLASH                 105 
     
    130131#define IDC_LANGLIST                                    1085 
    131132#define IDC_EDITABOUT                                   1086 
     133#define IDC_SC_ENABLE_PE                1087 
     134#define IDC_SC_PE_ENC_NONE              1088 
     135#define IDC_SC_PE_ENC_RC4               1089 
     136#define IDC_SC_PE_ENC_PLAIN             1090 
     137#define IDC_SC_PE_ENC_RC4_PERFER        1091 
     138#define IDC_SC_PE_CP_IN_FORCED          1092 
     139#define IDC_SC_PE_CP_IN_DISABLED        1093 
     140#define IDC_SC_PE_CP_IN_ENABLED         1094 
     141#define IDC_SC_PE_CP_OUT_DISABLED       1095 
     142#define IDC_SC_PE_CP_OUT_ENABLED        1096 
     143#define IDC_SC_PE_CP_OUT_FORCED         1097 
     144#define IDC_SC_HELP_LINK                1098 
    132145#define ED_CON                          3000 
    133146#define IDPANE_STATUS                   40000 
  • src/ConfigOptions.cpp

    r212 r232  
    88#include "ProgressDialog.hpp" 
    99 
    10 void BitTorrentOptions::onFilterImport(UINT, int, HWND hWnd) 
     10void SecurityOptions::onFilterImport(UINT, int, HWND hWnd) 
    1111{ 
    1212        CSSFileDialog dlgOpen(TRUE, NULL, NULL, OFN_HIDEREADONLY, L"eMule ipfilter.dat. (*.dat)|*.dat|", m_hWnd); 
  • src/ConfigOptions.hpp

    r224 r232  
    8080    BEGIN_MSG_MAP_EX(BitTorrentOptions) 
    8181        MSG_WM_INITDIALOG(OnInitDialog) 
    82                 COMMAND_ID_HANDLER_EX(IDC_BC_FILTERLOAD, onFilterImport) 
    83                 COMMAND_ID_HANDLER_EX(IDC_BC_FILTERCLEAR, onFilterClear) 
    8482                COMMAND_ID_HANDLER_EX(IDC_BC_PORTCHECK, onPortCheck) 
    85                 COMMAND_ID_HANDLER_EX(IDC_BC_FILTERCHECK, onFilterCheck) 
    8683                COMMAND_ID_HANDLER_EX(IDC_BC_PROXYCHECK, onProxyCheck) 
    8784                COMMAND_ID_HANDLER_EX(IDC_BC_DHT, onDHTCheck) 
     
    9592        DDX_CHECK(IDC_BC_PORTCHECK, hal::config().portRange) 
    9693        DDX_INT(IDC_BC_DHTPORT, hal::config().dhtServicePort) 
    97         DDX_CHECK(IDC_BC_FILTERCHECK, hal::config().enableIPFilter) 
    9894    END_DDX_MAP() 
    9995 
     
    10298                BOOL retval =  DoDataExchange(false); 
    10399 
    104                 onFilterCheck(0, 0, GetDlgItem(IDC_BC_FILTERCHECK)); 
    105100                onProxyCheck(0, 0, GetDlgItem(IDC_BC_PROXYCHECK)); 
    106101                onPortCheck(0, 0, GetDlgItem(IDC_BC_PORTCHECK)); 
     
    113108        { 
    114109                return DoDataExchange(true); 
    115         } 
    116  
    117         void onFilterCheck(UINT, int, HWND hWnd) 
    118         { 
    119                 LRESULT result = ::SendMessage(hWnd, BM_GETCHECK, 0, 0); 
    120  
    121                 if (result == BST_CHECKED) 
    122                 { 
    123                         ::EnableWindow(GetDlgItem(IDC_BC_FILTERCLEAR), true); 
    124                         ::EnableWindow(GetDlgItem(IDC_BC_FILTERLOAD), true); 
    125                 } 
    126                 else 
    127                 { 
    128                         ::EnableWindow(GetDlgItem(IDC_BC_FILTERCLEAR), false); 
    129                         ::EnableWindow(GetDlgItem(IDC_BC_FILTERLOAD), false); 
    130                 } 
    131110        } 
    132111 
     
    191170                } 
    192171        } 
     172}; 
     173 
     174class SecurityOptions : 
     175    public CPropertyPageImpl<SecurityOptions>, 
     176    public CWinDataExchangeEx<SecurityOptions> 
     177{ 
     178        typedef SecurityOptions thisClass; 
     179public: 
     180    enum { IDD = IDD_CONFIGSECURITY }; 
     181 
     182        SecurityOptions() 
     183        {} 
     184 
     185        ~SecurityOptions() 
     186        {} 
     187 
     188    BEGIN_MSG_MAP_EX(thisClass) 
     189        MSG_WM_INITDIALOG(OnInitDialog) 
     190                 
     191                COMMAND_ID_HANDLER_EX(IDC_BC_FILTERLOAD, onFilterImport) 
     192                COMMAND_ID_HANDLER_EX(IDC_BC_FILTERCLEAR, onFilterClear) 
     193                COMMAND_ID_HANDLER_EX(IDC_BC_FILTERCHECK, onFilterCheck) 
     194                 
     195                COMMAND_ID_HANDLER_EX(IDC_SC_ENABLE_PE, onPeCheck) 
     196                 
     197        CHAIN_MSG_MAP(CPropertyPageImpl<thisClass>) 
     198    END_MSG_MAP() 
     199 
     200    BEGIN_DDX_MAP(thisClass) 
     201        DDX_CHECK(IDC_BC_FILTERCHECK, hal::config().enableIPFilter) 
     202        DDX_CHECK(IDC_SC_ENABLE_PE, hal::config().enablePe) 
     203        DDX_RADIO(IDC_SC_PE_ENC_NONE, hal::config().peEncLevel) 
     204        DDX_CHECK(IDC_SC_PE_ENC_RC4_PERFER, hal::config().pePerferRc4) 
     205        DDX_RADIO(IDC_SC_PE_CP_IN_FORCED, hal::config().peConInPolicy) 
     206        DDX_RADIO(IDC_SC_PE_CP_OUT_FORCED, hal::config().peConOutPolicy) 
     207    END_DDX_MAP() 
     208 
     209    BOOL OnInitDialog (HWND hwndFocus, LPARAM lParam) 
     210        { 
     211                helpLink.SubclassWindow(GetDlgItem(IDC_SC_HELP_LINK)); 
     212                helpLink.SetHyperLink(L"http://www.binarynotions.com/"); 
     213                 
     214                BOOL retval =  DoDataExchange(false); 
     215 
     216                onFilterCheck(0, 0, GetDlgItem(IDC_BC_FILTERCHECK)); 
     217                onPeCheck(0, 0, GetDlgItem(IDC_SC_ENABLE_PE)); 
     218 
     219                return retval; 
     220        } 
     221 
     222    int OnApply() 
     223        { 
     224                return DoDataExchange(true); 
     225        } 
     226 
     227        void onFilterCheck(UINT, int, HWND hWnd) 
     228        { 
     229                LRESULT result = ::SendMessage(hWnd, BM_GETCHECK, 0, 0); 
     230 
     231                if (result == BST_CHECKED) 
     232                { 
     233                        ::EnableWindow(GetDlgItem(IDC_BC_FILTERCLEAR), true); 
     234                        ::EnableWindow(GetDlgItem(IDC_BC_FILTERLOAD), true); 
     235                } 
     236                else 
     237                { 
     238                        ::EnableWindow(GetDlgItem(IDC_BC_FILTERCLEAR), false); 
     239                        ::EnableWindow(GetDlgItem(IDC_BC_FILTERLOAD), false); 
     240                } 
     241        } 
     242 
     243        void onPeCheck(UINT, int, HWND hWnd) 
     244        { 
     245                LRESULT result = ::SendMessage(hWnd, BM_GETCHECK, 0, 0); 
     246 
     247                if (result == BST_CHECKED) 
     248                { 
     249                        ::EnableWindow(GetDlgItem(IDC_SC_PE_ENC_NONE), true); 
     250                        ::EnableWindow(GetDlgItem(IDC_SC_PE_ENC_RC4), true); 
     251                        ::EnableWindow(GetDlgItem(IDC_SC_PE_ENC_PLAIN), true); 
     252                        ::EnableWindow(GetDlgItem(IDC_SC_PE_ENC_RC4_PERFER), true); 
     253                        ::EnableWindow(GetDlgItem(IDC_SC_PE_CP_IN_FORCED), true); 
     254                        ::EnableWindow(GetDlgItem(IDC_SC_PE_CP_IN_DISABLED), true); 
     255                        ::EnableWindow(GetDlgItem(IDC_SC_PE_CP_IN_ENABLED), true); 
     256                        ::EnableWindow(GetDlgItem(IDC_SC_PE_CP_OUT_DISABLED), true); 
     257                        ::EnableWindow(GetDlgItem(IDC_SC_PE_CP_OUT_ENABLED), true); 
     258                        ::EnableWindow(GetDlgItem(IDC_SC_PE_CP_OUT_FORCED), true); 
     259                } 
     260                else 
     261                { 
     262                        ::EnableWindow(GetDlgItem(IDC_SC_PE_ENC_NONE), false); 
     263                        ::EnableWindow(GetDlgItem(IDC_SC_PE_ENC_RC4), false); 
     264                        ::EnableWindow(GetDlgItem(IDC_SC_PE_ENC_PLAIN), false); 
     265                        ::EnableWindow(GetDlgItem(IDC_SC_PE_ENC_RC4_PERFER), false); 
     266                        ::EnableWindow(GetDlgItem(IDC_SC_PE_CP_IN_FORCED), false); 
     267                        ::EnableWindow(GetDlgItem(IDC_SC_PE_CP_IN_DISABLED), false); 
     268                        ::EnableWindow(GetDlgItem(IDC_SC_PE_CP_IN_ENABLED), false); 
     269                        ::EnableWindow(GetDlgItem(IDC_SC_PE_CP_OUT_DISABLED), false); 
     270                        ::EnableWindow(GetDlgItem(IDC_SC_PE_CP_OUT_ENABLED), false); 
     271                        ::EnableWindow(GetDlgItem(IDC_SC_PE_CP_OUT_FORCED), false); 
     272                } 
     273        } 
    193274 
    194275        void onFilterClear(UINT, int, HWND hWnd) 
     
    198279 
    199280        void onFilterImport(UINT, int, HWND hWnd); 
     281 
     282private: 
     283        CHyperLink helpLink; 
    200284}; 
    201285 
     
    320404                AddPage(generalOptions); 
    321405                AddPage(bitTorrentOptions); 
     406                AddPage(securityOptions); 
    322407                AddPage(torrentsOptions); 
    323408                AddPage(remoteControlOptions); 
     
    350435        GeneralOptions generalOptions; 
    351436        BitTorrentOptions bitTorrentOptions; 
     437        SecurityOptions securityOptions; 
    352438        TorrentsOptions torrentsOptions; 
    353439        RemoteOptions remoteControlOptions; 
  • src/HaliteWindow.hpp

    r231 r232  
    200200         
    201201        boost::signal<void (const hal::TorrentDetails& allTorrents,  
    202                 const hal::TorrentDetails& selectedTorrents, const hal::TorrentDetail_ptr selectedTorrent)> ui_update_signal_; 
     202                const hal::TorrentDetails& selectedTorrents, const hal::TorrentDetail_ptr selectedTorrent)>  
     203                        ui_update_signal_; 
    203204        boost::signal<void ()> save_state_signal_;       
    204205}; 
  • src/halConfig.hpp

    r143 r232  
    1212 
    1313class BitTorrentOptions; 
     14class SecurityOptions; 
    1415class TorrentsOptions; 
    1516         
     
    4445                proxyPort(0), 
    4546                defaultSaveFolder((hal::app().exe_path().branch_path()/L"incoming").string()), 
    46                 savePrompt(true) 
     47                savePrompt(true), 
     48                enablePe(false), 
     49                peEncLevel(0), 
     50                pePerferRc4(false), 
     51                peConInPolicy(1), 
     52                peConOutPolicy(1) 
    4753        {} 
    4854         
     
    7884                 
    7985                ar & BOOST_SERIALIZATION_NVP(defaultSaveFolder); 
    80                 ar & BOOST_SERIALIZATION_NVP(savePrompt);                
     86                ar & BOOST_SERIALIZATION_NVP(savePrompt); 
     87                 
     88                if (version > 0) { 
     89                        ar & BOOST_SERIALIZATION_NVP(enablePe); 
     90                        ar & BOOST_SERIALIZATION_NVP(peEncLevel); 
     91                        ar & BOOST_SERIALIZATION_NVP(pePerferRc4); 
     92                        ar & BOOST_SERIALIZATION_NVP(peConInPolicy); 
     93                        ar & BOOST_SERIALIZATION_NVP(peConOutPolicy); 
     94                } 
    8195        } 
    8296         
    8397        void settingsChanged(); 
    8498         
     99        friend class HaliteWindow; 
    85100        friend class BitTorrentOptions; 
     101        friend class SecurityOptions; 
    86102        friend class TorrentsOptions; 
    87         friend class HaliteWindow; 
    88103 
    89104private: 
     
    122137        wstring defaultSaveFolder; 
    123138        bool savePrompt; 
     139 
     140    bool enablePe; 
     141    int peEncLevel; 
     142    bool pePerferRc4; 
     143    int peConInPolicy; 
     144    int peConOutPolicy; 
    124145}; 
    125146 
     
    128149} // namespace hal 
    129150 
    130 BOOST_CLASS_VERSION(hal::Config, 0) 
     151BOOST_CLASS_VERSION(hal::Config, 1) 
Note: See TracChangeset for help on using the changeset viewer.