⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 settings.cpp

📁 p2p软件
💻 CPP
📖 第 1 页 / 共 3 页
字号:
//
// Settings.cpp
//
// Copyright (c) Shareaza Development Team, 2002-2004.
// This file is part of SHAREAZA (www.shareaza.com)
//
// Shareaza is free software; you can redistribute it
// and/or modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// Shareaza is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Shareaza; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
//

#include "StdAfx.h"
#include "Shareaza.h"
#include "Settings.h"
#include "Schema.h"
#include "Skin.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

CSettings Settings;


//////////////////////////////////////////////////////////////////////
// CSettings setup

void CSettings::Setup()
{
	Add( _T(".Path"), &General.Path, General.Path );
	Add( _T(".Debug"), &General.Debug, FALSE );
	Add( _T(".DebugLog"), &General.DebugLog, FALSE );
	Add( _T("Settings.GUIMode"), &General.GUIMode, GUI_BASIC );
	Add( _T("Settings.CloseMode"), &General.CloseMode, 0 );
	Add( _T("Settings.TrayMinimise"), &General.TrayMinimise, FALSE );
	Add( _T("Settings.VerboseMode"), &General.VerboseMode, TRUE );
	Add( _T("Settings.ShowTimestamp"), &General.ShowTimestamp, TRUE );
	Add( _T("Settings.SizeLists"), &General.SizeLists, FALSE );
	Add( _T("Settings.HashIntegrity"), &General.HashIntegrity, TRUE );
	Add( _T("Settings.RatesInBytes"), &General.RatesInBytes, FALSE );
	Add( _T("Settings.RatesUnit"), &General.RatesUnit, 0 );
	Add( _T("Settings.AlwaysOpenURLs"), &General.AlwaysOpenURLs, FALSE );
	Add( _T("Settings.UserAgent"), &General.UserAgent, _T(".") );
	Add( _T("Settings.Language"), &General.Language, _T("en") );
	
	Add( _T("Interface.TipDelay"), &Interface.TipDelay, 600 );
	Add( _T("Interface.TipAlpha"), &Interface.TipAlpha, 230 );
	Add( _T("Interface.TipSearch"), &Interface.TipSearch, TRUE );
	Add( _T("Interface.TipLibrary"), &Interface.TipLibrary, TRUE );
	Add( _T("Interface.TipDownloads"), &Interface.TipDownloads, TRUE );
	Add( _T("Interface.TipUploads"), &Interface.TipUploads, TRUE );
	Add( _T("Interface.TipNeighbours"), &Interface.TipNeighbours, TRUE );
	Add( _T("Interface.TipMedia"), &Interface.TipMedia, TRUE );
	
	Add( _T("Library.WatchFolders"), &Library.WatchFolders, TRUE );
	Add( _T("Library.PartialMatch"), &Library.PartialMatch, TRUE );
	Add( _T("Library.VirtualFiles"), &Library.VirtualFiles, TRUE );
	Add( _T("Library.SourceMesh"), &Library.SourceMesh, TRUE );
	Add( _T("Library.SourceExpire"), &Library.SourceExpire, 86400 );
	Add( _T("Library.TigerHeight"), &Library.TigerHeight, 9 );
	Add( _T("Library.QueryRouteSize"), &Library.QueryRouteSize, 20 );
	Add( _T("Library.HistoryTotal"), &Library.HistoryTotal, 32 );
	Add( _T("Library.HistoryDays"), &Library.HistoryDays, 3 );
	Add( _T("Library.ShowVirtual"), &Library.ShowVirtual, TRUE );
	Add( _T("Library.TreeSize"), &Library.TreeSize, 200 );
	Add( _T("Library.PanelSize"), &Library.PanelSize, 120 );
	Add( _T("Library.ShowPanel"), &Library.ShowPanel, TRUE );
	Add( _T("Library.StoreViews"), &Library.StoreViews, TRUE );
	Add( _T("Library.ShowCoverArt"), &Library.ShowCoverArt, TRUE );
	Add( _T("Library.SchemaURI"), &Library.SchemaURI, CSchema::uriAudio );
	Add( _T("Library.FilterURI"), &Library.FilterURI, NULL );
	Add( _T("Library.SafeExecute"), &Library.SafeExecute, _T("|ace|ape|asf|avi|bmp|gif|iso|jpg|jpeg|mid|mov|m1v|m2v|m3u|mp2|mp3|mpa|mpe|mpg|mpeg|ogg|pdf|png|qt|rar|rm|sks|tar|tgz|torrent|txt|wav|wma|wmv|zip|") );
	Add( _T("Library.PrivateTypes"), &Library.PrivateTypes, _T("|vbs|js|dat|partial|getright|pif|lnk|sd|") );
	Add( _T("Library.ThumbSize"), &Library.ThumbSize, 96 );
	Add( _T("Library.BitziAgent"), &Library.BitziAgent, _T(".") );
	Add( _T("Library.BitziWebView"), &Library.BitziWebView, _T("http://bitzi.com/lookup/(SHA1)?detail&ref=shareaza") );
	Add( _T("Library.BitziWebSubmit"), &Library.BitziWebSubmit, _T("http://bitzi.com/lookup/(SHA1).(TTH)?fl=(SIZE)&ff=(FIRST20)&fn=(NAME)&a=(AGENT)&v=Q0.4&ref=shareaza") );
	Add( _T("Library.BitziXML"), &Library.BitziXML, _T("http://ticket.bitzi.com/rdf/(SHA1)") );
	Add( _T("Library.BitziOkay"), &Library.BitziOkay, FALSE );
	
	Add( _T("Search.LastSchemaURI"), &Search.LastSchemaURI, _T("") );
	Add( _T("Search.BlankSchemaURI"), &Search.BlankSchemaURI, CSchema::uriAudio );
	Add( _T("Search.SearchPanel"), &Search.SearchPanel, TRUE );
	Add( _T("Search.ExpandMatches"), &Search.ExpandMatches, FALSE );
	Add( _T("Search.HighlightNew"), &Search.HighlightNew, TRUE );
	Add( _T("Search.SwitchToTransfers"), &Search.SwitchToTransfers, TRUE );
	Add( _T("Search.SchemaTypes"), &Search.SchemaTypes, TRUE );
	Add( _T("Search.ShowNames"), &Search.ShowNames, TRUE );
	Add( _T("Search.FilterMask"), &Search.FilterMask, 0x28 );
	Add( _T("Search.MonitorSchemaURI"), &Search.MonitorSchemaURI, CSchema::uriAudio );
	Add( _T("Search.MonitorFilter"), &Search.MonitorFilter, NULL );
	Add( _T("Search.MonitorQueue"), &Search.MonitorQueue, 128 );
	Add( _T("Search.BrowseTreeSize"), &Search.BrowseTreeSize, 180 );
	Add( _T("Search.DetailPanelVisible"), &Search.DetailPanelVisible, TRUE );
	Add( _T("Search.DetailPanelSize"), &Search.DetailPanelSize, 100 );
	Add( _T("Search.MaxPreviewLength"), &Search.MaxPreviewLength, 20*1024 );

	Add( _T("MediaPlayer.EnablePlay"), &MediaPlayer.EnablePlay, TRUE );
	Add( _T("MediaPlayer.EnableEnqueue"), &MediaPlayer.EnableEnqueue, TRUE );
	Add( _T("MediaPlayer.FileTypes"), &MediaPlayer.FileTypes, _T("|asx|wax|m3u|wvx|wmx|asf|wav|snd|au|aif|aifc|aiff|wma|mp3|cda|mid|rmi|midi|avi|asf|mpeg|mpg|m1v|mp2|mpa|mpe|wmv|") );
	Add( _T("MediaPlayer.Repeat"), &MediaPlayer.Repeat, FALSE );
	Add( _T("MediaPlayer.Random"), &MediaPlayer.Random, FALSE );
	Add( _T("MediaPlayer.Zoom"), (DWORD*)&MediaPlayer.Zoom, smzFill );
	Add( _T("MediaPlayer.Aspect"), &MediaPlayer.Aspect, smaDefault );
	Add( _T("MediaPlayer.Volume"), &MediaPlayer.Volume, 1.0f );
	Add( _T("MediaPlayer.ListVisible"), &MediaPlayer.ListVisible, TRUE );
	Add( _T("MediaPlayer.ListSize"), &MediaPlayer.ListSize, 240 );
	Add( _T("MediaPlayer.StatusVisible"), &MediaPlayer.StatusVisible, TRUE );
	Add( _T("MediaPlayer.VisCLSID"), &MediaPlayer.VisCLSID, _T("{591A5CFF-3172-4020-A067-238542DDE9C2}") );
	Add( _T("MediaPlayer.VisPath"), &MediaPlayer.VisPath, _T("") );
	Add( _T("MediaPlayer.VisSize"), &MediaPlayer.VisSize, 1 );
	
	Add( _T("Web.Magnet"), &Web.Magnet, TRUE );
	Add( _T("Web.Gnutella"), &Web.Gnutella, TRUE );
	Add( _T("Web.ED2K"), &Web.ED2K, TRUE );
	Add( _T("Web.Piolet"), &Web.Piolet, TRUE );
	Add( _T("Web.Torrent"), &Web.Torrent, TRUE );
	
	Add( _T("Connection.AutoConnect"), &Connection.AutoConnect, FALSE );
	Add( _T("Connection.Firewalled"), &Connection.Firewalled, TRUE );
	Add( _T("Connection.OutHost"), &Connection.OutHost, NULL );
	Add( _T("Connection.InHost"), &Connection.InHost, NULL );
	Add( _T("Connection.InPort"), &Connection.InPort, GNUTELLA_DEFAULT_PORT );
	Add( _T("Connection.InBind"), &Connection.InBind, FALSE );
	Add( _T("Connection.InSpeed"), &Connection.InSpeed, 56 );
	Add( _T("Connection.OutSpeed"), &Connection.OutSpeed, 56 );
	Add( _T("Connection.IgnoreLocalIP"), &Connection.IgnoreLocalIP, TRUE );
	Add( _T("Connection.TimeoutConnect"), &Connection.TimeoutConnect, 16000 );
	Add( _T("Connection.TimeoutHandshake"), &Connection.TimeoutHandshake, 45000 );
	Add( _T("Connection.TimeoutTraffic"), &Connection.TimeoutTraffic, 140000 );
	Add( _T("Connection.SendBuffer"), &Connection.SendBuffer, 2048 );
	Add( _T("Connection.AsyncIO"), &Connection.AsyncIO, TRUE );
	Add( _T("Connection.RequireForTransfers"), &Connection.RequireForTransfers, TRUE );
	
	Add( _T("Bandwidth.Request"), &Bandwidth.Request, 4096 );
	Add( _T("Bandwidth.HubIn"), &Bandwidth.HubIn, 0 );
	Add( _T("Bandwidth.HubOut"), &Bandwidth.HubOut, 0 );
	Add( _T("Bandwidth.LeafIn"), &Bandwidth.LeafIn, 0 );
	Add( _T("Bandwidth.LeafOut"), &Bandwidth.LeafOut, 0 );
	Add( _T("Bandwidth.PeerIn"), &Bandwidth.PeerIn, 0 );
	Add( _T("Bandwidth.PeerOut"), &Bandwidth.PeerOut, 0 );
	Add( _T("Bandwidth.UdpOut"), &Bandwidth.UdpOut, 0 );
	Add( _T("Bandwidth.Downloads"), &Bandwidth.Downloads, 0 );
	Add( _T("Bandwidth.Uploads"), &Bandwidth.Uploads, 0 );
	Add( _T("Bandwidth.HubUploads"), &Bandwidth.HubUploads, 5120 );
	
	Add( _T("Community.ChatEnable"), &Community.ChatEnable, TRUE );
	Add( _T("Community.Timestamp"), &Community.Timestamp, TRUE );
	Add( _T("Community.ServeProfile"), &Community.ServeProfile, TRUE );
	Add( _T("Community.ServeFiles"), &Community.ServeFiles, TRUE );
	
	Add( _T("Discovery.AccessThrottle"), &Discovery.AccessThrottle, 3600 );
	Add( _T("Discovery.Lowpoint"), &Discovery.Lowpoint, 10 );
	Add( _T("Discovery.FailureLimit"), &Discovery.FailureLimit, 2 );
	Add( _T("Discovery.UpdatePeriod"), &Discovery.UpdatePeriod, 1800 );
	Add( _T("Discovery.DefaultUpdate"), &Discovery.DefaultUpdate, 3600 );
	Add( _T("Discovery.BootstrapCount"), &Discovery.BootstrapCount, 10 );
	Add( _T("Discovery.G2DAddress"), &Discovery.G2DAddress, _T("stats.shareaza.com:6446") );
	Add( _T("Discovery.G2DRetryAfter"), &Discovery.G2DRetryAfter, 0 );
	
	Add( _T("Gnutella.HubEnable"), &Gnutella.HubEnable, TRUE );
	Add( _T("Gnutella.HubForce"), &Gnutella.HubForce, FALSE );
	Add( _T("Gnutella.LeafEnable"), &Gnutella.LeafEnable, TRUE );
	Add( _T("Gnutella.LeafForce"), &Gnutella.LeafForce, FALSE );
	Add( _T("Gnutella.ConnectFactor"), &Gnutella.ConnectFactor, 5 );
	Add( _T("Gnutella.DeflateHub2Hub"), &Gnutella.DeflateHub2Hub, TRUE );
	Add( _T("Gnutella.DeflateLeaf2Hub"), &Gnutella.DeflateLeaf2Hub, FALSE );
	Add( _T("Gnutella.DeflateHub2Leaf"), &Gnutella.DeflateHub2Leaf, TRUE );
	Add( _T("Gnutella.MaxResults"), &Gnutella.MaxResults, 300 );
	Add( _T("Gnutella.MaxHits"), &Gnutella.MaxHits, 64 );
	Add( _T("Gnutella.HitsPerPacket"), &Gnutella.HitsPerPacket, 64 );
	Add( _T("Gnutella.RouteCache"), &Gnutella.RouteCache, 600 );
	Add( _T("Gnutella.HostCacheCount"), &Gnutella.HostCacheSize, 1024 );
	Add( _T("Gnutella.HostCacheExpire"), &Gnutella.HostCacheExpire, 10 * 60 );
	Add( _T("Gnutella.HostCacheView"), &Gnutella.HostCacheView, PROTOCOL_ED2K );
	Add( _T("Gnutella.ConnectThrottle"), &Gnutella.ConnectThrottle, 120 );
	
	Add( _T("Gnutella1.EnableAlways"), &Gnutella1.EnableAlways, FALSE );
	Add( _T("Gnutella1.Handshake04"), &Gnutella1.Handshake04, TRUE );
	Add( _T("Gnutella1.Handshake06"), &Gnutella1.Handshake06, TRUE );
	Add( _T("Gnutella1.NumHubs"), &Gnutella1.NumHubs, 2 );
	Add( _T("Gnutella1.NumLeafs"), &Gnutella1.NumLeafs, 0 );
	Add( _T("Gnutella1.NumPeers"), &Gnutella1.NumPeers, 0 );
	Add( _T("Gnutella1.PacketBufferSize"), &Gnutella1.PacketBufferSize, 64 );
	Add( _T("Gnutella1.PacketBufferTime"), &Gnutella1.PacketBufferTime, 60000 );
	Add( _T("Gnutella1.DefaultTTL"), &Gnutella1.DefaultTTL, 5 );
	Add( _T("Gnutella1.SearchTTL"), &Gnutella1.SearchTTL, 4 );
	Add( _T("Gnutella1.TranslateTTL"), &Gnutella1.TranslateTTL, 2 );
	Add( _T("Gnutella1.MaximumTTL"), &Gnutella1.MaximumTTL, 11 );
	Add( _T("Gnutella1.MaximumPacket"), &Gnutella1.MaximumPacket, 65535 );
	Add( _T("Gnutella1.MaximumQuery"), &Gnutella1.MaximumQuery, 256 );
	Add( _T("Gnutella1.StrictPackets"), &Gnutella1.StrictPackets, FALSE );
	Add( _T("Gnutella1.EnableGGEP"), &Gnutella1.EnableGGEP, TRUE );
	Add( _T("Gnutella1.VendorMsg"), &Gnutella1.VendorMsg, TRUE );
	Add( _T("Gnutella1.QueryThrottle"), &Gnutella1.QueryThrottle, 20*60 );
	Add( _T("Gnutella1.RequeryDelay"), &Gnutella1.RequeryDelay, 45*60 );
	Add( _T("Gnutella1.PingFlood"), &Gnutella1.PingFlood, 3000 );
	Add( _T("Gnutella1.PingRate"), &Gnutella1.PingRate, 15000 );
	Add( _T("Gnutella1.PongCache"), &Gnutella1.PongCache, 10000 );
	Add( _T("Gnutella1.PongCount"), &Gnutella1.PongCount, 10 );
	
	Add( _T("Gnutella2.EnableAlways"), &Gnutella2.EnableAlways, TRUE );
	Add( _T("Gnutella2.NumHubs"), &Gnutella2.NumHubs, 2 );
	Add( _T("Gnutella2.NumLeafs"), &Gnutella2.NumLeafs, 300 );
	Add( _T("Gnutella2.NumPeers"), &Gnutella2.NumPeers, 6 );
	Add( _T("Gnutella2.UdpMTU"), &Gnutella2.UdpMTU, 500 );
	Add( _T("Gnutella2.UdpBuffers"), &Gnutella2.UdpBuffers, 512 );
	Add( _T("Gnutella2.UdpInFrames"), &Gnutella2.UdpInFrames, 256 );
	Add( _T("Gnutella2.UdpOutFrames"), &Gnutella2.UdpOutFrames, 256 );
	Add( _T("Gnutella2.UdpGlobalThrottle"), &Gnutella2.UdpGlobalThrottle, 1 );
	Add( _T("Gnutella2.UdpOutExpire"), &Gnutella2.UdpOutExpire, 26000 );
	Add( _T("Gnutella2.UdpOutResend"), &Gnutella2.UdpOutResend, 6000 );
	Add( _T("Gnutella2.UdpInExpire"), &Gnutella2.UdpInExpire, 30000 );
	Add( _T("Gnutella2.KHLPeriod"), &Gnutella2.KHLPeriod, 60000 );
	Add( _T("Gnutella2.KHLHubCount"), &Gnutella2.KHLHubCount, 50 );
	Add( _T("Gnutella2.HAWPeriod"), &Gnutella2.HAWPeriod, 300000 );
	Add( _T("Gnutella2.QueryGlobalThrottle"), &Gnutella2.QueryGlobalThrottle, 120 );
	Add( _T("Gnutella2.QueryHostThrottle"), &Gnutella2.QueryHostThrottle, 120 );
	Add( _T("Gnutella2.QueryHostDeadline"), &Gnutella2.QueryHostDeadline, 10*60 );
	Add( _T("Gnutella2.RequeryDelay"), &Gnutella2.RequeryDelay, 2*60*60 );
	Add( _T("Gnutella2.HubHorizonSize"), &Gnutella2.HubHorizonSize, 128 );
	
	Add( _T("eDonkey.EnableAlways"), &eDonkey.EnableAlways, FALSE );
	Add( _T("eDonkey.NumServers"), &eDonkey.NumServers, 1 );
	Add( _T("eDonkey.MaxLinks"), &eDonkey.MaxLinks, 128 );
	Add( _T("eDonkey.MaxResults"), &eDonkey.MaxResults, 100 );
	Add( _T("eDonkey.MaxShareCount"), &eDonkey.MaxShareCount, 1000 );
	Add( _T("eDonkey.ServerWalk"), &eDonkey.ServerWalk, TRUE );
	Add( _T("eDonkey.QueryGlobalThrottle"), &eDonkey.QueryGlobalThrottle, 1000 );
	Add( _T("eDonkey.QueryServerThrottle"), &eDonkey.QueryServerThrottle, 60 );
	Add( _T("eDonkey.RequeryDelay"), &eDonkey.RequeryDelay, 45*60 );
	Add( _T("eDonkey.LearnNewServers"), &eDonkey.LearnNewServers, TRUE );
	Add( _T("eDonkey.RequestPipe"), &eDonkey.RequestPipe, 3 );
	Add( _T("eDonkey.RequestSize"), &eDonkey.RequestSize, 180*1024/2 );
	Add( _T("eDonkey.FrameSize"), &eDonkey.FrameSize, 10240 );
	Add( _T("eDonkey.ReAskTime"), &eDonkey.ReAskTime, 1300 );
	Add( _T("eDonkey.DequeueTime"), &eDonkey.DequeueTime, 3610 );
	Add( _T("eDonkey.TagNames"), &eDonkey.TagNames, TRUE );
	Add( _T("eDonkey.ExtendedRequest"), &eDonkey.ExtendedRequest, TRUE );
	Add( _T("eDonkey.ServerListURL"), &eDonkey.ServerListURL, _T("http://ocbmaurice.dyndns.org/pl/slist.pl/server.met?download/server-good.met") );
	
	Add( _T("BitTorrent.DefaultTrackerPeriod"), &BitTorrent.DefaultTrackerPeriod, 5*60000 );
	Add( _T("BitTorrent.LinkTimeout"), &BitTorrent.LinkTimeout, 180000 );
	Add( _T("BitTorrent.LinkPing"), &BitTorrent.LinkPing, 45000 );
	Add( _T("BitTorrent.RequestPipe"), &BitTorrent.RequestPipe, 4 );
	Add( _T("BitTorrent.RequestSize"), &BitTorrent.RequestSize, 32768 );
	Add( _T("BitTorrent.RequestLimit"), &BitTorrent.RequestLimit, 131072 );
	Add( _T("BitTorrent.RandomPeriod"), &BitTorrent.RandomPeriod, 30000 );
	Add( _T("BitTorrent.SourceExchangePeriod"), &BitTorrent.SourceExchangePeriod, 10 );
	Add( _T("BitTorrent.UploadCount"), &BitTorrent.UploadCount, 4 );
	Add( _T("BitTorrent.Endgame"), &BitTorrent.Endgame, TRUE );
	
	Add( _T("Downloads.IncompletePath"), &Downloads.IncompletePath, General.Path + _T("\\Incomplete") );
	Add( _T("Downloads.CompletePath"), &Downloads.CompletePath, General.Path + _T("\\Downloads") );
	Add( _T("Downloads.BufferSize"), &Downloads.BufferSize, 81920 );
	Add( _T("Downloads.SparseThreshold"), &Downloads.SparseThreshold, 8 * 1024 );
	Add( _T("Downloads.MaxFiles"), &Downloads.MaxFiles, 32 );
	Add( _T("Downloads.MaxTransfers"), &Downloads.MaxTransfers, 128 );
	Add( _T("Downloads.MaxFileTransfers"), &Downloads.MaxFileTransfers, 8 );
	Add( _T("Downloads.MinSources"), &Downloads.MinSources, 1 );
	Add( _T("Downloads.ConnectThrottle"), &Downloads.ConnectThrottle, 200 );
	Add( _T("Downloads.QueueLimit"), &Downloads.QueueLimit, 0 );
	Add( _T("Downloads.SearchPeriod"), &Downloads.SearchPeriod, 120000 );
	Add( _T("Downloads.StarveTimeout"), &Downloads.StarveTimeout, 2700 );
	Add( _T("Downloads.RetryDelay"), &Downloads.RetryDelay, 10*60000 );
	Add( _T("Downloads.PushTimeout"), &Downloads.PushTimeout, 45000 );
	Add( _T("Downloads.StaggardStart"), &Downloads.StaggardStart, FALSE );
	Add( _T("Downloads.AllowBackwards"), &Downloads.AllowBackwards, TRUE );
	Add( _T("Downloads.ChunkSize"), &Downloads.ChunkSize, 512*1024 );
	Add( _T("Downloads.ChunkStrap"), &Downloads.ChunkStrap, 64*1024 );
	Add( _T("Downloads.Metadata"), &Downloads.Metadata, TRUE );
	Add( _T("Downloads.VerifyFiles"), &Downloads.VerifyFiles, TRUE );
	Add( _T("Downloads.VerifyTiger"), &Downloads.VerifyTiger, TRUE );
	Add( _T("Downloads.VerifyED2K"), &Downloads.VerifyED2K, TRUE );
	Add( _T("Downloads.NeverDrop"), &Downloads.NeverDrop, FALSE );
	Add( _T("Downloads.RequestHash"), &Downloads.RequestHash, FALSE );
	Add( _T("Downloads.RequestHTTP11"), &Downloads.RequestHTTP11, TRUE );
	Add( _T("Downloads.RequestURLENC"), &Downloads.RequestURLENC, TRUE );
	Add( _T("Downloads.SaveInterval"), &Downloads.SaveInterval, 60000 );
	Add( _T("Downloads.FlushSD"), &Downloads.FlushSD, TRUE );
	Add( _T("Downloads.ShowSources"), &Downloads.ShowSources, FALSE );
	Add( _T("Downloads.ShowPercent"), &Downloads.ShowPercent, FALSE );
	Add( _T("Downloads.ShowGroups"), &Downloads.ShowGroups, TRUE );
	Add( _T("Downloads.AutoExpand"), &Downloads.AutoExpand, FALSE );
	Add( _T("Downloads.AutoClear"), &Downloads.AutoClear, FALSE );
	Add( _T("Downloads.ClearDelay"), &Downloads.ClearDelay, 30000 );
	Add( _T("Downloads.FilterMask"), &Downloads.FilterMask, 0xFFFFFFFF );
	Add( _T("Downloads.ShowMonitorURLs"), &Downloads.ShowMonitorURLs, TRUE );
	
	Add( _T("Uploads.MaxPerHost"), &Uploads.MaxPerHost, 2 );
	Add( _T("Uploads.FreeBandwidthValue"), &Uploads.FreeBandwidthValue, 2560 );
	Add( _T("Uploads.FreeBandwidthFactor"), &Uploads.FreeBandwidthFactor, 15 );
	Add( _T("Uploads.ClampdownFactor"), &Uploads.ClampdownFactor, 20 );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -