From: <arn...@us...> - 2006-11-02 21:44:56
|
Revision: 684 http://svn.sourceforge.net/dcplusplus/?rev=684&view=rev Author: arnetheduck Date: 2006-11-02 13:44:12 -0800 (Thu, 02 Nov 2006) Log Message: ----------- Patches & fixes Modified Paths: -------------- dcplusplus/trunk/Compile.txt dcplusplus/trunk/DCPlusPlus.rc dcplusplus/trunk/DCPlusPlus.vcproj dcplusplus/trunk/Example.xml dcplusplus/trunk/changelog.txt dcplusplus/trunk/client/File.cpp dcplusplus/trunk/client/SettingsManager.cpp dcplusplus/trunk/client/SettingsManager.h dcplusplus/trunk/client/StringDefs.cpp dcplusplus/trunk/client/StringDefs.h dcplusplus/trunk/client/stdinc.h dcplusplus/trunk/help/DCPlusPlus.hhp dcplusplus/trunk/help/faq_secret.html dcplusplus/trunk/help/help.vcproj dcplusplus/trunk/help/index.html dcplusplus/trunk/help/settings_advanced.html dcplusplus/trunk/help/settings_appearance.html dcplusplus/trunk/help/settings_certs.html dcplusplus/trunk/help/settings_colors_and_sounds.html dcplusplus/trunk/help/settings_expert.html dcplusplus/trunk/help/settings_queue.html dcplusplus/trunk/help/settings_windows.html dcplusplus/trunk/help/toc.hhc dcplusplus/trunk/windows/Appearance2Page.cpp dcplusplus/trunk/windows/Appearance2Page.h dcplusplus/trunk/windows/HubFrame.cpp dcplusplus/trunk/windows/PrivateFrame.cpp dcplusplus/trunk/windows/PropertiesDlg.cpp dcplusplus/trunk/windows/PropertiesDlg.h dcplusplus/trunk/windows/resource.h Modified: dcplusplus/trunk/Compile.txt =================================================================== --- dcplusplus/trunk/Compile.txt 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/Compile.txt 2006-11-02 21:44:12 UTC (rev 684) @@ -3,9 +3,6 @@ How to compile in 3 easy steps: 1) Download the source DC++ download site. Unpack the DC++ source. - Download STLPort 5.0.2 from http://sf.net/stlport and unpack it to a temporary folder. Inside you'll - find a folder named stlport which contains files such as "algorithm". Copy the contents of this folder - to the stlport folder where you unpacked DC++. Download WTL from http://sf.net/projects/wtl. Unpack it to the wtl folder. 2) You most probably have to update your Platform SDK, http://msdn.microsoft.com will tell you how. @@ -13,10 +10,9 @@ one file, you can ask someone at the dev hub to supply it for you (or look for it in the DC++ bugzilla, it's attached to one of the bugs). -3) Open the solution in vc7.1 (2004) and press your build button. If you find your executable unreasonably large, +3) Open the solution in vc8.0 (2005) and press your build button. If you find your executable unreasonably large, you probably compiled in debug mode - switch to release once you're done testing the code. - Note; You'll need DBGHELP.dll from the binary distribution unless you're using WinXP, otherwise you'll get errors saying symbols are missing when running your compiled executable. My copy says version 5.1.2600.1106 right now. @@ -61,4 +57,3 @@ to make it easier for us to defend the gpl against violators. If you don't like this policy, start your own distribution, if you're lucky it might become more popular than the original =). Please state explicitly in the bugzilla that you give me copyright over the code if the submission is larger than trivial. - Modified: dcplusplus/trunk/DCPlusPlus.rc =================================================================== --- dcplusplus/trunk/DCPlusPlus.rc 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/DCPlusPlus.rc 2006-11-02 21:44:12 UTC (rev 684) @@ -7,7 +7,7 @@ // // Generated from the TEXTINCLUDE 2 resource. // -#include "wtl\\atlres.h" +#include "atlres.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS @@ -234,9 +234,10 @@ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,74,246,10 CONTROL "Make an annoying sound when a private message window is opened",IDC_PRIVATE_MESSAGE_BEEP_OPEN, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,87,246,10 - GROUPBOX "Bold options",IDC_SETTINGS_BOLD_CONTENTS,5,106,263,98 - CONTROL "",IDC_BOLD_BOOLEANS,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | WS_BORDER | WS_TABSTOP,10,117,254,81 LTEXT "Note; most of these options require that you restart DC++",IDC_SETTINGS_REQUIRES_RESTART,7,209,253,8 + LTEXT "Notification sound",IDC_BEEP_NOTIFICATION,10,110,53,8 + EDITTEXT IDC_BEEPFILE,71,108,133,12,ES_AUTOHSCROLL + PUSHBUTTON "&Browse...",IDC_BROWSE,210,109,50,12 END IDD_LOGPAGE DIALOGEX 0, 0, 275, 225 @@ -440,8 +441,6 @@ RTEXT "File write buffer",IDC_SETTINGS_WRITE_BUFFER,139,10,65,8 EDITTEXT IDC_BUFFERSIZE,208,7,41,14,ES_AUTOHSCROLL LTEXT "KiB",IDC_SETTINGS_KB,252,10,10,8 - RTEXT "Max tab rows",IDC_SETTINGS_MAX_TAB_ROWS,139,27,65,8 - EDITTEXT IDC_MAX_TAB_ROWS,208,24,41,14,ES_AUTOHSCROLL RTEXT "Search history",IDC_SETTINGS_SEARCH_HISTORY,139,44,65,8 EDITTEXT IDC_SEARCH_HISTORY,208,41,41,14,ES_AUTOHSCROLL CONTROL "",IDC_SEARCH_HISTORY_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,246,41,11,14 @@ -453,8 +452,8 @@ RTEXT "Socket write buffer",IDC_SETTINGS_SOCKET_OUT_BUFFER,128,96,76,8 EDITTEXT IDC_SOCKET_OUT_BUFFER,208,93,41,14,ES_AUTOHSCROLL LTEXT "B",IDC_STATIC,252,96,8,8 - EDITTEXT IDC_AUTO_SEARCH_LIMIT,208,111,41,14,ES_AUTOHSCROLL - LTEXT "Auto-search limit",IDC_SETTINGS_AUTO_SEARCH_LIMIT,148,113,56,13 + EDITTEXT IDC_AUTO_SEARCH_LIMIT,208,24,41,14,ES_AUTOHSCROLL + LTEXT "Auto-search limit",IDC_SETTINGS_AUTO_SEARCH_LIMIT,148,26,56,13 END IDD_NETWORKPAGE DIALOGEX 0, 0, 275, 225 @@ -571,7 +570,19 @@ PUSHBUTTON "...",IDC_BROWSE_TRUSTED_PATH,248,42,20,14 END +IDD_TABSPAGE DIALOGEX 0, 0, 275, 225 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +EXSTYLE WS_EX_STATICEDGE +CAPTION "Tabs" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + RTEXT "Max tab rows",IDC_SETTINGS_MAX_TAB_ROWS,8,117,44,8 + EDITTEXT IDC_MAX_TAB_ROWS,56,115,41,14,ES_AUTOHSCROLL + GROUPBOX "Bold options",IDC_SETTINGS_BOLD_CONTENTS,5,8,263,98 + CONTROL "",IDC_BOLD_BOOLEANS,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | WS_BORDER | WS_TABSTOP,10,19,254,81 +END + ///////////////////////////////////////////////////////////////////////////// // // DESIGNINFO @@ -800,6 +811,16 @@ TOPMARGIN, 7 BOTTOMMARGIN, 218 END + + IDD_TABSPAGE, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 268 + VERTGUIDE, 13 + VERTGUIDE, 261 + TOPMARGIN, 7 + BOTTOMMARGIN, 218 + END END #endif // APSTUDIO_INVOKED Modified: dcplusplus/trunk/DCPlusPlus.vcproj =================================================================== --- dcplusplus/trunk/DCPlusPlus.vcproj 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/DCPlusPlus.vcproj 2006-11-02 21:44:12 UTC (rev 684) @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="Windows-1252"?> <VisualStudioProject ProjectType="Visual C++" - Version="8,00" + Version="8.00" Name="DCPlusPlus" ProjectGUID="{E82610AA-B6FD-4813-B5B9-E717CBD0F23B}" RootNamespace="DCPlusPlus" @@ -80,7 +80,7 @@ <Tool Name="VCLinkerTool" AdditionalOptions="/FIXED:NO /SAFESEH:NO" - AdditionalDependencies="libunicows.lib SHFolder.lib kernel32.lib advapi32.lib user32.lib gdi32.lib shell32.lib comdlg32.lib version.lib mpr.lib rasapi32.lib winmm.lib winspool.lib vfw32.lib secur32.lib oleacc.lib oledlg.lib sensapi.lib htmlhelp.lib ws2_32.lib" + AdditionalDependencies="libunicows.lib SHFolder.lib kernel32.lib advapi32.lib user32.lib gdi32.lib shell32.lib comdlg32.lib version.lib mpr.lib rasapi32.lib winmm.lib winspool.lib vfw32.lib secur32.lib oleacc.lib oledlg.lib sensapi.lib htmlhelp.lib ws2_32.lib winmm.lib" OutputFile="$(SolutionDir)App/$(ProjectName).exe" LinkIncremental="2" SuppressStartupBanner="true" @@ -187,7 +187,7 @@ <Tool Name="VCLinkerTool" AdditionalOptions="/FIXED:NO /SAFESEH:NO" - AdditionalDependencies="libunicows.lib SHFolder.lib kernel32.lib advapi32.lib user32.lib gdi32.lib shell32.lib comdlg32.lib version.lib mpr.lib rasapi32.lib winmm.lib winspool.lib vfw32.lib secur32.lib oleacc.lib oledlg.lib sensapi.lib htmlhelp.lib ws2_32.lib" + AdditionalDependencies="libunicows.lib SHFolder.lib kernel32.lib advapi32.lib user32.lib gdi32.lib shell32.lib comdlg32.lib version.lib mpr.lib rasapi32.lib winmm.lib winspool.lib vfw32.lib secur32.lib oleacc.lib oledlg.lib sensapi.lib htmlhelp.lib ws2_32.lib winmm.lib" OutputFile="$(SolutionDir)App/$(ProjectName).exe" Version="" LinkIncremental="1" @@ -509,6 +509,10 @@ > </File> <File + RelativePath=".\windows\TabsPage.cpp" + > + </File> + <File RelativePath="windows\TextFrame.cpp" > </File> @@ -734,6 +738,10 @@ > </File> <File + RelativePath=".\windows\TabsPage.h" + > + </File> + <File RelativePath="windows\TextFrame.h" > </File> Modified: dcplusplus/trunk/Example.xml =================================================================== --- dcplusplus/trunk/Example.xml 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/Example.xml 2006-11-02 21:44:12 UTC (rev 684) @@ -463,6 +463,7 @@ <String Name="SettingsMinimizeTray">Minimize to tray</String> <String Name="SettingsName">Name</String> <String Name="SettingsNetwork">Connection settings</String> + <String Name="SettingsNotificationSound">Notification sound</String> <String Name="SettingsNoAwaymsgToBots">Don't send the away message to bots</String> <String Name="SettingsOnlyHashed">Note; Files appear in the share only after they've been hashed!</String> <String Name="SettingsOnlyTth">Search for files with TTH root only as standard</String> @@ -519,6 +520,7 @@ <String Name="SettingsPrioNormal">Normal prio max size</String> <String Name="SettingsPrioLow">Low prio max size</String> <String Name="SettingsPrioLowest">Set lowest prio for newly added files larger than Low prio size</String> + <String Name="SettingsTabs">Appearance\Tabs</String> <String Name="SettingsTimeStamps">Show timestamps in chat by default</String> <String Name="SettingsTimeStampsFormat">Set timestamps</String> <String Name="SettingsToggleActiveWindow">Toggle window when selecting an active tab</String> Modified: dcplusplus/trunk/changelog.txt =================================================================== --- dcplusplus/trunk/changelog.txt 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/changelog.txt 2006-11-02 21:44:12 UTC (rev 684) @@ -9,6 +9,9 @@ * [bug 1080] Better nick tab completion (thanks cologic) * [bug 1081] Added user IP in hub frame (thanks cologic) * No more STLport for the time being +* Linux checks for invalid file types (thanks steven sheehy) +* Fixed potential crash when search began with space +* [bug 1085] Better sound playing settings (thanks cologic / ullner) -- 0.698 2006-10-10 -- * [bug 1065] Code cleanup (thanks steven sheehy) Modified: dcplusplus/trunk/client/File.cpp =================================================================== --- dcplusplus/trunk/client/File.cpp 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/client/File.cpp 2006-11-02 21:44:12 UTC (rev 684) @@ -214,6 +214,12 @@ m |= O_TRUNC; } + struct stat s; + if(lstat(aFileName.c_str(), &s) != -1) { + if(!S_ISREG(s.st_mode) && !S_ISLNK(s.st_mode)) + throw FileException("Invalid file type"); + } + h = open(aFileName.c_str(), m, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH); if(h == -1) throw FileException("Could not open file"); @@ -417,7 +423,7 @@ DIR* dir = opendir(Util::getConfigPath().c_str()); if (dir) { while (struct dirent* ent = readdir(dir)) { - if (fnmatch("files?*.xml.bz2", ent->d_name, 0) == 0) { + if (fnmatch(pattern.c_str(), ent->d_name, 0) == 0) { ret.push_back(path + ent->d_name); } } Modified: dcplusplus/trunk/client/SettingsManager.cpp =================================================================== --- dcplusplus/trunk/client/SettingsManager.cpp 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/client/SettingsManager.cpp 2006-11-02 21:44:12 UTC (rev 684) @@ -44,7 +44,7 @@ "FinishedULWidths", "FinishedULOrder", "CID", "SpyFrameWidths", "SpyFrameOrder", "LogFileMainChat", "LogFilePrivateChat", "LogFileStatus", "LogFileUpload", "LogFileDownload", "LogFileSystem", "LogFormatSystem", "LogFormatStatus", "DirectoryListingFrameOrder", "DirectoryListingFrameWidths", - "TLSPrivateKeyFile", "TLSCertificateFile", "TLSTrustedCertificatesPath", + "TLSPrivateKeyFile", "TLSCertificateFile", "TLSTrustedCertificatesPath", "BeepFile", "SENTRY", // Ints "IncomingConnections", "InPort", "Slots", "Rollback", "AutoFollow", "ClearSearch", Modified: dcplusplus/trunk/client/SettingsManager.h =================================================================== --- dcplusplus/trunk/client/SettingsManager.h 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/client/SettingsManager.h 2006-11-02 21:44:12 UTC (rev 684) @@ -59,7 +59,7 @@ FINISHED_UL_WIDTHS, FINISHED_UL_ORDER, PRIVATE_ID, SPYFRAME_WIDTHS, SPYFRAME_ORDER, LOG_FILE_MAIN_CHAT, LOG_FILE_PRIVATE_CHAT, LOG_FILE_STATUS, LOG_FILE_UPLOAD, LOG_FILE_DOWNLOAD, LOG_FILE_SYSTEM, LOG_FORMAT_SYSTEM, LOG_FORMAT_STATUS, DIRECTORLISTINGFRAME_ORDER, DIRECTORLISTINGFRAME_WIDTHS, - TLS_PRIVATE_KEY_FILE, TLS_CERTIFICATE_FILE, TLS_TRUSTED_CERTIFICATES_PATH, + TLS_PRIVATE_KEY_FILE, TLS_CERTIFICATE_FILE, TLS_TRUSTED_CERTIFICATES_PATH, BEEPFILE, STR_LAST }; enum IntSetting { INT_FIRST = STR_LAST + 1, Modified: dcplusplus/trunk/client/StringDefs.cpp =================================================================== --- dcplusplus/trunk/client/StringDefs.cpp 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/client/StringDefs.cpp 2006-11-02 21:44:12 UTC (rev 684) @@ -464,6 +464,7 @@ "Minimize to tray", "Name", "Connection settings", +"Notification sound", "Don't send the away message to bots", "Note; Files appear in the share only after they've been hashed!", "Search for files with TTH root only as standard", @@ -520,6 +521,7 @@ "Normal prio max size", "Low prio max size", "Set lowest prio for newly added files larger than Low prio size", +"Appearance\\Tabs", "Show timestamps in chat by default", "Set timestamps", "Toggle window when selecting an active tab", @@ -1092,6 +1094,7 @@ "SettingsMinimizeTray", "SettingsName", "SettingsNetwork", +"SettingsNotificationSound", "SettingsNoAwaymsgToBots", "SettingsOnlyHashed", "SettingsOnlyTth", @@ -1148,6 +1151,7 @@ "SettingsPrioNormal", "SettingsPrioLow", "SettingsPrioLowest", +"SettingsTabs", "SettingsTimeStamps", "SettingsTimeStampsFormat", "SettingsToggleActiveWindow", Modified: dcplusplus/trunk/client/StringDefs.h =================================================================== --- dcplusplus/trunk/client/StringDefs.h 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/client/StringDefs.h 2006-11-02 21:44:12 UTC (rev 684) @@ -467,6 +467,7 @@ SETTINGS_MINIMIZE_TRAY, // "Minimize to tray" SETTINGS_NAME, // "Name" SETTINGS_NETWORK, // "Connection settings" + SETTINGS_NOTIFICATION_SOUND, // "Notification sound" SETTINGS_NO_AWAYMSG_TO_BOTS, // "Don't send the away message to bots" SETTINGS_ONLY_HASHED, // "Note; Files appear in the share only after they've been hashed!" SETTINGS_ONLY_TTH, // "Search for files with TTH root only as standard" @@ -523,6 +524,7 @@ SETTINGS_PRIO_NORMAL, // "Normal prio max size" SETTINGS_PRIO_LOW, // "Low prio max size" SETTINGS_PRIO_LOWEST, // "Set lowest prio for newly added files larger than Low prio size" + SETTINGS_TABS, // "Appearance\\Tabs" SETTINGS_TIME_STAMPS, // "Show timestamps in chat by default" SETTINGS_TIME_STAMPS_FORMAT, // "Set timestamps" SETTINGS_TOGGLE_ACTIVE_WINDOW, // "Toggle window when selecting an active tab" Modified: dcplusplus/trunk/client/stdinc.h =================================================================== --- dcplusplus/trunk/client/stdinc.h 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/client/stdinc.h 2006-11-02 21:44:12 UTC (rev 684) @@ -122,7 +122,6 @@ #include <utility> #include <functional> -// Use maps if hash_maps aren't available #ifdef _STLPORT_VERSION # define HASH_SET hash_set # define HASH_MAP hash_map Modified: dcplusplus/trunk/help/DCPlusPlus.hhp =================================================================== --- dcplusplus/trunk/help/DCPlusPlus.hhp 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/help/DCPlusPlus.hhp 2006-11-02 21:44:12 UTC (rev 684) @@ -29,12 +29,14 @@ settings_windows.html settings_queue.html settings_certs.html +settings_tabs.html chat_commands.html non-routable.html plusplus_tag.html netiquette.html credits.html adlsearch.html +public_hubs.html favorite_hubs.html favorite_users.html fdl.html @@ -73,6 +75,7 @@ IDD_WINDOWSPAGE=settings_windows.html IDR_ADLSEARCH=adlsearch.html IDD_CERTSPAGE=settings_certs.html +IDD_TABSPAGE=settings_tabs.html [MAP] #include ..\windows\resource.h Modified: dcplusplus/trunk/help/faq_secret.html =================================================================== --- dcplusplus/trunk/help/faq_secret.html 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/help/faq_secret.html 2006-11-02 21:44:12 UTC (rev 684) @@ -15,7 +15,7 @@ <li>If DC++ receives "banned" during the login phase, it'll stop automatically reconnecting</li> <li>Your file list will be created on disk the first time someone requests it</li> <li>Pressing shift on startup will prevent DC++ from autoconnecting to favorite hubs.</li> - <li>You can tab complete nicks in mainchat (if the option is on), including ignoring prefixes.</li> + <li>You can tab complete nicks in mainchat, including ignoring prefixes.</li> <li>You can drag and drop all tabs to the position of your choice.</li> <li>You can see who wants to download from you and what they want to download by opening the <a href="waiting_users.html">Waiting users frame</a>.</li> <li>You can drag folders from Windows Explorer and drop them in the <a href="settings_sharing.html">Sharing </a>page in Settings.</li> Modified: dcplusplus/trunk/help/help.vcproj =================================================================== --- dcplusplus/trunk/help/help.vcproj 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/help/help.vcproj 2006-11-02 21:44:12 UTC (rev 684) @@ -153,6 +153,10 @@ > </File> <File + RelativePath=".\public_hubs.html" + > + </File> + <File RelativePath=".\favorite_hubs.html" > </File> @@ -247,6 +251,9 @@ <File RelativePath=".\settings_windows.html" > + <File + RelativePath=".\settings_tabs.html" + > </File> <File RelativePath=".\template.html" Modified: dcplusplus/trunk/help/index.html =================================================================== --- dcplusplus/trunk/help/index.html 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/help/index.html 2006-11-02 21:44:12 UTC (rev 684) @@ -35,6 +35,7 @@ <br> <h2>Windows</h2> <div style="margin-left: 40px;"><a href="adlsearch.html">ADLSearch</a><br> +<a href="public_hubs.html">Public hubs</a><br> <a href="favorite_hubs.html">Favorite Hubs</a><br> <a href="favorite_users.html">Favorite Users</a></div> <h2>Frequently Asked Questions</h2> @@ -61,6 +62,7 @@ <a href="settings_sharing.html">Sharing</a><br> <a href="settings_appearance.html">Appearance</a><br> <div style="margin-left: 40px;"><a href="settings_colors_and_sounds.html">Colors and sounds</a><br> +<a href="settings_tabs.html">Tabs</a><br> <a href="settings_windows.html">Windows</a><br> </div> <a href="settings_advanced.html">Advanced</a> Modified: dcplusplus/trunk/help/settings_advanced.html =================================================================== --- dcplusplus/trunk/help/settings_advanced.html 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/help/settings_advanced.html 2006-11-02 21:44:12 UTC (rev 684) @@ -90,12 +90,6 @@ the first search it matches. If disabled, it may appear multiple times, if it matches more than one search. <span style="font-style: italic;">Disable if unsure.</span></dd> - <dt><a name="tab_completion"></a>Tab Completion of Nicks in Chat</dt> - <dd>You can use the tab key to complete partial (beginnings) of -nicknames from the main chat text input field (press tab multiple times -to switch between multiple nicks). A partial nick will also match if -comes after something between brackets (e.g. "arne<tab>" would -match "[BBB]arnetheduck").</dd> <dt>Enable Safe and Compressed Transfers</dt> <dd>When transfering data with a compatible client, DC++ will try to use ZLIB compression with integrity checks. This uses some CPU cycles, @@ -119,12 +113,8 @@ <dt>Use CTRL for line history</dt> <dd>Press up arrow while holding down CTRL to scroll through line history. If not enabled, up arrow will be enough.</dd> - <dt>Use SSL when remote client supports it</dt> - <dd>When this option is enabled, DC++ will connect to remote -clients on an ADC hub that support SSL using SSL. This option is -an experimental one, and shouldn't imply that DC++ is secure in any way.</dd> - <span style="font-weight: bold;">Use SSL when remote client supports it<br> - </span> + <dt>Don't automatically disconnect favorite users who leave the hub</dt> + <dd>With this option enabled, and <a href="settings_advanced.html#disconnect">Automatically disconnect users who leave the hub</a>, users who are in your <a href="favorite_users.html">Favorite users</a> page are not disconnected.</dd> </dl> </body> </html> Modified: dcplusplus/trunk/help/settings_appearance.html =================================================================== --- dcplusplus/trunk/help/settings_appearance.html 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/help/settings_appearance.html 2006-11-02 21:44:12 UTC (rev 684) @@ -9,6 +9,8 @@ <h1>Appearance</h1> <h2>Options</h2> <dl style="margin-left: 40px;"> + <dt>Sort all downloads first</a> + <dd>With this option enabled, DC++ will sort the downloads and uploads; Current download(s), waiting download(s), current upload(s) and waiting upload(s). <br>With this option disabled, DC++ will sort downloads and uploads; Current download(s), current uploads(s), waiting download(s) and waiting upload(s)</dd> <dt>Filter kick and NMDC Debug Messages</dt> <dd>When enabled, kick and debug chat messages (sent by other clients) are hidden from main chat. These messages are generally not Modified: dcplusplus/trunk/help/settings_certs.html =================================================================== --- dcplusplus/trunk/help/settings_certs.html 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/help/settings_certs.html 2006-11-02 21:44:12 UTC (rev 684) @@ -10,13 +10,23 @@ <dl style="margin-left: 40px;"> <dt>Private key file</dt> - <dd></dd> + <dd>This file is your personal and private certificate file. <span style="font-weight: bold;">Do not share this with other users or hubs.</span> If you do, you risk allowing others to use your certificate and in essence pose as you.</dd> <dt>Own certificate file</dt> - <dd></dd> + <dd>This file is the certificate file you should give to other users and hubs that you want to consider "trusted". </dd> <dt>Trusted certificates path</dt> - <dd>Where trusted certificates will be stored. (default: the Certs\ subdirectory of where you've installed the application.) </dd> + <dd>Where trusted certificates from users or hubs will be stored. (default: the Certs\ subdirectory of where you've installed the application.) </dd> </dl> - +<h2>Options</h2> +<dl style="margin-left: 40px;"> + <dt>Use SSL when remote client supports it</dt> + <dd>When this option is enabled, DC++ will connect to remote +clients on an ADC hub that support SSL using SSL. This option is +an experimental one, and shouldn't imply that DC++ is secure in any way.</dd> + <dt>Allow TLS connections to hubs without trusted certificate</dt> + <dd>With this option disabled, all hubs you connect to must have a certificate in your Trusted certificate folder.</dd> + <dt>Allow TLS connections to clients without trusted certificate</dt> + <dd>With this option disabled, all client you connect to must have a certificate in your Trusted certificate folder.</dd> +</dl> To see effects, please restart DC++.<br> <br> SSL support is an experimental feature and doesn't imply that DC++ is secure in any way. Modified: dcplusplus/trunk/help/settings_colors_and_sounds.html =================================================================== --- dcplusplus/trunk/help/settings_colors_and_sounds.html 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/help/settings_colors_and_sounds.html 2006-11-02 21:44:12 UTC (rev 684) @@ -35,32 +35,8 @@ <dt>Make an annoying sound when a private message window is opened</dt> <dd>When set, the system's "Default Beep" sound will play when a private message window is opened. </dd> + <dt>Notification sound</dt> + <dd>Instead of the system's computer beep, you can select a different beep or tune for above options.</a> </dl> -<h2>Tab bolding on contents change</h2> -<dl style="margin-left: 40px;"> - <dt>Finished Downloads</dt> - <dd>When a download completes, the Finished -Downloads tab will turn bold if this option is selected.</dd> - <dt>Finished Uploads</dt> - <dd>When a upload completes, the Finished -Uploads tab will turn bold if this option is selected.</dd> - <dt>Download Queue</dt> - <dd>This option controls whether or not the Download Queue's tab will -highlight itself when a queue item changes state or finishes.</dd> - <dt>Hub</dt> - <dd>When a chat message appears in a hub that's -not focused the tab will become bold if you have this option selected.</dd> -<dt>Private message</dt> - <dd>When a private message appears that's -not focused the tab will become bold if you have this option selected.</dd> -<dt>Search</dt> - <dd>If more search result appear in an open search window that's -not focused the tab will become bold if you have this option selected.</dd> -<dt>Waiting users</dt> - <dd>If a user or an item is added or removed while the tab is not -focused, the tab will become bold if you have this option selected.</dd> -<dt>System log</dt> - <dd>If an system log entry is added while the tab is not focused, the tab will become bold if you have this option selected.</dd> -</dl> </body> </html> \ No newline at end of file Modified: dcplusplus/trunk/help/settings_expert.html =================================================================== --- dcplusplus/trunk/help/settings_expert.html 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/help/settings_expert.html 2006-11-02 21:44:12 UTC (rev 684) @@ -39,21 +39,15 @@ malformed file lists that require large amounts of memory to decode. You may need to reduce or increase the value of this setting based on personal experience. (default: 512 MiB)</dd> - <dt>CID</dt> - <dd>This is your unique client ID (CID) used to identify you on -ADC hubs.</dd> + <dt>PID</dt> + <dd>This is your unique private ID (PID). This will later with an algorithm be used to identify you on ADC hubs. <span style="font-weight: bold;">Do not share this with other users.</span></dd> <dt>Auto refresh time</dt> <dd>This controls the interval at which your shared directories are rescanned for new and changed content. This is measured in minutes (default: 60 minutes)</dd> - <dt>Write Buffer Size</dt> <dd>This controls the size of the chunks that DC++ writes to disk for downloads. Measured in kibibytes. (default: 16 KiB)</dd> - <dt>Max Tab Rows</dt> - <dd>The maximum number of rows of tabs that DC++ will make. Any -tabs that do not fit will be accessible through the chevron at the -right of the tab control. (default: 2)</dd> <dt><a name="searchhistory"></a>Search history</dt> <dd>Number of old search lines that will be shown in the Search @@ -76,6 +70,8 @@ <dt>Socket write buffer</dt> <dd>The size of the buffer DC++ use to write to sockets. Measured in bytes. (default: 8192 bytes)</dd> + <dt>Auto-search limit</dt> + <dd>This will limit the amount of sources a file can have before it will no longer be auto searched for. For example, if this option is set to 2, if a file has more than or exactly 2 sources, the file will be excluded from the auto-search list.</dd> </dl> </body> </html> Modified: dcplusplus/trunk/help/settings_queue.html =================================================================== --- dcplusplus/trunk/help/settings_queue.html 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/help/settings_queue.html 2006-11-02 21:44:12 UTC (rev 684) @@ -103,8 +103,10 @@ one, will consume some drive space.</dd> <dt>Don't download files already in share</dt> <dd>This option will stop you from downloading files which already -exist in one of your shared directories. Note that this only works with -those files which have a TTH.</dd> +exist in one of your shared directories.</dd> + <dt>Don't download files already in queue</dt> + <dd>This option will stop you from downloading files which already +exist in your queue.</dd> <dt><a name="antifrag"></a>Use AntiFragmentation Method for Downloads</dt> <dd>This option will try to reserve the full space needed for a file @@ -124,8 +126,6 @@ block fails verification, the previous block in the file will be tried, and so on, until a good block is found, or there is no more data in the file.</dd> - <dt>Only download files that have a TTH</dt> - <dd>With this option enabled, DC++ will <span style="font-weight: bold;">only</span> download files that have a TTH.</dd> </dl> </div> </body> Modified: dcplusplus/trunk/help/settings_windows.html =================================================================== --- dcplusplus/trunk/help/settings_windows.html 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/help/settings_windows.html 2006-11-02 21:44:12 UTC (rev 684) @@ -45,11 +45,16 @@ lessens the (user-friendly) Direct Connect experience, but is not always wise because failing to reply to a message from an Operator can get you kicked or, in the worst case, permanently banned from that hub.</span></dd> - <dt>Open Private Messages From Offline Users in Their Own Window</dt> + <dt>Open Private Messages from bots in their Own Window</dt> <dd>Enable this if you want messages from hub bots in their own window. When disabled they get sent as a status message in main chat instead which is less annoying yet still informative. <span style="font-style: italic;">This option only matters if you're not -ignoring private messages from offline users (previous option).</span></dd> +ignoring private messages from bots.</span></dd> + <dt>Open Private Messages from the hub in their Own Window</dt> + <dd>Enable this if you want messages from the hub in their own +window. When disabled they get sent as a status message in main chat +instead which is less annoying yet still informative. <span style="font-style: italic;">This option only matters if you're not +ignoring private messages from hubs.</span></dd> <dt>Open New File List Windows in the Background</dt> <dd>Keep this disabled if you want newly downloaded file lists to pop up in front of other windows. <span style="font-style: italic;">It can @@ -60,16 +65,17 @@ pop up in front of other windows.</dd> <dt><a name="new_window"></a>Open new window when using /join</dt> <dd>When using /join <ip>, a new window with the hub will open.</dd> - <dt>Ignore Private Messages From Offline Users</dt> - <dd>Enable this if you wish to ignore private messages from users -that are not online on the hub. These messages originate from hub bots -and generally contain useful information, like hub specific rules or -warnings.</dd> + <dt>Ignore Private Messages From the hub</dt> + <dd>Enable this if you wish to ignore private messages from the hub. However, these messages originate are generally contain useful information, like hub specific rules or warnings.</dd> + <dt>Ignore Private Messages From bots</dt> + <dd>Enable this if you wish to ignore private messages from bots. However, these messages originate are generally contain useful information, like hub specific rules or warnings.</dd> <dt>Toggle window when selecting an active tab</dt> <dd>With this option enabled, clicking on an active tab will mimic the behavior of Windows 98+ and send the currently active window to the background. The most recently accessed window will become the new active window.</dd> + <dt>Popup box to input password for hubs</dt> + <dd>When being prompted for a password in a hub, you will with this option enabled have a box popup and will allow you to enter your password. With this option disabled, you will be prompted with a "/password" instead. </dl> <h2>Confirm dialog options</h2> <dl style="margin-left: 40px;"> Modified: dcplusplus/trunk/help/toc.hhc =================================================================== --- dcplusplus/trunk/help/toc.hhc 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/help/toc.hhc 2006-11-02 21:44:12 UTC (rev 684) @@ -29,6 +29,10 @@ <param name="Local" value="adlsearch.html"> </OBJECT> <LI> <OBJECT type="text/sitemap"> + <param name="Name" value="Public Hubs"> + <param name="Local" value="public_hubs.html"> + </OBJECT> + <LI> <OBJECT type="text/sitemap"> <param name="Name" value="Favorite Hubs"> <param name="Local" value="favorite_hubs.html"> </OBJECT> @@ -122,6 +126,10 @@ <param name="Local" value="settings_colors_and_sounds.html"> </OBJECT> <LI> <OBJECT type="text/sitemap"> + <param name="Name" value="Tabs"> + <param name="Local" value="settings_tabs.html"> + </OBJECT> + <LI> <OBJECT type="text/sitemap"> <param name="Name" value="Windows"> <param name="Local" value="settings_windows.html"> </OBJECT> Modified: dcplusplus/trunk/windows/Appearance2Page.cpp =================================================================== --- dcplusplus/trunk/windows/Appearance2Page.cpp 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/windows/Appearance2Page.cpp 2006-11-02 21:44:12 UTC (rev 684) @@ -26,7 +26,8 @@ #include "WinUtil.h" PropPage::TextItem Appearance2Page::texts[] = { - { IDC_SETTINGS_BOLD_CONTENTS, ResourceManager::SETTINGS_BOLD_OPTIONS }, + { IDC_BEEP_NOTIFICATION, ResourceManager::SETTINGS_NOTIFICATION_SOUND }, + { IDC_BROWSE, ResourceManager::BROWSE_ACCEL }, { IDC_SETTINGS_COLORS, ResourceManager::SETTINGS_COLORS }, { IDC_SELWINCOLOR, ResourceManager::SETTINGS_SELECT_WINDOW_COLOR }, { IDC_SELTEXT, ResourceManager::SETTINGS_SELECT_TEXT_FACE }, @@ -43,21 +44,10 @@ PropPage::Item Appearance2Page::items[] = { { IDC_PRIVATE_MESSAGE_BEEP, SettingsManager::PRIVATE_MESSAGE_BEEP, PropPage::T_BOOL }, { IDC_PRIVATE_MESSAGE_BEEP_OPEN, SettingsManager::PRIVATE_MESSAGE_BEEP_OPEN, PropPage::T_BOOL }, + { IDC_BEEPFILE, SettingsManager::BEEPFILE, PropPage::T_STR }, { 0, 0, PropPage::T_END } }; -PropPage::ListItem Appearance2Page::listItems[] = { - { SettingsManager::BOLD_FINISHED_DOWNLOADS, ResourceManager::FINISHED_DOWNLOADS }, - { SettingsManager::BOLD_FINISHED_UPLOADS, ResourceManager::FINISHED_UPLOADS }, - { SettingsManager::BOLD_QUEUE, ResourceManager::DOWNLOAD_QUEUE }, - { SettingsManager::BOLD_HUB, ResourceManager::HUB }, - { SettingsManager::BOLD_PM, ResourceManager::PRIVATE_MESSAGE }, - { SettingsManager::BOLD_SEARCH, ResourceManager::SEARCH }, - { SettingsManager::BOLD_WAITING_USERS, ResourceManager::WAITING_USERS }, - { SettingsManager::BOLD_SYSTEM_LOG, ResourceManager::SYSTEM_LOG }, - { 0, ResourceManager::SETTINGS_AUTO_AWAY } -}; - Appearance2Page::~Appearance2Page() { ::DeleteObject(bgbrush); @@ -69,7 +59,7 @@ PropPage::translate((HWND)(*this), texts); ctrlExample.Attach(GetDlgItem(IDC_COLOREXAMPLE)); - PropPage::read((HWND)*this, items, listItems,GetDlgItem(IDC_BOLD_BOOLEANS)); + PropPage::read((HWND)*this, items, 0, 0); WinUtil::decodeFont(Text::toT(SETTING(TEXT_FONT)), font); // Do specialized reading here @@ -84,7 +74,7 @@ void Appearance2Page::write() { - PropPage::write((HWND)*this, items, listItems,GetDlgItem(IDC_BOLD_BOOLEANS)); + PropPage::write((HWND)*this, items, 0,0); settings->set(SettingsManager::TEXT_COLOR, (int)fg); settings->set(SettingsManager::BACKGROUND_COLOR, (int)bg); @@ -95,6 +85,18 @@ settings->set(SettingsManager::TEXT_FONT, Text::fromT(f)); } +LRESULT Appearance2Page::onBrowse(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) { + TCHAR buf[MAX_PATH]; + + GetDlgItemText(IDC_BEEPFILE, buf, MAX_PATH); + tstring x = buf; + + if(WinUtil::browseFile(x, m_hWnd, false) == IDOK) { + SetDlgItemText(IDC_BEEPFILE, x.c_str()); + } + return 0; +} + LRESULT Appearance2Page::onClickedBackground(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) { CColorDialog d(SETTING(BACKGROUND_COLOR), 0, *this); Modified: dcplusplus/trunk/windows/Appearance2Page.h =================================================================== --- dcplusplus/trunk/windows/Appearance2Page.h 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/windows/Appearance2Page.h 2006-11-02 21:44:12 UTC (rev 684) @@ -41,6 +41,7 @@ MESSAGE_HANDLER(WM_INITDIALOG, onInitDialog) MESSAGE_HANDLER(WM_CTLCOLORSTATIC, onCtlColor) MESSAGE_HANDLER(WM_HELP, onHelp) + COMMAND_HANDLER(IDC_BROWSE, BN_CLICKED, onBrowse) COMMAND_ID_HANDLER(IDC_SELTEXT, onClickedText) COMMAND_ID_HANDLER(IDC_SELWINCOLOR, onClickedBackground) COMMAND_ID_HANDLER(IDC_SETTINGS_UPLOAD_BAR_COLOR, onPickColor) @@ -49,6 +50,7 @@ END_MSG_MAP() LRESULT onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); + LRESULT onBrowse(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); LRESULT onHelp(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); LRESULT onClickedText(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); LRESULT onClickedBackground(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); @@ -66,7 +68,6 @@ static Item items[]; static TextItem texts[]; - static ListItem listItems[]; CStatic ctrlExample; COLORREF fg, bg, upBar, downBar; Modified: dcplusplus/trunk/windows/HubFrame.cpp =================================================================== --- dcplusplus/trunk/windows/HubFrame.cpp 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/windows/HubFrame.cpp 2006-11-02 21:44:12 UTC (rev 684) @@ -1295,6 +1295,12 @@ hubName += " - " + client->getHubDescription(); } hubName += " (" + client->getHubUrl() + ")"; +#ifdef _DEBUG + string version = client->getHubIdentity().get("VE"); + if(!version.empty()) { + hubName += " - " + version; + } +#endif speak(SET_WINDOW_TITLE, hubName); } void HubFrame::on(Message, Client*, const OnlineUser& from, const string& msg) throw() { Modified: dcplusplus/trunk/windows/PrivateFrame.cpp =================================================================== --- dcplusplus/trunk/windows/PrivateFrame.cpp 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/windows/PrivateFrame.cpp 2006-11-02 21:44:12 UTC (rev 684) @@ -17,6 +17,7 @@ */ #include "stdafx.h" +#include <mmsystem.h> #include "../client/DCPlusPlus.h" #include "Resource.h" @@ -86,11 +87,17 @@ } if(BOOLSETTING(PRIVATE_MESSAGE_BEEP) || BOOLSETTING(PRIVATE_MESSAGE_BEEP_OPEN)) { - MessageBeep(MB_OK); + if (SETTING(BEEPFILE).empty()) + MessageBeep(MB_OK); + else + ::PlaySound(Text::toT(SETTING(BEEPFILE)).c_str(), NULL, SND_FILENAME | SND_ASYNC); } } else { if(BOOLSETTING(PRIVATE_MESSAGE_BEEP)) { - MessageBeep(MB_OK); + if (SETTING(BEEPFILE).empty()) + MessageBeep(MB_OK); + else + ::PlaySound(Text::toT(SETTING(BEEPFILE)).c_str(), NULL, SND_FILENAME | SND_ASYNC); } i->second->addLine(aMessage); } Modified: dcplusplus/trunk/windows/PropertiesDlg.cpp =================================================================== --- dcplusplus/trunk/windows/PropertiesDlg.cpp 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/windows/PropertiesDlg.cpp 2006-11-02 21:44:12 UTC (rev 684) @@ -36,6 +36,7 @@ #include "WindowsPage.h" #include "QueuePage.h" #include "CertificatesPage.h" +#include "TabsPage.h" PropertiesDlg::PropertiesDlg(HWND parent, SettingsManager *s) : TreePropertySheet(CTSTRING(SETTINGS), 0, parent) { @@ -48,6 +49,7 @@ pages[n++] = new UploadPage(s); pages[n++] = new AppearancePage(s); pages[n++] = new Appearance2Page(s); + pages[n++] = new TabsPage(s); pages[n++] = new WindowsPage(s); pages[n++] = new AdvancedPage(s); pages[n++] = new LogPage(s); Modified: dcplusplus/trunk/windows/PropertiesDlg.h =================================================================== --- dcplusplus/trunk/windows/PropertiesDlg.h 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/windows/PropertiesDlg.h 2006-11-02 21:44:12 UTC (rev 684) @@ -29,7 +29,7 @@ class PropertiesDlg : public TreePropertySheet { public: - enum { numPages = 14 }; + enum { numPages = 15 }; BEGIN_MSG_MAP(PropertiesDlg) COMMAND_ID_HANDLER(IDOK, onOK) Modified: dcplusplus/trunk/windows/resource.h =================================================================== --- dcplusplus/trunk/windows/resource.h 2006-10-20 12:35:20 UTC (rev 683) +++ dcplusplus/trunk/windows/resource.h 2006-11-02 21:44:12 UTC (rev 684) @@ -54,6 +54,7 @@ #define IDD_WINDOWSPAGE 244 #define IDD_QUEUEPAGE 245 #define IDD_CERTIFICATESPAGE 246 +#define IDD_TABSPAGE 247 #define IDC_REFRESH 1000 #define IDC_NICK 1001 #define IDC_EMAIL 1002 @@ -431,6 +432,8 @@ #define IDC_CLOSE_ALL_SEARCH_FRAME 1426 #define IDC_SETTINGS_PORT_TLS 1427 #define IDC_MATCH_ALL 1428 +#define IDC_BEEPFILE 1429 +#define IDC_BEEP_NOTIFICATION 1430 #define IDC_BROWSELIST 3000 #define IDC_REMOVE_SOURCE 3500 #define IDC_PM 4000 @@ -472,7 +475,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 247 #define _APS_NEXT_COMMAND_VALUE 32789 -#define _APS_NEXT_CONTROL_VALUE 1429 +#define _APS_NEXT_CONTROL_VALUE 1431 #define _APS_NEXT_SYMED_VALUE 105 #endif #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |