Changeset 403


Ignore:
Timestamp:
03/15/08 20:31:42 (12 years ago)
Author:
Eoin
Message:

Added command to recheck torrents.

Files:
2 added
19 edited

Legend:

Unmodified
Added
Removed
  • branch_lua/Halite.sln

    r399 r403  
    44Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Halite", "sln\Halite\Halite.vcproj", "{ED987C84-FFF9-4656-8F27-2A65FC0847FD}" 
    55        ProjectSection(ProjectDependencies) = postProject 
     6                {032E9603-E71C-4625-968B-78511BFDFEF3} = {032E9603-E71C-4625-968B-78511BFDFEF3} 
     7                {333ECB6F-575B-4B11-BDDA-3E7F7555BAD8} = {333ECB6F-575B-4B11-BDDA-3E7F7555BAD8} 
    68                {85145293-5491-4BA8-892C-F5A0C4AC9208} = {85145293-5491-4BA8-892C-F5A0C4AC9208} 
    7                 {333ECB6F-575B-4B11-BDDA-3E7F7555BAD8} = {333ECB6F-575B-4B11-BDDA-3E7F7555BAD8} 
    89        EndProjectSection 
    910EndProject 
     
    2021        ProjectSection(ProjectDependencies) = postProject 
    2122                {ED987C84-FFF9-4656-8F27-2A65FC0847FD} = {ED987C84-FFF9-4656-8F27-2A65FC0847FD} 
     23        EndProjectSection 
     24EndProject 
     25Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lua", "sln\lua\lua.vcproj", "{5214FA9A-D1F3-473D-9B54-DCF941CB8E81}" 
     26EndProject 
     27Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "luabind", "sln\luabind\luabind.vcproj", "{032E9603-E71C-4625-968B-78511BFDFEF3}" 
     28        ProjectSection(ProjectDependencies) = postProject 
     29                {5214FA9A-D1F3-473D-9B54-DCF941CB8E81} = {5214FA9A-D1F3-473D-9B54-DCF941CB8E81} 
    2230        EndProjectSection 
    2331EndProject 
     
    6068                {85145293-5491-4BA8-892C-F5A0C4AC9208}.Debug|x64.ActiveCfg = Debug|x64 
    6169                {85145293-5491-4BA8-892C-F5A0C4AC9208}.Debug|x64.Build.0 = Debug|x64 
    62                 {85145293-5491-4BA8-892C-F5A0C4AC9208}.Release Logging|Win32.ActiveCfg = Release Logging|Win32 
    63                 {85145293-5491-4BA8-892C-F5A0C4AC9208}.Release Logging|Win32.Build.0 = Release Logging|Win32 
     70                {85145293-5491-4BA8-892C-F5A0C4AC9208}.Release Logging|Win32.ActiveCfg = Release|Win32 
     71                {85145293-5491-4BA8-892C-F5A0C4AC9208}.Release Logging|Win32.Build.0 = Release|Win32 
    6472                {85145293-5491-4BA8-892C-F5A0C4AC9208}.Release Logging|x64.ActiveCfg = Release Logging|x64 
    6573                {85145293-5491-4BA8-892C-F5A0C4AC9208}.Release Logging|x64.Build.0 = Release Logging|x64 
     
    7078                {00A33D18-879A-4143-BCAD-45993CCB5A8C}.Debug|Win32.ActiveCfg = Debug|Win32 
    7179                {00A33D18-879A-4143-BCAD-45993CCB5A8C}.Debug|Win32.Build.0 = Debug|Win32 
    72                 {00A33D18-879A-4143-BCAD-45993CCB5A8C}.Debug|x64.ActiveCfg = Debug|Win32 
     80                {00A33D18-879A-4143-BCAD-45993CCB5A8C}.Debug|x64.ActiveCfg = Debug|x64 
     81                {00A33D18-879A-4143-BCAD-45993CCB5A8C}.Debug|x64.Build.0 = Debug|x64 
    7382                {00A33D18-879A-4143-BCAD-45993CCB5A8C}.Release Logging|Win32.ActiveCfg = Release Logging|Win32 
    7483                {00A33D18-879A-4143-BCAD-45993CCB5A8C}.Release Logging|Win32.Build.0 = Release Logging|Win32 
    7584                {00A33D18-879A-4143-BCAD-45993CCB5A8C}.Release Logging|x64.ActiveCfg = Release Logging|Win32 
     85                {00A33D18-879A-4143-BCAD-45993CCB5A8C}.Release Logging|x64.Build.0 = Release Logging|Win32 
    7686                {00A33D18-879A-4143-BCAD-45993CCB5A8C}.Release|Win32.ActiveCfg = Release|Win32 
    7787                {00A33D18-879A-4143-BCAD-45993CCB5A8C}.Release|Win32.Build.0 = Release|Win32 
    7888                {00A33D18-879A-4143-BCAD-45993CCB5A8C}.Release|x64.ActiveCfg = Release|Win32 
     89                {00A33D18-879A-4143-BCAD-45993CCB5A8C}.Release|x64.Build.0 = Release|Win32 
    7990                {8D768897-96D3-48DB-A7AB-9242E4D27DB4}.Debug|Win32.ActiveCfg = Debug 
    8091                {8D768897-96D3-48DB-A7AB-9242E4D27DB4}.Debug|Win32.Build.0 = Debug 
     
    89100                {8D768897-96D3-48DB-A7AB-9242E4D27DB4}.Release|x64.ActiveCfg = Release 
    90101                {8D768897-96D3-48DB-A7AB-9242E4D27DB4}.Release|x64.Build.0 = Release 
     102                {5214FA9A-D1F3-473D-9B54-DCF941CB8E81}.Debug|Win32.ActiveCfg = Debug|Win32 
     103                {5214FA9A-D1F3-473D-9B54-DCF941CB8E81}.Debug|Win32.Build.0 = Debug|Win32 
     104                {5214FA9A-D1F3-473D-9B54-DCF941CB8E81}.Debug|x64.ActiveCfg = Debug|x64 
     105                {5214FA9A-D1F3-473D-9B54-DCF941CB8E81}.Debug|x64.Build.0 = Debug|x64 
     106                {5214FA9A-D1F3-473D-9B54-DCF941CB8E81}.Release Logging|Win32.ActiveCfg = Release|Win32 
     107                {5214FA9A-D1F3-473D-9B54-DCF941CB8E81}.Release Logging|Win32.Build.0 = Release|Win32 
     108                {5214FA9A-D1F3-473D-9B54-DCF941CB8E81}.Release Logging|x64.ActiveCfg = Release|Win32 
     109                {5214FA9A-D1F3-473D-9B54-DCF941CB8E81}.Release Logging|x64.Build.0 = Release|Win32 
     110                {5214FA9A-D1F3-473D-9B54-DCF941CB8E81}.Release|Win32.ActiveCfg = Release|Win32 
     111                {5214FA9A-D1F3-473D-9B54-DCF941CB8E81}.Release|Win32.Build.0 = Release|Win32 
     112                {5214FA9A-D1F3-473D-9B54-DCF941CB8E81}.Release|x64.ActiveCfg = Release|Win32 
     113                {5214FA9A-D1F3-473D-9B54-DCF941CB8E81}.Release|x64.Build.0 = Release|Win32 
     114                {032E9603-E71C-4625-968B-78511BFDFEF3}.Debug|Win32.ActiveCfg = Debug|Win32 
     115                {032E9603-E71C-4625-968B-78511BFDFEF3}.Debug|Win32.Build.0 = Debug|Win32 
     116                {032E9603-E71C-4625-968B-78511BFDFEF3}.Debug|x64.ActiveCfg = Debug|x64 
     117                {032E9603-E71C-4625-968B-78511BFDFEF3}.Debug|x64.Build.0 = Debug|x64 
     118                {032E9603-E71C-4625-968B-78511BFDFEF3}.Release Logging|Win32.ActiveCfg = Release|Win32 
     119                {032E9603-E71C-4625-968B-78511BFDFEF3}.Release Logging|Win32.Build.0 = Release|Win32 
     120                {032E9603-E71C-4625-968B-78511BFDFEF3}.Release Logging|x64.ActiveCfg = Release|Win32 
     121                {032E9603-E71C-4625-968B-78511BFDFEF3}.Release Logging|x64.Build.0 = Release|Win32 
     122                {032E9603-E71C-4625-968B-78511BFDFEF3}.Release|Win32.ActiveCfg = Release|Win32 
     123                {032E9603-E71C-4625-968B-78511BFDFEF3}.Release|Win32.Build.0 = Release|Win32 
     124                {032E9603-E71C-4625-968B-78511BFDFEF3}.Release|x64.ActiveCfg = Release|Win32 
     125                {032E9603-E71C-4625-968B-78511BFDFEF3}.Release|x64.Build.0 = Release|Win32 
    91126        EndGlobalSection 
    92127        GlobalSection(SolutionProperties) = preSolution 
  • branch_lua/sln/Halite/Halite.vcproj

    r399 r403  
    4545                                AdditionalOptions="/Zm1000" 
    4646                                Optimization="0" 
    47                                 AdditionalIncludeDirectories=""$(SolutionDir)src\WTLx";"$(SolutionDir)src";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\openssl\inc"" 
     47                                AdditionalIncludeDirectories=""$(SolutionDir)src\WTLx";"$(SolutionDir)src";"$(SolutionDir)lib\lua\src";"$(SolutionDir)lib\luabind";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\openssl\inc"" 
    4848                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;_DEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_LOGGING;TORRENT_VERBOSE_LOGGING;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
    4949                                MinimalRebuild="true" 
     
    126126                                AdditionalOptions="/Zm1000" 
    127127                                Optimization="0" 
    128                                 AdditionalIncludeDirectories=""$(SolutionDir)src\WTLx";"$(SolutionDir)src";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\openssl\inc"" 
     128                                AdditionalIncludeDirectories=""$(SolutionDir)src\WTLx";"$(SolutionDir)src";"$(SolutionDir)lib\lua\src";"$(SolutionDir)lib\luabind";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\openssl\inc"" 
    129129                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32 ;_WIN32;_WINDOWS;_DEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS" 
    130130                                MinimalRebuild="true" 
     
    207207                                AdditionalOptions="/Zm1000" 
    208208                                FavorSizeOrSpeed="2" 
    209                                 AdditionalIncludeDirectories=""$(SolutionDir)src\WTLx";"$(SolutionDir)src";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\openssl\inc"" 
     209                                AdditionalIncludeDirectories=""$(SolutionDir)src\WTLx";"$(SolutionDir)src";"$(SolutionDir)lib\lua\src";"$(SolutionDir)lib\luabind";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\openssl\inc"" 
    210210                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS" 
    211211                                MinimalRebuild="true" 
     
    291291                                FavorSizeOrSpeed="2" 
    292292                                WholeProgramOptimization="false" 
    293                                 AdditionalIncludeDirectories=""$(SolutionDir)src\WTLx";"$(SolutionDir)src";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\openssl\inc"" 
     293                                AdditionalIncludeDirectories=""$(SolutionDir)src\WTLx";"$(SolutionDir)src";"$(SolutionDir)lib\lua\src";"$(SolutionDir)lib\luabind";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\openssl\inc"" 
    294294                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS" 
    295295                                ExceptionHandling="2" 
     
    374374                                FavorSizeOrSpeed="2" 
    375375                                WholeProgramOptimization="false" 
    376                                 AdditionalIncludeDirectories=""$(SolutionDir)src\WTLx";"$(SolutionDir)src";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\openssl\inc"" 
     376                                AdditionalIncludeDirectories=""$(SolutionDir)src\WTLx";"$(SolutionDir)src";"$(SolutionDir)lib\lua\src";"$(SolutionDir)lib\luabind";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\openssl\inc"" 
    377377                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_LOGGING;TORRENT_VERBOSE_LOGGING;TORRENT_UPNP_LOGGING;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE" 
    378378                                MinimalRebuild="true" 
     
    459459                                FavorSizeOrSpeed="2" 
    460460                                WholeProgramOptimization="false" 
    461                                 AdditionalIncludeDirectories=""$(SolutionDir)src\WTLx";"$(SolutionDir)src";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\openssl\inc"" 
     461                                AdditionalIncludeDirectories=""$(SolutionDir)src\WTLx";"$(SolutionDir)src";"$(SolutionDir)lib\lua\src";"$(SolutionDir)lib\luabind";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\openssl\inc"" 
    462462                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS" 
    463463                                ExceptionHandling="2" 
  • branch_lua/sln/OpenSSL/OpenSSL.vcproj

    r399 r403  
    104104                </Configuration> 
    105105                <Configuration 
    106                         Name="Release Logging|Win32" 
    107                         OutputDirectory="$(SolutionDir)$(ConfigurationName)" 
    108                         IntermediateDirectory="$(ConfigurationName)" 
    109                         ConfigurationType="10" 
    110                         CharacterSet="1" 
    111                         WholeProgramOptimization="1" 
    112                         > 
    113                         <Tool 
    114                                 Name="VCPreBuildEventTool" 
    115                         /> 
    116                         <Tool 
    117                                 Name="VCCustomBuildTool" 
    118                         /> 
    119                         <Tool 
    120                                 Name="VCMIDLTool" 
    121                         /> 
    122                         <Tool 
    123                                 Name="VCPostBuildEventTool" 
    124                         /> 
    125                 </Configuration> 
    126                 <Configuration 
    127106                        Name="Release Logging|x64" 
    128107                        OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" 
  • branch_lua/sln/asio/asio.vcproj

    r399 r403  
    1212                        Name="Win32" 
    1313                /> 
     14                <Platform 
     15                        Name="x64" 
     16                /> 
    1417        </Platforms> 
    1518        <ToolFiles> 
     
    215218                                EnableCOMDATFolding="2" 
    216219                                TargetMachine="1" 
     220                        /> 
     221                        <Tool 
     222                                Name="VCALinkTool" 
     223                        /> 
     224                        <Tool 
     225                                Name="VCManifestTool" 
     226                        /> 
     227                        <Tool 
     228                                Name="VCXDCMakeTool" 
     229                        /> 
     230                        <Tool 
     231                                Name="VCBscMakeTool" 
     232                        /> 
     233                        <Tool 
     234                                Name="VCFxCopTool" 
     235                        /> 
     236                        <Tool 
     237                                Name="VCAppVerifierTool" 
     238                        /> 
     239                        <Tool 
     240                                Name="VCWebDeploymentTool" 
     241                        /> 
     242                        <Tool 
     243                                Name="VCPostBuildEventTool" 
     244                        /> 
     245                </Configuration> 
     246                <Configuration 
     247                        Name="Debug|x64" 
     248                        OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" 
     249                        IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" 
     250                        ConfigurationType="1" 
     251                        CharacterSet="1" 
     252                        > 
     253                        <Tool 
     254                                Name="VCPreBuildEventTool" 
     255                        /> 
     256                        <Tool 
     257                                Name="VCCustomBuildTool" 
     258                        /> 
     259                        <Tool 
     260                                Name="VCXMLDataGeneratorTool" 
     261                        /> 
     262                        <Tool 
     263                                Name="VCWebServiceProxyGeneratorTool" 
     264                        /> 
     265                        <Tool 
     266                                Name="VCMIDLTool" 
     267                                TargetEnvironment="3" 
     268                        /> 
     269                        <Tool 
     270                                Name="VCCLCompilerTool" 
     271                                Optimization="0" 
     272                                PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" 
     273                                MinimalRebuild="true" 
     274                                BasicRuntimeChecks="3" 
     275                                RuntimeLibrary="3" 
     276                                UsePrecompiledHeader="0" 
     277                                WarningLevel="3" 
     278                                Detect64BitPortabilityProblems="true" 
     279                                DebugInformationFormat="3" 
     280                        /> 
     281                        <Tool 
     282                                Name="VCManagedResourceCompilerTool" 
     283                        /> 
     284                        <Tool 
     285                                Name="VCResourceCompilerTool" 
     286                        /> 
     287                        <Tool 
     288                                Name="VCPreLinkEventTool" 
     289                        /> 
     290                        <Tool 
     291                                Name="VCLinkerTool" 
     292                                LinkIncremental="2" 
     293                                GenerateDebugInformation="true" 
     294                                SubSystem="2" 
     295                                TargetMachine="17" 
     296                        /> 
     297                        <Tool 
     298                                Name="VCALinkTool" 
     299                        /> 
     300                        <Tool 
     301                                Name="VCManifestTool" 
     302                        /> 
     303                        <Tool 
     304                                Name="VCXDCMakeTool" 
     305                        /> 
     306                        <Tool 
     307                                Name="VCBscMakeTool" 
     308                        /> 
     309                        <Tool 
     310                                Name="VCFxCopTool" 
     311                        /> 
     312                        <Tool 
     313                                Name="VCAppVerifierTool" 
     314                        /> 
     315                        <Tool 
     316                                Name="VCWebDeploymentTool" 
     317                        /> 
     318                        <Tool 
     319                                Name="VCPostBuildEventTool" 
     320                        /> 
     321                </Configuration> 
     322                <Configuration 
     323                        Name="Release|x64" 
     324                        OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" 
     325                        IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" 
     326                        ConfigurationType="1" 
     327                        CharacterSet="1" 
     328                        WholeProgramOptimization="1" 
     329                        > 
     330                        <Tool 
     331                                Name="VCPreBuildEventTool" 
     332                        /> 
     333                        <Tool 
     334                                Name="VCCustomBuildTool" 
     335                        /> 
     336                        <Tool 
     337                                Name="VCXMLDataGeneratorTool" 
     338                        /> 
     339                        <Tool 
     340                                Name="VCWebServiceProxyGeneratorTool" 
     341                        /> 
     342                        <Tool 
     343                                Name="VCMIDLTool" 
     344                                TargetEnvironment="3" 
     345                        /> 
     346                        <Tool 
     347                                Name="VCCLCompilerTool" 
     348                                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS" 
     349                                RuntimeLibrary="2" 
     350                                UsePrecompiledHeader="0" 
     351                                WarningLevel="3" 
     352                                Detect64BitPortabilityProblems="true" 
     353                                DebugInformationFormat="3" 
     354                        /> 
     355                        <Tool 
     356                                Name="VCManagedResourceCompilerTool" 
     357                        /> 
     358                        <Tool 
     359                                Name="VCResourceCompilerTool" 
     360                        /> 
     361                        <Tool 
     362                                Name="VCPreLinkEventTool" 
     363                        /> 
     364                        <Tool 
     365                                Name="VCLinkerTool" 
     366                                LinkIncremental="1" 
     367                                GenerateDebugInformation="true" 
     368                                SubSystem="2" 
     369                                OptimizeReferences="2" 
     370                                EnableCOMDATFolding="2" 
     371                                TargetMachine="17" 
     372                        /> 
     373                        <Tool 
     374                                Name="VCALinkTool" 
     375                        /> 
     376                        <Tool 
     377                                Name="VCManifestTool" 
     378                        /> 
     379                        <Tool 
     380                                Name="VCXDCMakeTool" 
     381                        /> 
     382                        <Tool 
     383                                Name="VCBscMakeTool" 
     384                        /> 
     385                        <Tool 
     386                                Name="VCFxCopTool" 
     387                        /> 
     388                        <Tool 
     389                                Name="VCAppVerifierTool" 
     390                        /> 
     391                        <Tool 
     392                                Name="VCWebDeploymentTool" 
     393                        /> 
     394                        <Tool 
     395                                Name="VCPostBuildEventTool" 
     396                        /> 
     397                </Configuration> 
     398                <Configuration 
     399                        Name="Release Logging|x64" 
     400                        OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" 
     401                        IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" 
     402                        ConfigurationType="1" 
     403                        CharacterSet="1" 
     404                        WholeProgramOptimization="1" 
     405                        > 
     406                        <Tool 
     407                                Name="VCPreBuildEventTool" 
     408                        /> 
     409                        <Tool 
     410                                Name="VCCustomBuildTool" 
     411                        /> 
     412                        <Tool 
     413                                Name="VCXMLDataGeneratorTool" 
     414                        /> 
     415                        <Tool 
     416                                Name="VCWebServiceProxyGeneratorTool" 
     417                        /> 
     418                        <Tool 
     419                                Name="VCMIDLTool" 
     420                                TargetEnvironment="3" 
     421                        /> 
     422                        <Tool 
     423                                Name="VCCLCompilerTool" 
     424                                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS" 
     425                                RuntimeLibrary="2" 
     426                                UsePrecompiledHeader="0" 
     427                                WarningLevel="3" 
     428                                Detect64BitPortabilityProblems="true" 
     429                                DebugInformationFormat="3" 
     430                        /> 
     431                        <Tool 
     432                                Name="VCManagedResourceCompilerTool" 
     433                        /> 
     434                        <Tool 
     435                                Name="VCResourceCompilerTool" 
     436                        /> 
     437                        <Tool 
     438                                Name="VCPreLinkEventTool" 
     439                        /> 
     440                        <Tool 
     441                                Name="VCLinkerTool" 
     442                                LinkIncremental="1" 
     443                                GenerateDebugInformation="true" 
     444                                SubSystem="2" 
     445                                OptimizeReferences="2" 
     446                                EnableCOMDATFolding="2" 
     447                                TargetMachine="17" 
    217448                        /> 
    218449                        <Tool 
  • trunk/res/Halite.rc

    r398 r403  
    22#include "resource.h" 
    33#include "afxres.h" 
     4 
     5#if 0 
     6 
     7#define ID_ADD_TORRENT_BEGIN            11000 
     8#define ID_CONFIG_BEGIN                         12000 
     9#define ID_NEWTORRENT_BEGIN                     14000 
     10#define ID_PROGRESS_BEGIN                       15000 
     11#define ID_TRACKER_BEGIN                        16000 
     12#define ID_TLVM_BEGIN                           17000 
     13 
     14#define ID_HAL_MAIN_LISTVIEW_BEGIN      30000 
     15 
     16#define HAL_EVENT_BEGIN                         40000 
     17#define HAL_TORRENT_EXT_BEGIN           41000 
     18#define HAL_TORRENT_INT_BEGIN           42000 
     19 
     20#endif 
    421 
    522#include "../src/advtabs/Tracker.hpp" 
     
    825#include "../src/HaliteListView.hpp" 
    926#include "../src/HaliteDialog.hpp" 
     27#include "../src/AddTorrentDialog.hpp" 
    1028#include "../src/NewTorrentDialog.hpp" 
    1129#include "../src/ConfigOptions.hpp" 
     
    7694FONT 8, "MS Shell Dlg", 400, 0, 0x1 
    7795BEGIN 
    78     RTEXT           "Open a (single) port between : ",IDC_BITT_OPENPORT,12,31,120,12,SS_WORDELLIPSIS | SS_CENTERIMAGE 
     96    RTEXT           "Open a (single) port between : ",IDC_BITT_OPENPORT,12,31,120,12,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    7997    EDITTEXT        IDC_BC_PORTFROM,135,29,65,12,ES_AUTOHSCROLL 
    8098    EDITTEXT        IDC_BC_PORTTO,250,29,65,12,ES_AUTOHSCROLL 
     
    207225    GROUPBOX        "Global Limits",IDC_CONFIGT_GLOBALG,5,6,315,55 
    208226    EDITTEXT        IDC_BC_MAXCONN,118,29,42,12,ES_AUTOHSCROLL 
    209     RTEXT           "Total max connections :",IDC_CONFIGT_TOTALMAX,12,31,100,11 
    210     RTEXT           "Total upload slots :",IDC_CONFIGT_TOTALUP,12,44,100,10 
     227    RTEXT           "Total max connections :",IDC_CONFIGT_TOTALMAX,12,31,100,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     228    RTEXT           "Total upload slots :",IDC_CONFIGT_TOTALUP,12,44,100,10,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    211229    EDITTEXT        IDC_BC_MAXUP,118,42,42,12,ES_AUTOHSCROLL 
    212230    EDITTEXT        IDC_BC_DOWNRATE,271,29,42,12,ES_AUTOHSCROLL 
    213     RTEXT           "Download Rate (KB/s) :",IDC_CONFIGT_DOWNRATE,165,31,100,11 
    214     RTEXT           "Upload Rate (KB/s) :",IDC_CONFIGT_UPRATE,165,44,100,10 
     231    RTEXT           "Download Rate (KB/s) :",IDC_CONFIGT_DOWNRATE,165,31,100,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     232    RTEXT           "Upload Rate (KB/s) :",IDC_CONFIGT_UPRATE,165,44,100,10,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    215233    EDITTEXT        IDC_BC_UPRATE,271,42,42,12,ES_AUTOHSCROLL 
    216234    EDITTEXT        IDC_BC_TMAXCONN,118,88,42,12,ES_AUTOHSCROLL 
    217     RTEXT           "Total max connections :",IDC_CONFIGT_TORMAX,12,91,100,12 
    218     RTEXT           "Total upload slots :",IDC_CONFIGT_TORUP,12,104,100,12 
     235    RTEXT           "Total max connections :",IDC_CONFIGT_TORMAX,12,91,100,12,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     236    RTEXT           "Total upload slots :",IDC_CONFIGT_TORUP,12,104,100,12,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    219237    EDITTEXT        IDC_BC_TMAXUP,118,101,42,12,ES_AUTOHSCROLL 
    220238    EDITTEXT        IDC_BC_TDOWNRATE,271,88,42,12,ES_AUTOHSCROLL 
    221     RTEXT           "Download Rate (KB/s) :",IDC_CONFIGT_TDOWNRATE,165,91,100,12 
    222     RTEXT           "Upload Rate (KB/s) :",IDC_CONFIGT_TORUPRATE,165,104,100,12 
     239    RTEXT           "Download Rate (KB/s) :",IDC_CONFIGT_TDOWNRATE,165,91,100,12,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     240    RTEXT           "Upload Rate (KB/s) :",IDC_CONFIGT_TORUPRATE,165,104,100,12,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    223241    EDITTEXT        IDC_BC_TUPRATE,271,101,42,12,ES_AUTOHSCROLL 
    224242    GROUPBOX        "Torrent Defaults",IDC_CONFIGT_TORRENTG,5,66,315,82 
    225     LTEXT           "These options set global maximums which will always be honoured.",IDC_CONFIGT_GLOBAL_TEXT,12,16,300,11 
    226     LTEXT           "These options specify the default limits applied to new torrents.",IDC_CONFIGT_TOR_TEXT,12,76,301,11 
    227     RTEXT           "Default save folder :",IDC_CONFIGT_DEF_FOLDER,12,120,100,11 
     243    LTEXT           "These options set global maximums which will always be honoured.",IDC_CONFIGT_GLOBAL_TEXT,12,16,300,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     244    LTEXT           "These options specify the default limits applied to new torrents.",IDC_CONFIGT_TOR_TEXT,12,76,301,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     245    RTEXT           "Default save folder :",IDC_CONFIGT_DEF_FOLDER,12,120,100,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    228246    EDITTEXT        IDC_BC_SAVEFOLDER,118,119,170,12,ES_AUTOHSCROLL 
    229247    PUSHBUTTON      "...",IDC_BC_SAVEBROWSE,293,118,18,13 
    230     AUTOCHECKBOX    "Prompt for alternate save folder.",IDC_BC_PROMPTSAVE,118,133,195,11 
     248    AUTOCHECKBOX    "",IDC_BC_MOVETO_CHECK,118,133,10,11 
     249    RTEXT           "Move finished torrents to :",IDC_BC_MOVETO_TEXT,12,120,100,11,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     250    EDITTEXT        IDC_BC_MOVETO_FOLDER,118,119,170,12,ES_AUTOHSCROLL 
     251    PUSHBUTTON      "...",IDC_BC_MOVETO_BROWSE,293,118,18,13 
     252    AUTOCHECKBOX    "Review settings when adding torrent.",IDC_BC_PROMPTSAVE,118,133,195,11 
    231253END 
    232254 
     
    341363END 
    342364 
    343 IDD_ADD_TORRENT DIALOGEX 0, 0, 225, 86 
    344 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION 
     365IDD_ADD_TORRENT DIALOGEX 0, 0, 230, 124 
     366STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_THICKFRAME 
    345367EXSTYLE WS_EX_STATICEDGE 
    346368CAPTION "Add Torrent" 
    347369FONT 8, "MS Shell Dlg", 400, 0, 0x1 
    348370BEGIN 
    349     PUSHBUTTON      "Ok",IDOK,85,65,62,14 
    350     PUSHBUTTON      "Cancel",IDCANCEL,155,65,62,14 
    351  
    352     EDITTEXT        IDC_BC_SAVEFOLDER,5,5,195,12,ES_AUTOHSCROLL 
    353     PUSHBUTTON      "...",IDC_BC_SAVEBROWSE,205,5,15,12,SS_CENTERIMAGE 
     371    PUSHBUTTON      "Ok",IDOK,85,65,62,13 
     372    PUSHBUTTON      "Cancel",IDCANCEL,155,65,62,13 
     373 
     374        LTEXT           "Torrent save folder:",IDC_ADDT_DEFFLD_TEXT,6,51,215,8,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     375    EDITTEXT        IDC_BC_SAVEFOLDER,5,5,195,13,ES_AUTOHSCROLL 
     376    PUSHBUTTON      "...",IDC_BC_SAVEBROWSE,205,5,18,13 
     377        CONTROL         "Move the completed torrent to:",IDC_ADDT_MOVETO_CHECK,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,5,38,220,8 
     378        EDITTEXT        IDC_ADDT_MOVETO_FOLDER,5,5,195,13,ES_AUTOHSCROLL 
     379    PUSHBUTTON      "...",IDC_ADDT_MOVETO_BROWSE,205,5,18,13 
    354380 
    355381    CONTROL         "Use Compact Allocation.",IDC_CHECK_COMPACT,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,5,38,220,8 
    356     CONTROL         "Stopped initially (Allows changing advanced setting).",IDC_CHECK_PAUSED,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,5,25,220,8 
    357     LTEXT           "Note. Compact Allocation is incompatible with File Selection",IDC_STATIC,6,51,215,8,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     382    CONTROL         "Stopped initially (Allows changing advanced setting)",IDC_CHECK_PAUSED,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,5,25,220,8 
     383    LTEXT           "Note. Compact Allocation is incompatible with File Selection",IDC_ADDT_NOTE_TEXT,6,51,215,8,SS_WORDELLIPSIS|SS_CENTERIMAGE 
    358384END 
    359385 
     
    448474        MENUITEM "Pause",ID__LVM_PAUSE 
    449475        MENUITEM "Stop",ID_LVM_STOP 
     476        MENUITEM "Recheck Files",ID_LVM_RECHECK 
    450477        MENUITEM SEPARATOR 
    451478    //    MENUITEM "Reannounce",ID_TLVM_PRIMARY 
     
    669696        HAL_EVENT_DEV                             "Dev Msg: %1%." 
    670697END 
     698 
     699#if 0 
     700 
     701IDD_DIALOG1 DIALOGEX 0, 0, 186, 95 
     702STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU 
     703CAPTION "Dialog" 
     704FONT 8, "MS Shell Dlg", 400, 0, 0x1 
     705BEGIN 
     706    DEFPUSHBUTTON   "OK",IDOK,129,7,50,14 
     707    PUSHBUTTON      "Cancel",IDCANCEL,129,24,50,14 
     708END 
     709 
     710IDD_DIALOG2 DIALOGEX 0, 0, 186, 94 
     711STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME 
     712CAPTION "Dialog" 
     713FONT 8, "MS Shell Dlg", 400, 0, 0x1 
     714BEGIN 
     715    DEFPUSHBUTTON   "OK",IDOK,129,7,50,14 
     716    PUSHBUTTON      "Cancel",IDCANCEL,129,24,50,14 
     717END 
     718 
     719IDD_DIALOG3 DIALOGEX 0, 0, 186, 95 
     720STYLE DS_SETFONT | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME 
     721EXSTYLE WS_EX_TOOLWINDOW 
     722CAPTION "Dialog" 
     723FONT 8, "MS Shell Dlg", 400, 0, 0x1 
     724BEGIN 
     725    DEFPUSHBUTTON   "OK",IDOK,129,7,50,14 
     726    PUSHBUTTON      "Cancel",IDCANCEL,129,24,50,14 
     727END 
     728 
     729IDD_DIALOG4 DIALOGEX 0, 0, 186, 94 
     730STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_SYSMENU 
     731FONT 8, "MS Shell Dlg", 400, 0, 0x1 
     732BEGIN 
     733    DEFPUSHBUTTON   "OK",IDOK,129,7,50,14 
     734    PUSHBUTTON      "Cancel",IDCANCEL,129,24,50,14 
     735END 
     736 
     737#endif 
  • trunk/sln/Halite/Halite.vcproj

    r398 r403  
    834834                        </File> 
    835835                        <File 
     836                                RelativePath="..\..\src\halSignaler.hpp" 
     837                                > 
     838                        </File> 
     839                        <File 
    836840                                RelativePath="..\..\src\halTorrent.hpp" 
    837841                                > 
  • trunk/src/AddTorrentDialog.hpp

    r389 r403  
    77#pragma once 
    88 
     9#define ID_ADD_TORRENT_BEGIN            11000 
     10#define IDC_ADDT_MOVETO_FOLDER          ID_ADD_TORRENT_BEGIN + 1 
     11#define IDC_ADDT_MOVETO_BROWSE          ID_ADD_TORRENT_BEGIN + 2 
     12#define IDC_ADDT_MOVETO_CHECK           ID_ADD_TORRENT_BEGIN + 3 
     13#define IDC_ADDT_DEFFLD_TEXT            ID_ADD_TORRENT_BEGIN + 6 
     14#define IDC_ADDT_NOTE_TEXT                      ID_ADD_TORRENT_BEGIN + 8 
     15 
     16#ifndef RC_INVOKED 
     17 
    918#include <boost/function.hpp> 
    1019#include "halTorrent.hpp" 
     
    1221class AddTorrentDialog : 
    1322        public CDialogImpl<AddTorrentDialog>, 
     23        public CAutoSizeWindow<AddTorrentDialog, true>, 
    1424    public CWinDataExchangeEx<AddTorrentDialog> 
    1525{ 
     
    1727        typedef AddTorrentDialog thisClass; 
    1828        typedef CDialogImpl<thisClass> baseClass; 
     29        typedef CAutoSizeWindow<thisClass, true> autosizeClass; 
    1930 
    2031public: 
    21         AddTorrentDialog(wstring& d, bool& p, bool& c) : 
     32        AddTorrentDialog(wstring& d, wstring& m, bool& u, bool& p, bool& c) : 
    2233                saveDirectory_(d), 
     34                moveToDirectory_(m), 
     35                useMove_(u), 
    2336                startPaused_(p), 
    2437                compactStorage_(c) 
     
    2942    BEGIN_MSG_MAP_EX(thisClass) 
    3043        MSG_WM_INITDIALOG(OnInitDialog) 
     44 
    3145                COMMAND_ID_HANDLER_EX(IDCANCEL, OnCancel) 
    3246                COMMAND_ID_HANDLER_EX(IDOK, OnOk) 
     47                COMMAND_ID_HANDLER_EX(IDC_ADDT_MOVETO_CHECK, OnMoveTo) 
    3348                COMMAND_ID_HANDLER_EX(IDC_BC_SAVEBROWSE, OnBrowse) 
     49                COMMAND_ID_HANDLER_EX(IDC_ADDT_MOVETO_BROWSE, OnMoveBrowse) 
     50                 
     51        CHAIN_MSG_MAP(autosizeClass) 
    3452    END_MSG_MAP() 
    3553         
     
    3755        DDX_CHECK(IDC_CHECK_COMPACT, compactStorage_) 
    3856        DDX_CHECK(IDC_CHECK_PAUSED, startPaused_) 
     57        DDX_CHECK(IDC_ADDT_MOVETO_CHECK, useMove_) 
    3958                DDX_EX_STDWSTRING(IDC_BC_SAVEFOLDER, saveDirectory_) 
     59                DDX_EX_STDWSTRING(IDC_ADDT_MOVETO_FOLDER, moveToDirectory_) 
    4060    END_DDX_MAP()        
    41          
     61 
     62#define ADD_FOLDERS_LAYOUT \ 
     63        WMB_HEAD(WMB_COLNOMAX(_exp), WMB_COL(_auto)), \ 
     64                WMB_ROW(_auto,  IDC_ADDT_DEFFLD_TEXT, _r), \ 
     65                WMB_ROW(_auto,  IDC_BC_SAVEFOLDER, IDC_BC_SAVEBROWSE), \ 
     66                WMB_ROW(_auto,  IDC_ADDT_MOVETO_CHECK, _r), \ 
     67                WMB_ROW(_auto,  IDC_ADDT_MOVETO_FOLDER, IDC_ADDT_MOVETO_BROWSE), \ 
     68        WMB_END() 
     69 
     70#define ADD_BUTTONS_LAYOUT \ 
     71        WMB_HEAD(WMB_COLNOMAX(_exp), WMB_COL(_auto), WMB_COL(_auto)), \ 
     72                WMB_ROW(_auto,  0, IDOK, IDCANCEL), \ 
     73        WMB_END() 
     74 
     75        BEGIN_WINDOW_MAP(thisClass, 6, 6, 3, 3) 
     76                WMB_HEAD(WMB_COLNOMAX(_exp)), 
     77                        WMB_ROW(_auto,  ADD_FOLDERS_LAYOUT),  
     78                        WMB_ROW(_gap,   _d), 
     79                        WMB_ROW(_auto,  IDC_CHECK_COMPACT),  
     80                        WMB_ROW(_auto,  IDC_CHECK_PAUSED),  
     81                        WMB_ROW(_auto,  IDC_ADDT_NOTE_TEXT),  
     82                        WMB_ROW(_gap,   _d), 
     83                        WMB_ROW(_auto,  ADD_BUTTONS_LAYOUT),  
     84                WMB_END() 
     85        END_WINDOW_MAP()         
     86 
    4287        LRESULT OnInitDialog(HWND hwndFocus, LPARAM lParam) 
    4388        { 
    44                 CenterWindow(); 
     89                CenterWindow();          
     90 
     91                CtrlsInitialize(); 
     92                CtrlsArrange(); 
     93                 
     94                OnMoveTo(0, 0, GetDlgItem(IDC_ADDT_MOVETO_CHECK)); 
    4595                 
    4696                BOOL retval =  DoDataExchange(false); 
     
    64114        } 
    65115         
     116        void OnMoveTo(UINT, int, HWND hWnd) 
     117        { 
     118                LRESULT result = ::SendMessage(hWnd, BM_GETCHECK, 0, 0); 
     119 
     120                if (result == BST_CHECKED) 
     121                { 
     122                        ::EnableWindow(GetDlgItem(IDC_ADDT_MOVETO_FOLDER), true); 
     123                        ::EnableWindow(GetDlgItem(IDC_ADDT_MOVETO_BROWSE), true); 
     124                } 
     125                else 
     126                { 
     127                        ::EnableWindow(GetDlgItem(IDC_ADDT_MOVETO_FOLDER), false); 
     128                        ::EnableWindow(GetDlgItem(IDC_ADDT_MOVETO_BROWSE), false); 
     129                } 
     130        } 
     131         
    66132        void OnBrowse(UINT, int, HWND hWnd) 
    67133        { 
     
    80146        } 
    81147         
     148        void OnMoveBrowse(UINT, int, HWND hWnd) 
     149        { 
     150                std::wstring save_prompt = hal::app().res_wstr(IDS_SAVEPROMPT);          
     151                CFolderDialog fldDlg(NULL, save_prompt.c_str(), 
     152                        BIF_RETURNONLYFSDIRS|BIF_NEWDIALOGSTYLE); 
     153                 
     154                wstring defaultMoveFolder = moveToDirectory_; 
     155                fldDlg.SetInitialFolder(defaultMoveFolder.c_str()); 
     156          
     157                if (IDOK == fldDlg.DoModal()) 
     158                { 
     159                        moveToDirectory_ = wstring(fldDlg.m_szFolderPath); 
     160                        DoDataExchange(false); 
     161                } 
     162        } 
     163         
    82164private: 
    83165        wstring& saveDirectory_; 
     166        wstring& moveToDirectory_; 
     167        bool& useMove_; 
    84168        bool& startPaused_; 
    85169        bool& compactStorage_; 
    86170}; 
     171 
     172#endif // RC_INVOKED 
  • trunk/src/ConfigOptions.hpp

    r390 r403  
    4848#define IDC_BITT_GPORTFORWARD_TEST      ID_CONFIG_BEGIN + 39 
    4949#define IDC_BITT_GPORTFORWARD_LIST      ID_CONFIG_BEGIN + 40 
     50#define IDC_BC_MOVETO_FOLDER            ID_CONFIG_BEGIN + 41 
     51#define IDC_BC_MOVETO_BROWSE            ID_CONFIG_BEGIN + 42 
     52#define IDC_BC_MOVETO_TEXT                      ID_CONFIG_BEGIN + 43 
     53#define IDC_BC_MOVETO_CHECK                     ID_CONFIG_BEGIN + 44 
    5054 
    5155#ifndef RC_INVOKED 
     
    574578    BEGIN_MSG_MAP_EX(TorrentsOptions) 
    575579        MSG_WM_INITDIALOG(OnInitDialog) 
     580 
    576581                COMMAND_ID_HANDLER_EX(IDC_BC_SAVEBROWSE, onFolderBrowse) 
     582                COMMAND_ID_HANDLER_EX(IDC_BC_MOVETO_BROWSE, onMoveToFolderBrowse) 
     583                COMMAND_ID_HANDLER_EX(IDC_BC_MOVETO_CHECK, onMoveToCheck) 
     584 
    577585        CHAIN_MSG_MAP(CPropertyPageImpl<TorrentsOptions>) 
    578586        CHAIN_MSG_MAP(autosizeClass) 
     
    594602        WMB_END() 
    595603 
     604#define CONFIGT_TORRENT_FOLDER_MOVETO_LAYOUT \ 
     605        WMB_HEAD(WMB_COL(_auto), WMB_COLNOMAX(_exp|50)), \ 
     606                WMB_ROW(_auto,  IDC_BC_MOVETO_CHECK, IDC_BC_MOVETO_TEXT), \ 
     607        WMB_END() 
     608 
    596609#define CONFIGT_TORRENT_FOLDER_LAYOUT \ 
    597         WMB_HEAD(WMB_COLNOMAX(_exp|50), WMB_COLNOMAX(_exp), WMB_COLNOMAX(_auto)), \ 
     610        WMB_HEAD( WMB_COLNOMAX(_exp|50), WMB_COLNOMAX(_exp), WMB_COLNOMAX(_auto)), \ 
    598611                WMB_ROW(_auto,  IDC_CONFIGT_DEF_FOLDER, IDC_BC_SAVEFOLDER, IDC_BC_SAVEBROWSE), \ 
     612                WMB_ROW(_auto,  CONFIGT_TORRENT_FOLDER_MOVETO_LAYOUT, IDC_BC_MOVETO_FOLDER, IDC_BC_MOVETO_BROWSE), \ 
    599613                WMB_ROW(_auto, 0, IDC_BC_PROMPTSAVE, _r), \ 
    600614        WMB_END() 
     
    613627 
    614628    BEGIN_DDX_MAP(TorrentsOptions) 
    615 /*        DDX_EX_INT_POSITIVE_LIMIT(IDC_BC_MAXCONN, hal::config().maxConnections, 2, true) 
     629/*      DDX_EX_INT_POSITIVE_LIMIT(IDC_BC_MAXCONN, hal::config().maxConnections, 2, true) 
    616630        DDX_EX_INT_POSITIVE_LIMIT(IDC_BC_MAXUP, hal::config().maxUploads, 2, true) 
    617631        DDX_EX_FLOAT_POSITIVE(IDC_BC_DOWNRATE, hal::config().downRate) 
     
    624638*/ 
    625639                DDX_EX_STDWSTRING(IDC_BC_SAVEFOLDER, hal::config().defaultSaveFolder); 
    626         DDX_CHECK(IDC_BC_PROMPTSAVE, hal::config().savePrompt) 
     640                DDX_EX_STDWSTRING(IDC_BC_MOVETO_FOLDER, hal::config().defaultMoveToFolder); 
     641        DDX_CHECK(IDC_BC_MOVETO_CHECK, hal::config().useMoveTo); 
     642        DDX_CHECK(IDC_BC_PROMPTSAVE, hal::config().savePrompt); 
    627643    END_DDX_MAP()        
    628644 
     
    650666         
    651667                BOOL retval =  DoDataExchange(false); 
     668                onMoveToCheck(0, 0, GetDlgItem(IDC_BC_MOVETO_CHECK)); 
    652669 
    653670                autosizeClass::CtrlsArrange(); 
     
    656673 
    657674        void onFolderBrowse(UINT, int, HWND hWnd) 
    658         { 
    659                 hal::bittorrent().clearIpFilter(); 
    660                  
     675        {                
    661676                wstring folderSelect = hal::app().res_wstr(HAL_FOLDER_SELECT); 
    662677 
     
    666681                if (IDOK == fldDlg.DoModal()) 
    667682                        SetDlgItemText(IDC_BC_SAVEFOLDER, fldDlg.m_szFolderPath); 
     683        } 
     684 
     685        void onMoveToFolderBrowse(UINT, int, HWND hWnd) 
     686        {                
     687                wstring folderSelect = hal::app().res_wstr(HAL_FOLDER_SELECT); 
     688 
     689                WTL::CFolderDialog fldDlg (NULL, folderSelect.c_str(), 
     690                        BIF_RETURNONLYFSDIRS|BIF_NEWDIALOGSTYLE); 
     691 
     692                if (IDOK == fldDlg.DoModal()) 
     693                        SetDlgItemText(IDC_BC_MOVETO_FOLDER, fldDlg.m_szFolderPath); 
     694        } 
     695 
     696        void onMoveToCheck(UINT, int, HWND hWnd) 
     697        { 
     698                LRESULT result = ::SendMessage(hWnd, BM_GETCHECK, 0, 0); 
     699 
     700                if (result == BST_CHECKED) 
     701                { 
     702                        ::EnableWindow(GetDlgItem(IDC_BC_MOVETO_FOLDER), true); 
     703                        ::EnableWindow(GetDlgItem(IDC_BC_MOVETO_BROWSE), true); 
     704                } 
     705                else 
     706                { 
     707                        ::EnableWindow(GetDlgItem(IDC_BC_MOVETO_FOLDER), false); 
     708                        ::EnableWindow(GetDlgItem(IDC_BC_MOVETO_BROWSE), false); 
     709                }                
    668710        } 
    669711 
  • trunk/src/HaliteDialog.cpp

    r373 r403  
    3737         
    3838        DoDataExchange(false); 
     39 
    3940        return 0; 
    4041} 
  • trunk/src/HaliteListView.cpp

    r392 r403  
    157157} 
    158158 
     159LRESULT HaliteListViewCtrl::OnRecheck(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) 
     160{ 
     161        std::for_each(manager().allSelected().begin(), manager().allSelected().end(), 
     162                bind((void (hal::BitTorrent::*)(const std::wstring&))&hal::BitTorrent::recheckTorrent,  
     163                        &hal::bittorrent(), _1));        
     164 
     165        return 0; 
     166} 
     167 
    159168LRESULT HaliteListViewCtrl::OnRemoveWipeFiles(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) 
    160169{ 
  • trunk/src/HaliteListView.hpp

    r392 r403  
    77#pragma once 
    88 
    9 #define HAL_MAIN_LISTVIEW_BEGIN                         42000 
    10 #define ID_LVM_DOWNLOAD_FOLDER                  HAL_MAIN_LISTVIEW_BEGIN + 1 
     9#define ID_HAL_MAIN_LISTVIEW_BEGIN                      30000 
     10#define ID_LVM_DOWNLOAD_FOLDER                  ID_HAL_MAIN_LISTVIEW_BEGIN + 1 
     11#define ID_LVM_RECHECK                                          ID_HAL_MAIN_LISTVIEW_BEGIN + 2 
    1112 
    1213#ifndef RC_INVOKED 
     
    341342                COMMAND_ID_HANDLER(ID_LVM_STOP, OnStop) 
    342343                COMMAND_ID_HANDLER(ID_LVM_RESUME, OnResume) 
     344                COMMAND_ID_HANDLER(ID_LVM_RECHECK, OnRecheck) 
    343345                COMMAND_ID_HANDLER(ID_LVM_REMOVE_T, OnRemove) 
    344346                COMMAND_ID_HANDLER(ID_LVM_REMOVE_TD, OnRemoveWipeFiles) 
     
    357359        LRESULT OnStop(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
    358360        LRESULT OnResume(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
     361        LRESULT OnRecheck(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
    359362        LRESULT OnRemoveFocused(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
    360363        LRESULT OnRemove(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
  • trunk/src/HaliteWindow.cpp

    r398 r403  
    148148        UISetCheck(ID_VIEW_TOOLBAR, 1); 
    149149        UISetCheck(ID_VIEW_STATUS_BAR, 1); 
    150         UISetCheck(IDR_TRAY_MENU, 1); 
     150        UISetCheck(IDR_TRAY_MENU, 1);    
     151         
     152        TBBUTTONINFO tbinfo = { sizeof(TBBUTTONINFO) }; 
     153        tbinfo.dwMask = TBIF_STATE; 
     154        tbinfo.fsState = TBSTATE_INDETERMINATE; 
     155        ::SendMessage(hWndToolBar, TB_SETBUTTONINFO, ID_FILE_NEW, (LPARAM)&tbinfo); 
    151156         
    152157        // Register UIEvents and the timer for the monitoring interval 
     
    183188                DestroyWindow(); 
    184189        } 
    185          
     190 
    186191        return 0; 
    187192} 
     
    345350         
    346351        wstring saveDirectory = wpath(hal::config().defaultSaveFolder).native_file_string(); 
     352        wstring moveToDirectory = wpath(hal::config().defaultMoveToFolder).native_file_string(); 
     353        bool useMoveTo = hal::config().useMoveTo; 
    347354        bool startPaused = false; 
    348355        bool compactStorage = false; 
     
    353360        if (hal::config().savePrompt) 
    354361        { 
    355                 AddTorrentDialog addTorrent(saveDirectory, startPaused, compactStorage);         
     362                AddTorrentDialog addTorrent(saveDirectory, moveToDirectory, useMoveTo, startPaused, compactStorage);     
    356363                 
    357364                if (IDOK != addTorrent.DoModal()) 
     
    360367         
    361368        wpath file(lpszPath, boost::filesystem::native);         
    362         hal::bittorrent().addTorrent(file, wpath(saveDirectory), startPaused, compactStorage); 
     369        hal::bittorrent().addTorrent(file, wpath(saveDirectory), startPaused, compactStorage,  
     370                wpath(moveToDirectory), useMoveTo); 
    363371 
    364372        ui().update(); 
  • trunk/src/NewTorrentDialog.hpp

    r398 r403  
    77#pragma once 
    88 
    9 #define IDD_NEWTORRENT_BEGIN                    1950 
    10 #define IDC_NEWTORRENT_SELECT_TEXT              IDD_NEWTORRENT_BEGIN+1 
    11 #define IDC_NEWTORRENT_TRACKERS_TEXT    IDD_NEWTORRENT_BEGIN+2 
    12 #define IDC_NEWTORRENT_CREATOR_TEXT             IDD_NEWTORRENT_BEGIN+3 
    13 #define IDC_NEWTORRENT_CREATOR                  IDD_NEWTORRENT_BEGIN+4 
    14 #define IDC_NEWTORRENT_COMMENT_TEXT             IDD_NEWTORRENT_BEGIN+5 
    15 #define IDC_NEWTORRENT_COMMENT                  IDD_NEWTORRENT_BEGIN+6 
    16 #define IDC_NEWTORRENT_PRIVATE                  IDD_NEWTORRENT_BEGIN+7 
    17 #define IDC_NEWT_FILE_BROWSE                    IDD_NEWTORRENT_BEGIN+8 
    18 #define IDC_NEWT_DIR_BROWSE                             IDD_NEWTORRENT_BEGIN+9 
    19 #define IDC_NEWT_LISTFILES                              IDD_NEWTORRENT_BEGIN+10 
    20 #define HAL_FILES_LISTVIEW_ADV                  IDD_NEWTORRENT_BEGIN+11 
    21 #define HAL_NEW_PANE_DLG                                IDD_NEWTORRENT_BEGIN+12 
    22 //#define IDC_PROG_CANCEL                 IDD_NEWTORRENT_BEGIN + 2 
    23 //#define IDC_PROG_PROGRESS               IDD_NEWTORRENT_BEGIN + 3 
     9#define ID_NEWTORRENT_BEGIN                             14000 
     10#define IDC_NEWTORRENT_SELECT_TEXT              ID_NEWTORRENT_BEGIN+1 
     11#define IDC_NEWTORRENT_TRACKERS_TEXT    ID_NEWTORRENT_BEGIN+2 
     12#define IDC_NEWTORRENT_CREATOR_TEXT             ID_NEWTORRENT_BEGIN+3 
     13#define IDC_NEWTORRENT_CREATOR                  ID_NEWTORRENT_BEGIN+4 
     14#define IDC_NEWTORRENT_COMMENT_TEXT             ID_NEWTORRENT_BEGIN+5 
     15#define IDC_NEWTORRENT_COMMENT                  ID_NEWTORRENT_BEGIN+6 
     16#define IDC_NEWTORRENT_PRIVATE                  ID_NEWTORRENT_BEGIN+7 
     17#define IDC_NEWT_FILE_BROWSE                    ID_NEWTORRENT_BEGIN+8 
     18#define IDC_NEWT_DIR_BROWSE                             ID_NEWTORRENT_BEGIN+9 
     19#define IDC_NEWT_LISTFILES                              ID_NEWTORRENT_BEGIN+10 
     20#define HAL_FILES_LISTVIEW_ADV                  ID_NEWTORRENT_BEGIN+11 
     21#define HAL_NEW_PANE_DLG                                ID_NEWTORRENT_BEGIN+12 
     22//#define IDC_PROG_CANCEL                 ID_NEWTORRENT_BEGIN + 2 
     23//#define IDC_PROG_PROGRESS               ID_NEWTORRENT_BEGIN + 3 
    2424 
    2525#ifndef RC_INVOKED 
  • trunk/src/ProgressDialog.hpp

    r392 r403  
    77#pragma once 
    88 
    9 #define IDD_PROGRESS_BEGIN                              1900 
    109#define IDD_PROGRESS                    1901 
    11 #define IDC_PROG_CANCEL                 IDD_PROGRESS_BEGIN + 2 
    12 #define IDC_PROG_PROGRESS               IDD_PROGRESS_BEGIN + 3 
     10 
     11#define ID_PROGRESS_BEGIN                               15000 
     12#define IDC_PROG_CANCEL                 ID_PROGRESS_BEGIN + 2 
     13#define IDC_PROG_PROGRESS               ID_PROGRESS_BEGIN + 3 
    1314 
    1415#ifndef RC_INVOKED 
  • trunk/src/advtabs/Tracker.hpp

    r397 r403  
    55//          http://www.boost.org/LICENSE_1_0.txt) 
    66 
    7 #define ID_TRACKER_BEGIN         41000 
     7#define ID_TRACKER_BEGIN        16000 
    88#define IDC_TRACKER_LABEL       ID_TRACKER_BEGIN + 1 
    99#define IDC_LOGIN_APPLY         ID_TRACKER_BEGIN + 2 
  • trunk/src/halConfig.hpp

    r381 r403  
    5151                proxyPort(0), 
    5252                defaultSaveFolder((hal::app().exe_path().branch_path()/L"incoming").string()), 
     53                defaultMoveToFolder((hal::app().exe_path().branch_path()/L"completed").string()), 
     54                useMoveTo(false), 
    5355                savePrompt(true), 
    5456                enablePe(false), 
     
    9799                 
    98100                ar & BOOST_SERIALIZATION_NVP(defaultSaveFolder); 
     101                if (version > 3) { 
     102                        ar & BOOST_SERIALIZATION_NVP(defaultMoveToFolder); 
     103                        ar & BOOST_SERIALIZATION_NVP(useMoveTo); 
     104                } 
    99105                ar & BOOST_SERIALIZATION_NVP(savePrompt); 
    100106                 
     
    159165         
    160166        std::wstring defaultSaveFolder; 
     167        std::wstring defaultMoveToFolder; 
     168        bool useMoveTo; 
    161169        bool savePrompt; 
    162170 
     
    179187} // namespace hal 
    180188 
    181 BOOST_CLASS_VERSION(hal::Config, 3) 
     189BOOST_CLASS_VERSION(hal::Config, 4) 
  • trunk/src/halTorrent.cpp

    r392 r403  
    2727#include "halTorrent.hpp" 
    2828#include "halEvent.hpp" 
     29#include "halSignaler.hpp" 
    2930 
    3031#define foreach BOOST_FOREACH 
     
    239240} 
    240241 
    241 struct once 
    242 { 
    243         template<typename S> 
    244         once(S& s, boost::function<void ()> f) : 
    245                 f_(f) 
    246         { 
    247                 c_ = s.connect(*this); 
    248                 HAL_DEV_MSG(L"Once ctor"); 
    249         } 
    250  
    251         void operator()()  
    252         { 
    253                 f_(); 
    254                  
    255                 HAL_DEV_MSG(L"Once disconnecting"); 
    256  
    257                 c_.disconnect(); 
    258         } 
    259  
    260         boost::function<void ()> f_; 
    261         boost::signals::connection c_; 
    262 }; 
    263  
    264 template<typename S=boost::signal<void()> > 
    265 class signaler 
    266 { 
    267 public: 
    268  
    269         void connectRepeat(const typename S::slot_type& slot) 
    270         { 
    271                 repeat_.connect(slot); 
    272         } 
    273  
    274         void connectOnce(const typename S::slot_type& slot) 
    275         { 
    276                 once_.connect(slot); 
    277         } 
    278  
    279         void operator()()  
    280         { 
    281                 repeat_(); 
    282  
    283                  
    284                 HAL_DEV_MSG(L"Once disconnecting"); 
    285                 once_(); 
    286                 once_.disconnect_all_slots(); 
    287         }        
    288  
    289 private: 
    290         S repeat_; 
    291         S once_; 
    292 }; 
    293  
    294242class BitTorrent_impl 
    295243{ 
     
    333281        struct  
    334282        { 
    335                 signaler<> successfulListen; 
     283                signaler<> successful_listen; 
     284                signaler<> torrent_finished; 
    336285        }  
    337286        signals; 
     
    368317                                        Event::info, a.timestamp()))); 
    369318 
    370                         get(a.handle)->completedPauseEvent(); 
     319                        get(a.handle)->signals.torrent_paused(); 
    371320                } 
    372321                 
     
    522471                        )       );       
    523472 
    524                         bit_impl_.signals.successfulListen(); 
     473                        bit_impl_.signals.successful_listen(); 
    525474                } 
    526475                 
     
    793742                else 
    794743                { 
    795                         pimpl->signals.successfulListen(); 
     744                        pimpl->signals.successful_listen(); 
    796745                         
    797746                        return true; 
     
    877826                        pimpl->theSession.stop_natpmp(); 
    878827 
    879                         pimpl->signals.successfulListen.connectOnce(bind(&lbt::session::start_upnp, &pimpl->theSession)); 
     828                        pimpl->signals.successful_listen.connect_once(bind(&lbt::session::start_upnp, &pimpl->theSession)); 
    880829                } 
    881830                else 
     
    885834                        pimpl->theSession.stop_natpmp(); 
    886835 
    887                         pimpl->signals.successfulListen.connectOnce(bind(&lbt::session::start_natpmp, &pimpl->theSession)); 
     836                        pimpl->signals.successful_listen.connect_once(bind(&lbt::session::start_natpmp, &pimpl->theSession)); 
    888837                } 
    889838        } 
     
    13131262} 
    13141263 
    1315 void BitTorrent::addTorrent(wpath_t file, wpath_t saveDirectory, bool startStopped, bool compactStorage)  
     1264void BitTorrent::addTorrent(wpath_t file, wpath_t saveDirectory, bool startStopped, bool compactStorage,  
     1265                boost::filesystem::wpath moveToDirectory, bool useMoveTo)  
    13161266{ 
    13171267        try  
    13181268        {        
    13191269         
    1320         TorrentInternal_ptr TIp(new TorrentInternal(file, saveDirectory, pimpl->workingDirectory, compactStorage)); 
     1270        TorrentInternal_ptr TIp; 
     1271         
     1272        if (useMoveTo) 
     1273                TIp.reset(new TorrentInternal(file, saveDirectory, compactStorage, moveToDirectory));            
     1274        else 
     1275                TIp.reset(new TorrentInternal(file, saveDirectory, compactStorage)); 
    13211276         
    13221277        std::pair<TorrentManager::torrentByName::iterator, bool> p = 
     
    18171772} 
    18181773 
     1774void BitTorrent::recheckTorrent(const std::string& filename) 
     1775{ 
     1776        recheckTorrent(hal::to_wstr_shim(filename)); 
     1777} 
     1778 
     1779void BitTorrent::recheckTorrent(const std::wstring& filename) 
     1780{ 
     1781        try { 
     1782         
     1783        pimpl->theTorrents.get(filename)->forceRecheck(); 
     1784         
     1785        } HAL_GENERIC_TORRENT_EXCEPTION_CATCH(filename, "recheckTorrent") 
     1786} 
     1787 
    18191788void BitTorrent::removeTorrentWipeFiles(const std::string& filename) 
    18201789{ 
  • trunk/src/halTorrent.hpp

    r384 r403  
    410410        void newTorrent(boost::filesystem::wpath filename, boost::filesystem::wpath files); 
    411411        void addTorrent(boost::filesystem::wpath file, boost::filesystem::wpath saveDirectory,  
    412                 bool startPaused=false, bool compactStorage=false); 
     412                bool startPaused=false, bool compactStorage=false,  
     413                boost::filesystem::wpath moveToDirectory=L"", bool useMoveTo=false); 
    413414         
    414415        void setTorrentRatio(const std::string&, float ratio); 
     
    438439        void reannounceTorrent(const std::string& filename); 
    439440        void reannounceTorrent(const std::wstring& filename); 
     441        void recheckTorrent(const std::string& filename); 
     442        void recheckTorrent(const std::wstring& filename); 
    440443         
    441444        void pauseAllTorrents(); 
  • trunk/src/halTorrentInternal.hpp

    r392 r403  
    77#pragma once 
    88 
    9 #define HALITE_VERSION                                  0, 3, 0, 386 
    10 #define HALITE_VERSION_STRING                   "v 0.3.0.4 dev 386" 
    11 #define HALITE_FINGERPRINT                              "HL", 0, 3, 0, 4 
     9#define HALITE_VERSION                                  0, 3, 0, 399 
     10#define HALITE_VERSION_STRING                   "v 0.3.0.5 dev 399" 
     11#define HALITE_FINGERPRINT                              "HL", 0, 3, 0, 5 
    1212 
    1313#ifndef HAL_NA 
     
    1515#endif 
    1616 
    17 #define HAL_TORRENT_EXT_BEGIN                           80000 
     17#define HAL_TORRENT_EXT_BEGIN                           41000 
    1818#define LBT_EVENT_TORRENT_FINISHED                      HAL_TORRENT_EXT_BEGIN + 1 
    1919#define HAL_PEER_BAN_ALERT                                      HAL_TORRENT_EXT_BEGIN + 2 
     
    3737#define HAL_LISTEN_V6_FAILED_ALERT                      HAL_TORRENT_EXT_BEGIN + 20 
    3838 
    39 #define HAL_TORRENT_INT_BEGIN                           80500 
     39#define HAL_TORRENT_INT_BEGIN                           42000 
    4040#define HAL_PEER_INTERESTING                    HAL_TORRENT_INT_BEGIN + 1 
    4141#define HAL_PEER_CHOKED                         HAL_TORRENT_INT_BEGIN + 2 
     
    7575 
    7676#include "halIni.hpp" 
     77#include "halSignaler.hpp" 
    7778 
    7879namespace hal  
    7980{ 
    8081class TorrentInternalOld; 
     82class TorrentInternal; 
    8183} 
    8284 
    8385BOOST_CLASS_VERSION(hal::TorrentInternalOld, 9) 
     86BOOST_CLASS_VERSION(hal::TorrentInternal, 1) 
    8487 
    8588namespace hal  
     
    422425        {} 
    423426         
    424         TorrentInternal(wpath_t filename, wpath_t saveDirectory, wpath_t workingDirectory, bool compactStorage) : 
     427        TorrentInternal(wpath_t filename, wpath_t saveDirectory, bool compactStorage, wpath_t move_to_directory=L"") : 
    425428                TORRENT_INTERNALS_DEFAULTS, 
    426429                save_directory_(saveDirectory.string()), 
     430                move_to_directory_(move_to_directory.string()), 
    427431                compactStorage_(compactStorage),         
    428432                state_(TorrentDetail::torrent_stopped),  
     
    524528        } 
    525529         
    526         void removeFromSession() 
    527         { 
     530        void removeFromSession(bool writeData=true) 
     531        { 
     532                HAL_DEV_MSG(wformat_t(L"removeFromSession() %1%") % writeData); 
     533 
    528534                mutex_t::scoped_lock l(mutex_); 
    529535                assert(inSession()); 
    530536                 
    531                 resumedata_ = handle_.write_resume_data(); // Update the fast-resume data 
    532                 writeResumeData(); 
     537                if (writeData) 
     538                { 
     539                        resumedata_ = handle_.write_resume_data(); // Update the fast-resume data 
     540                        writeResumeData(); 
     541                } 
    533542                 
    534543                the_session_->remove_torrent(handle_); 
    535                 in_session_ = false;             
     544                in_session_ = false; 
    536545                 
    537546                assert(!inSession());    
     
    556565        { 
    557566                mutex_t::scoped_lock l(mutex_); 
     567 
    558568                if (state_ == TorrentDetail::torrent_stopped) 
    559569                {        
     
    574584        { 
    575585                mutex_t::scoped_lock l(mutex_); 
     586 
    576587                if (state_ == TorrentDetail::torrent_stopped) 
    577588                {        
     
    584595                        assert(inSession()); 
    585596                        handle_.pause(); 
     597                        signals.torrent_paused.connect_once(bind(&TorrentInternal::completedPauseEvent, this)); 
     598 
    586599                        state_ = TorrentDetail::torrent_pausing;         
    587600                }        
     
    593606        { 
    594607                mutex_t::scoped_lock l(mutex_); 
     608 
    595609                if (state_ != TorrentDetail::torrent_stopped) 
    596610                { 
     
    599613                                assert(inSession()); 
    600614                                handle_.pause(); 
     615                                signals.torrent_paused.connect_once(bind(&TorrentInternal::completedPauseEvent, this)); 
     616 
    601617                                state_ = TorrentDetail::torrent_stopping; 
    602618                        } 
     
    609625                } 
    610626        } 
     627 
     628        void forceRecheck() 
     629        { 
     630                mutex_t::scoped_lock l(mutex_); 
     631                 
     632                HAL_DEV_MSG(L"forceRecheck()"); 
     633 
     634                if (state_ != TorrentDetail::torrent_stopped) 
     635                { 
     636                        assert(inSession()); 
     637 
     638                        if (state_ == TorrentDetail::torrent_active) 
     639                        { 
     640                                handle_.pause(); 
     641                                signals.torrent_paused.connect_once(bind(&TorrentInternal::handleRecheck, this)); 
     642 
     643                                state_ = TorrentDetail::torrent_stopping; 
     644                        } 
     645                        else if (state_ == TorrentDetail::torrent_paused) 
     646                        {                        
     647                                handleRecheck();                                 
     648                        } 
     649                        else 
     650                        { 
     651                                signals.torrent_paused.connect_once(bind(&TorrentInternal::handleRecheck, this)); 
     652                        } 
     653                } 
     654                else 
     655                { 
     656                        handleRecheck(); 
     657                } 
     658        } 
     659 
     660        void handleRecheck() 
     661        { 
     662                mutex_t::scoped_lock l(mutex_); 
     663 
     664                HAL_DEV_MSG(L"handleRecheck()"); 
     665 
     666                state_ = TorrentDetail::torrent_stopped; 
     667                removeFromSession(false); 
     668                resume(); 
     669        } 
    611670         
    612671        void writeResumeData() 
     
    633692                if (finishTime_.is_special()) 
    634693                        finishTime_ = boost::posix_time::second_clock::universal_time(); 
     694 
     695                if (move_to_directory_ != L"" && move_to_directory_ != save_directory_) 
     696                { 
     697                        handle_.move_storage(to_utf8(move_to_directory_)); 
     698                        save_directory_ = move_to_directory_; 
     699                } 
    635700        } 
    636701         
     
    712777                ar & make_nvp("filename", filename_);            
    713778        ar & make_nvp("saveDirectory", save_directory_); 
     779                if (version > 0) { 
     780                        ar & make_nvp("moveToDirectory", move_to_directory_); 
     781                } else { 
     782                        move_to_directory_ = save_directory_; 
     783                } 
    714784                 
    715785                ar & make_nvp("payloadUploaded_", payloadUploaded_); 
     
    886956        } 
    887957 
     958        struct  
     959        { 
     960                signaler<> torrent_finished; 
     961                signaler<> torrent_paused; 
     962        }  
     963        signals; 
     964 
    888965private:         
    889966        void applySettings() 
     
    10311108        wstring_t name_; 
    10321109        wstring_t save_directory_; 
     1110        wstring_t move_to_directory_; 
    10331111        wstring_t originalFilename_; 
    10341112        lbt::torrent_handle handle_;     
Note: See TracChangeset for help on using the changeset viewer.