You can subscribe to this list here.
| 2006 |
Jan
|
Feb
(24) |
Mar
(9) |
Apr
(4) |
May
(7) |
Jun
(13) |
Jul
(19) |
Aug
(1) |
Sep
(12) |
Oct
(20) |
Nov
(1) |
Dec
(15) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
|
Feb
(6) |
Mar
(24) |
Apr
(1) |
May
(10) |
Jun
(30) |
Jul
(46) |
Aug
(20) |
Sep
(12) |
Oct
(27) |
Nov
(51) |
Dec
(58) |
| 2008 |
Jan
(40) |
Feb
(40) |
Mar
(78) |
Apr
(138) |
May
(4) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2010 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
(2) |
Jul
(10) |
Aug
(1) |
Sep
(11) |
Oct
(31) |
Nov
(7) |
Dec
(1) |
| 2011 |
Jan
(1) |
Feb
|
Mar
(3) |
Apr
|
May
(1) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2012 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(2) |
Sep
|
Oct
|
Nov
(2) |
Dec
(2) |
| 2013 |
Jan
(3) |
Feb
(5) |
Mar
(1) |
Apr
|
May
|
Jun
(11) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(4) |
| 2014 |
Jan
(2) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2015 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <pie...@us...> - 2008-03-14 22:13:59
|
Revision: 1040
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1040&view=rev
Author: pietricica
Date: 2008-03-14 15:13:55 -0700 (Fri, 14 Mar 2008)
Log Message:
-----------
edited changelog, nsi , version and some small errors in some po files.
Modified Paths:
--------------
dcplusplus/trunk/DCPlusPlus.nsi
dcplusplus/trunk/changelog.txt
dcplusplus/trunk/dcpp/po/es.po
dcplusplus/trunk/dcpp/version.h
dcplusplus/trunk/win32/DCPlusPlus.rc
dcplusplus/trunk/win32/po/es.po
dcplusplus/trunk/win32/po/ro.po
Modified: dcplusplus/trunk/DCPlusPlus.nsi
===================================================================
--- dcplusplus/trunk/DCPlusPlus.nsi 2008-03-13 22:02:50 UTC (rev 1039)
+++ dcplusplus/trunk/DCPlusPlus.nsi 2008-03-14 22:13:55 UTC (rev 1040)
@@ -64,6 +64,127 @@
File "LICENSE-OpenSSL.txt"
File "mingwm10.dll"
File "magnet.exe"
+ SetOutPath "$INSTDIR\locale\ar\LC_MESSAGES\"
+File "locale\ar\LC_MESSAGES\dcpp-win32.mo"
+File "locale\ar\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\bg\LC_MESSAGES\"
+File "locale\bg\LC_MESSAGES\dcpp-win32.mo"
+File "locale\bg\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\bs\LC_MESSAGES\"
+File "locale\bs\LC_MESSAGES\dcpp-win32.mo"
+File "locale\bs\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\ca\LC_MESSAGES\"
+File "locale\ca\LC_MESSAGES\dcpp-win32.mo"
+File "locale\ca\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\cs\LC_MESSAGES\"
+File "locale\cs\LC_MESSAGES\dcpp-win32.mo"
+File "locale\cs\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\da\LC_MESSAGES\"
+File "locale\da\LC_MESSAGES\dcpp-win32.mo"
+File "locale\da\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\de\LC_MESSAGES\"
+File "locale\de\LC_MESSAGES\dcpp-win32.mo"
+File "locale\de\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\el\LC_MESSAGES\"
+File "locale\el\LC_MESSAGES\dcpp-win32.mo"
+File "locale\el\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\en_GB\LC_MESSAGES\"
+File "locale\en_GB\LC_MESSAGES\dcpp-win32.mo"
+File "locale\en_GB\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\es\LC_MESSAGES\"
+File "locale\es\LC_MESSAGES\dcpp-win32.mo"
+File "locale\es\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\fi\LC_MESSAGES\"
+File "locale\fi\LC_MESSAGES\dcpp-win32.mo"
+File "locale\fi\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\fr\LC_MESSAGES\"
+File "locale\fr\LC_MESSAGES\dcpp-win32.mo"
+File "locale\fr\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\gl\LC_MESSAGES\"
+File "locale\gl\LC_MESSAGES\dcpp-win32.mo"
+File "locale\gl\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\he\LC_MESSAGES\"
+File "locale\he\LC_MESSAGES\dcpp-win32.mo"
+File "locale\he\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\hr\LC_MESSAGES\"
+File "locale\hr\LC_MESSAGES\dcpp-win32.mo"
+File "locale\hr\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\hu\LC_MESSAGES\"
+File "locale\hu\LC_MESSAGES\dcpp-win32.mo"
+File "locale\hu\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\id\LC_MESSAGES\"
+File "locale\id\LC_MESSAGES\dcpp-win32.mo"
+File "locale\id\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\is\LC_MESSAGES\"
+File "locale\is\LC_MESSAGES\dcpp-win32.mo"
+File "locale\is\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\it\LC_MESSAGES\"
+File "locale\it\LC_MESSAGES\dcpp-win32.mo"
+File "locale\it\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\ja\LC_MESSAGES\"
+File "locale\ja\LC_MESSAGES\dcpp-win32.mo"
+File "locale\ja\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\km\LC_MESSAGES\"
+File "locale\km\LC_MESSAGES\dcpp-win32.mo"
+File "locale\km\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\ko\LC_MESSAGES\"
+File "locale\ko\LC_MESSAGES\dcpp-win32.mo"
+File "locale\ko\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\lt\LC_MESSAGES\"
+File "locale\lt\LC_MESSAGES\dcpp-win32.mo"
+File "locale\lt\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\lv\LC_MESSAGES\"
+File "locale\lv\LC_MESSAGES\dcpp-win32.mo"
+File "locale\lv\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\mk\LC_MESSAGES\"
+File "locale\mk\LC_MESSAGES\dcpp-win32.mo"
+File "locale\mk\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\ms\LC_MESSAGES\"
+
+File "locale\ms\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\nb\LC_MESSAGES\"
+File "locale\nb\LC_MESSAGES\dcpp-win32.mo"
+File "locale\nb\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\nl\LC_MESSAGES\"
+File "locale\nl\LC_MESSAGES\dcpp-win32.mo"
+File "locale\nl\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\pl\LC_MESSAGES\"
+File "locale\pl\LC_MESSAGES\dcpp-win32.mo"
+File "locale\pl\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\pt\LC_MESSAGES\"
+File "locale\pt\LC_MESSAGES\dcpp-win32.mo"
+File "locale\pt\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\pt_BR\LC_MESSAGES\"
+File "locale\pt_BR\LC_MESSAGES\dcpp-win32.mo"
+File "locale\pt_BR\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\ro\LC_MESSAGES\"
+File "locale\ro\LC_MESSAGES\dcpp-win32.mo"
+File "locale\ro\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\ru\LC_MESSAGES\"
+File "locale\ru\LC_MESSAGES\dcpp-win32.mo"
+File "locale\ru\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\sl\LC_MESSAGES\"
+File "locale\sl\LC_MESSAGES\dcpp-win32.mo"
+File "locale\sl\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\sq\LC_MESSAGES\"
+File "locale\sq\LC_MESSAGES\dcpp-win32.mo"
+File "locale\sq\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\sv\LC_MESSAGES\"
+File "locale\sv\LC_MESSAGES\dcpp-win32.mo"
+File "locale\sv\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\tr\LC_MESSAGES\"
+File "locale\tr\LC_MESSAGES\dcpp-win32.mo"
+File "locale\tr\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\uk\LC_MESSAGES\"
+File "locale\uk\LC_MESSAGES\dcpp-win32.mo"
+File "locale\uk\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\zh_CN\LC_MESSAGES\"
+File "locale\zh_CN\LC_MESSAGES\dcpp-win32.mo"
+File "locale\zh_CN\LC_MESSAGES\libdcpp.mo"
+SetOutPath "$INSTDIR\locale\zh_TW\LC_MESSAGES\"
+File "locale\zh_TW\LC_MESSAGES\dcpp-win32.mo"
+File "locale\zh_TW\LC_MESSAGES\libdcpp.mo"
+
; Remove opencow just in case we're upgrading
Delete "$INSTDIR\opencow.dll"
@@ -125,7 +246,89 @@
Delete "$INSTDIR\Example.xml"
Delete "$INSTDIR\Magnet.exe"
Delete "$INSTDIR\GeoIPCountryWhois.csv"
+ Delete "$INSTDIR\mingwm10.dll"
+ Delete "$INSTDIR\locale\ar\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\ar\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\bg\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\bg\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\bs\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\bs\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\ca\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\ca\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\cs\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\cs\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\da\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\da\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\de\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\de\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\el\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\el\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\en_GB\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\en_GB\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\es\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\es\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\fi\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\fi\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\fr\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\fr\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\gl\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\gl\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\he\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\he\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\hr\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\hr\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\hu\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\hu\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\id\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\id\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\is\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\is\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\it\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\it\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\ja\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\ja\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\km\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\km\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\ko\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\ko\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\lt\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\lt\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\lv\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\lv\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\mk\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\mk\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\ms\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\ms\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\nb\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\nb\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\nl\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\nl\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\pl\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\pl\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\pt\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\pt\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\pt_BR\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\pt_BR\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\ro\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\ro\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\ru\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\ru\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\sl\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\sl\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\sq\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\sq\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\sv\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\sv\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\tr\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\tr\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\uk\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\uk\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\zh_CN\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\zh_CN\LC_MESSAGES\libdcpp.mo"
+Delete "$INSTDIR\locale\zh_TW\LC_MESSAGES\dcpp-win32.mo"
+Delete "$INSTDIR\locale\zh_TW\LC_MESSAGES\libdcpp.mo"
+
; Remove registry entries
; dchub is likely only to be registered to us
; magnet is likely to be registere to other p2p apps
Modified: dcplusplus/trunk/changelog.txt
===================================================================
--- dcplusplus/trunk/changelog.txt 2008-03-13 22:02:50 UTC (rev 1039)
+++ dcplusplus/trunk/changelog.txt 2008-03-14 22:13:55 UTC (rev 1040)
@@ -1,4 +1,4 @@
--- 0.705 --
+-- 0.705 2008-03-14 --
* Several patches for better *nix compatibility of the core (thanks steven sheehy et al)
* Improve segmented download implementation
* Fix search request ip when using multiple ip's (thanks stanislav maslovski)
Modified: dcplusplus/trunk/dcpp/po/es.po
===================================================================
--- dcplusplus/trunk/dcpp/po/es.po 2008-03-13 22:02:50 UTC (rev 1039)
+++ dcplusplus/trunk/dcpp/po/es.po 2008-03-14 22:13:55 UTC (rev 1040)
@@ -73,7 +73,7 @@
#: dcpp/AdcHub.cpp:281
#, boost-format
msgid "%1% was kicked by %2%: %3%"
-msgstr "% 1% ha sido expulsado de% 2%:% 3%"
+msgstr "%1% ha sido expulsado de% 2%:% 3%"
#: dcpp/AdcHub.cpp:284
#, boost-format
Modified: dcplusplus/trunk/dcpp/version.h
===================================================================
--- dcplusplus/trunk/dcpp/version.h 2008-03-13 22:02:50 UTC (rev 1039)
+++ dcplusplus/trunk/dcpp/version.h 2008-03-14 22:13:55 UTC (rev 1040)
@@ -17,7 +17,7 @@
*/
#define APPNAME "DC++"
-#define VERSIONSTRING "0.704"
-#define VERSIONFLOAT 0.704
+#define VERSIONSTRING "0.705"
+#define VERSIONFLOAT 0.705
/* Update the .rc file as well... */
Modified: dcplusplus/trunk/win32/DCPlusPlus.rc
===================================================================
--- dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-13 22:02:50 UTC (rev 1039)
+++ dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-14 22:13:55 UTC (rev 1040)
@@ -835,8 +835,8 @@
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 0,7,0,4
- PRODUCTVERSION 0,7,0,4
+ FILEVERSION 0,7,0,5
+ PRODUCTVERSION 0,7,0,5
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -853,12 +853,12 @@
BEGIN
VALUE "Comments", "http://dcplusplus.sourceforge.net"
VALUE "FileDescription", "DC++"
- VALUE "FileVersion", "0, 7, 0, 4"
+ VALUE "FileVersion", "0, 7, 0, 5"
VALUE "InternalName", "DC++"
- VALUE "LegalCopyright", "Copyright 2001-2006 Jacek Sieka"
+ VALUE "LegalCopyright", "Copyright 2001-2008 Jacek Sieka"
VALUE "OriginalFilename", "DCPlusPlus.exe"
VALUE "ProductName", "DC++"
- VALUE "ProductVersion", "0, 7, 0, 4"
+ VALUE "ProductVersion", "0, 7, 0, 5"
END
END
BLOCK "VarFileInfo"
Modified: dcplusplus/trunk/win32/po/es.po
===================================================================
--- dcplusplus/trunk/win32/po/es.po 2008-03-13 22:02:50 UTC (rev 1039)
+++ dcplusplus/trunk/win32/po/es.po 2008-03-14 22:13:55 UTC (rev 1040)
@@ -1212,7 +1212,7 @@
#: win32/SplashWindow.cpp:77
#, boost-format
msgid "Loading DC++, please wait... (%1%)"
-msgstr "Cargando DC++, por favor espere ... (% 1%)"
+msgstr "Cargando DC++, por favor espere ... (%1%)"
#: win32/LogPage.cpp:47
msgid "Log downloads"
@@ -1726,7 +1726,7 @@
#: win32/TransferView.cpp:703
#, boost-format
msgid "Requesting %1%"
-msgstr "Solicitando % 1%"
+msgstr "Solicitando %1%"
#: win32/HashProgressDlg.cpp:48
msgid "Run in background"
@@ -2116,7 +2116,7 @@
#: win32/HubFrame.cpp:387
#, boost-format
msgid "Unknown command: %1%"
-msgstr "Comando desconocido:% 1%"
+msgstr "Comando desconocido: %1%"
#: win32/UploadPage.cpp:41
msgid "Upload slots"
Modified: dcplusplus/trunk/win32/po/ro.po
===================================================================
--- dcplusplus/trunk/win32/po/ro.po 2008-03-13 22:02:50 UTC (rev 1039)
+++ dcplusplus/trunk/win32/po/ro.po 2008-03-14 22:13:55 UTC (rev 1040)
@@ -24,7 +24,7 @@
msgid ""
"%1%\n"
"Open download page?"
-msgstr "Deschide pagina de descărcare?"
+msgstr "%1%\nDeschide pagina de descărcare?"
#: win32/TransferView.cpp:571
#, boost-format
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arn...@us...> - 2008-03-13 22:02:54
|
Revision: 1039
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1039&view=rev
Author: arnetheduck
Date: 2008-03-13 15:02:50 -0700 (Thu, 13 Mar 2008)
Log Message:
-----------
Update translations
Modified Paths:
--------------
dcplusplus/trunk/dcpp/po/ar.po
dcplusplus/trunk/dcpp/po/bg.po
dcplusplus/trunk/dcpp/po/bs.po
dcplusplus/trunk/dcpp/po/ca.po
dcplusplus/trunk/dcpp/po/cs.po
dcplusplus/trunk/dcpp/po/da.po
dcplusplus/trunk/dcpp/po/de.po
dcplusplus/trunk/dcpp/po/el.po
dcplusplus/trunk/dcpp/po/en_GB.po
dcplusplus/trunk/dcpp/po/es.po
dcplusplus/trunk/dcpp/po/fi.po
dcplusplus/trunk/dcpp/po/fr.po
dcplusplus/trunk/dcpp/po/gl.po
dcplusplus/trunk/dcpp/po/he.po
dcplusplus/trunk/dcpp/po/hr.po
dcplusplus/trunk/dcpp/po/hu.po
dcplusplus/trunk/dcpp/po/id.po
dcplusplus/trunk/dcpp/po/is.po
dcplusplus/trunk/dcpp/po/it.po
dcplusplus/trunk/dcpp/po/ja.po
dcplusplus/trunk/dcpp/po/km.po
dcplusplus/trunk/dcpp/po/ko.po
dcplusplus/trunk/dcpp/po/lt.po
dcplusplus/trunk/dcpp/po/lv.po
dcplusplus/trunk/dcpp/po/mk.po
dcplusplus/trunk/dcpp/po/ms.po
dcplusplus/trunk/dcpp/po/nb.po
dcplusplus/trunk/dcpp/po/nl.po
dcplusplus/trunk/dcpp/po/pl.po
dcplusplus/trunk/dcpp/po/pt.po
dcplusplus/trunk/dcpp/po/pt_BR.po
dcplusplus/trunk/dcpp/po/ro.po
dcplusplus/trunk/dcpp/po/ru.po
dcplusplus/trunk/dcpp/po/sl.po
dcplusplus/trunk/dcpp/po/sq.po
dcplusplus/trunk/dcpp/po/sv.po
dcplusplus/trunk/dcpp/po/tr.po
dcplusplus/trunk/dcpp/po/uk.po
dcplusplus/trunk/dcpp/po/zh_CN.po
dcplusplus/trunk/dcpp/po/zh_TW.po
dcplusplus/trunk/win32/po/ar.po
dcplusplus/trunk/win32/po/bg.po
dcplusplus/trunk/win32/po/bs.po
dcplusplus/trunk/win32/po/ca.po
dcplusplus/trunk/win32/po/cs.po
dcplusplus/trunk/win32/po/da.po
dcplusplus/trunk/win32/po/de.po
dcplusplus/trunk/win32/po/el.po
dcplusplus/trunk/win32/po/en_GB.po
dcplusplus/trunk/win32/po/es.po
dcplusplus/trunk/win32/po/fi.po
dcplusplus/trunk/win32/po/fr.po
dcplusplus/trunk/win32/po/gl.po
dcplusplus/trunk/win32/po/he.po
dcplusplus/trunk/win32/po/hr.po
dcplusplus/trunk/win32/po/hu.po
dcplusplus/trunk/win32/po/id.po
dcplusplus/trunk/win32/po/is.po
dcplusplus/trunk/win32/po/it.po
dcplusplus/trunk/win32/po/ja.po
dcplusplus/trunk/win32/po/km.po
dcplusplus/trunk/win32/po/ko.po
dcplusplus/trunk/win32/po/lt.po
dcplusplus/trunk/win32/po/lv.po
dcplusplus/trunk/win32/po/mk.po
dcplusplus/trunk/win32/po/nb.po
dcplusplus/trunk/win32/po/nl.po
dcplusplus/trunk/win32/po/pl.po
dcplusplus/trunk/win32/po/pt.po
dcplusplus/trunk/win32/po/pt_BR.po
dcplusplus/trunk/win32/po/ro.po
dcplusplus/trunk/win32/po/ru.po
dcplusplus/trunk/win32/po/sl.po
dcplusplus/trunk/win32/po/sq.po
dcplusplus/trunk/win32/po/sv.po
dcplusplus/trunk/win32/po/tr.po
dcplusplus/trunk/win32/po/uk.po
dcplusplus/trunk/win32/po/zh_CN.po
dcplusplus/trunk/win32/po/zh_TW.po
Modified: dcplusplus/trunk/dcpp/po/ar.po
===================================================================
--- dcplusplus/trunk/dcpp/po/ar.po 2008-03-12 21:46:22 UTC (rev 1038)
+++ dcplusplus/trunk/dcpp/po/ar.po 2008-03-13 22:02:50 UTC (rev 1039)
@@ -7,12 +7,15 @@
msgstr ""
"Project-Id-Version: dcpp\n"
"Report-Msgid-Bugs-To: dcp...@li...\n"
-"POT-Creation-Date: 2008-03-04 23:00+0100\n"
-"Last-Translator: <jma...@us...>\n"
+"POT-Creation-Date: 2008-03-12 21:38+0100\n"
+"PO-Revision-Date: 2008-03-05 00:18+0000\n"
+"Last-Translator: Jmarhoon <Unknown>\n"
+"Language-Team: LANGUAGE <LL...@li...>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: plurals=2; plural=(n != 1);\n"
+"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
#: dcpp/Util.cpp:381
#, c-format, boost-format
@@ -123,8 +126,13 @@
msgid "Certificate not trusted, unable to connect"
msgstr ""
+#: dcpp/BufferedSocket.cpp:148
+#, fuzzy
+msgid "Connection closed"
+msgstr "لا يمكن التوصيل"
+
#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
-#: dcpp/BufferedSocket.cpp:154
+#: dcpp/BufferedSocket.cpp:131
msgid "Connection timeout"
msgstr "لا يمكن التوصيل"
@@ -135,9 +143,9 @@
#: dcpp/ShareManager.cpp:418
msgid "Directory already shared"
-msgstr "المجلد مستخدم حاليا "
+msgstr "المجلد مستخدم حاليا"
-#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+#: dcpp/BufferedSocket.cpp:404
msgid "Disconnected"
msgstr "انفصل"
@@ -206,7 +214,7 @@
msgid ""
"Failed to set up the socks server for UDP relay (check socks address and "
"port)"
-msgstr "(افحص عنوان السوكس و البورت) UDP فشل في عمل سوكس سيرفر لحدوث تبادل في "
+msgstr "(افحص عنوان السوكس و البورت) UDP فشل في عمل سوكس سيرفر لحدوث تبادل في"
#: dcpp/ShareManager.cpp:776
#, fuzzy, boost-format
@@ -280,14 +288,14 @@
#: dcpp/FavoriteManager.cpp:438
msgid "Kick user(s)"
-msgstr "فصل المستخدم "
+msgstr "فصل المستخدم"
#: dcpp/ConnectionManager.cpp:230
#, boost-format
msgid "Listening socket failed (you need to restart %1%): %2%"
msgstr ""
-#: dcpp/BufferedSocket.cpp:261
+#: dcpp/BufferedSocket.cpp:237
msgid "Maximum command length exceeded"
msgstr ""
@@ -303,12 +311,12 @@
msgid "No slots available"
msgstr "لا توجد وصلة خالية"
-#: dcpp/AdcHub.cpp:576
+#: dcpp/AdcHub.cpp:577
#, boost-format
msgid "Not listening for connections - please restart %1%"
msgstr ""
-#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114
#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
#: dcpp/SearchManager.cpp:331
msgid "Offline"
Modified: dcplusplus/trunk/dcpp/po/bg.po
===================================================================
--- dcplusplus/trunk/dcpp/po/bg.po 2008-03-12 21:46:22 UTC (rev 1038)
+++ dcplusplus/trunk/dcpp/po/bg.po 2008-03-13 22:02:50 UTC (rev 1039)
@@ -7,12 +7,15 @@
msgstr ""
"Project-Id-Version: dcpp\n"
"Report-Msgid-Bugs-To: dcp...@li...\n"
-"POT-Creation-Date: 2008-03-04 23:00+0100\n"
-"Last-Translator: <gre...@us...>\n"
+"POT-Creation-Date: 2008-03-12 21:38+0100\n"
+"PO-Revision-Date: 2008-03-05 00:08+0000\n"
+"Last-Translator: Greatgenius <Unknown>\n"
+"Language-Team: LANGUAGE <LL...@li...>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: plurals=2; plural=(n != 1);\n"
+"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
#: dcpp/Util.cpp:381
#, c-format, boost-format
@@ -124,8 +127,13 @@
msgid "Certificate not trusted, unable to connect"
msgstr ""
+#: dcpp/BufferedSocket.cpp:148
+#, fuzzy
+msgid "Connection closed"
+msgstr "Времето за свързване изтече!"
+
#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
-#: dcpp/BufferedSocket.cpp:154
+#: dcpp/BufferedSocket.cpp:131
msgid "Connection timeout"
msgstr "Времето за свързване изтече!"
@@ -138,7 +146,7 @@
msgid "Directory already shared"
msgstr "Папката вече е споделена!"
-#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+#: dcpp/BufferedSocket.cpp:404
msgid "Disconnected"
msgstr "Изключен/Прекъснат"
@@ -294,7 +302,7 @@
msgid "Listening socket failed (you need to restart %1%): %2%"
msgstr ""
-#: dcpp/BufferedSocket.cpp:261
+#: dcpp/BufferedSocket.cpp:237
msgid "Maximum command length exceeded"
msgstr ""
@@ -310,12 +318,12 @@
msgid "No slots available"
msgstr "Няма слотове на разположение"
-#: dcpp/AdcHub.cpp:576
+#: dcpp/AdcHub.cpp:577
#, boost-format
msgid "Not listening for connections - please restart %1%"
msgstr ""
-#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114
#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
#: dcpp/SearchManager.cpp:331
msgid "Offline"
Modified: dcplusplus/trunk/dcpp/po/bs.po
===================================================================
--- dcplusplus/trunk/dcpp/po/bs.po 2008-03-12 21:46:22 UTC (rev 1038)
+++ dcplusplus/trunk/dcpp/po/bs.po 2008-03-13 22:02:50 UTC (rev 1039)
@@ -7,12 +7,15 @@
msgstr ""
"Project-Id-Version: dcpp\n"
"Report-Msgid-Bugs-To: dcp...@li...\n"
-"POT-Creation-Date: 2008-03-04 23:00+0100\n"
-"Last-Translator: <mi...@us...>\n"
+"POT-Creation-Date: 2008-03-12 21:38+0100\n"
+"PO-Revision-Date: 2008-03-05 00:12+0000\n"
+"Last-Translator: Mikula <Unknown>\n"
+"Language-Team: LANGUAGE <LL...@li...>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: plurals=2; plural=(n != 1);\n"
+"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
#: dcpp/Util.cpp:381
#, c-format, boost-format
@@ -123,8 +126,13 @@
msgid "Certificate not trusted, unable to connect"
msgstr ""
+#: dcpp/BufferedSocket.cpp:148
+#, fuzzy
+msgid "Connection closed"
+msgstr "Vrijeme za vezu isteklo"
+
#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
-#: dcpp/BufferedSocket.cpp:154
+#: dcpp/BufferedSocket.cpp:131
msgid "Connection timeout"
msgstr "Vrijeme za vezu isteklo"
@@ -137,7 +145,7 @@
msgid "Directory already shared"
msgstr "Sadrzaj se vec dijeli"
-#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+#: dcpp/BufferedSocket.cpp:404
msgid "Disconnected"
msgstr "Iskljucen"
@@ -290,7 +298,7 @@
msgid "Listening socket failed (you need to restart %1%): %2%"
msgstr ""
-#: dcpp/BufferedSocket.cpp:261
+#: dcpp/BufferedSocket.cpp:237
msgid "Maximum command length exceeded"
msgstr ""
@@ -306,12 +314,12 @@
msgid "No slots available"
msgstr "Nema slobodnih slotova"
-#: dcpp/AdcHub.cpp:576
+#: dcpp/AdcHub.cpp:577
#, boost-format
msgid "Not listening for connections - please restart %1%"
msgstr ""
-#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114
#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
#: dcpp/SearchManager.cpp:331
msgid "Offline"
Modified: dcplusplus/trunk/dcpp/po/ca.po
===================================================================
--- dcplusplus/trunk/dcpp/po/ca.po 2008-03-12 21:46:22 UTC (rev 1038)
+++ dcplusplus/trunk/dcpp/po/ca.po 2008-03-13 22:02:50 UTC (rev 1039)
@@ -7,12 +7,15 @@
msgstr ""
"Project-Id-Version: dcpp\n"
"Report-Msgid-Bugs-To: dcp...@li...\n"
-"POT-Creation-Date: 2008-03-04 23:00+0100\n"
-"Last-Translator: <su...@us...>\n"
+"POT-Creation-Date: 2008-03-12 21:38+0100\n"
+"PO-Revision-Date: 2008-03-05 00:46+0000\n"
+"Last-Translator: Sunbit <Unknown>\n"
+"Language-Team: LANGUAGE <LL...@li...>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: plurals=2; plural=(n != 1);\n"
+"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
#: dcpp/Util.cpp:381
#, c-format, boost-format
@@ -124,8 +127,13 @@
msgid "Certificate not trusted, unable to connect"
msgstr ""
+#: dcpp/BufferedSocket.cpp:148
+#, fuzzy
+msgid "Connection closed"
+msgstr "S'ha esgotat el temps per la conexió"
+
#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
-#: dcpp/BufferedSocket.cpp:154
+#: dcpp/BufferedSocket.cpp:131
msgid "Connection timeout"
msgstr "S'ha esgotat el temps per la conexió"
@@ -138,7 +146,7 @@
msgid "Directory already shared"
msgstr "Aquest directori ja està compartit"
-#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+#: dcpp/BufferedSocket.cpp:404
msgid "Disconnected"
msgstr "Desconectat"
@@ -292,7 +300,7 @@
msgid "Listening socket failed (you need to restart %1%): %2%"
msgstr ""
-#: dcpp/BufferedSocket.cpp:261
+#: dcpp/BufferedSocket.cpp:237
msgid "Maximum command length exceeded"
msgstr ""
@@ -308,12 +316,12 @@
msgid "No slots available"
msgstr "No queden slots disponibles"
-#: dcpp/AdcHub.cpp:576
+#: dcpp/AdcHub.cpp:577
#, boost-format
msgid "Not listening for connections - please restart %1%"
msgstr ""
-#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114
#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
#: dcpp/SearchManager.cpp:331
msgid "Offline"
Modified: dcplusplus/trunk/dcpp/po/cs.po
===================================================================
--- dcplusplus/trunk/dcpp/po/cs.po 2008-03-12 21:46:22 UTC (rev 1038)
+++ dcplusplus/trunk/dcpp/po/cs.po 2008-03-13 22:02:50 UTC (rev 1039)
@@ -7,14 +7,14 @@
msgstr ""
"Project-Id-Version: dcplusplus\n"
"Report-Msgid-Bugs-To: dcp...@li...\n"
-"POT-Creation-Date: 2008-03-04 23:00+0100\n"
-"PO-Revision-Date: 2008-02-08 19:17+0000\n"
+"POT-Creation-Date: 2008-03-12 21:38+0100\n"
+"PO-Revision-Date: 2008-03-05 00:25+0000\n"
"Last-Translator: marek.tomass <mar...@gm...>\n"
"Language-Team: Czech <cs...@li...>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2008-03-04 21:52+0000\n"
+"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: dcpp/Util.cpp:381
@@ -129,8 +129,13 @@
msgid "Certificate not trusted, unable to connect"
msgstr ""
+#: dcpp/BufferedSocket.cpp:148
+#, fuzzy
+msgid "Connection closed"
+msgstr "Cas pro pripojeni vyprsel"
+
#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
-#: dcpp/BufferedSocket.cpp:154
+#: dcpp/BufferedSocket.cpp:131
msgid "Connection timeout"
msgstr "Cas pro pripojeni vyprsel"
@@ -143,7 +148,7 @@
msgid "Directory already shared"
msgstr "Slozka je uz sdilena"
-#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+#: dcpp/BufferedSocket.cpp:404
msgid "Disconnected"
msgstr "Odpojeny"
@@ -229,7 +234,7 @@
msgid ""
"File list refresh in progress, please wait for it to finish before trying to "
"refresh again"
-msgstr "Cekejte prosim, az sa dokonci obnova seznamu souboru "
+msgstr "Cekejte prosim, az sa dokonci obnova seznamu souboru"
#: dcpp/ShareManager.cpp:798
msgid "File list refresh initiated"
@@ -297,7 +302,7 @@
msgid "Listening socket failed (you need to restart %1%): %2%"
msgstr ""
-#: dcpp/BufferedSocket.cpp:261
+#: dcpp/BufferedSocket.cpp:237
msgid "Maximum command length exceeded"
msgstr ""
@@ -313,12 +318,12 @@
msgid "No slots available"
msgstr "Nejsou volne zadne sloty"
-#: dcpp/AdcHub.cpp:576
+#: dcpp/AdcHub.cpp:577
#, boost-format
msgid "Not listening for connections - please restart %1%"
msgstr ""
-#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114
#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
#: dcpp/SearchManager.cpp:331
msgid "Offline"
Modified: dcplusplus/trunk/dcpp/po/da.po
===================================================================
--- dcplusplus/trunk/dcpp/po/da.po 2008-03-12 21:46:22 UTC (rev 1038)
+++ dcplusplus/trunk/dcpp/po/da.po 2008-03-13 22:02:50 UTC (rev 1039)
@@ -7,14 +7,14 @@
msgstr ""
"Project-Id-Version: dcplusplus\n"
"Report-Msgid-Bugs-To: dcp...@li...\n"
-"POT-Creation-Date: 2008-03-04 23:00+0100\n"
-"PO-Revision-Date: 2008-02-23 10:32+0000\n"
-"Last-Translator: carson <Unknown>\n"
+"POT-Creation-Date: 2008-03-12 21:38+0100\n"
+"PO-Revision-Date: 2008-03-10 10:27+0000\n"
+"Last-Translator: Kryppy <Unknown>\n"
"Language-Team: Danish <da...@li...>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2008-03-04 21:52+0000\n"
+"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: dcpp/Util.cpp:381
@@ -61,7 +61,7 @@
#, boost-format
msgid ""
"%1% not shared; calculated CRC32 does not match the one found in SFV file."
-msgstr ""
+msgstr "%1% Ikke delt; Udregnet CRC32 matcher ikke den som fantes i SFV filen."
#: dcpp/QueueManager.cpp:325
#, boost-format
@@ -128,21 +128,26 @@
msgid "Certificate not trusted, unable to connect"
msgstr "Certifikan ikke pålideligt, kan ikke tilslutte"
+#: dcpp/BufferedSocket.cpp:148
+#, fuzzy
+msgid "Connection closed"
+msgstr "Tiden er udløbet for forbindelsen"
+
#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
-#: dcpp/BufferedSocket.cpp:154
+#: dcpp/BufferedSocket.cpp:131
msgid "Connection timeout"
msgstr "Tiden er udløbet for forbindelsen"
#: dcpp/DownloadManager.cpp:232
#, boost-format
msgid "Could not open target file: %1%"
-msgstr ""
+msgstr "Kunne ikke åbne den valgte fil:: %1%"
#: dcpp/ShareManager.cpp:418
msgid "Directory already shared"
msgstr "Katalog deles allerede"
-#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+#: dcpp/BufferedSocket.cpp:404
msgid "Disconnected"
msgstr "Afbrudt"
@@ -165,7 +170,7 @@
#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549
#, boost-format
msgid "Duplicate source: %1%"
-msgstr ""
+msgstr "Kilden findes allerede: %1%"
#: dcpp/HashManager.cpp:456
#, boost-format
@@ -189,9 +194,9 @@
msgstr ""
#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333
-#, boost-format
+#, fuzzy, boost-format
msgid "Error saving hash data: %1%"
-msgstr ""
+msgstr "Fejl ved lagering af TTH-data: %1%"
#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230
#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239
@@ -218,7 +223,7 @@
#: dcpp/ShareManager.cpp:776
#, boost-format
msgid "File list refresh failed: %1%"
-msgstr ""
+msgstr "Opdatering af fillisten mislykkes: %1%"
#: dcpp/ShareManager.cpp:820
msgid "File list refresh finished"
@@ -240,14 +245,14 @@
msgstr "Filen er ikke tilgængelig"
#: dcpp/HashManager.cpp:89
-#, boost-format
+#, fuzzy, boost-format
msgid "Finished hashing: %1%"
-msgstr ""
+msgstr "Færdig med at hashe: %1%"
#: dcpp/HashManager.cpp:87
-#, boost-format
+#, fuzzy, boost-format
msgid "Finished hashing: %1% (%2%/s)"
-msgstr ""
+msgstr "Færdig med at hashe: %1% (%2%/s)"
#: dcpp/DownloadManager.cpp:308
msgid "Full tree does not match TTH root"
@@ -266,9 +271,9 @@
msgstr "Hash databasen er genopbygget"
#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277
-#, boost-format
+#, fuzzy, boost-format
msgid "Hashing failed: %1%"
-msgstr ""
+msgstr "Indeksering misslyktes: %1%"
#: dcpp/AdcHub.cpp:212
msgid ""
@@ -297,7 +302,7 @@
msgid "Listening socket failed (you need to restart %1%): %2%"
msgstr ""
-#: dcpp/BufferedSocket.cpp:261
+#: dcpp/BufferedSocket.cpp:237
msgid "Maximum command length exceeded"
msgstr "Maxsimal længde for kommando overskredet"
@@ -313,12 +318,12 @@
msgid "No slots available"
msgstr "Ingen ledige slots"
-#: dcpp/AdcHub.cpp:576
+#: dcpp/AdcHub.cpp:577
#, boost-format
msgid "Not listening for connections - please restart %1%"
msgstr ""
-#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114
#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
#: dcpp/SearchManager.cpp:331
msgid "Offline"
@@ -348,7 +353,7 @@
#: dcpp/CryptoManager.cpp:221
#, boost-format
msgid "TLS disabled, failed to generate certificate: %1%"
-msgstr ""
+msgstr "TLS deaktiveret, det misslykkedes at skabe certifikat: %1%"
#: dcpp/CryptoManager.cpp:211
msgid "TLS disabled, no certificate file set"
Modified: dcplusplus/trunk/dcpp/po/de.po
===================================================================
--- dcplusplus/trunk/dcpp/po/de.po 2008-03-12 21:46:22 UTC (rev 1038)
+++ dcplusplus/trunk/dcpp/po/de.po 2008-03-13 22:02:50 UTC (rev 1039)
@@ -7,14 +7,14 @@
msgstr ""
"Project-Id-Version: dcplusplus\n"
"Report-Msgid-Bugs-To: dcp...@li...\n"
-"POT-Creation-Date: 2008-03-04 23:00+0100\n"
-"PO-Revision-Date: 2008-02-07 14:02+0000\n"
+"POT-Creation-Date: 2008-03-12 21:38+0100\n"
+"PO-Revision-Date: 2008-03-06 16:59+0000\n"
"Last-Translator: soccer <soc...@gm...>\n"
"Language-Team: German <de...@li...>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2008-03-04 21:52+0000\n"
+"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: dcpp/Util.cpp:381
@@ -50,7 +50,7 @@
#: dcpp/AdcHub.cpp:139
#, boost-format
msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring"
-msgstr ""
+msgstr "%1% (%2%) hat die gleiche CID {%3%} wie %4% (%5%), wird ignoriert"
#: dcpp/NmdcHub.cpp:281
#, boost-format
@@ -73,12 +73,12 @@
#: dcpp/AdcHub.cpp:281
#, boost-format
msgid "%1% was kicked by %2%: %3%"
-msgstr ""
+msgstr "%1% wurde von %2% gekickt: %3%"
#: dcpp/AdcHub.cpp:284
#, boost-format
msgid "%1% was kicked: %2%"
-msgstr ""
+msgstr "%1% wurde gekickt: %2%"
#: dcpp/DownloadManager.cpp:530
#, boost-format
@@ -130,8 +130,13 @@
msgid "Certificate not trusted, unable to connect"
msgstr "Zertifikat nicht vertrauenswürdig, Verbindung nicht möglich"
+#: dcpp/BufferedSocket.cpp:148
+#, fuzzy
+msgid "Connection closed"
+msgstr "Zeitüberschreitung der Verbindung"
+
#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
-#: dcpp/BufferedSocket.cpp:154
+#: dcpp/BufferedSocket.cpp:131
msgid "Connection timeout"
msgstr "Zeitüberschreitung der Verbindung"
@@ -144,7 +149,7 @@
msgid "Directory already shared"
msgstr "Verzeichnis ist bereits freigegeben"
-#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+#: dcpp/BufferedSocket.cpp:404
msgid "Disconnected"
msgstr "Getrennt"
@@ -209,7 +214,7 @@
#: dcpp/AdcHub.cpp:206
msgid "Failed to negotiate base protocol"
-msgstr ""
+msgstr "Basisprotokoll konnte nicht bestimmt werden"
#: dcpp/Socket.cpp:408
msgid ""
@@ -280,6 +285,8 @@
"Hub probably uses an old version of ADC, please encourage the owner to "
"upgrade"
msgstr ""
+"Hub benutzt möglicherweise eine alte Version von ADC. Bitte empfehlen Sie "
+"dem Besitzer zu aktualisieren."
#: dcpp/DownloadManager.cpp:220
msgid "Invalid size"
@@ -298,11 +305,11 @@
msgstr "Kicke User"
#: dcpp/ConnectionManager.cpp:230
-#, fuzzy, boost-format
+#, boost-format
msgid "Listening socket failed (you need to restart %1%): %2%"
-msgstr "Lesen vom Socket fehlgeschlagen (DC++ muss neugestartet werden): %1%"
+msgstr "Lesen vom Socket fehlgeschlagen (%1% muss neugestartet werden): %2%"
-#: dcpp/BufferedSocket.cpp:261
+#: dcpp/BufferedSocket.cpp:237
msgid "Maximum command length exceeded"
msgstr "Maximale Befehlslänge überschritten"
@@ -318,12 +325,12 @@
msgid "No slots available"
msgstr "Keine Slots verfügbar"
-#: dcpp/AdcHub.cpp:576
-#, fuzzy, boost-format
+#: dcpp/AdcHub.cpp:577
+#, boost-format
msgid "Not listening for connections - please restart %1%"
-msgstr "Es wird nicht auf Verbindungen gewartet - bitte DC++ neustarten"
+msgstr "Es wird nicht auf Verbindungen gewartet - bitte %1% neustarten"
-#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114
#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
#: dcpp/SearchManager.cpp:331
msgid "Offline"
@@ -338,9 +345,8 @@
msgstr "Alle Unterverzeichnisse entfernen bevor dieses hinzugefügt wird"
#: dcpp/DownloadManager.cpp:225
-#, fuzzy
msgid "Response does not match request"
-msgstr "Kompletter Baum stimmt nicht mit TTH Root überein"
+msgstr "Antwort stimmt nicht mit Anfrage überein"
#: dcpp/DCPlusPlus.cpp:100
msgid "Shared Files"
Modified: dcplusplus/trunk/dcpp/po/el.po
===================================================================
--- dcplusplus/trunk/dcpp/po/el.po 2008-03-12 21:46:22 UTC (rev 1038)
+++ dcplusplus/trunk/dcpp/po/el.po 2008-03-13 22:02:50 UTC (rev 1039)
@@ -7,12 +7,15 @@
msgstr ""
"Project-Id-Version: dcpp\n"
"Report-Msgid-Bugs-To: dcp...@li...\n"
-"POT-Creation-Date: 2008-03-04 23:00+0100\n"
-"Last-Translator: <jo...@us...>\n"
+"POT-Creation-Date: 2008-03-12 21:38+0100\n"
+"PO-Revision-Date: 2008-03-05 00:45+0000\n"
+"Last-Translator: Johnkok <Unknown>\n"
+"Language-Team: LANGUAGE <LL...@li...>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
#: dcpp/Util.cpp:381
#, c-format, boost-format
@@ -124,8 +127,13 @@
msgid "Certificate not trusted, unable to connect"
msgstr "Μη ασφαλές πιστοποιητικό, αδύνατη η σύνδεση"
+#: dcpp/BufferedSocket.cpp:148
+#, fuzzy
+msgid "Connection closed"
+msgstr "Σύνδεση εκτός χρόνου"
+
#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
-#: dcpp/BufferedSocket.cpp:154
+#: dcpp/BufferedSocket.cpp:131
msgid "Connection timeout"
msgstr "Σύνδεση εκτός χρόνου"
@@ -138,7 +146,7 @@
msgid "Directory already shared"
msgstr "Ο φάκελος είναι ήδη κοινόχρηστος"
-#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+#: dcpp/BufferedSocket.cpp:404
msgid "Disconnected"
msgstr "Αποσυνδέθηκε"
@@ -294,7 +302,7 @@
msgid "Listening socket failed (you need to restart %1%): %2%"
msgstr ""
-#: dcpp/BufferedSocket.cpp:261
+#: dcpp/BufferedSocket.cpp:237
msgid "Maximum command length exceeded"
msgstr "Υπέρβαση του μέγιστου μήκους εντολής"
@@ -310,12 +318,12 @@
msgid "No slots available"
msgstr "Δεν υπάρχουν ελεύθερες θέσεις"
-#: dcpp/AdcHub.cpp:576
+#: dcpp/AdcHub.cpp:577
#, boost-format
msgid "Not listening for connections - please restart %1%"
msgstr ""
-#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114
#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
#: dcpp/SearchManager.cpp:331
msgid "Offline"
Modified: dcplusplus/trunk/dcpp/po/en_GB.po
===================================================================
--- dcplusplus/trunk/dcpp/po/en_GB.po 2008-03-12 21:46:22 UTC (rev 1038)
+++ dcplusplus/trunk/dcpp/po/en_GB.po 2008-03-13 22:02:50 UTC (rev 1039)
@@ -7,14 +7,14 @@
msgstr ""
"Project-Id-Version: dcplusplus\n"
"Report-Msgid-Bugs-To: dcp...@li...\n"
-"POT-Creation-Date: 2008-03-04 23:00+0100\n"
-"PO-Revision-Date: 2008-02-28 12:52+0000\n"
+"POT-Creation-Date: 2008-03-12 21:38+0100\n"
+"PO-Revision-Date: 2008-03-06 11:07+0000\n"
"Last-Translator: MikeJJ <Unknown>\n"
"Language-Team: English (United Kingdom) <en...@li...>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2008-03-04 21:52+0000\n"
+"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: dcpp/Util.cpp:381
@@ -50,7 +50,7 @@
#: dcpp/AdcHub.cpp:139
#, boost-format
msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring"
-msgstr ""
+msgstr "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring"
#: dcpp/NmdcHub.cpp:281
#, boost-format
@@ -72,12 +72,12 @@
#: dcpp/AdcHub.cpp:281
#, boost-format
msgid "%1% was kicked by %2%: %3%"
-msgstr ""
+msgstr "%1% was kicked by %2%: %3%"
#: dcpp/AdcHub.cpp:284
#, boost-format
msgid "%1% was kicked: %2%"
-msgstr ""
+msgstr "%1% was kicked: %2%"
#: dcpp/DownloadManager.cpp:530
#, boost-format
@@ -127,8 +127,13 @@
msgid "Certificate not trusted, unable to connect"
msgstr "Certificate not trusted, unable to connect"
+#: dcpp/BufferedSocket.cpp:148
+#, fuzzy
+msgid "Connection closed"
+msgstr "Connection timeout"
+
#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
-#: dcpp/BufferedSocket.cpp:154
+#: dcpp/BufferedSocket.cpp:131
msgid "Connection timeout"
msgstr "Connection timeout"
@@ -141,7 +146,7 @@
msgid "Directory already shared"
msgstr "Directory already shared"
-#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+#: dcpp/BufferedSocket.cpp:404
msgid "Disconnected"
msgstr "Disconnected"
@@ -206,7 +211,7 @@
#: dcpp/AdcHub.cpp:206
msgid "Failed to negotiate base protocol"
-msgstr ""
+msgstr "Failed to negotiate base protocol"
#: dcpp/Socket.cpp:408
msgid ""
@@ -277,6 +282,8 @@
"Hub probably uses an old version of ADC, please encourage the owner to "
"upgrade"
msgstr ""
+"Hub probably uses an old version of ADC, please encourage the owner to "
+"upgrade"
#: dcpp/DownloadManager.cpp:220
msgid "Invalid size"
@@ -295,11 +302,11 @@
msgstr "Kick user(s)"
#: dcpp/ConnectionManager.cpp:230
-#, fuzzy, boost-format
+#, boost-format
msgid "Listening socket failed (you need to restart %1%): %2%"
-msgstr "Listening socket failed (you need to restart DC++): %1%"
+msgstr "Listening socket failed (you need to restart %1%): %2%"
-#: dcpp/BufferedSocket.cpp:261
+#: dcpp/BufferedSocket.cpp:237
msgid "Maximum command length exceeded"
msgstr "Maximum command length exceeded"
@@ -315,12 +322,12 @@
msgid "No slots available"
msgstr "No slots available"
-#: dcpp/AdcHub.cpp:576
-#, fuzzy, boost-format
+#: dcpp/AdcHub.cpp:577
+#, boost-format
msgid "Not listening for connections - please restart %1%"
-msgstr "Not listening for connections - please restart DC++"
+msgstr "Not listening for connections - please restart %1%"
-#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114
#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
#: dcpp/SearchManager.cpp:331
msgid "Offline"
@@ -335,9 +342,8 @@
msgstr "Remove all subdirectories before adding this one"
#: dcpp/DownloadManager.cpp:225
-#, fuzzy
msgid "Response does not match request"
-msgstr "Full tree does not match TTH root"
+msgstr "Response does not match request"
#: dcpp/DCPlusPlus.cpp:100
msgid "Shared Files"
Modified: dcplusplus/trunk/dcpp/po/es.po
===================================================================
--- dcplusplus/trunk/dcpp/po/es.po 2008-03-12 21:46:22 UTC (rev 1038)
+++ dcplusplus/trunk/dcpp/po/es.po 2008-03-13 22:02:50 UTC (rev 1039)
@@ -7,88 +7,93 @@
msgstr ""
"Project-Id-Version: dcpp\n"
"Report-Msgid-Bugs-To: dcp...@li...\n"
-"POT-Creation-Date: 2008-03-04 23:00+0100\n"
-"Last-Translator: <re...@us...>\n"
+"POT-Creation-Date: 2008-03-12 21:38+0100\n"
+"PO-Revision-Date: 2008-03-07 12:20+0000\n"
+"Last-Translator: Kryppy <Unknown>\n"
+"Language-Team: LANGUAGE <LL...@li...>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
#: dcpp/Util.cpp:381
#, c-format, boost-format
msgid "%'lld B"
-msgstr ""
+msgstr "%'lld B"
#: dcpp/Util.cpp:343
#, c-format, boost-format
msgid "%.02f GiB"
-msgstr ""
+msgstr "%.02f GiB"
#: dcpp/Util.cpp:339
#, c-format, boost-format
msgid "%.02f KiB"
-msgstr ""
+msgstr "%.02f KiB"
#: dcpp/Util.cpp:341
#, c-format, boost-format
msgid "%.02f MiB"
-msgstr ""
+msgstr "%.02f MiB"
#: dcpp/Util.cpp:347
#, c-format, boost-format
msgid "%.02f PiB"
-msgstr ""
+msgstr "%.02f PiB"
#: dcpp/Util.cpp:345
#, c-format, boost-format
msgid "%.02f TiB"
-msgstr ""
+msgstr "%.02f TiB"
#: dcpp/AdcHub.cpp:139
#, boost-format
msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring"
-msgstr ""
+msgstr "%1% (%2%) tiene el mismo CID {%3%} como %4% (%5%), ignorando"
#: dcpp/NmdcHub.cpp:281
#, boost-format
msgid "%1% (Nick unknown)"
-msgstr ""
+msgstr "%1% (Nick desconocido)"
#: dcpp/HashManager.cpp:767
#, boost-format
msgid ""
"%1% not shared; calculated CRC32 does not match the one found in SFV file."
msgstr ""
+"%1% No compartido; el CRC32 calculado no concuerda con el encontrado en el "
+"archivo SFV."
#: dcpp/QueueManager.cpp:325
#, boost-format
msgid "%1% renamed to %2%"
-msgstr ""
+msgstr "%1% renombrado a %2%"
#: dcpp/AdcHub.cpp:281
#, boost-format
msgid "%1% was kicked by %2%: %3%"
-msgstr ""
+msgstr "% 1% ha sido expulsado de% 2%:% 3%"
#: dcpp/AdcHub.cpp:284
#, boost-format
msgid "%1% was kicked: %2%"
-msgstr ""
+msgstr "%1% ha sido expulsado: %2%"
#: dcpp/DownloadManager.cpp:530
-#, fuzzy, boost-format
+#, boost-format
msgid "%1%: File not available"
-msgstr "Archivo no disponible"
+msgstr "%1%: Archivo no disponible"
#: dcpp/Util.cpp:337
#, c-format, boost-format
msgid "%d B"
-msgstr ""
+msgstr "%d B"
#: dcpp/Util.cpp:377
#, c-format, boost-format
msgid "%s B"
-msgstr ""
+msgstr "%s B"
#: dcpp/QueueManager.cpp:532
msgid "A file of equal or larger size already exists at the target location"
@@ -113,39 +118,44 @@
#: dcpp/DownloadManager.cpp:376
msgid "CRC32 inconsistency (SFV-Check)"
-msgstr "ERROR de CRC32 (¿fichero corrupto?) (SFV-Check)"
+msgstr "Error de CRC32 (SFV-Check)"
#: dcpp/DownloadManager.cpp:374
-#, fuzzy, boost-format
+#, boost-format
msgid "CRC32 inconsistency (SFV-Check) (File: %1%)"
-msgstr "ERROR de CRC32 (¿fichero corrupto?) (SFV-Check)"
+msgstr "Error de CRC32 (SFV-Check) (Archivo: %1%)"
#: dcpp/ConnectionManager.cpp:376
msgid "Certificate not trusted, unable to connect"
msgstr "Certificado no confiable, imposible conectar"
+#: dcpp/BufferedSocket.cpp:148
+#, fuzzy
+msgid "Connection closed"
+msgstr "Conexión fuera de tiempo"
+
#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
-#: dcpp/BufferedSocket.cpp:154
+#: dcpp/BufferedSocket.cpp:131
msgid "Connection timeout"
msgstr "Conexión fuera de tiempo"
#: dcpp/DownloadManager.cpp:232
#, boost-format
msgid "Could not open target file: %1%"
-msgstr ""
+msgstr "No se puede abrir el archivo de destino: %1%"
#: dcpp/ShareManager.cpp:418
msgid "Directory already shared"
msgstr "Carpeta ya Compartida"
-#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+#: dcpp/BufferedSocket.cpp:404
msgid "Disconnected"
msgstr "Desconectado"
#: dcpp/UploadManager.cpp:450
#, boost-format
msgid "Disconnected user leaving the hub: %1%"
-msgstr ""
+msgstr "Usuario desconectado porque se desconectó del hub:%1%"
#: dcpp/DCPlusPlus.cpp:103
msgid "Download Queue"
@@ -157,16 +167,18 @@
"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched "
"against: %4%%5%"
msgstr ""
+"El archivo repetido no será compartido: %1%%2% (Tamaño: %3%) Non "
+"Encontrados :%4%%5%"
#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549
#, boost-format
msgid "Duplicate source: %1%"
-msgstr ""
+msgstr "Fuente Duplicada: %1%"
#: dcpp/HashManager.cpp:456
-#, fuzzy, boost-format
+#, boost-format
msgid "Error creating hash data file: %1%"
-msgstr "No se pudo leer el índice de la base de datos"
+msgstr "No se pudo leer el índice de la base de datos: %1%"
#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86
#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60
@@ -177,17 +189,17 @@
#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342
#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375
msgid "Error during decompression"
-msgstr "Error el la descompresión"
+msgstr "Error en la descompresión"
#: dcpp/HashManager.cpp:772
#, boost-format
msgid "Error hashing %1%: %2%"
-msgstr ""
+msgstr "Error Indexado %1%: %2%"
#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333
#, boost-format
msgid "Error saving hash data: %1%"
-msgstr ""
+msgstr "Error al guardaro información de indexación:%1%"
#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230
#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239
@@ -201,7 +213,7 @@
#: dcpp/AdcHub.cpp:206
msgid "Failed to negotiate base protocol"
-msgstr ""
+msgstr "No se ha podido negociar el protocolo base"
#: dcpp/Socket.cpp:408
msgid ""
@@ -212,9 +224,9 @@
"dirección socks y puerto)"
#: dcpp/ShareManager.cpp:776
-#, fuzzy, boost-format
+#, boost-format
msgid "File list refresh failed: %1%"
-msgstr "Refresco de la lista Terminada"
+msgstr "Refresco de la lista Fallado:%1%"
#: dcpp/ShareManager.cpp:820
msgid "File list refresh finished"
@@ -225,6 +237,8 @@
"File list refresh in progress, please wait for it to finish before trying to "
"refresh again"
msgstr ""
+"Refresco de la lista en progreso, por favor espere a que termine este "
+"proceso antes que comenzar de nuevo"
#: dcpp/ShareManager.cpp:798
msgid "File list refresh initiated"
@@ -237,12 +251,12 @@
#: dcpp/HashManager.cpp:89
#, boost-format
msgid "Finished hashing: %1%"
-msgstr ""
+msgstr "Indexado Finalizado:%1%"
#: dcpp/HashManager.cpp:87
#, boost-format
msgid "Finished hashing: %1% (%2%/s)"
-msgstr ""
+msgstr "Indexado Finalizado:%1%(%2%/s)"
#: dcpp/DownloadManager.cpp:308
msgid "Full tree does not match TTH root"
@@ -250,7 +264,7 @@
#: dcpp/CryptoManager.cpp:219
msgid "Generated new TLS certificate"
-msgstr ""
+msgstr "Generado nuevos certificado TLS"
#: dcpp/DCPlusPlus.cpp:97
msgid "Hash database"
@@ -263,17 +277,19 @@
#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277
#, boost-format
msgid "Hashing failed: %1%"
-msgstr ""
+msgstr "Indexado Fallado:%1%"
#: dcpp/AdcHub.cpp:212
msgid ""
"Hub probably uses an old version of ADC, please encourage the owner to "
"upgrade"
msgstr ""
+"Hub probablemente utiliza una versión antigua de ADC, por favor, a fomentar "
+"el propietario de actualización"
#: dcpp/DownloadManager.cpp:220
msgid "Invalid size"
-msgstr ""
+msgstr "Tamaño no válido"
#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523
msgid ""
@@ -290,9 +306,9 @@
#: dcpp/ConnectionManager.cpp:230
#, boost-format
msgid "Listening socket failed (you need to restart %1%): %2%"
-msgstr ""
+msgstr "Falló Socket de Escucha (Es necesario reiniciar %1%): %2%"
-#: dcpp/BufferedSocket.cpp:261
+#: dcpp/BufferedSocket.cpp:237
msgid "Maximum command length exceeded"
msgstr "Tamaño máximo del comando excedido"
@@ -308,12 +324,12 @@
msgid "No slots available"
msgstr "Sin Slots Disponibles"
-#: dcpp/AdcHub.cpp:576
+#: dcpp/AdcHub.cpp:577
#, boost-format
msgid "Not listening for connections - please restart %1%"
-msgstr ""
+msgstr "No escuchando conexiones - por favor reinicie %1%"
-#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114
#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
#: dcpp/SearchManager.cpp:331
msgid "Offline"
@@ -328,7 +344,6 @@
msgstr "Eliminar todas los subcarpetas antes de agregar este"
#: dcpp/DownloadManager.cpp:225
-#, fuzzy
msgid "Response does not match request"
msgstr "La estructura del árbol TTH no es correcta"
@@ -343,9 +358,9 @@
"erronea?)"
#: dcpp/CryptoManager.cpp:221
-#, fuzzy, boost-format
+#, boost-format
msgid "TLS disabled, failed to generate certificate: %1%"
-msgstr "TLS desactivado, no hay definido un certificado"
+msgstr "TLS desactivado, no hay definido un certificado: %1%"
#: dcpp/CryptoManager.cpp:211
msgid "TLS disabled, no certificate file set"
@@ -357,7 +372,7 @@
#: dcpp/QueueManager.cpp:798
msgid "Target removed"
-msgstr ""
+msgstr "Archivo destino eliminado"
#: dcpp/Socket.cpp:255
msgid "The socks server doesn't support login / password authentication"
@@ -387,26 +402,26 @@
#: dcpp/QueueManager.cpp:995
#, boost-format
msgid "Unable to open filelist: %1%"
-msgstr ""
+msgstr "Imposible abrir Lista de Archivos:%1%"
#: dcpp/HashManager.cpp:131
msgid "Unable to read hash data file"
msgstr "No se pudo leer el índice de la base de datos"
#: dcpp/QueueManager.cpp:327
-#, fuzzy, boost-format
+#, boost-format
msgid "Unable to rename %1%: %2%"
-msgstr "No se puede iniciar tarea (crear nuevo thread)"
+msgstr "No se puede renombrar %1%: %2%"
#: dcpp/UploadManager.cpp:149
#, boost-format
msgid "Unable to send file %1%: %2%"
-msgstr ""
+msgstr "Imposible enviar archivo %1%: %2%"
#: dcpp/Socket.cpp:54
#, c-format, boost-format
msgid "Unknown error: 0x%1$x"
-msgstr ""
+msgstr "Error Desconocido: 0x%1$x"
#: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468
msgid "Virtual directory name already exists"
@@ -418,8 +433,8 @@
#: dcpp/SettingsManager.cpp:156
msgid "downloaded from"
-msgstr ""
+msgstr "descargado desde"
#: dcpp/SettingsManager.cpp:157
msgid "uploaded to"
-msgstr ""
+msgstr "enviado a"
Modified: dcplusplus/trunk/dcpp/po/fi.po
===================================================================
--- dcplusplus/trunk/dcpp/po/fi.po 2008-03-12 21:46:22 UTC (rev 1038)
+++ dcplusplus/trunk/dcpp/po/fi.po 2008-03-13 22:02:50 UTC (rev 1039)
@@ -1,154 +1,166 @@
# Finnish translations for the DC++ package.
# Copyright (C) 2008 The translators
# This file is distributed under the same license as the DC++ package.
-# <maa...@us...>, 2008.
+# <ma...@ad...>, 2008.
#
msgid ""
msgstr ""
"Project-Id-Version: dcpp\n"
"Report-Msgid-Bugs-To: dcp...@li...\n"
-"POT-Creation-Date: 2008-03-04 23:00+0100\n"
-"Last-Translator: <maa...@us...>\n"
+"POT-Creation-Date: 2008-03-12 21:38+0100\n"
+"PO-Revision-Date: 2008-03-09 09:09+0000\n"
+"Last-Translator: maksis <ma...@ad...>\n"
+"Language-Team: LANGUAGE <LL...@li...>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
#: dcpp/Util.cpp:381
#, c-format, boost-format
msgid "%'lld B"
-msgstr ""
+msgstr "%'lld t"
#: dcpp/Util.cpp:343
#, c-format, boost-format
msgid "%.02f GiB"
-msgstr ""
+msgstr "%.02f Gt"
#: dcpp/Util.cpp:339
#, c-format, boost-format
msgid "%.02f KiB"
-msgstr ""
+msgstr "%.02f Kt"
#: dcpp/Util.cpp:341
#, c-format, boost-format
msgid "%.02f MiB"
-msgstr ""
+msgstr "%.02f Mt"
#: dcpp/Util.cpp:347
#, c-format, boost-format
msgid "%.02f PiB"
-msgstr ""
+msgstr "%.02f Pt"
#: dcpp/Util.cpp:345
#, c-format, boost-format
msgid "%.02f TiB"
-msgstr ""
+msgstr "%.02f Tt"
#: dcpp/AdcHub.cpp:139
#, boost-format
msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring"
-msgstr ""
+msgstr "%1% (%2%) on sama CID {%3%} kuin käyttäjällä %4% (%5%), hylätään"
#: dcpp/NmdcHub.cpp:281
#, boost-format
msgid "%1% (Nick unknown)"
-msgstr ""
+msgstr "%1% (nimimerkki tuntematon)"
#: dcpp/HashManager.cpp:767
#, boost-format
msgid ""
"%1% not shared; calculated CRC32 does not match the one found in SFV file."
msgstr ""
+"Tiedostoa %1% ei jaeta; laskettu CRC32 ei vastaa SFV-tiedostossa olevaa "
+"arvoa."
#: dcpp/QueueManager.cpp:325
#, boost-format
msgid "%1% renamed to %2%"
-msgstr ""
+msgstr "%1% nimettiin tiedostoksi %2%"
#: dcpp/AdcHub.cpp:281
#, boost-format
msgid "%1% was kicked by %2%: %3%"
-msgstr ""
+msgstr "%2% potkaisi käyttäjän %1%: %3%"
#: dcpp/AdcHub.cpp:284
#, boost-format
msgid "%1% was kicked: %2%"
-msgstr ""
+msgstr "%1% potkaistiin: %2%"
#: dcpp/DownloadManager.cpp:530
-#, fuzzy, boost-format
+#, boost-format
msgid "%1%: File not available"
-msgstr "Häh, tätä fisua ei näy enä ton ämpärissä!"
+msgstr "%1%: Tiedosto ei saatavilla"
#: dcpp/Util.cpp:337
#, c-format, boost-format
msgid "%d B"
-msgstr ""
+msgstr "%d t"
#: dcpp/Util.cpp:377
#, c-format, boost-format
msgid "%s B"
-msgstr ""
+msgstr "%s t"
#: dcpp/QueueManager.cpp:532
msgid "A file of equal or larger size already exists at the target location"
-msgstr "Samanpainoinen / suurempi fisu on jo ämpärissä!"
+msgstr "Kohdehakemistossa on jo samanniminen tai -kokoinen tiedosto"
#: dcpp/QueueManager.cpp:475
msgid "A file with a different size already exists in the queue"
-msgstr "Muuten sama mutta eripainoinen fisu on jo menossa ämpäriin"
+msgstr "Samanniminen, mutta eri kokoinen tiedosto on jo latausjonossa"
#: dcpp/QueueManager.cpp:478
msgid "A file with different tth root already exists in the queue"
-msgstr "Muuten sama fisu mutta eri kaulapannalla (TTH) on jo menossa ämpäriin"
+msgstr ""
+"Samanniminen, mutta eri TTH-tarkistussummalla oleva tiedosto on jo "
+"latausjonossa"
#: dcpp/QueueManager.cpp:442
msgid "A file with the same hash already exists in your share"
-msgstr "Samalla pannalla (tth) oleva fisu löytyy jo jakoämpäristäsi"
+msgstr "Samalla TTH-tarkistussummalla oleva tiedosto jo jaossa"
#: dcpp/ConnectionManager.cpp:176
msgid "All download slots taken"
-msgstr "Kaikissa koukuissa nykii jo, hanki lisä siimoja..."
+msgstr "Kaikki latauspaikat käytössä"
#: dcpp/DownloadManager.cpp:376
msgid "CRC32 inconsistency (SFV-Check)"
msgstr "CRC32-ristiriita (SFV-tarkastus)"
#: dcpp/DownloadManager.cpp:374
-#, fuzzy, boost-format
+#, boost-format
msgid "CRC32 inconsistency (SFV-Check) (File: %1%)"
-msgstr "CRC32-ristiriita (SFV-tarkastus)"
+msgstr "CRC32-ristiriita (SFV-tarkastus) (tiedosto: %1%)"
#: dcpp/ConnectionManager.cpp:376
msgid "Certificate not trusted, unable to connect"
-msgstr "Tohon kalastuslupaan ei luoteta"
+msgstr "Ei luotettu sertifikaatti, ei voi yhdistää"
+#: dcpp/BufferedSocket.cpp:148
+#, fuzzy
+msgid "Connection closed"
+msgstr "Yhteyden aikakatkaisu"
+
#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
-#: dcpp/BufferedSocket.cpp:154
+#: dcpp/BufferedSocket.cpp:131
msgid "Connection timeout"
-msgstr "Tä viehe ei vaan tunnu nykivän..."
+msgstr "Yhteyden aikakatkaisu"
#: dcpp/DownloadManager.cpp:232
#, boost-format
msgid "Could not open target file: %1%"
-msgstr ""
+msgstr "Kohdetiedostoa ei voitu avata: %1%"
#: dcpp/ShareManager.cpp:418
msgid "Directory already shared"
-msgstr "Tämä ämpäri on jo jaossa!"
+msgstr "Kansio on jo jaettu"
-#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+#: dcpp/BufferedSocket.cpp:404
msgid "Disconnected"
-msgstr "Voi per... siima katkes !"
+msgstr "Yhteys katkaistu"
#: dcpp/UploadManager.cpp:450
#, boost-format
msgid "Disconnected user leaving the hub: %1%"
-msgstr ""
+msgstr "Katkaistiin yhteys hubista lähtevään käyttäjään: %1%"
#: dcpp/DCPlusPlus.cpp:103
msgid "Download Queue"
-msgstr "Saalisämpärit"
+msgstr "Latausjono"
#: dcpp/ShareManager.cpp:741
#, boost-format
@@ -156,266 +168,272 @@
"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched "
"against: %4%%5%"
msgstr ""
+"Tuplatiedostoja ei jaeta: %1%%2% (koko: %3% t) täsmäsi tiedostoon: %4%%5%"
#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549
#, boost-format
msgid "Duplicate source: %1%"
-msgstr ""
+msgstr "Sama lähde: %1%"
#: dcpp/HashManager.cpp:456
-#, fuzzy, boost-format
+#, boost-format
msgid "Error creating hash data file: %1%"
-msgstr "Karille meni järjestelyt..."
+msgstr "Virhe tarkistussummatietokantatiedoston luonnissa: %1%"
#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86
#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60
msgid "Error during compression"
-msgstr "Survottu surkeasti, sori..."
+msgstr "Virhe pakkaamisessa"
#: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72
#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342
#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375
msgid "Error during decompression"
-msgstr "Virhe survoksen käsittelyssä, ei siitä enä fisua saa!"
+msgstr "Virhe purkamisessa"
#: dcpp/HashManager.cpp:772
#, boost-format
msgid "Error hashing %1%: %2%"
-msgstr ""
+msgstr "Virhe tarkistussumman luonnissa tiedostolle %1%: %2%"
#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333
#, boost-format
msgid "Error saving hash data: %1%"
-msgstr ""
+msgstr "Virhe tallennettaessa tarkistussummaa: %1%"
#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230
#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239
msgid "Failed to load certificate file"
-msgstr "Epäonnea pyydettäessä kalastuslupaa"
+msgstr "Sertifikaattitiedoston lataaminen epäonnistui"
#: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248
#: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257
msgid "Failed to load private key"
-msgstr "Epäonnea pyydettäessä yksityisavainta"
+msgstr "Yksityisavaimen lataaminen epäonnistui"
#: dcpp/AdcHub.cpp:206
msgid "Failed to negotiate base protocol"
-msgstr ""
+msgstr "Perusprotokollan neuvottelu epäonnistui"
#: dcpp/Socket.cpp:408
msgid ""
"Failed to set up the socks server for UDP relay (check socks address and "
"port)"
msgstr ""
-"Vaimon sukat eivät mahdu jalkaan UDP-ohjauksella (tarkista koordinaatti ja "
+"Socks-palvelimelle ei voitu määrittää UDP-ohjausta (tarkista osoite ja "
"portti)"
#: dcpp/ShareManager.cpp:776
-#, fuzzy, boost-format
+#, boost-format
msgid "File list refresh failed: %1%"
-msgstr "Jakoämpärit järjestetty"
+msgstr "Tiedostolistan päivitys epäonnistui: %1%"
#: dcpp/ShareManager.cpp:820
msgid "File list refresh finished"
-msgstr "Jakoämpärit järjestetty"
+msgstr "Tiedostolistan päivitys valmis"
#: dcpp/ShareManager.cpp:756
msgid ""
"File list refresh in progress, please wait for it to finish before trying to "
"refresh again"
-msgstr "Jakoämpäriä putsataan... haisee edelleen... "
+msgstr ""
+"Tiedostolistan päivitys kesken, odota että se päättyy ennen kuin päivität "
+"uudelleen"
#: dcpp/ShareManager.cpp:798
msgid "File list refresh initiated"
-msgstr "Jakoämpäriä siivotaan, kalanhaju on kuvottava..."
+msgstr "Tiedostolistaa päivitetään..."
#: dcpp/DirectoryListing.cpp:102
msgid "File not available"
-msgstr "Häh, tätä fisua ei näy enä ton ämpärissä!"
+msgstr "Tiedosto ei saatavilla"
#: dcpp/HashManager.cpp:89
#, boost-format
msgid "Finished hashing: %1%"
-msgstr ""
+msgstr "Tarkistussumman luonti valmis: %1%"
#: dcpp/HashManager.cpp:87
#, boost-format
msgid "Finished hashing: %1% (%2%/s)"
-msgstr ""
+msgstr "Tarkistussumman luonti valmis: %1% (%2%/s)"
#: dcpp/DownloadManager.cpp:308
msgid "Full tree does not match TTH root"
-msgstr "Värä vana - vaihda reittiä!"
+msgstr "Hakemistopolku ei vastaa TTH-tarkistussummaa"
#: dcpp/CryptoManager.cpp:219
msgid "Generated new TLS certificate"
-msgstr "Kalastuslupa myönnetty"
+msgstr "Uusi TLS-serfifikaatti luotu"
#: dcpp/DCPlusPlus.cpp:97
msgid "Hash database"
-msgstr "jakoämpärin tietokanta"
+msgstr "Tarkistussummatietokanta"
#: dcpp/HashManager.cpp:677
msgid "Hash database rebuilt"
-msgstr "Siivoa jakoämpärisi uudelleen"
+msgstr "Tarkistussummatietokanta koottu uudelleen"
#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277
#, boost-format
msgid "Hashing failed: %1%"
-msgstr ""
+msgstr "Tarkistussumman luonti epäonnistui: %1%"
#: dcpp/AdcHub.cpp:212
msgid ""
"Hub probably uses an old version of ADC, please encourage the owner to "
"upgrade"
msgstr ""
+"Hubi todennäköisesti käyttää vanhaa ADC-versiota, kehota omistajaa "
+"päivittämään"
#: dcpp/DownloadManager.cpp:220
msgid "Invalid size"
-msgstr "Liian pieni fisu"
+msgstr "Virheellinen koko"
#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523
msgid ""
"Invalid target file (missing directory, check default download directory "
"setting)"
-msgstr "Tallennat fisua, mutta ämpärikö puuttuu? - vaihdettava!"
+msgstr ""
+"Kohdetiedosto ei kelpaa (puuttuva kansio, tarkista latauskansio asetuksista)"
#: dcpp/FavoriteManager.cpp:438
msgid "Kick user(s)"
-msgstr "Vedä kölin ali kalamies/miehet"
+msgstr "Potkaise käyttäjä(t)"
#: dcpp/ConnectionManager.cpp:230
#, boost-format
msgid "Listening socket failed (you need to restart %1%): %2%"
-msgstr ""
+msgstr "Kuuntelukahvavirhe (käynnistä %1% uudestaan): %2%"
-#: dcpp/BufferedSocket.cpp:261
+#: dcpp/BufferedSocket.cpp:237
msgid "Maximum command length exceeded"
-msgstr "Ei saa puhua veneessä - ainakaan noin helvetin pitkän!"
+msgstr "Suurin komennon pituus ylitettiin"
#: dcpp/DownloadManager.cpp:280
msgid "More data was sent than was expected"
-msgstr "Fisu painoi enemmän kuin miltä näytti"
+msgstr "Enemmän dataa lähetettiin kuin odotettiin"
#: dcpp/ShareManager.cpp:403
msgid "No directory specified"
-msgstr "Ämpäriä ei ole märitetty!"
+msgstr "Kansioita ei määritetty"
#: dcpp/DownloadManager.cpp:419
msgid "No slots available"
-msgstr "Ei voi heittä, liikaa ruuhkaa..."
+msgstr "Ei vapaita latauspaikkoja"
-#: dcpp/AdcHub.cpp:576
+#: dcpp/AdcHub.cpp:577
#, boost-format
msgid "Not listening for connections - please restart %1%"
-msgstr ""
+msgstr "Ei kuunnella yhteyksiä - käynnistä %1% uudestaan"
-#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114
#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
#: dcpp/SearchManager.cpp:331
msgid "Offline"
-msgstr "Rannalla"
+msgstr "Offline-tilassa"
#: dcpp/FavoriteManager.cpp:442
msgid "Redirect user(s)"
-msgstr "Opasta käyttäjä muualle"
+msgstr "Uudelleenohjaa käyttäjä(t)"
#: dcpp/ShareManager.cpp:421
msgid "Remove all subdirectories before adding this one"
-msgstr "Poista kaikki ala-ämpärit ennen tämän lisämistä"
+msgstr "Poista kaikki alihakemistot ennen tämän lisäämistä"
#: dcpp/DownloadManager.cpp:225
-#, fuzzy
msgid "Response does not match request"
-msgstr "Värä vana - vaihda reittiä!"
+msgstr "Vastaus ei täsmää pyyntöön"
#: dcpp/DCPlusPlus.cpp:100
msgid "Shared Files"
-msgstr "Luovutettavat fisut lastataan ruumaan"
+msgstr "Jaetut tiedostot"
#: dcpp/Socket.cpp:269 dcpp/Socket.cpp:273
msgid "Socks server authentication failed (bad login / password?)"
-msgstr "Vaimon sukkien pukeminen epäonnistui (värä käyttäjätunnus / salasana?)"
+msgstr ""
+"Socks-palvelimelle kirjautuminen epäonnistui (väärä käyttäjätunnus / "
+"salasana?)"
#: dcpp/CryptoManager.cpp:221
-#, fuzzy, boost-format
+#, boost-format
msgid "TLS disabled, failed to generate certificate: %1%"
-msgstr "TLS poissa pältä, ei kalastuslupaa"
+msgstr "TLS ei käytössä, sertifikaatin luonti epäonnistui: %1%"
#: dcpp/CryptoManager.cpp:211
msgid "TLS disabled, no certificate file set"
-msgstr "TLS poissa pältä, ei kalastuslupaa"
+msgstr "TLS ei käytössä, sertifikaattitiedostoja ei ole asetettu"
#: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519
msgid "Target filename too long"
-msgstr "Fisun nimi on liian pitkä"
+msgstr "Kohdetiedoston nimi on liian pitkä"
#: dcpp/QueueManager.cpp:798
msgid "Target removed"
-msgstr "Fisu poistettu"
+msgstr "Kohde poistettu"
#: dcpp/Socket.cpp:255
msgid "The socks server doesn't support login / password authentication"
-msgstr "Vaimon sukkapalvelin ei tue käyttäjä/salasana tunnistusta"
+msgstr "Socks-palvelin ei tue käyttäjä-/salasana-tunnistusta"
#: dcpp/Socket.cpp:162 dcpp/Socket.cpp:173 dcpp/Socket.cpp:206
#: dcpp/Socket.cpp:210 dcpp/Socket.cpp:237 dcpp/Socket.cpp:252
msgid "The socks server failed establish a connection"
-msgstr "Vaimon sukat jalassa ei voitu heittä viehettä"
+msgstr "Socks-palvelin ei voinut avata yhteyttä"
#: dcpp/Socket.cpp:241
msgid "The socks server requires authentication"
-msgstr "Vaimon sukat pitä laittaa jalkaan (kirjaudu)"
+msgstr "Socks-palvelin vaatii kirjautumisen"
#: dcpp/ShareManager.cpp:407
msgid "The temporary download directory cannot be shared"
-msgstr ""
-"Vasta siimassa nykiviä fisuja ei voi luovuttaa...huijarit vedetän kölin ali"
+msgstr "Keskeneräisten tiedostojen kansiota ei voi jakaa"
#: dcpp/QueueManager.cpp:465
msgid "This file is already queued"
-msgstr "Tä fisu on jo menossa ämpäriin!"
+msgstr "Tämä tiedosto on jo latausjonossa"
#: dcpp/Thread.cpp:34 dcpp/Thread.cpp:42
msgid "Unable to create thread"
-msgstr "Siimaa ei saatu suoraksi"
+msgstr "Säiettä ei voitu luoda"
#: dcpp/QueueManager.cpp:995
#, boost-format
msgid "Unable to open filelist: %1%"
-msgstr ""
+msgstr "Ei pysty avaamaan tiedostolistaa: %1%"
#: dcpp/HashManager.cpp:131
msgid "Unable to read hash data file"
-msgstr "Karille meni järjestelyt..."
+msgstr "Ei pysty lukemaan TTH-tietokantatiedostoa"
#: dcpp/QueueManager.cpp:327
-#, fuzzy, boost-format
+#, boost-format
msgid "Unable to rename %1%: %2%"
-msgstr "Siimaa ei saatu suoraksi"
+msgstr "Ei pysty uudelleennimeämään tiedostoa %1%: %2%"
#: dcpp/UploadManager.cpp:149
#, boost-format
msgid "Unable to send file %1%: %2%"
-msgstr ""
+msgstr "Ei pysty lähettämään tiedostoa %1%: %2%"
#: dcpp/Socket.cpp:54
#, c-format, boost-format
msgid "Unknown error: 0x%1$x"
-msgstr ""
+msgstr "Tuntematon virhe: 0x%1$x"
#: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468
msgid "Virtual directory name already exists"
-msgstr "Tämä virtuaalisen ämpärin nimi on jo olemassa"
+msgstr "Virtuaalinen kansionimi on jo olemassa"
#: dcpp/QueueManager.cpp:412 dcpp/QueueManager.cpp:436
msgid "You're trying to download from yourself!"
-msgstr "Jaa... Heitit sitte omaan ämpäriin!?!"
+msgstr "Yrität ladata itseltäsi!"
#: dcpp/SettingsManager.cpp:156
msgid "downloaded from"
-msgstr ""
+msgstr "ladattu käyttäjältä"
#: dcpp/SettingsManager.cpp:157
msgid "uploaded to"
-msgstr ""
+msgstr "lähetetty käyttäjälle"
Modified: dcplusplus/trunk/dcpp/po/fr.po
===================================================================
--- dcplusplus/trunk/dcpp/po/fr.po 2008-03-12 21:46:22 UTC (rev 1038)
+++ dcplusplus/trunk/dcpp/po/fr.po 2008-03-13 22:02:50 UTC (rev 1039)
@@ -7,14 +7,14 @@
msgstr ""
"Project-Id-Version: dcpp\n"
"Report-Msgid-Bugs-To: dcp...@li...\n"
-"POT-Creation-Date: 2008-03-04 23:00+0100\n"
-"PO-Revision-Date: 2008-02-07 11:12+0000\n"
+"POT-Creation-Date: 2008-03-12 21:38+0100\n"
+"PO-Revision-Date: 2008-03-05 09:45+0000\n"
"Last-Translator: Kryppy <Unknown>\n"
"Language-Team: LANGUAGE <LL...@li...>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2008-03-04 21:52+0000\n"
+"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: dcpp/Util.cpp:381
@@ -50,7 +50,7 @@
#: dcpp/AdcHub.cpp:139
#, boost-format
msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring"
-msgstr ""
+msgstr "%1% (%2%) a le mème CID {%3%} que %4% (%5%), ignore"
#: dcpp/NmdcHub.cpp:281
#, boost-format
@@ -73,12 +73,12 @@
#: dcpp/AdcHub.cpp:281
#, boost-format
msgid "%1% was kicked by %2%: %3%"
-msgstr ""
+msgstr "%1% a été expulsé par %2%: %3%"
#: dcpp/AdcHub.cpp:284
#, boost-format
msgid "%1% was kicked: %2%"
-msgstr ""
+msgstr "%1% a été expulsé: %2%"
#: dcpp/DownloadManager.cpp:530
#, boost-format
@@ -131,8 +131,13 @@
msgid "Certificate not trusted, unable to connect"
msgstr "Le certificat n'est pas De Confiance, ne parvient pas à se connecter"
+#: dcpp/BufferedSocket.cpp:148
+#, fuzzy
+msgid "Connection closed"
+msgstr "Temps d'attente dépassé"
+
#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
-#: dcpp/BufferedSocket.cpp:154
+#: dcpp/BufferedSocket.cpp:131
msgid "Connection timeout"
msgstr "Temps d'attente dépassé"
@@ -145,7 +150,7 @@
msgid "Directory already shared"
msgstr "Répertoire déjà partagé"
-#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+#: dcpp/BufferedSocket.cpp:404
msgid "Disconnected"
msgstr "Déconnecté"
@@ -210,7 +215,7 @@
#: dcpp/AdcHub.cpp:206
msgid "Failed to negotiate base protocol"
-msgstr ""
+msgstr "Impossible de négocier le protocole de base"
#: dcpp/Socket.cpp:408
msgid ""
@@ -281,6 +286,8 @@
"Hub probably uses an old version of ADC, please encourage the owner to "
"upgrade"
msgstr ""
+"L' Hub utilise probablement une ancienne version de ADC, s’il vous plaît "
+"encourager le propriétaire à améliorer"
#: dcpp/DownloadManager.cpp:220
msgid "Invalid size"
@@ -299,11 +306,11 @@
msgstr "Kicker utilisateur(s)"
#: dcpp/ConnectionManager.cpp:230
-#, fuzzy, boost-format
+#, boost-format
msgid "Listening socket failed (you need to restart %1%): %2%"
-msgstr "Echec du socket d'écoute (vous devez redémarrer DC++): %1%"
+msgstr "Echec du socket d'écoute (vous devez redémarrer %1%): %2%"
-#: dcpp/BufferedSocket.cpp:261
+#: dcpp/BufferedSocket.cpp:237
msgid "Maximum command length exceeded"
msgstr "Dépassement de la longueur maximale de la commande"
@@ -319,12 +326,12 @@
msgid "No slots available"
msgstr "Pas de slot disponible"
-#: dcpp/AdcHub.cpp:576
-#, fuzzy, boost-format
+#: dcpp/AdcHub.cpp:577
+#, boost-format
msgid "Not listening for connections...
[truncated message content] |
|
From: <arn...@us...> - 2008-03-12 21:46:49
|
Revision: 1038
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1038&view=rev
Author: arnetheduck
Date: 2008-03-12 14:46:22 -0700 (Wed, 12 Mar 2008)
Log Message:
-----------
ignore some more
Property Changed:
----------------
dcplusplus/trunk/
Property changes on: dcplusplus/trunk
___________________________________________________________________
Name: svn:ignore
- vc7
ADC*
App*
DCPlusPlus.aps
DCPlusPlus.ncb
DCPlusPlus.suo
.*
*.vcproj.*
Example.xml
build
doc
+ vc7
ADC*
App*
DCPlusPlus.aps
DCPlusPlus.ncb
DCPlusPlus.suo
.*
*.vcproj.*
Example.xml
build
doc
*.pyc
config.log
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arn...@us...> - 2008-03-12 21:44:02
|
Revision: 1037
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1037&view=rev
Author: arnetheduck
Date: 2008-03-12 14:43:20 -0700 (Wed, 12 Mar 2008)
Log Message:
-----------
Ignore template
Property Changed:
----------------
dcplusplus/trunk/dcpp/po/
Property changes on: dcplusplus/trunk/dcpp/po
___________________________________________________________________
Name: svn:ignore
- dcpp.pot
+ dcpp.pot
libdcpp.pot
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arn...@us...> - 2008-03-12 21:41:14
|
Revision: 1036
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1036&view=rev
Author: arnetheduck
Date: 2008-03-12 14:40:53 -0700 (Wed, 12 Mar 2008)
Log Message:
-----------
Rename to simplified chinese locale
Modified Paths:
--------------
dcplusplus/trunk/DCPlusPlus.nsi
dcplusplus/trunk/release.sh
Added Paths:
-----------
dcplusplus/trunk/dcpp/po/zh_CN.po
dcplusplus/trunk/mingwm10.dll
dcplusplus/trunk/win32/po/zh_CN.po
Removed Paths:
-------------
dcplusplus/trunk/dcpp/po/zh.po
dcplusplus/trunk/win32/po/zh.po
Modified: dcplusplus/trunk/DCPlusPlus.nsi
===================================================================
--- dcplusplus/trunk/DCPlusPlus.nsi 2008-03-12 20:53:16 UTC (rev 1035)
+++ dcplusplus/trunk/DCPlusPlus.nsi 2008-03-12 21:40:53 UTC (rev 1036)
@@ -62,6 +62,7 @@
File "License.txt"
File "LICENSE-GeoIP.txt"
File "LICENSE-OpenSSL.txt"
+ File "mingwm10.dll"
File "magnet.exe"
; Remove opencow just in case we're upgrading
Delete "$INSTDIR\opencow.dll"
Deleted: dcplusplus/trunk/dcpp/po/zh.po
===================================================================
--- dcplusplus/trunk/dcpp/po/zh.po 2008-03-12 20:53:16 UTC (rev 1035)
+++ dcplusplus/trunk/dcpp/po/zh.po 2008-03-12 21:40:53 UTC (rev 1036)
@@ -1,419 +0,0 @@
-# Chinese translations for the DC++ package.
-# Copyright (C) 2008 The translators
-# This file is distributed under the same license as the DC++ package.
-# <fen...@us...>, 2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: dcpp\n"
-"Report-Msgid-Bugs-To: dcp...@li...\n"
-"POT-Creation-Date: 2008-03-04 23:00+0100\n"
-"Last-Translator: <fen...@us...>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: plurals=2; plural=(n != 1);\n"
-
-#: dcpp/Util.cpp:381
-#, c-format, boost-format
-msgid "%'lld B"
-msgstr ""
-
-#: dcpp/Util.cpp:343
-#, c-format, boost-format
-msgid "%.02f GiB"
-msgstr ""
-
-#: dcpp/Util.cpp:339
-#, c-format, boost-format
-msgid "%.02f KiB"
-msgstr ""
-
-#: dcpp/Util.cpp:341
-#, c-format, boost-format
-msgid "%.02f MiB"
-msgstr ""
-
-#: dcpp/Util.cpp:347
-#, c-format, boost-format
-msgid "%.02f PiB"
-msgstr ""
-
-#: dcpp/Util.cpp:345
-#, c-format, boost-format
-msgid "%.02f TiB"
-msgstr ""
-
-#: dcpp/AdcHub.cpp:139
-#, boost-format
-msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring"
-msgstr ""
-
-#: dcpp/NmdcHub.cpp:281
-#, boost-format
-msgid "%1% (Nick unknown)"
-msgstr ""
-
-#: dcpp/HashManager.cpp:767
-#, boost-format
-msgid ""
-"%1% not shared; calculated CRC32 does not match the one found in SFV file."
-msgstr ""
-
-#: dcpp/QueueManager.cpp:325
-#, boost-format
-msgid "%1% renamed to %2%"
-msgstr ""
-
-#: dcpp/AdcHub.cpp:281
-#, boost-format
-msgid "%1% was kicked by %2%: %3%"
-msgstr ""
-
-#: dcpp/AdcHub.cpp:284
-#, boost-format
-msgid "%1% was kicked: %2%"
-msgstr ""
-
-#: dcpp/DownloadManager.cpp:530
-#, fuzzy, boost-format
-msgid "%1%: File not available"
-msgstr "文件不存在"
-
-#: dcpp/Util.cpp:337
-#, c-format, boost-format
-msgid "%d B"
-msgstr ""
-
-#: dcpp/Util.cpp:377
-#, c-format, boost-format
-msgid "%s B"
-msgstr ""
-
-#: dcpp/QueueManager.cpp:532
-msgid "A file of equal or larger size already exists at the target location"
-msgstr "一个相等或更大的文件已经存在于下载目录中"
-
-#: dcpp/QueueManager.cpp:475
-msgid "A file with a different size already exists in the queue"
-msgstr "存在大小不同的同名文件"
-
-#: dcpp/QueueManager.cpp:478
-msgid "A file with different tth root already exists in the queue"
-msgstr "队列中已经有一个不同 tth root 的文件"
-
-#: dcpp/QueueManager.cpp:442
-msgid "A file with the same hash already exists in your share"
-msgstr "在你的共享中已经有一个相同hash值的文件了"
-
-#: dcpp/ConnectionManager.cpp:176
-msgid "All download slots taken"
-msgstr "对方所有上传通道都已被占用"
-
-#: dcpp/DownloadManager.cpp:376
-msgid "CRC32 inconsistency (SFV-Check)"
-msgstr "CRC32 出错(SFV-Check)"
-
-#: dcpp/DownloadManager.cpp:374
-#, fuzzy, boost-format
-msgid "CRC32 inconsistency (SFV-Check) (File: %1%)"
-msgstr "CRC32 出错(SFV-Check)"
-
-#: dcpp/ConnectionManager.cpp:376
-msgid "Certificate not trusted, unable to connect"
-msgstr ""
-
-#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
-#: dcpp/BufferedSocket.cpp:154
-msgid "Connection timeout"
-msgstr "连接超时"
-
-#: dcpp/DownloadManager.cpp:232
-#, boost-format
-msgid "Could not open target file: %1%"
-msgstr ""
-
-#: dcpp/ShareManager.cpp:418
-msgid "Directory already shared"
-msgstr "目录已经共享"
-
-#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
-msgid "Disconnected"
-msgstr "连接中断"
-
-#: dcpp/UploadManager.cpp:450
-#, boost-format
-msgid "Disconnected user leaving the hub: %1%"
-msgstr ""
-
-#: dcpp/DCPlusPlus.cpp:103
-msgid "Download Queue"
-msgstr "下载队列"
-
-#: dcpp/ShareManager.cpp:741
-#, boost-format
-msgid ""
-"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched "
-"against: %4%%5%"
-msgstr ""
-
-#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549
-#, boost-format
-msgid "Duplicate source: %1%"
-msgstr ""
-
-#: dcpp/HashManager.cpp:456
-#, boost-format
-msgid "Error creating hash data file: %1%"
-msgstr ""
-
-#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86
-#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60
-msgid "Error during compression"
-msgstr "压缩过程发生错误"
-
-#: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72
-#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342
-#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375
-msgid "Error during decompression"
-msgstr "解压缩出错"
-
-#: dcpp/HashManager.cpp:772
-#, boost-format
-msgid "Error hashing %1%: %2%"
-msgstr ""
-
-#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333
-#, boost-format
-msgid "Error saving hash data: %1%"
-msgstr ""
-
-#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230
-#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239
-msgid "Failed to load certificate file"
-msgstr ""
-
-#: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248
-#: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257
-msgid "Failed to load private key"
-msgstr ""
-
-#: dcpp/AdcHub.cpp:206
-msgid "Failed to negotiate base protocol"
-msgstr ""
-
-#: dcpp/Socket.cpp:408
-msgid ""
-"Failed to set up the socks server for UDP relay (check socks address and "
-"port)"
-msgstr "socks服务器UDP回应失败(检查socks服务器的地址和端口)"
-
-#: dcpp/ShareManager.cpp:776
-#, fuzzy, boost-format
-msgid "File list refresh failed: %1%"
-msgstr "文件列表已更新"
-
-#: dcpp/ShareManager.cpp:820
-msgid "File list refresh finished"
-msgstr "文件列表已更新"
-
-#: dcpp/ShareManager.cpp:756
-msgid ""
-"File list refresh in progress, please wait for it to finish before trying to "
-"refresh again"
-msgstr ""
-
-#: dcpp/ShareManager.cpp:798
-msgid "File list refresh initiated"
-msgstr "文件列表刷新已开始"
-
-#: dcpp/DirectoryListing.cpp:102
-msgid "File not available"
-msgstr "文件不存在"
-
-#: dcpp/HashManager.cpp:89
-#, boost-format
-msgid "Finished hashing: %1%"
-msgstr ""
-
-#: dcpp/HashManager.cpp:87
-#, boost-format
-msgid "Finished hashing: %1% (%2%/s)"
-msgstr ""
-
-#: dcpp/DownloadManager.cpp:308
-msgid "Full tree does not match TTH root"
-msgstr "已下载的“树”不匹配于 TTH root"
-
-#: dcpp/CryptoManager.cpp:219
-msgid "Generated new TLS certificate"
-msgstr ""
-
-#: dcpp/DCPlusPlus.cpp:97
-msgid "Hash database"
-msgstr "Hash 数据库"
-
-#: dcpp/HashManager.cpp:677
-msgid "Hash database rebuilt"
-msgstr "Hash 数据库已重建"
-
-#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277
-#, boost-format
-msgid "Hashing failed: %1%"
-msgstr ""
-
-#: dcpp/AdcHub.cpp:212
-msgid ""
-"Hub probably uses an old version of ADC, please encourage the owner to "
-"upgrade"
-msgstr ""
-
-#: dcpp/DownloadManager.cpp:220
-msgid "Invalid size"
-msgstr ""
-
-#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523
-msgid ""
-"Invalid target file (missing directory, check default download directory "
-"setting)"
-msgstr "目标文件无法访问(目录已被删除, 请检查缺省的下载地址设置)"
-
-#: dcpp/FavoriteManager.cpp:438
-msgid "Kick user(s)"
-msgstr "踢出该用户"
-
-#: dcpp/ConnectionManager.cpp:230
-#, boost-format
-msgid "Listening socket failed (you need to restart %1%): %2%"
-msgstr ""
-
-#: dcpp/BufferedSocket.cpp:261
-msgid "Maximum command length exceeded"
-msgstr ""
-
-#: dcpp/DownloadManager.cpp:280
-msgid "More data was sent than was expected"
-msgstr "发送了比预期更多的数据量"
-
-#: dcpp/ShareManager.cpp:403
-msgid "No directory specified"
-msgstr "没有指定目录"
-
-#: dcpp/DownloadManager.cpp:419
-msgid "No slots available"
-msgstr "对方上传通道都已经满了"
-
-#: dcpp/AdcHub.cpp:576
-#, boost-format
-msgid "Not listening for connections - please restart %1%"
-msgstr ""
-
-#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
-#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
-#: dcpp/SearchManager.cpp:331
-msgid "Offline"
-msgstr "离线"
-
-#: dcpp/FavoriteManager.cpp:442
-msgid "Redirect user(s)"
-msgstr "重定向用户"
-
-#: dcpp/ShareManager.cpp:421
-msgid "Remove all subdirectories before adding this one"
-msgstr "增加前先删除所有子文件夹"
-
-#: dcpp/DownloadManager.cpp:225
-#, fuzzy
-msgid "Response does not match request"
-msgstr "已下载的“树”不匹配于 TTH root"
-
-#: dcpp/DCPlusPlus.cpp:100
-msgid "Shared Files"
-msgstr "共享文件"
-
-#: dcpp/Socket.cpp:269 dcpp/Socket.cpp:273
-msgid "Socks server authentication failed (bad login / password?)"
-msgstr "Socks代理鉴权失败 (用户名/密码错误?)"
-
-#: dcpp/CryptoManager.cpp:221
-#, boost-format
-msgid "TLS disabled, failed to generate certificate: %1%"
-msgstr ""
-
-#: dcpp/CryptoManager.cpp:211
-msgid "TLS disabled, no certificate file set"
-msgstr ""
-
-#: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519
-msgid "Target filename too long"
-msgstr "目标文件名太长"
-
-#: dcpp/QueueManager.cpp:798
-msgid "Target removed"
-msgstr ""
-
-#: dcpp/Socket.cpp:255
-msgid "The socks server doesn't support login / password authentication"
-msgstr "Socks代理不支持「用户/密码」验证"
-
-#: dcpp/Socket.cpp:162 dcpp/Socket.cpp:173 dcpp/Socket.cpp:206
-#: dcpp/Socket.cpp:210 dcpp/Socket.cpp:237 dcpp/Socket.cpp:252
-msgid "The socks server failed establish a connection"
-msgstr "Socks代理连接失败"
-
-#: dcpp/Socket.cpp:241
-msgid "The socks server requires authentication"
-msgstr "Socks代理需要「用户/密码」验证"
-
-#: dcpp/ShareManager.cpp:407
-msgid "The temporary download directory cannot be shared"
-msgstr "不能共享下载的临时文件目录"
-
-#: dcpp/QueueManager.cpp:465
-msgid "This file is already queued"
-msgstr ""
-
-#: dcpp/Thread.cpp:34 dcpp/Thread.cpp:42
-msgid "Unable to create thread"
-msgstr "不能建立线程"
-
-#: dcpp/QueueManager.cpp:995
-#, boost-format
-msgid "Unable to open filelist: %1%"
-msgstr ""
-
-#: dcpp/HashManager.cpp:131
-#, fuzzy
-msgid "Unable to read hash data file"
-msgstr "不能建立线程"
-
-#: dcpp/QueueManager.cpp:327
-#, fuzzy, boost-format
-msgid "Unable to rename %1%: %2%"
-msgstr "不能建立线程"
-
-#: dcpp/UploadManager.cpp:149
-#, boost-format
-msgid "Unable to send file %1%: %2%"
-msgstr ""
-
-#: dcpp/Socket.cpp:54
-#, c-format, boost-format
-msgid "Unknown error: 0x%1$x"
-msgstr ""
-
-#: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468
-msgid "Virtual directory name already exists"
-msgstr "要虚拟的名字已经存在了(不允许重复)"
-
-#: dcpp/QueueManager.cpp:412 dcpp/QueueManager.cpp:436
-msgid "You're trying to download from yourself!"
-msgstr "不能下载自己!"
-
-#: dcpp/SettingsManager.cpp:156
-msgid "downloaded from"
-msgstr ""
-
-#: dcpp/SettingsManager.cpp:157
-msgid "uploaded to"
-msgstr ""
Copied: dcplusplus/trunk/dcpp/po/zh_CN.po (from rev 1033, dcplusplus/trunk/dcpp/po/zh.po)
===================================================================
--- dcplusplus/trunk/dcpp/po/zh_CN.po (rev 0)
+++ dcplusplus/trunk/dcpp/po/zh_CN.po 2008-03-12 21:40:53 UTC (rev 1036)
@@ -0,0 +1,419 @@
+# Chinese translations for the DC++ package.
+# Copyright (C) 2008 The translators
+# This file is distributed under the same license as the DC++ package.
+# <fen...@us...>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: dcpp\n"
+"Report-Msgid-Bugs-To: dcp...@li...\n"
+"POT-Creation-Date: 2008-03-04 23:00+0100\n"
+"Last-Translator: <fen...@us...>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: plurals=2; plural=(n != 1);\n"
+
+#: dcpp/Util.cpp:381
+#, c-format, boost-format
+msgid "%'lld B"
+msgstr ""
+
+#: dcpp/Util.cpp:343
+#, c-format, boost-format
+msgid "%.02f GiB"
+msgstr ""
+
+#: dcpp/Util.cpp:339
+#, c-format, boost-format
+msgid "%.02f KiB"
+msgstr ""
+
+#: dcpp/Util.cpp:341
+#, c-format, boost-format
+msgid "%.02f MiB"
+msgstr ""
+
+#: dcpp/Util.cpp:347
+#, c-format, boost-format
+msgid "%.02f PiB"
+msgstr ""
+
+#: dcpp/Util.cpp:345
+#, c-format, boost-format
+msgid "%.02f TiB"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:139
+#, boost-format
+msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring"
+msgstr ""
+
+#: dcpp/NmdcHub.cpp:281
+#, boost-format
+msgid "%1% (Nick unknown)"
+msgstr ""
+
+#: dcpp/HashManager.cpp:767
+#, boost-format
+msgid ""
+"%1% not shared; calculated CRC32 does not match the one found in SFV file."
+msgstr ""
+
+#: dcpp/QueueManager.cpp:325
+#, boost-format
+msgid "%1% renamed to %2%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:281
+#, boost-format
+msgid "%1% was kicked by %2%: %3%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:284
+#, boost-format
+msgid "%1% was kicked: %2%"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:530
+#, fuzzy, boost-format
+msgid "%1%: File not available"
+msgstr "文件不存在"
+
+#: dcpp/Util.cpp:337
+#, c-format, boost-format
+msgid "%d B"
+msgstr ""
+
+#: dcpp/Util.cpp:377
+#, c-format, boost-format
+msgid "%s B"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:532
+msgid "A file of equal or larger size already exists at the target location"
+msgstr "一个相等或更大的文件已经存在于下载目录中"
+
+#: dcpp/QueueManager.cpp:475
+msgid "A file with a different size already exists in the queue"
+msgstr "存在大小不同的同名文件"
+
+#: dcpp/QueueManager.cpp:478
+msgid "A file with different tth root already exists in the queue"
+msgstr "队列中已经有一个不同 tth root 的文件"
+
+#: dcpp/QueueManager.cpp:442
+msgid "A file with the same hash already exists in your share"
+msgstr "在你的共享中已经有一个相同hash值的文件了"
+
+#: dcpp/ConnectionManager.cpp:176
+msgid "All download slots taken"
+msgstr "对方所有上传通道都已被占用"
+
+#: dcpp/DownloadManager.cpp:376
+msgid "CRC32 inconsistency (SFV-Check)"
+msgstr "CRC32 出错(SFV-Check)"
+
+#: dcpp/DownloadManager.cpp:374
+#, fuzzy, boost-format
+msgid "CRC32 inconsistency (SFV-Check) (File: %1%)"
+msgstr "CRC32 出错(SFV-Check)"
+
+#: dcpp/ConnectionManager.cpp:376
+msgid "Certificate not trusted, unable to connect"
+msgstr ""
+
+#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
+#: dcpp/BufferedSocket.cpp:154
+msgid "Connection timeout"
+msgstr "连接超时"
+
+#: dcpp/DownloadManager.cpp:232
+#, boost-format
+msgid "Could not open target file: %1%"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:418
+msgid "Directory already shared"
+msgstr "目录已经共享"
+
+#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+msgid "Disconnected"
+msgstr "连接中断"
+
+#: dcpp/UploadManager.cpp:450
+#, boost-format
+msgid "Disconnected user leaving the hub: %1%"
+msgstr ""
+
+#: dcpp/DCPlusPlus.cpp:103
+msgid "Download Queue"
+msgstr "下载队列"
+
+#: dcpp/ShareManager.cpp:741
+#, boost-format
+msgid ""
+"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched "
+"against: %4%%5%"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549
+#, boost-format
+msgid "Duplicate source: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:456
+#, boost-format
+msgid "Error creating hash data file: %1%"
+msgstr ""
+
+#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86
+#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60
+msgid "Error during compression"
+msgstr "压缩过程发生错误"
+
+#: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72
+#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342
+#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375
+msgid "Error during decompression"
+msgstr "解压缩出错"
+
+#: dcpp/HashManager.cpp:772
+#, boost-format
+msgid "Error hashing %1%: %2%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333
+#, boost-format
+msgid "Error saving hash data: %1%"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230
+#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239
+msgid "Failed to load certificate file"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248
+#: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257
+msgid "Failed to load private key"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:206
+msgid "Failed to negotiate base protocol"
+msgstr ""
+
+#: dcpp/Socket.cpp:408
+msgid ""
+"Failed to set up the socks server for UDP relay (check socks address and "
+"port)"
+msgstr "socks服务器UDP回应失败(检查socks服务器的地址和端口)"
+
+#: dcpp/ShareManager.cpp:776
+#, fuzzy, boost-format
+msgid "File list refresh failed: %1%"
+msgstr "文件列表已更新"
+
+#: dcpp/ShareManager.cpp:820
+msgid "File list refresh finished"
+msgstr "文件列表已更新"
+
+#: dcpp/ShareManager.cpp:756
+msgid ""
+"File list refresh in progress, please wait for it to finish before trying to "
+"refresh again"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:798
+msgid "File list refresh initiated"
+msgstr "文件列表刷新已开始"
+
+#: dcpp/DirectoryListing.cpp:102
+msgid "File not available"
+msgstr "文件不存在"
+
+#: dcpp/HashManager.cpp:89
+#, boost-format
+msgid "Finished hashing: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:87
+#, boost-format
+msgid "Finished hashing: %1% (%2%/s)"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:308
+msgid "Full tree does not match TTH root"
+msgstr "已下载的“树”不匹配于 TTH root"
+
+#: dcpp/CryptoManager.cpp:219
+msgid "Generated new TLS certificate"
+msgstr ""
+
+#: dcpp/DCPlusPlus.cpp:97
+msgid "Hash database"
+msgstr "Hash 数据库"
+
+#: dcpp/HashManager.cpp:677
+msgid "Hash database rebuilt"
+msgstr "Hash 数据库已重建"
+
+#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277
+#, boost-format
+msgid "Hashing failed: %1%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:212
+msgid ""
+"Hub probably uses an old version of ADC, please encourage the owner to "
+"upgrade"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:220
+msgid "Invalid size"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523
+msgid ""
+"Invalid target file (missing directory, check default download directory "
+"setting)"
+msgstr "目标文件无法访问(目录已被删除, 请检查缺省的下载地址设置)"
+
+#: dcpp/FavoriteManager.cpp:438
+msgid "Kick user(s)"
+msgstr "踢出该用户"
+
+#: dcpp/ConnectionManager.cpp:230
+#, boost-format
+msgid "Listening socket failed (you need to restart %1%): %2%"
+msgstr ""
+
+#: dcpp/BufferedSocket.cpp:261
+msgid "Maximum command length exceeded"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:280
+msgid "More data was sent than was expected"
+msgstr "发送了比预期更多的数据量"
+
+#: dcpp/ShareManager.cpp:403
+msgid "No directory specified"
+msgstr "没有指定目录"
+
+#: dcpp/DownloadManager.cpp:419
+msgid "No slots available"
+msgstr "对方上传通道都已经满了"
+
+#: dcpp/AdcHub.cpp:576
+#, boost-format
+msgid "Not listening for connections - please restart %1%"
+msgstr ""
+
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
+#: dcpp/SearchManager.cpp:331
+msgid "Offline"
+msgstr "离线"
+
+#: dcpp/FavoriteManager.cpp:442
+msgid "Redirect user(s)"
+msgstr "重定向用户"
+
+#: dcpp/ShareManager.cpp:421
+msgid "Remove all subdirectories before adding this one"
+msgstr "增加前先删除所有子文件夹"
+
+#: dcpp/DownloadManager.cpp:225
+#, fuzzy
+msgid "Response does not match request"
+msgstr "已下载的“树”不匹配于 TTH root"
+
+#: dcpp/DCPlusPlus.cpp:100
+msgid "Shared Files"
+msgstr "共享文件"
+
+#: dcpp/Socket.cpp:269 dcpp/Socket.cpp:273
+msgid "Socks server authentication failed (bad login / password?)"
+msgstr "Socks代理鉴权失败 (用户名/密码错误?)"
+
+#: dcpp/CryptoManager.cpp:221
+#, boost-format
+msgid "TLS disabled, failed to generate certificate: %1%"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:211
+msgid "TLS disabled, no certificate file set"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519
+msgid "Target filename too long"
+msgstr "目标文件名太长"
+
+#: dcpp/QueueManager.cpp:798
+msgid "Target removed"
+msgstr ""
+
+#: dcpp/Socket.cpp:255
+msgid "The socks server doesn't support login / password authentication"
+msgstr "Socks代理不支持「用户/密码」验证"
+
+#: dcpp/Socket.cpp:162 dcpp/Socket.cpp:173 dcpp/Socket.cpp:206
+#: dcpp/Socket.cpp:210 dcpp/Socket.cpp:237 dcpp/Socket.cpp:252
+msgid "The socks server failed establish a connection"
+msgstr "Socks代理连接失败"
+
+#: dcpp/Socket.cpp:241
+msgid "The socks server requires authentication"
+msgstr "Socks代理需要「用户/密码」验证"
+
+#: dcpp/ShareManager.cpp:407
+msgid "The temporary download directory cannot be shared"
+msgstr "不能共享下载的临时文件目录"
+
+#: dcpp/QueueManager.cpp:465
+msgid "This file is already queued"
+msgstr ""
+
+#: dcpp/Thread.cpp:34 dcpp/Thread.cpp:42
+msgid "Unable to create thread"
+msgstr "不能建立线程"
+
+#: dcpp/QueueManager.cpp:995
+#, boost-format
+msgid "Unable to open filelist: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:131
+#, fuzzy
+msgid "Unable to read hash data file"
+msgstr "不能建立线程"
+
+#: dcpp/QueueManager.cpp:327
+#, fuzzy, boost-format
+msgid "Unable to rename %1%: %2%"
+msgstr "不能建立线程"
+
+#: dcpp/UploadManager.cpp:149
+#, boost-format
+msgid "Unable to send file %1%: %2%"
+msgstr ""
+
+#: dcpp/Socket.cpp:54
+#, c-format, boost-format
+msgid "Unknown error: 0x%1$x"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468
+msgid "Virtual directory name already exists"
+msgstr "要虚拟的名字已经存在了(不允许重复)"
+
+#: dcpp/QueueManager.cpp:412 dcpp/QueueManager.cpp:436
+msgid "You're trying to download from yourself!"
+msgstr "不能下载自己!"
+
+#: dcpp/SettingsManager.cpp:156
+msgid "downloaded from"
+msgstr ""
+
+#: dcpp/SettingsManager.cpp:157
+msgid "uploaded to"
+msgstr ""
Added: dcplusplus/trunk/mingwm10.dll
===================================================================
(Binary files differ)
Property changes on: dcplusplus/trunk/mingwm10.dll
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Modified: dcplusplus/trunk/release.sh
===================================================================
--- dcplusplus/trunk/release.sh 2008-03-12 20:53:16 UTC (rev 1035)
+++ dcplusplus/trunk/release.sh 2008-03-12 21:40:53 UTC (rev 1036)
@@ -5,7 +5,7 @@
i686-mingw32-strip DCPlusPlus.exe
#copy /b app\dcplusplus.chm .
-zip -9 DCPlusPlus-$1.zip changelog.txt dcppboot.xml DCPlusPlus.chm DCPlusPlus.exe Example.xml License.txt LICENSE-GeoIP.txt LICENSE-OpenSSL.txt magnet.exe GeoIPCountryWhois.csv
+zip -9 DCPlusPlus-$1.zip changelog.txt dcppboot.xml DCPlusPlus.chm DCPlusPlus.exe Example.xml License.txt LICENSE-GeoIP.txt LICENSE-OpenSSL.txt magnet.exe GeoIPCountryWhois.csv mingwm10.dll
find *.txt *.TXT *.nsi *.xml *.py *.csv *.sh magnet.exe Doxyfile SConstruct boost bzip2 dcpp help htmlhelp res smartwin win32 openssl zlib \
-wholename "*/.svn" -prune -o -print | grep -v gch$ | zip -9 DCPlusPlus-$1-src.zip -9 -@
Deleted: dcplusplus/trunk/win32/po/zh.po
===================================================================
--- dcplusplus/trunk/win32/po/zh.po 2008-03-12 20:53:16 UTC (rev 1035)
+++ dcplusplus/trunk/win32/po/zh.po 2008-03-12 21:40:53 UTC (rev 1036)
@@ -1,2290 +0,0 @@
-# Chinese translations for the DC++ package.
-# Copyright (C) 2008 The translators
-# This file is distributed under the same license as the DC++ package.
-# <fen...@us...>, 2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: win32\n"
-"Report-Msgid-Bugs-To: dcp...@li...\n"
-"POT-Creation-Date: 2008-03-04 23:00+0100\n"
-"Last-Translator: <fen...@us...>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: plurals=2; plural=(n != 1);\n"
-
-#: win32/MainWindow.cpp:862
-#, fuzzy, boost-format
-msgid ""
-"%1%\n"
-"Open download page?"
-msgstr "打开下载目录"
-
-#: win32/TransferView.cpp:571
-#, boost-format
-msgid "%1% (%2$0.2f)"
-msgstr ""
-
-#: win32/HashProgressDlg.cpp:91
-#, boost-format
-msgid "%1% files/h, %2% files left"
-msgstr ""
-
-#: win32/SearchFrame.cpp:576
-#, boost-format
-msgid "%1% filtered"
-msgstr ""
-
-#: win32/SearchFrame.cpp:571
-#, boost-format
-msgid "%1% item"
-msgid_plural "%1% items"
-msgstr[0] ""
-msgstr[1] ""
-
-#: win32/HashProgressDlg.cpp:100
-#, boost-format
-msgid "%1% left"
-msgstr ""
-
-#: win32/HubFrame.cpp:927
-#, fuzzy, boost-format
-msgid "%1% user"
-msgid_plural "%1% users"
-msgstr[0] "没有用户"
-msgstr[1] "没有用户"
-
-#: win32/TransferView.cpp:586 win32/TransferView.cpp:633
-#, boost-format
-msgid "%1%/s"
-msgstr ""
-
-#: win32/HashProgressDlg.cpp:92
-#, boost-format
-msgid "%1%/s, %2% left"
-msgstr ""
-
-#: win32/HubListsDlg.cpp:63 win32/UCPage.cpp:33
-#, fuzzy
-msgid "&Add"
-msgstr "已添加"
-
-#: win32/UploadPage.cpp:37 win32/FavoriteDirsPage.cpp:34
-msgid "&Add folder"
-msgstr ""
-
-#: win32/DirectoryListingFrame.cpp:369 win32/SearchFrame.cpp:774
-#: win32/SearchFrame.cpp:804 win32/DownloadPage.cpp:32 win32/LogPage.cpp:33
-#: win32/Appearance2Page.cpp:30
-#, fuzzy
-msgid "&Browse..."
-msgstr "浏览到"
-
-#: win32/UCPage.cpp:34
-#, fuzzy
-msgid "&Change"
-msgstr "更新记录"
-
-#: win32/PrivateFrame.cpp:388 win32/HubFrame.cpp:1178
-#, fuzzy
-msgid "&Close"
-msgstr "颜色"
-
-#: win32/PublicHubsFrame.cpp:150
-msgid "&Configure"
-msgstr ""
-
-#: win32/FavHubsFrame.cpp:72 win32/FavHubsFrame.cpp:278
-#: win32/PublicHubsFrame.cpp:448
-#, fuzzy
-msgid "&Connect"
-msgstr "已连接"
-
-#: win32/TransferView.cpp:199
-#, fuzzy
-msgid "&Disconnect"
-msgstr "快速连接"
-
-#: win32/DirectoryListingFrame.cpp:311 win32/DirectoryListingFrame.cpp:336
-#: win32/DirectoryListingFrame.cpp:348 win32/SearchFrame.cpp:742
-#, fuzzy
-msgid "&Download"
-msgstr "下载"
-
-#: win32/MainWindow.cpp:214
-#, fuzzy
-msgid "&Download Queue\tCtrl+D"
-msgstr "下载队列"
-
-#: win32/HubListsDlg.cpp:75
-msgid "&Edit"
-msgstr ""
-
-#: win32/MainWindow.cpp:211
-#, fuzzy
-msgid "&Favorite Hubs\tCtrl+F"
-msgstr "站点收藏夹"
-
-#: win32/MainWindow.cpp:188
-#, fuzzy
-msgid "&File"
-msgstr "文件"
-
-#: win32/TransferView.cpp:196
-msgid "&Force attempt"
-msgstr ""
-
-#: win32/QueueFrame.cpp:1006 win32/WaitingUsersFrame.cpp:80
-#: win32/PrivateFrame.cpp:380
-msgid "&Get file list"
-msgstr ""
-
-#: win32/DirectoryListingFrame.cpp:325
-#, fuzzy
-msgid "&Go to directory"
-msgstr "下载整个目录"
-
-#: win32/MainWindow.cpp:240 win32/ADLSearchFrame.cpp:93
-msgid "&Help"
-msgstr ""
-
-#: win32/PrivateFrame.cpp:381
-#, fuzzy
-msgid "&Match queue"
-msgstr "队列匹配"
-
-#: win32/QueueFrame.cpp:960 win32/QueueFrame.cpp:978 win32/QueueFrame.cpp:988
-#, fuzzy
-msgid "&Move/Rename"
-msgstr "重命名"
-
-#: win32/FavHubsFrame.cpp:77 win32/FavHubsFrame.cpp:280
-#: win32/ADLSearchFrame.cpp:68 win32/ADLSearchFrame.cpp:291
-msgid "&New..."
-msgstr ""
-
-#: win32/MainWindow.cpp:223
-#, fuzzy
-msgid "&Notepad\tCtrl+N"
-msgstr "记事本"
-
-#: win32/FavHubsFrame.cpp:82 win32/FavHubsFrame.cpp:281
-#: win32/ADLSearchFrame.cpp:73 win32/ADLSearchFrame.cpp:292
-#: win32/UsersFrame.cpp:186
-#, fuzzy
-msgid "&Properties"
-msgstr "ADL搜索选项 (ADLSearch Properties)"
-
-#: win32/MainWindow.cpp:210
-#, fuzzy
-msgid "&Public Hubs\tCtrl+P"
-msgstr "服务器列表"
-
-#: win32/MainWindow.cpp:190
-#, fuzzy
-msgid "&Quick Connect ...\tCtrl+Q"
-msgstr "快速连接"
-
-#: win32/MainWindow.cpp:192 win32/HubFrame.cpp:1173
-msgid "&Reconnect\tCtrl+R"
-msgstr ""
-
-#: win32/PublicHubsFrame.cpp:156
-msgid "&Refresh"
-msgstr ""
-
-#: win32/UploadPage.cpp:36 win32/QueueFrame.cpp:968 win32/QueueFrame.cpp:980
-#: win32/QueueFrame.cpp:990 win32/HubListsDlg.cpp:79
-#: win32/WaitingUsersFrame.cpp:82 win32/FavoriteDirsPage.cpp:33
-#: win32/SearchFrame.cpp:755 win32/FavHubsFrame.cpp:97
-#: win32/FavHubsFrame.cpp:285 win32/ADLSearchFrame.cpp:88
-#: win32/ADLSearchFrame.cpp:293 win32/UCPage.cpp:35 win32/UsersFrame.cpp:187
-#, fuzzy
-msgid "&Remove"
-msgstr "重命名"
-
-#: win32/SpyFrame.cpp:189
-#, fuzzy
-msgid "&Search"
-msgstr "搜索"
-
-#: win32/MainWindow.cpp:219
-#, fuzzy
-msgid "&Search\tCtrl+S"
-msgstr "搜索"
-
-#: win32/QueueFrame.cpp:1013 win32/WaitingUsersFrame.cpp:85
-msgid "&Send private message"
-msgstr ""
-
-#: win32/MainWindow.cpp:208
-#, fuzzy
-msgid "&View"
-msgstr "视频"
-
-#: win32/DirectoryListingFrame.cpp:315 win32/SearchFrame.cpp:746
-msgid "&View as text"
-msgstr ""
-
-#: win32/MainWindow.cpp:230
-msgid "&Window"
-msgstr ""
-
-#: win32/HubFrame.cpp:487
-#, boost-format
-msgid "*** Joins: %1%"
-msgstr ""
-
-#: win32/HubFrame.cpp:494
-#, boost-format
-msgid "*** Parts: %1%"
-msgstr ""
-
-#: win32/HashProgressDlg.cpp:84
-#, boost-format
-msgid "-.-- B/s, %1% left"
-msgstr ""
-
-#: win32/HashProgressDlg.cpp:83
-#, boost-format
-msgid "-.-- files/h, %1% files left"
-msgstr ""
-
-#: win32/WinUtil.cpp:1036
-msgid ""
-"A MAGNET link was given to DC++, but it didn't contain a valid file hash for "
-"use on the Direct Connect network. No action will be taken."
-msgstr ""
-"一个MAGNET链接已经加给DC++, 但是它不包含一个在DC网络上可用的hash值. 没有动作"
-"执行."
-
-#: win32/MainWindow.cpp:220 win32/MainWindow.cpp:294
-msgid "ADL Search"
-msgstr "ADL 搜索"
-
-#: win32/ADLSProperties.cpp:49
-msgid "ADLSearch Properties"
-msgstr "ADL搜索选项 (ADLSearch Properties)"
-
-#: win32/MainWindow.cpp:305 win32/MainWindow.cpp:564
-msgid "AWAY"
-msgstr "离开"
-
-#: win32/MainWindow.cpp:245
-msgid "About DC++..."
-msgstr "关于 DC++...(fenxiang汉化)"
-
-#: win32/AdvancedPage.cpp:43
-msgid "Accept custom user commands from hub"
-msgstr "接受站点的自定义用户命令"
-
-#: win32/WaitingUsersFrame.cpp:84 win32/PrivateFrame.cpp:384
-#: win32/HubFrame.cpp:1170 win32/PublicHubsFrame.cpp:449
-#, fuzzy
-msgid "Add To &Favorites"
-msgstr "站点收藏夹"
-
-#: win32/AdvancedPage.cpp:45
-msgid "Add finished files to share instantly (if shared)"
-msgstr "立刻把完成的文件加到共享(如果已加为共享)"
-
-#: win32/QueueFrame.cpp:45
-msgid "Added"
-msgstr "已添加"
-
-#: win32/MainWindow.cpp:358 win32/PublicHubsFrame.cpp:52
-msgid "Address"
-msgstr "服务器地址"
-
-#: win32/SettingsDialog.cpp:67
-msgid "Advanced"
-msgstr "高级"
-
-#: win32/SettingsDialog.cpp:69
-msgid "Advanced\\Experts only"
-msgstr ""
-
-#: win32/SettingsDialog.cpp:68
-#, fuzzy
-msgid "Advanced\\Logs"
-msgstr "高级"
-
-#: win32/SettingsDialog.cpp:71
-msgid "Advanced\\Security Certificates"
-msgstr ""
-
-#: win32/SettingsDialog.cpp:70
-msgid "Advanced\\User Commands"
-msgstr ""
-
-#: win32/QueueFrame.cpp:1022 win32/QueueFrame.cpp:1031
-msgid "All"
-msgstr "全部"
-
-#: win32/QueueFrame.cpp:431
-#, fuzzy, boost-format
-msgid "All %1% users offline"
-msgstr "用户离线中"
-
-#: win32/CertificatesPage.cpp:43
-msgid "Allow TLS connections to clients without trusted certificate"
-msgstr ""
-
-#: win32/CertificatesPage.cpp:42
-msgid "Allow TLS connections to hubs without trusted certificate"
-msgstr ""
-
-#: win32/CommandDlg.cpp:117
-msgid "Always open help file with this dialog"
-msgstr "总是在出现此对话框时打开帮助文件"
-
-#: win32/SearchFrame.cpp:182 win32/HubFrame.cpp:119
-#: win32/PublicHubsFrame.cpp:138
-msgid "Any"
-msgstr "任意"
-
-#: win32/SettingsDialog.cpp:63
-msgid "Appearance"
-msgstr "外观"
-
-#: win32/SettingsDialog.cpp:64
-msgid "Appearance\\Colors and sounds"
-msgstr ""
-
-#: win32/SettingsDialog.cpp:65
-#, fuzzy
-msgid "Appearance\\Tabs"
-msgstr "外观"
-
-#: win32/SettingsDialog.cpp:66
-#, fuzzy
-msgid "Appearance\\Windows"
-msgstr "外观"
-
-#: win32/SearchFrame.cpp:156
-msgid "At least"
-msgstr "最少"
-
-#: win32/SearchFrame.cpp:157
-msgid "At most"
-msgstr "最多"
-
-#: win32/SearchFrame.cpp:183
-msgid "Audio"
-msgstr "声音"
-
-#: win32/FavHubsFrame.cpp:32
-msgid "Auto connect / Name"
-msgstr "是否自动连接 / 服务器(HUB)名称"
-
-#: win32/UsersFrame.cpp:30
-msgid "Auto grant slot / Nick"
-msgstr "自动打开额外通道/用户昵称"
-
-#: win32/QueuePage.cpp:28
-msgid "Auto priority settings"
-msgstr ""
-
-#: win32/Advanced3Page.cpp:40
-msgid "Auto refresh time"
-msgstr ""
-
-#: win32/AdvancedPage.cpp:30
-msgid "Auto-away on minimize (and back on restore)"
-msgstr "最小化时离开(复原时回来)"
-
-#: win32/WindowsPage.cpp:30
-msgid "Auto-open at startup"
-msgstr "启动时自动打开"
-
-#: win32/Advanced3Page.cpp:41
-msgid "Auto-search limit"
-msgstr ""
-
-#: win32/QueuePage.cpp:37
-#, fuzzy
-msgid "Autodrop settings"
-msgstr "连接设置"
-
-#: win32/QueuePage.cpp:69
-msgid "Autodrop slow sources for all queue items (except filelists)"
-msgstr ""
-
-#: win32/ADLSearchFrame.cpp:40
-msgid "Automatic Directory Listing Search"
-msgstr "ADL搜索"
-
-#: win32/AdvancedPage.cpp:37
-msgid "Automatically disconnect users who leave the hub"
-msgstr "自动断开离线用户(当站点关闭/你离开的时候不断开)"
-
-#: win32/AdvancedPage.cpp:31
-msgid "Automatically follow redirects"
-msgstr "自动跟随重定向"
-
-#: win32/QueuePage.cpp:73
-msgid "Automatically match queue for auto search hits"
-msgstr "将自动搜索到的结果自动进行队列匹配"
-
-#: win32/UploadPage.cpp:39
-msgid "Automatically open an extra slot if speed is below (0 = disable)"
-msgstr "当速度低于此值时自动打开额外通道 (0 = 禁用)"
-
-#: win32/QueuePage.cpp:72
-msgid "Automatically search for alternative download locations"
-msgstr "自动搜索其他下载位置"
-
-#: win32/SpyFrame.cpp:115
-#, boost-format
-msgid "Average/s: %1%"
-msgstr ""
-
-#: win32/WinUtil.cpp:274 win32/WinUtil.cpp:284
-msgid "Away mode off"
-msgstr "关闭离开状态"
-
-#: win32/WinUtil.cpp:279
-#, fuzzy, boost-format
-msgid "Away mode on: %1%"
-msgstr "关闭离开状态"
-
-#: win32/Advanced3Page.cpp:28 win32/SearchFrame.cpp:171
-#: win32/ADLSProperties.cpp:74
-msgid "B"
-msgstr "B"
-
-#: win32/QueuePage.cpp:39
-#, fuzzy
-msgid "B/s"
-msgstr "KiB/s"
-
-#: win32/Advanced3Page.cpp:37
-msgid "Bind address"
-msgstr "Bind地址"
-
-#: win32/AdvancedPage.cpp:41
-msgid "Break on first ADLSearch match"
-msgstr "ADL搜索中得到第一个匹配文件后停止"
-
-#: win32/DownloadPage.cpp:34
-msgid "Browse..."
-msgstr "浏览到"
-
-#: win32/SearchFrame.cpp:43 win32/HubFrame.cpp:44 win32/UsersFrame.cpp:34
-msgid "CID"
-msgstr ""
-
-#: win32/QueueFrame.cpp:477
-msgid "CRC32 inconsistency (SFV-Check)"
-msgstr "CRC32 出错(SFV-Check)"
-
-#: win32/MainWindow.cpp:244
-msgid "Change Log"
-msgstr "更新记录"
-
-#: win32/CommandDlg.cpp:82
-msgid "Chat"
-msgstr "聊天(Chat)"
-
-#: win32/QueuePage.cpp:40
-msgid "Check every"
-msgstr ""
-
-#: win32/WinUtil.cpp:423
-msgid "Choose folder"
-msgstr "选择文件夹"
-
-#: win32/TransferView.cpp:45
-#, fuzzy
-msgid "Chunk"
-msgstr "统计"
-
-#: win32/TransferView.cpp:48
-msgid "Cipher"
-msgstr ""
-
-#: win32/AdvancedPage.cpp:32
-msgid "Clear search box after each search"
-msgstr "每次搜索后清除搜索框"
-
-#: win32/MainWindow.cpp:233
-msgid "Close all PM windows"
-msgstr ""
-
-#: win32/MainWindow.cpp:235
-msgid "Close all file list windows"
-msgstr ""
-
-#: win32/MainWindow.cpp:234
-msgid "Close all offline PM windows"
-msgstr ""
-
-#: win32/MainWindow.cpp:236
-msgid "Close all search windows"
-msgstr ""
-
-#: win32/MainWindow.cpp:232
-msgid "Close disconnected"
-msgstr "关闭已断开的站点"
-
-#: win32/Appearance2Page.cpp:31
-msgid "Colors"
-msgstr "颜色"
-
-#: win32/UCPage.cpp:54
-msgid "Command"
-msgstr "命令"
-
-#: win32/SearchFrame.cpp:184
-msgid "Compressed"
-msgstr "压缩"
-
-#: win32/DownloadPage.cpp:41
-msgid "Configure Public Hub Lists"
-msgstr "设定公众服务器列表"
-
-#: win32/HubListsDlg.cpp:43 win32/PublicHubsFrame.cpp:164
-msgid "Configured Public Hub Lists"
-msgstr "设定的公众服务器列表"
-
-#: win32/WindowsPage.cpp:66
-msgid "Confirm application exit"
-msgstr "确认关闭程序"
-
-#: win32/WindowsPage.cpp:32
-#, fuzzy
-msgid "Confirm dialog options"
-msgstr "窗口选项"
-
-#: win32/WindowsPage.cpp:67
-msgid "Confirm favorite hub removal"
-msgstr "移除收藏的站点时需要确认"
-
-#: win32/WindowsPage.cpp:68
-msgid "Confirm item removal in download queue"
-msgstr "在下载队列中移动项目时需要确认"
-
-#: win32/HubFrame.cpp:497
-msgid "Connected"
-msgstr "已连接"
-
-#: win32/TransferView.cpp:642 win32/TransferView.cpp:649
-#, fuzzy
-msgid "Connecting"
-msgstr "连接方式"
-
-#: win32/TransferView.cpp:283
-#, fuzzy
-msgid "Connecting (forced)"
-msgstr "已连接"
-
-#: win32/HubFrame.cpp:823
-#, fuzzy, boost-format
-msgid "Connecting to %1%..."
-msgstr "连接方式"
-
-#: win32/SearchFrame.cpp:38 win32/HubFrame.cpp:41
-msgid "Connection"
-msgstr "连接方式"
-
-#: win32/SettingsDialog.cpp:58
-msgid "Connection settings"
-msgstr "连接设置"
-
-#: win32/TransferView.cpp:83 win32/TransferView.cpp:89
-#, fuzzy
-msgid "Connections"
-msgstr "连接方式"
-
-#: win32/HubFrame.cpp:1174 win32/PublicHubsFrame.cpp:450
-#, fuzzy
-msgid "Copy &address to clipboard"
-msgstr "复制magnet链接"
-
-#: win32/TransferView.cpp:197 win32/HubFrame.cpp:1152
-#, fuzzy
-msgid "Copy &nick to clipboard"
-msgstr "复制magnet链接"
-
-#: win32/WaitingUsersFrame.cpp:81
-#, fuzzy
-msgid "Copy Filename"
-msgstr "文件名"
-
-#: win32/WinUtil.cpp:373
-msgid "Copy magnet link to clipboard"
-msgstr "复制magnet链接"
-
-#: win32/SpyFrame.cpp:35
-msgid "Count"
-msgstr "统计"
-
-#: win32/PublicHubsFrame.cpp:53
-msgid "Country"
-msgstr "国家"
-
-#: win32/CommandDlg.cpp:63
-msgid "Create / Modify Command"
-msgstr "创建和修改用户命令 (Create / Modify User Command)"
-
-#: win32/HashProgressDlg.cpp:40
-msgid "Creating file index..."
-msgstr "正在建立文件索引..."
-
-#: win32/MainWindow.cpp:567
-#, boost-format
-msgid "D: %1%"
-msgstr ""
-
-#: win32/MainWindow.cpp:569
-#, boost-format
-msgid "D: %1%/s (%2%)"
-msgstr ""
-
-#: win32/WinUtil.cpp:830
-msgid "DC++"
-msgstr "DC++"
-
-#: win32/MainWindow.cpp:247
-msgid "DC++ Homepage"
-msgstr "DC++ 主页"
-
-#: win32/MainWindow.cpp:252
-msgid "DC++ discussion forum"
-msgstr "DC++ 论坛"
-
-#: win32/AppearancePage.cpp:86 win32/AppearancePage.cpp:113
-msgid "Default"
-msgstr ""
-
-#: win32/AppearancePage.cpp:32
-msgid "Default away message"
-msgstr "默认的离开信息 (Default away message)"
-
-#: win32/DownloadPage.cpp:31
-msgid "Default download directory"
-msgstr "默认下载位置 (Default download directory)"
-
-#: win32/GeneralPage.cpp:31 win32/FavHubsFrame.cpp:33 win32/HubFrame.cpp:39
-#: win32/PublicHubsFrame.cpp:50 win32/UsersFrame.cpp:33
-#: win32/UsersFrame.cpp:143
-msgid "Description"
-msgstr "描述"
-
-#: win32/ADLSearchFrame.cpp:34
-msgid "Destination Directory"
-msgstr "归类目录名"
-
-#: win32/NetworkPage.cpp:30 win32/NetworkPage.cpp:31
-#, fuzzy
-msgid "Direct connection"
-msgstr "连接方式"
-
-#: win32/DownloadPage.cpp:30
-msgid "Directories"
-msgstr "目录 (Directories)"
-
-#: win32/UploadPage.cpp:64 win32/FavoriteDirsPage.cpp:49
-#: win32/SearchFrame.cpp:189 win32/SearchFrame.cpp:530 win32/LogPage.cpp:32
-#: win32/ADLSProperties.cpp:63
-msgid "Directory"
-msgstr "目录"
-
-#: win32/FavoriteDirsPage.cpp:126 win32/FavoriteDirsPage.cpp:159
-msgid "Directory or directory name already exists"
-msgstr "已经有这个目录或者目录名了"
-
-#: win32/MagnetDlg.cpp:62
-msgid "Do nothing"
-msgstr "什么也不做"
-
-#: win32/SearchFrame.cpp:185
-msgid "Document"
-msgstr "文件"
-
-#: win32/NetworkPage.cpp:35
-msgid "Don't allow hub/UPnP to override"
-msgstr ""
-
-#: win32/AdvancedPage.cpp:47
-#, fuzzy
-msgid "Don't automatically disconnect favorite users who leave the hub"
-msgstr "自动断开离线用户(当站点关闭/你离开的时候不断开)"
-
-#: win32/AdvancedPage.cpp:36
-msgid "Don't delete file lists when exiting"
-msgstr "关闭时不删除文件列表"
-
-#: win32/QueuePage.cpp:75
-msgid "Don't download files already in share"
-msgstr "不下载共享目录里已经有的文件"
-
-#: win32/QueuePage.cpp:76
-#, fuzzy
-msgid "Don't download files already in the queue"
-msgstr "不下载共享目录里已经有的文件"
-
-#: win32/HubFrame.cpp:392
-msgid "Don't remove /password before your password"
-msgstr "勿删除你的密码前的“/passwaord ”"
-
-#: win32/QueuePage.cpp:71
-msgid "Don't remove the source when autodropping, only disconnect"
-msgstr ""
-
-#: win32/AdvancedPage.cpp:40
-msgid "Don't send the away message to bots"
-msgstr "不对站点机器人发送离线消息"
-
-#: win32/MainWindow.cpp:255
-msgid "Donate (paypal)"
-msgstr "捐赠 €€€/$$$ (paypal)"
-
-#: win32/Appearance2Page.cpp:34
-msgid "Donate €€€:s! (ok, dirty dollars are fine as well =) (see help menu)"
-msgstr ""
-
-#: win32/TransferView.cpp:58
-msgid "Done"
-msgstr "完成"
-
-#: win32/DirectoryListingFrame.cpp:358
-#, fuzzy
-msgid "Download &to..."
-msgstr "下载到..."
-
-#: win32/ADLSProperties.cpp:88
-msgid "Download Matches"
-msgstr "下载匹配的"
-
-#: win32/QueueFrame.cpp:57 win32/TabsPage.cpp:41 win32/WindowsPage.cpp:39
-#: win32/MainWindow.cpp:288
-msgid "Download Queue"
-msgstr "下载队列"
-
-#: win32/PublicHubsFrame.cpp:322
-#, fuzzy, boost-format
-msgid "Download failed: %1%"
-msgstr "已下载"
-
-#: win32/WinUtil.cpp:831
-msgid "Download files from the Direct Connect network"
-msgstr "从DC网络上下载文件"
-
-#: win32/SearchFrame.cpp:764
-msgid "Download to..."
-msgstr "下载到..."
-
-#: win32/SearchFrame.cpp:744
-msgid "Download whole directory"
-msgstr "下载整个目录"
-
-#: win32/SearchFrame.cpp:794
-msgid "Download whole directory to..."
-msgstr "下载整个目录到..."
-
-#: win32/QueueFrame.cpp:39
-msgid "Downloaded"
-msgstr "已下载"
-
-#: win32/TransferView.cpp:731
-#, fuzzy, boost-format
-msgid "Downloading %1%"
-msgstr "下载中..."
-
-#: win32/TransferView.cpp:631
-#, boost-format
-msgid "Downloading from %1% user"
-msgid_plural "Downloading from %1% users"
-msgstr[0] ""
-msgstr[1] ""
-
-#: win32/DirectoryListingFrame.cpp:695
-#, fuzzy
-msgid "Downloading list..."
-msgstr "下载中..."
-
-#: win32/PublicHubsFrame.cpp:188 win32/PublicHubsFrame.cpp:459
-msgid "Downloading public hub list..."
-msgstr "下载服务器列表中..."
-
-#: win32/PublicHubsFrame.cpp:319
-#, fuzzy, boost-format
-msgid "Downloading public hub list... (%1%)"
-msgstr "下载服务器列表中..."
-
-#: win32/AboutDlg.cpp:63
-msgid "Downloading..."
-msgstr "下载中..."
-
-#: win32/SettingsDialog.cpp:59 win32/MainWindow.cpp:248
-#: win32/TransferView.cpp:92 win32/TransferView.cpp:94
-#: win32/Appearance2Page.cpp:40
-msgid "Downloads"
-msgstr "下载"
-
-#: win32/SettingsDialog.cpp:60
-#, fuzzy
-msgid "Downloads\\Favorites"
-msgstr "下载匹配的"
-
-#: win32/SettingsDialog.cpp:61
-#, fuzzy
-msgid "Downloads\\Queue"
-msgstr "下载队列"
-
-#: win32/QueuePage.cpp:38
-msgid "Drop sources below"
-msgstr ""
-
-#: win32/MainWindow.cpp:204
-msgid "E&xit"
-msgstr ""
-
-#: win32/GeneralPage.cpp:30 win32/HubFrame.cpp:43
-msgid "E-Mail"
-msgstr "电子邮件"
-
-#: win32/HubListsDlg.cpp:149
-msgid "Edit the hublist"
-msgstr ""
-
-#: win32/AdvancedPage.cpp:39
-msgid "Enable automatic SFV checking"
-msgstr "自动做 SFV 检测"
-
-#: win32/AdvancedPage.cpp:42
-msgid "Enable safe and compressed transfers"
-msgstr "使用安全、压缩传输"
-
-#: win32/ADLSProperties.cpp:84
-msgid "Enabled"
-msgstr "启用"
-
-#: win32/ADLSearchFrame.cpp:32
-msgid "Enabled / Search String"
-msgstr "是否生效/关键字"
-
-#: win32/DirectoryListingFrame.cpp:797
-msgid "Enter search string"
-msgstr "输入搜索关键字"
-
-#: win32/WinUtil.cpp:738
-msgid "Error creating adc registry key"
-msgstr ""
-
-#: win32/WinUtil.cpp:699
-msgid "Error creating dchub registry key"
-msgstr ""
-
-#: win32/WinUtil.cpp:798 win32/WinUtil.cpp:811
-msgid "Error creating magnet registry key"
-msgstr ""
-
-#: win32/QueueFrame.cpp:44
-msgid "Errors"
-msgstr "错误"
-
-#: win32/QueueFrame.cpp:43 win32/DirectoryListingFrame.cpp:42
-#: win32/SearchFrame.cpp:40
-msgid "Exact size"
-msgstr "准确大小"
-
-#: win32/SearchFrame.cpp:186
-msgid "Executable"
-msgstr "可执行文件"
-
-#: win32/MainWindow.cpp:1003
-msgid "Exit"
-msgstr ""
-
-#: win32/NetworkPage.cpp:38
-msgid "External / WAN IP"
-msgstr ""
-
-#: win32/PublicHubsFrame.cpp:168
-#, fuzzy
-msgid "F&ilter"
-msgstr "文件"
-
-#: win32/MainWindow.cpp:646 win32/MainWindow.cpp:647
-msgid "Failed to create port mappings. Please set up your NAT yourself."
-msgstr "端口映射失败,请手动设置"
-
-#: win32/MainWindow.cpp:665 win32/MainWindow.cpp:666
-msgid "Failed to get external IP via UPnP. Please set it yourself."
-msgstr "无法取得外部IP,UPnP失败,请手动设置."
-
-#: win32/MainWindow.cpp:679 win32/MainWindow.cpp:687
-msgid "Failed to remove port mappings"
-msgstr "无法移除端口映射"
-
-#: win32/MainWindow.cpp:212
-#, fuzzy
-msgid "Favorite &Users\tCtrl+U"
-msgstr "我的好友"
-
-#: win32/FavHubProperties.cpp:47
-msgid "Favorite Hub Properties"
-msgstr "收藏的站点的选项 Favorite Hub Properties"
-
-#: win32/WindowsPage.cpp:47 win32/MainWindow.cpp:285 win32/FavHubsFrame.cpp:41
-msgid "Favorite Hubs"
-msgstr "站点收藏夹"
-
-#: win32/WindowsPage.cpp:38 win32/MainWindow.cpp:286 win32/UsersFrame.cpp:38
-msgid "Favorite Users"
-msgstr "我的好友"
-
-#: win32/FavoriteDirsPage.cpp:32
-msgid "Favorite download directories"
-msgstr "收藏的 \"下载目录\""
-
-#: win32/HubFrame.cpp:955
-msgid "Favorite hub added"
-msgstr "已加入站点收藏夹"
-
-#: win32/HubFrame.cpp:965
-#, fuzzy
-msgid "Favorite hub removed"
-msgstr "已加入站点收藏夹"
-
-#: win32/FavoriteDirsPage.cpp:48 win32/FavoriteDirsPage.cpp:120
-#: win32/FavoriteDirsPage.cpp:150
-msgid "Favorite name"
-msgstr "收藏的目录名"
-
-#: win32/PrivateFrame.cpp:303
-msgid "Favorite user added"
-msgstr "已加入好友列表"
-
-#: win32/DirectoryListingFrame.cpp:40 win32/SearchFrame.cpp:32
-msgid "File"
-msgstr "文件"
-
-#: win32/QueueFrame.cpp:473
-msgid "File not available"
-msgstr "文件不存在"
-
-#: win32/SearchFrame.cpp:122
-msgid "File type"
-msgstr "文件类型"
-
-#: win32/CommandDlg.cpp:99
-msgid "Filelist Menu"
-msgstr "文件列表菜单"
-
-#: win32/QueueFrame.cpp:36 win32/TransferView.cpp:53 win32/LogPage.cpp:35
-#: win32/ADLSProperties.cpp:62
-msgid "Filename"
-msgstr "文件名"
-
-#: win32/MagnetDlg.cpp:48
-msgid "Filename:"
-msgstr "文件名:"
-
-#: win32/QueueFrame.cpp:287 win32/DirectoryListingFrame.cpp:636
-#: win32/DirectoryListingFrame.cpp:652
-#, boost-format
-msgid "Files: %1%"
-msgstr ""
-
-#: win32/AppearancePage.cpp:47
-msgid "Filter kick messages"
-msgstr ""
-
-#: win32/DirectoryListingFrame.cpp:160 win32/DirectoryListingFrame.cpp:182
-msgid "Find"
-msgstr "寻找"
-
-#: win32/TabsPage.cpp:42 win32/WindowsPage.cpp:40 win32/MainWindow.cpp:215
-#: win32/MainWindow.cpp:289 win32/FinishedDLFrame.cpp:25
-msgid "Finished Downloads"
-msgstr "已下载文件"
-
-#: win32/TabsPage.cpp:44 win32/WindowsPage.cpp:42 win32/MainWindow.cpp:217
-#: win32/MainWindow.cpp:291 win32/FinishedULFrame.cpp:25
-msgid "Finished Uploads"
-msgstr "已完成的上传文件"
-
-#: win32/NetworkPage.cpp:34
-msgid "Firewall (passive, last resort)"
-msgstr ""
-
-#: win32/NetworkPage.cpp:32
-msgid "Firewall with UPnP"
-msgstr ""
-
-#: win32/NetworkPage.cpp:33
-msgid "Firewall with manual port forwarding"
-msgstr ""
-
-#: win32/MainWindow.cpp:191
-msgid "Follow last redirec&t\tCtrl+T"
-msgstr ""
-
-#: win32/MainWindow.cpp:283
-msgid "Follow last redirect"
-msgstr ""
-
-#: win32/LogPage.cpp:34
-msgid "Format"
-msgstr "格式(Format)"
-
-#: win32/MainWindow.cpp:250
-msgid "Frequently asked questions"
-msgstr "常见问题"
-
-#: win32/ADLSProperties.cpp:64
-msgid "Full Path"
-msgstr "完整路径"
-
-#: win32/QueueFrame.cpp:479
-msgid "Full tree does not match TTH root"
-msgstr "已下载的“树”不匹配于 TTH root"
-
-#: win32/MainWindow.cpp:249
-msgid "GeoIP database update"
-msgstr ""
-
-#: win32/SearchFrame.cpp:174 win32/ADLSProperties.cpp:77
-msgid "GiB"
-msgstr "GiB"
-
-#: win32/WaitingUsersFrame.cpp:83 win32/PrivateFrame.cpp:382
-msgid "Grant &extra slot"
-msgstr ""
-
-#: win32/AppearancePage.cpp:56
-msgid "Guess user country from IP"
-msgstr "取得用户国家名"
-
-#: win32/DownloadPage.cpp:42
-msgid "HTTP Proxy (for hublist only)"
-msgstr "HTTP 代理 (仅用于服务器列表)"
-
-#: win32/MainWindow.cpp:242
-msgid "Help &Contents\tF1"
-msgstr ""
-
-#: win32/MainWindow.cpp:251
-msgid "Help forum"
-msgstr "论坛求助"
-
-#: win32/QueueFrame.cpp:454 win32/QueueFrame.cpp:1000
-msgid "High"
-msgstr "高"
-
-#: win32/QueuePage.cpp:31
-msgid "High prio max size"
-msgstr "高优先级的大小"
-
-#: win32/QueueFrame.cpp:455 win32/QueueFrame.cpp:1001
-msgid "Highest"
-msgstr "最高"
-
-#: win32/QueuePage.cpp:29
-msgid "Highest prio max size"
-msgstr "最高优先级文件大小"
-
-#: win32/SpyFrame.cpp:162
-#, boost-format
-msgid "Hit Ratio: %1%"
-msgstr ""
-
-#: win32/SpyFrame.cpp:160
-#, boost-format
-msgid "Hits: %1%"
-msgstr ""
-
-#: win32/TabsPage.cpp:37 win32/SearchFrame.cpp:39 win32/UCPage.cpp:55
-msgid "Hub"
-msgstr "服务器"
-
-#: win32/UsersFrame.cpp:31
-msgid "Hub (last seen in, if offline)"
-msgstr ""
-
-#: win32/CommandDlg.cpp:90
-msgid "Hub Menu"
-msgstr "站点菜单"
-
-#: win32/FavHubProperties.cpp:119
-msgid "Hub address cannot be empty"
-msgstr ""
-
-#: win32/FavHubsFrame.cpp:168 win32/HubFrame.cpp:957
-msgid "Hub already exists as a favorite"
-msgstr ""
-
-#: win32/PublicHubsFrame.cpp:316
-#, boost-format
-msgid "Hub list downloaded... (%1%)"
-msgstr ""
-
-#: win32/PublicHubsFrame.cpp:316
-msgid "Hub list loaded from cache..."
-msgstr ""
-
-#: win32/HubListsDlg.cpp:149
-#, fuzzy
-msgid "Hublist"
-msgstr "站点数"
-
-#: win32/SearchFrame.cpp:128
-msgid "Hubs"
-msgstr "站点数"
-
-#: win32/PublicHubsFrame.cpp:271
-#, fuzzy, boost-format
-msgid "Hubs: %1%"
-msgstr "站点数"
-
-#: win32/SearchFrame.cpp:41 win32/TransferView.cpp:49 win32/HubFrame.cpp:42
-msgid "IP"
-msgstr "IP"
-
-#: win32/HubFrame.cpp:337
-#, boost-format
-msgid "IP: %1%, Port: %2%/%3%/%4%"
-msgstr ""
-
-#: win32/TransferView.cpp:537 win32/TransferView.cpp:838
-msgid "Idle"
-msgstr ""
-
-#: win32/SpyFrame.cpp:66
-msgid "Ignore TTH searches"
-msgstr "忽略TTH的搜索"
-
-#: win32/WindowsPage.cpp:59
-#, fuzzy
-msgid "Ignore private messages from bots"
-msgstr "弹出私聊窗口交谈"
-
-#: win32/WindowsPage.cpp:58
-#, fuzzy
-msgid "Ignore private messages from the hub"
-msgstr "弹出私聊窗口交谈"
-
-#: win32/HubFrame.cpp:539 win32/HubFrame.cpp:547
-#, boost-format
-msgid "Ignored message: %1%"
-msgstr ""
-
-#: win32/NetworkPage.cpp:47
-msgid "Incoming connection settings (see Help/FAQ if unsure)"
-msgstr ""
-
-#: win32/MainWindow.cpp:226
-msgid "Indexing progress"
-msgstr "Hash进度指示"
-
-#: win32/MainWindow.cpp:705
-msgid "Invalid file list name"
-msgstr ""
-
-#: win32/WinUtil.cpp:260
-msgid "Invalid number of slots"
-msgstr "通道数目无效"
-
-#: win32/QueueFrame.cpp:283
-#, boost-format
-msgid "Items: %1%"
-msgstr ""
-
-#: win32/HubFrame.cpp:330
-msgid "Join/part of favorite users showing off"
-msgstr "关闭好友 进/出 消息"
-
-#: win32/HubFrame.cpp:328
-msgid "Join/part of favorite users showing on"
-msgstr "显示好友 进/出 消息"
-
-#: win32/HubFrame.cpp:323
-msgid "Join/part showing off"
-msgstr "不显示 进入/退出 信息"
-
-#: win32/HubFrame.cpp:321
-msgid "Join/part showing on"
-msgstr "显示 进入/退出 信息"
-
-#: win32/AdvancedPage.cpp:33
-msgid "Keep duplicate files in your file list"
-msgstr "在你的文件列表中包含重复文件(重复部分不计入你的共享大小)"
-
-#: win32/QueuePage.cpp:30 win32/QueuePage.cpp:32 win32/QueuePage.cpp:34
-#: win32/QueuePage.cpp:36 win32/QueuePage.cpp:48 win32/Advanced3Page.cpp:30
-#: win32/Advanced3Page.cpp:36 win32/SearchFrame.cpp:172
-#: win32/ADLSProperties.cpp:75
-msgid "KiB"
-msgstr "KiB"
-
-#: win32/UploadPage.cpp:40
-msgid "KiB/s"
-msgstr "KiB/s"
-
-#: win32/AppearancePage.cpp:34
-msgid "Language file"
-msgstr "语言文件 (Language file)"
-
-#: win32/DownloadPage.cpp:35
-msgid "Limits"
-msgstr "限制"
-
-#: win32/GeneralPage.cpp:32
-#, fuzzy
-msgid "Line speed (upload)"
-msgstr "已完成的上传文件"
-
-#: win32/SplashWindow.cpp:77
-#, boost-format
-msgid "Loading DC++, please wait... (%1%)"
-msgstr ""
-
-#: win32/LogPage.cpp:47
-msgid "Log downloads"
-msgstr "记录下载情况 (Log downloads)"
-
-#: win32/LogPage.cpp:51
-msgid "Log filelist transfers"
-msgstr "记录文件列表传输情况"
-
-#: win32/LogPage.cpp:45
-msgid "Log main chat"
-msgstr "记录公屏内容 (Log main chat)"
-
-#: win32/LogPage.cpp:46
-msgid "Log private chat"
-msgstr "记录私聊内容 (Log private chat)"
-
-#: win32/LogPage.cpp:50
-msgid "Log status messages"
-msgstr "记录状态消息日志"
-
-#: win32/LogPage.cpp:49
-msgid "Log system messages"
-msgstr "记录系统消息日志"
-
-#: win32/LogPage.cpp:48
-msgid "Log uploads"
-msgstr "记录上传情况 (Log uploads)"
-
-#: win32/LogPage.cpp:31
-msgid "Logging"
-msgstr "日志记录 (Logging)"
-
-#: win32/NetworkPage.cpp:44
-msgid "Login"
-msgstr "用户名"
-
-#: win32/WinUtil.cpp:372
-msgid "Lookup TTH at Bitzi.com"
-msgstr "到Bitzi.com查找TTH"
-
-#: win32/QueueFrame.cpp:452 win32/QueueFrame.cpp:998
-msgid "Low"
-msgstr "低"
-
-#: win32/QueuePage.cpp:35
-msgid "Low prio max size"
-msgstr "低优先级的大小"
-
-#: win32/QueueFrame.cpp:451 win32/QueueFrame.cpp:997
-msgid "Lowest"
-msgstr "最低"
-
-#: win32/MagnetDlg.cpp:44 win32/WinUtil.cpp:1036
-msgid "MAGNET Link detected"
-msgstr "检测到MAGNET链接"
-
-#: win32/WinUtil.cpp:983
-#, fuzzy, boost-format
-msgid "MAGNET Link detected: %1%"
-msgstr "检测到MAGNET链接"
-
-#: win32/Appearance2Page.cpp:38
-msgid "Make an annoying sound every time a private message is received"
-msgstr "私人信息到达时发出提示声音"
-
-#: win32/Appearance2Page.cpp:39
-msgid "Make an annoying sound when a private message window is opened"
-msgstr "当私聊窗口打开的时候发出提示声音"
-
-#: win32/MainWindow.cpp:197
-msgid "Match downloaded lists"
-msgstr ""
-
-#: win32/DirectoryListingFrame.cpp:168 win32/DirectoryListingFrame.cpp:181
-msgid "Match queue"
-msgstr "队列匹配"
-
-#: win32/DirectoryListingFrame.cpp:260
-#, boost-format
-msgid "Matched %1% file"
-msgid_plural "Matched %1% files"
-msgstr[0] ""
-msgstr[1] ""
-
-#: win32/PublicHubsFrame.cpp:57
-msgid "Max Hubs"
-msgstr "最大站点数"
-
-#: win32/ADLSearchFrame.cpp:36
-#, fuzzy
-msgid "Max Size"
-msgstr "文件大小"
-
-#: win32/PublicHubsFrame.cpp:58
-msgid "Max Users"
-msgstr "最大用户数"
-
-#: win32/Advanced3Page.cpp:38
-#, fuzzy
-msgid "Max filelist size"
-msgstr "小文件大小"
-
-#: win32/Advanced3Page.cpp:31
-msgid "Max hash speed"
-msgstr "hash的最大速度"
-
-#: win32/QueuePage.cpp:44
-msgid "Max inactivity"
-msgstr ""
-
-#: win32/DownloadPage.cpp:36
-msgid "Maximum simultaneous downloads (0 = infinite)"
-msgstr "同一文件最大同时下载数 (0 = 无限)"
-
-#: win32/Advanced3Page.cpp:39 win32/SearchFrame.cpp:173
-#: win32/ADLSProperties.cpp:76
-#, fuzzy
-msgid "MiB"
-msgstr "GiB"
-
-#: win32/Advanced3Page.cpp:32
-#, fuzzy
-msgid "MiB/s"
-msgstr "KiB/s"
-
-#: win32/GeneralPage.cpp:33
-#, fuzzy
-msgid "MiBits/s"
-msgstr "KiB/s"
-
-#: win32/PublicHubsFrame.cpp:55
-msgid "Min Share"
-msgstr "最少共享量"
-
-#: win32/ADLSearchFrame.cpp:35
-#, fuzzy
-msgid "Min Size"
-msgstr "最少共享量"
-
-#: win32/PublicHubsFrame.cpp:56
-msgid "Min Slots"
-msgstr "最少通道数"
-
-#: win32/QueuePage.cpp:42
-#, fuzzy
-msgid "Min elapsed"
-msgstr "最少通道数"
-
-#: win32/QueuePage.cpp:47
-#, fuzzy
-msgid "Min filesize"
-msgstr "小文件大小"
-
-#: win32/Advanced3Page.cpp:42
-#, fuzzy
-msgid "Min segment size"
-msgstr "小文件大小"
-
-#: win32/QueuePage.cpp:46
-#, fuzzy
-msgid "Min sources online"
-msgstr "等待中 (目标用户在线)"
-
-#: win32/Advanced3Page.cpp:35
-msgid "Mini slot size"
-msgstr "小文件大小"
-
-#: win32/AppearancePage.cpp:48
-msgid "Minimize to tray"
-msgstr "最小化到系统托盘"
-
-#: win32/HubListsDlg.cpp:71 win32/FavHubsFrame.cpp:92
-#: win32/FavHubsFrame.cpp:283 win32/ADLSearchFrame.cpp:83 win32/UCPage.cpp:32
-msgid "Move &Down"
-msgstr ""
-
-#: win32/HubListsDlg.cpp:67 win32/FavHubsFrame.cpp:87
-#: win32/FavHubsFrame.cpp:282 win32/ADLSearchFrame.cpp:78 win32/UCPage.cpp:31
-msgid "Move &Up"
-msgstr ""
-
-#: win32/UCPage.cpp:53 win32/PublicHubsFrame.cpp:49
-msgid "Name"
-msgstr "名称"
-
-#: win32/UploadPage.cpp:191 win32/UploadPage.cpp:235
-msgid "Name under which the others see the directory"
-msgstr "目录别名(可以给你的共享目录取个其它名字)"
-
-#: win32/WindowsPage.cpp:44 win32/MainWindow.cpp:225 win32/StatsFrame.cpp:27
-msgid "Network Statistics"
-msgstr "网络数据统计"
-
-#: win32/UploadPage.cpp:200
-msgid "New virtual name matches old name, skipping..."
-msgstr "新的虚拟目录名匹配了旧名,跳过。。。"
-
-#: win32/DirectoryListingFrame.cpp:164 win32/DirectoryListingFrame.cpp:183
-msgid "Next"
-msgstr "下一个"
-
-#: win32/GeneralPage.cpp:29 win32/FavHubsFrame.cpp:34 win32/HubFrame.cpp:37
-msgid "Nick"
-msgstr "昵称"
-
-#: win32/QueueFrame.cpp:488
-msgid "No errors"
-msgstr "无错误"
-
-#: win32/DirectoryListingFrame.cpp:860
-msgid "No matches"
-msgstr "找不到匹配的文件"
-
-#: win32/DownloadPage.cpp:37
-msgid "No new downloads if speed exceeds (KiB/s, 0 = disable)"
-msgstr "速度超过此值时不开始新的下载任务 (kB/s, 0 =禁用)"
-
-#: win32/QueueFrame.cpp:415
-msgid "No users"
-msgstr "没有用户"
-
-#: win32/QueueFrame.cpp:427
-msgid "No users to download from"
-msgstr "无法下载,找不到用户共享该文件"
-
-#: win32/QueueFrame.cpp:453 win32/QueueFrame.cpp:999 win32/SearchFrame.cpp:155
-msgid "Normal"
-msgstr "普通"
-
-#: win32/QueuePage.cpp:33
-msgid "Normal prio max size"
-msgstr "标准优先级文件大小"
-
-#: win32/UploadPage.cpp:42
-msgid "Note; Files appear in the share only after they've been hashed!"
-msgstr "注意; 新文件仅在被hash结束后才会出现在共享列表里!"
-
-#: win32/DownloadPage.cpp:38
-#, fuzzy, c-format
-msgid "Note; because of changing download speeds, this is not 100% accurate..."
-msgstr "注意; 由于下载速度不断变化, 因此这不是 100% 准确..."
-
-#: win32/Appearance2Page.cpp:35 win32/AppearancePage.cpp:35
-msgid "Note; most of these options require that you restart DC++"
-msgstr "注意: 大部分选项要求重启DC++"
-
-#: win32/WindowsPage.cpp:45 win32/NotepadFrame.cpp:27 win32/MainWindow.cpp:299
-msgid "Notepad"
-msgstr "记事本"
-
-#: win32/Appearance2Page.cpp:29
-msgid "Notification sound"
-msgstr ""
-
-#: win32/WinUtil.cpp:333
-msgid "Offline"
-msgstr "离线"
-
-#: win32/UsersFrame.cpp:108 win32/UsersFrame.cpp:123
-msgid "Online"
-msgstr "在线"
-
-#: win32/AppearancePage.cpp:52
-msgid "Only show joins / parts for favorite users"
-msgstr "只显示好友的 进/出 消息"
-
-#: win32/SearchFrame.cpp:194
-msgid "Only users with free slots"
-msgstr "只显示有空闲通道的用户"
-
-#: win32/SearchFrame.cpp:216
-msgid "Only where I'm op"
-msgstr "仅在我是管理员的地方"
-
-#: win32/MainWindow.cpp:199 win32/MainWindow.cpp:1004
-msgid "Open downloads directory"
-msgstr "打开下载目录"
-
-#: win32/MainWindow.cpp:297
-#, fuzzy
-msgid "Open file list..."
-msgstr "打开自己的文件列表"
-
-#: win32/MainWindow.cpp:195
-msgid "Open file list...\tCtrl+L"
-msgstr ""
-
-#: win32/WindowsPage.cpp:55
-msgid "Open new file list windows in the background"
-msgstr "在后台打开新的文件列表窗口(下载文件列表时)"
-
-#: win32/WindowsPage.cpp:56
-msgid "Open new private message windows in the background"
-msgstr "在后台打开新的私聊窗口"
-
-#: win32/WindowsPage.cpp:57
-msgid "Open new window when using /join"
-msgstr "使用/join命令的时候打开新窗口进行连接"
-
-#: win32/MainWindow.cpp:196
-msgid "Open own list"
-msgstr "打开自己的文件列表"
-
-#: win32/WindowsPage.cpp:53
-#, fuzzy
-msgid "Open private messages from bots in their own window"
-msgstr "弹出私聊窗口交谈"
-
-#: win32/WindowsPage.cpp:54
-#, fuzzy
-msgid "Open private messages from the hub in their own window"
-msgstr "弹出私聊窗口交谈"
-
-#: win32/WindowsPage.cpp:52
-msgid "Open private messages in their own window"
-msgstr "弹出私聊窗口交谈"
-
-#: win32/AppearancePage.cpp:31
-msgid "Options"
-msgstr "选项"
-
-#: win32/QueuePage.cpp:49
-#, fuzzy
-msgid "Other queue options"
-msgstr "搜索选项"
-
-#: win32/NetworkPage.cpp:48
-#, fuzzy
-msgid "Outgoing connection settings"
-msgstr "连接设置"
-
-#: win32/CommandDlg.cpp:86
-msgid "PM"
-msgstr "私聊信息(PM)"
-
-#: win32/Advanced3Page.cpp:33
-msgid "PM history"
-msgstr "私聊历史"
-
-#: win32/QueueFrame.cpp:475
-msgid "Passive user"
-msgstr "被动模式用户"
-
-#: win32/NetworkPage.cpp:45 win32/FavHubsFrame.cpp:35
-msgid "Password"
-msgstr "密码"
-
-#: win32/QueueFrame.cpp:42 win32/SearchFrame.cpp:36 win32/TransferView.cpp:54
-msgid "Path"
-msgstr "路径"
-
-#: win32/QueueFrame.cpp:450 win32/QueueFrame.cpp:996
-msgid "Paused"
-msgstr "暂停"
-
-#: win32/GeneralPage.cpp:28
-msgid "Personal Information"
-msgstr "个人信息"
-
-#: win32/SettingsDialog.cpp:57
-msgid "Personal information"
-msgstr "个人信息"
-
-#: win32/SearchFrame.cpp:187
-msgid "Picture"
-msgstr "图片"
-
-#: win32/FavHubsFrame.cpp:320 win32/PublicHubsFrame.cpp:497
-msgid "Please enter a nickname in the settings dialog!"
-msgstr "请在设置里输入昵称!"
-
-#: win32/HubFrame.cpp:525
-msgid "Please enter a password"
-msgstr "请输入一个密码"
-
-#: win32/WindowsPage.cpp:61
-msgid "Popup box to input password for hubs"
-msgstr ""
-
-#: win32/NetworkPage.cpp:43
-msgid "Port"
-msgstr "端口"
-
-#: win32/NetworkPage.cpp:37
-#, fuzzy
-msgid "Ports"
-msgstr "端口"
-
-#: win32/HubFrame.cpp:852
-#, boost-format
-msgid "Press the follow redirect button to connect to %1%"
-msgstr ""
-
-#: win32/QueueFrame.cpp:40
-msgid "Priority"
-msgstr "优先级"
-
-#: win32/TabsPage.cpp:38
-msgid "Private message"
-msgstr ""
-
-#: win32/HubFrame.cpp:543 win32/HubFrame.cpp:551 win32/HubFrame.cpp:557
-#, boost-format
-msgid "Private message from %1%: %2%"
-msgstr ""
-
-#: win32/WindowsPage.cpp:46 win32/MainWindow.cpp:281
-#: win32/PublicHubsFrame.cpp:93
-msgid "Public Hubs"
-msgstr "服务器列表"
-
-#: win32/DownloadPage.cpp:39
-msgid "Public Hubs list"
-msgstr "公众服务器列表 (Public Hubs list)"
-
-#: win32/DownloadPage.cpp:40
-msgid "Public Hubs list URL"
-msgstr "公众服务器列表地址 (Public Hubs list URL)"
-
-#: win32/SearchFrame.cpp:240
-msgid "Purge"
-msgstr "清除"
-
-#: win32/TransferView.cpp:47
-msgid "Queued"
-msgstr ""
-
-#: win32/MainWindow.cpp:358
-msgid "Quick Connect"
-msgstr "快速连接"
-
-#: win32/PublicHubsFrame.cpp:60
-msgid "Rating"
-msgstr "Rating"
-
-#: win32/AboutDlg.cpp:61
-#, c-format, boost-format
-msgid "Ratio (up/down): %1$0.2f"
-msgstr ""
-
-#: win32/CommandDlg.cpp:78
-msgid "Raw"
-msgstr "Raw命令"
-
-#: win32/QueueFrame.cpp:1020
-msgid "Re-add source"
-msgstr "重新载入资源"
-
-#: win32/SearchFrame.cpp:1024
-msgid "Ready to search..."
-msgstr "准备搜索..."
-
-#: win32/MainWindow.cpp:473
-msgid "Really exit?"
-msgstr "确定要退出?"
-
-#: win32/QueueFrame.cpp:692 win32/QueueFrame.cpp:697
-#: win32/FavHubsFrame.cpp:232
-msgid "Really remove?"
-msgstr "确定要删除吗?"
-
-#: win32/MainWindow.cpp:282
-#, fuzzy
-msgid "Reconnect"
-msgstr "已连接"
-
-#: win32/HubFrame.cpp:845 win32/HubFrame.cpp:1366
-msgid "Redirect request received to a hub that's already connected"
-msgstr "被重定向到一个已经连接的站点"
-
-#: win32/MainWindow.cpp:198
-msgid "Refresh file list\tCtrl+E"
-msgstr ""
-
-#: win32/AdvancedPage.cpp:34
-msgid "Register with Windows to handle dchub:// and adc:// URL links"
-msgstr "启动时注册 dchub:// 和 adc:// 链接"
-
-#: win32...
[truncated message content] |
|
From: <arn...@us...> - 2008-03-12 20:53:28
|
Revision: 1035
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1035&view=rev
Author: arnetheduck
Date: 2008-03-12 13:53:16 -0700 (Wed, 12 Mar 2008)
Log Message:
-----------
Fix bad c-format heurestic
Modified Paths:
--------------
dcplusplus/trunk/win32/DownloadPage.cpp
Modified: dcplusplus/trunk/win32/DownloadPage.cpp
===================================================================
--- dcplusplus/trunk/win32/DownloadPage.cpp 2008-03-12 20:07:18 UTC (rev 1034)
+++ dcplusplus/trunk/win32/DownloadPage.cpp 2008-03-12 20:53:16 UTC (rev 1035)
@@ -35,7 +35,7 @@
{ IDC_SETTINGS_DOWNLOAD_LIMITS, N_("Limits") },
{ IDC_SETTINGS_DOWNLOADS_MAX, N_("Maximum simultaneous downloads (0 = infinite)") },
{ IDC_SETTINGS_DOWNLOADS_SPEED_PAUSE, N_("No new downloads if speed exceeds (KiB/s, 0 = disable)") },
- { IDC_SETTINGS_SPEEDS_NOT_ACCURATE, N_("Note; because of changing download speeds, this is not 100% accurate...") },
+/*xgettext:no-c-format*/{ IDC_SETTINGS_SPEEDS_NOT_ACCURATE, N_("Note; because of changing download speeds, this is not 100% accurate...") },
{ IDC_SETTINGS_PUBLIC_HUB_LIST, N_("Public Hubs list") },
{ IDC_SETTINGS_PUBLIC_HUB_LIST_URL, N_("Public Hubs list URL") },
{ IDC_SETTINGS_LIST_CONFIG, N_("Configure Public Hub Lists") },
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arn...@us...> - 2008-03-12 20:07:31
|
Revision: 1034
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1034&view=rev
Author: arnetheduck
Date: 2008-03-12 13:07:18 -0700 (Wed, 12 Mar 2008)
Log Message:
-----------
typo fix
Modified Paths:
--------------
dcplusplus/trunk/SConstruct
Modified: dcplusplus/trunk/SConstruct
===================================================================
--- dcplusplus/trunk/SConstruct 2008-03-09 13:59:38 UTC (rev 1033)
+++ dcplusplus/trunk/SConstruct 2008-03-12 20:07:18 UTC (rev 1034)
@@ -43,7 +43,7 @@
}
gcc_link_flags = {
- 'common' : ['-ggdb', '-Wl,--no-undefined', '-time', '-mthread'],
+ 'common' : ['-g', '-Wl,--no-undefined', '-time', '-mthreads'],
'debug' : [],
'release' : ['-mwindows']
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zou...@us...> - 2008-03-10 05:59:19
|
Revision: 1033
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1033&view=rev
Author: zouzou123gen
Date: 2008-03-09 06:59:38 -0700 (Sun, 09 Mar 2008)
Log Message:
-----------
2 more translatable strings
Modified Paths:
--------------
dcplusplus/trunk/dcpp/BufferedSocket.cpp
dcplusplus/trunk/win32/CommandDlg.cpp
dcplusplus/trunk/win32/CommandDlg.h
Modified: dcplusplus/trunk/dcpp/BufferedSocket.cpp
===================================================================
--- dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-08 09:44:38 UTC (rev 1032)
+++ dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-09 13:59:38 UTC (rev 1033)
@@ -145,7 +145,7 @@
return;
} else if(left == 0) {
// This socket has been closed...
- throw SocketException(("Connection closed"));
+ throw SocketException(_("Connection closed"));
}
string::size_type pos = 0;
// always uncompressed data
Modified: dcplusplus/trunk/win32/CommandDlg.cpp
===================================================================
--- dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-08 09:44:38 UTC (rev 1032)
+++ dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-09 13:59:38 UTC (rev 1033)
@@ -52,7 +52,7 @@
{
onInitDialog(std::tr1::bind(&CommandDlg::handleInitDialog, this));
onFocus(std::tr1::bind(&CommandDlg::handleFocus, this));
- onRaw(std::tr1::bind(&CommandDlg::handleHelp, this, _1, _2), SmartWin::Message(WM_HELP));
+ onRaw(std::tr1::bind(&CommandDlg::handleHelp, this), SmartWin::Message(WM_HELP));
}
CommandDlg::~CommandDlg() {
@@ -200,7 +200,7 @@
void CommandDlg::handleOKClicked() {
name = nameBox->getText();
if((type != 0) && (name.empty() || commandBox->getText().empty())) {
- createMessageBox().show(_T("Name and command must not be empty"), _T(APPNAME) _T(" ") _T(VERSIONSTRING), WidgetMessageBox::BOX_OK, WidgetMessageBox::BOX_ICONEXCLAMATION);
+ createMessageBox().show(T_("Name and command must not be empty"), _T(APPNAME) _T(" ") _T(VERSIONSTRING), WidgetMessageBox::BOX_OK, WidgetMessageBox::BOX_ICONEXCLAMATION);
return;
}
@@ -274,7 +274,7 @@
}
}
-LRESULT CommandDlg::handleHelp(WPARAM wParam, LPARAM lParam) {
+LRESULT CommandDlg::handleHelp() {
HtmlHelp(handle(), WinUtil::getHelpFile().c_str(), HH_HELP_CONTEXT, IDD_UCPAGE);
return 0;
}
Modified: dcplusplus/trunk/win32/CommandDlg.h
===================================================================
--- dcplusplus/trunk/win32/CommandDlg.h 2008-03-08 09:44:38 UTC (rev 1032)
+++ dcplusplus/trunk/win32/CommandDlg.h 2008-03-09 13:59:38 UTC (rev 1033)
@@ -36,8 +36,6 @@
tstring getCommand() { return command; }
tstring getHub() { return hub; }
- LRESULT handleHelp(WPARAM wParam, LPARAM lParam);
-
private:
WidgetRadioButtonPtr separator;
WidgetRadioButtonPtr raw;
@@ -63,8 +61,8 @@
bool handleInitDialog();
void handleFocus();
+ LRESULT handleHelp();
void handleTypeChanged();
-
void handleOKClicked();
void handleHelpClicked();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arn...@us...> - 2008-03-08 09:44:51
|
Revision: 1032
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1032&view=rev
Author: arnetheduck
Date: 2008-03-08 01:44:38 -0800 (Sat, 08 Mar 2008)
Log Message:
-----------
fix thread exception handling issue
Modified Paths:
--------------
dcplusplus/trunk/SConstruct
Modified: dcplusplus/trunk/SConstruct
===================================================================
--- dcplusplus/trunk/SConstruct 2008-03-07 23:13:00 UTC (rev 1031)
+++ dcplusplus/trunk/SConstruct 2008-03-08 09:44:38 UTC (rev 1032)
@@ -43,7 +43,7 @@
}
gcc_link_flags = {
- 'common' : ['-ggdb', '-Wl,--no-undefined', '-time'],
+ 'common' : ['-ggdb', '-Wl,--no-undefined', '-time', '-mthread'],
'debug' : [],
'release' : ['-mwindows']
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arn...@us...> - 2008-03-07 23:13:06
|
Revision: 1031
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1031&view=rev
Author: arnetheduck
Date: 2008-03-07 15:13:00 -0800 (Fri, 07 Mar 2008)
Log Message:
-----------
init order
Modified Paths:
--------------
dcplusplus/trunk/dcpp/BufferedSocket.cpp
Modified: dcplusplus/trunk/dcpp/BufferedSocket.cpp
===================================================================
--- dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-07 23:01:59 UTC (rev 1030)
+++ dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-07 23:13:00 UTC (rev 1031)
@@ -35,8 +35,8 @@
#define POLL_TIMEOUT 250
BufferedSocket::BufferedSocket(char aSeparator) throw(ThreadException) :
-separator(aSeparator), mode(MODE_LINE), dataBytes(0), rollback(0), disconnecting(false),
-state(STARTING)
+separator(aSeparator), mode(MODE_LINE), dataBytes(0), rollback(0), state(STARTING),
+disconnecting(false)
{
start();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arn...@us...> - 2008-03-07 23:02:07
|
Revision: 1030
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1030&view=rev
Author: arnetheduck
Date: 2008-03-07 15:01:59 -0800 (Fri, 07 Mar 2008)
Log Message:
-----------
Clean up socket thread handling, hopefully fixing network crash
Modified Paths:
--------------
dcplusplus/trunk/dcpp/AdcHub.cpp
dcplusplus/trunk/dcpp/AdcHub.h
dcplusplus/trunk/dcpp/BufferedSocket.cpp
dcplusplus/trunk/dcpp/BufferedSocket.h
dcplusplus/trunk/dcpp/Client.cpp
dcplusplus/trunk/dcpp/Client.h
dcplusplus/trunk/dcpp/ClientManager.cpp
dcplusplus/trunk/dcpp/ClientManager.h
dcplusplus/trunk/dcpp/NmdcHub.cpp
dcplusplus/trunk/dcpp/NmdcHub.h
dcplusplus/trunk/dcpp/Speaker.h
dcplusplus/trunk/dcpp/Thread.h
dcplusplus/trunk/dcpp/stdinc.h
dcplusplus/trunk/win32/AspectStatus.h
dcplusplus/trunk/win32/DirectoryListingFrame.cpp
dcplusplus/trunk/win32/TypedTreeView.h
dcplusplus/trunk/win32/UsersFrame.cpp
dcplusplus/trunk/win32/WinUtil.cpp
Modified: dcplusplus/trunk/dcpp/AdcHub.cpp
===================================================================
--- dcplusplus/trunk/dcpp/AdcHub.cpp 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/dcpp/AdcHub.cpp 2008-03-07 23:01:59 UTC (rev 1030)
@@ -204,7 +204,7 @@
if(!baseOk) {
fire(ClientListener::StatusMessage(), this, _("Failed to negotiate base protocol"));
- socket->disconnect(false);
+ disconnect(false);
return;
} else if(!tigrOk) {
oldPassword = true;
@@ -441,6 +441,7 @@
udp.writeTo(ip, port, command);
} catch(const SocketException& e) {
dcdebug("AdcHub::sendUDP: write failed: %s\n", e.getError().c_str());
+ udp.close();
}
}
Modified: dcplusplus/trunk/dcpp/AdcHub.h
===================================================================
--- dcplusplus/trunk/dcpp/AdcHub.h 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/dcpp/AdcHub.h 2008-03-07 23:01:59 UTC (rev 1030)
@@ -21,8 +21,7 @@
#include "Client.h"
#include "AdcCommand.h"
-#include "TimerManager.h"
-#include "User.h"
+#include "Socket.h"
namespace dcpp {
Modified: dcplusplus/trunk/dcpp/BufferedSocket.cpp
===================================================================
--- dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-07 23:01:59 UTC (rev 1030)
@@ -34,18 +34,18 @@
// Polling is used for tasks...should be fixed...
#define POLL_TIMEOUT 250
-BufferedSocket::BufferedSocket(char aSeparator) throw() :
-separator(aSeparator), mode(MODE_LINE), filterIn(NULL),
-dataBytes(0), rollback(0), failed(false), sock(0), disconnecting(false)
+BufferedSocket::BufferedSocket(char aSeparator) throw(ThreadException) :
+separator(aSeparator), mode(MODE_LINE), dataBytes(0), rollback(0), disconnecting(false),
+state(STARTING)
{
+ start();
+
Thread::safeInc(sockets);
}
volatile long BufferedSocket::sockets = 0;
BufferedSocket::~BufferedSocket() throw() {
- delete sock;
- delete filterIn;
Thread::safeDec(sockets);
}
@@ -55,89 +55,66 @@
return;
}
- if (mode == MODE_ZPIPE) {
- // should not happen!
- if (filterIn) {
- delete filterIn;
- filterIn = NULL;
- }
- }
-
- mode = aMode;
switch (aMode) {
case MODE_LINE:
rollback = aRollback;
break;
case MODE_ZPIPE:
- filterIn = new UnZFilter;
+ filterIn = std::auto_ptr<UnZFilter>(new UnZFilter);
break;
case MODE_DATA:
break;
}
+ mode = aMode;
}
-void BufferedSocket::accept(const Socket& srv, bool secure, bool allowUntrusted) throw(SocketException, ThreadException) {
- dcassert(!sock);
- try {
- dcdebug("BufferedSocket::accept() %p\n", (void*)this);
- sock = secure ? CryptoManager::getInstance()->getServerSocket(allowUntrusted) : new Socket;
+void BufferedSocket::setSocket(std::auto_ptr<Socket> s) {
+ dcassert(!sock.get());
+ if(SETTING(SOCKET_IN_BUFFER) > 0)
+ s->setSocketOpt(SO_RCVBUF, SETTING(SOCKET_IN_BUFFER));
+ if(SETTING(SOCKET_OUT_BUFFER) > 0)
+ s->setSocketOpt(SO_SNDBUF, SETTING(SOCKET_OUT_BUFFER));
+ s->setBlocking(false);
- sock->accept(srv);
- if(SETTING(SOCKET_IN_BUFFER) > 0)
- sock->setSocketOpt(SO_RCVBUF, SETTING(SOCKET_IN_BUFFER));
- if(SETTING(SOCKET_OUT_BUFFER) > 0)
- sock->setSocketOpt(SO_SNDBUF, SETTING(SOCKET_OUT_BUFFER));
- sock->setBlocking(false);
+ inbuf.resize(s->getSocketOptInt(SO_RCVBUF));
+
+ sock = s;
+}
- inbuf.resize(sock->getSocketOptInt(SO_RCVBUF));
+void BufferedSocket::accept(const Socket& srv, bool secure, bool allowUntrusted) throw(SocketException) {
+ dcdebug("BufferedSocket::accept() %p\n", (void*)this);
+
+ std::auto_ptr<Socket> s(secure ? CryptoManager::getInstance()->getServerSocket(allowUntrusted) : new Socket);
- // This lock prevents the shutdown task from being added and executed before we're done initializing the socket
- Lock l(cs);
- start();
- addTask(ACCEPTED, 0);
- } catch(...) {
- delete sock;
- sock = 0;
- throw;
- }
-
+ s->accept(srv);
+
+ setSocket(s);
+
+ Lock l(cs);
+ addTask(ACCEPTED, 0);
}
-void BufferedSocket::connect(const string& aAddress, uint16_t aPort, bool secure, bool allowUntrusted, bool proxy) throw(SocketException, ThreadException) {
- dcassert(!sock);
+void BufferedSocket::connect(const string& aAddress, uint16_t aPort, bool secure, bool allowUntrusted, bool proxy) throw(SocketException) {
+ dcdebug("BufferedSocket::connect() %p\n", (void*)this);
+ std::auto_ptr<Socket> s(secure ? CryptoManager::getInstance()->getClientSocket(allowUntrusted) : new Socket);
- try {
- dcdebug("BufferedSocket::connect() %p\n", (void*)this);
- sock = secure ? CryptoManager::getInstance()->getClientSocket(allowUntrusted) : new Socket;
-
- sock->create();
- sock->bind(0, SETTING(BIND_ADDRESS));
- if(SETTING(SOCKET_IN_BUFFER) >= 1024)
- sock->setSocketOpt(SO_RCVBUF, SETTING(SOCKET_IN_BUFFER));
- if(SETTING(SOCKET_OUT_BUFFER) >= 1024)
- sock->setSocketOpt(SO_SNDBUF, SETTING(SOCKET_OUT_BUFFER));
- sock->setBlocking(false);
-
- inbuf.resize(sock->getSocketOptInt(SO_RCVBUF));
-
- Lock l(cs);
- start();
- addTask(CONNECT, new ConnectInfo(aAddress, aPort, proxy && (SETTING(OUTGOING_CONNECTIONS) == SettingsManager::OUTGOING_SOCKS5)));
- } catch(...) {
- delete sock;
- sock = 0;
- throw;
- }
-
+ s->create();
+ s->bind(0, SETTING(BIND_ADDRESS));
+
+ setSocket(s);
+
+ Lock l(cs);
+ addTask(CONNECT, new ConnectInfo(aAddress, aPort, proxy && (SETTING(OUTGOING_CONNECTIONS) == SettingsManager::OUTGOING_SOCKS5)));
}
#define CONNECT_TIMEOUT 30000
void BufferedSocket::threadConnect(const string& aAddr, uint16_t aPort, bool proxy) throw(SocketException) {
+ dcassert(state == STARTING);
+
dcdebug("threadConnect %s:%d\n", aAddr.c_str(), (int)aPort);
- dcassert(sock);
- if(!sock)
- return;
fire(BufferedSocketListener::Connecting());
+
+ state = RUNNING;
uint64_t startTime = GET_TICK();
if(proxy) {
@@ -159,9 +136,9 @@
}
void BufferedSocket::threadRead() throw(SocketException) {
- dcassert(sock);
- if(!sock)
+ if(state != RUNNING)
return;
+
int left = sock->read(&inbuf[0], (int)inbuf.size());
if(left == -1) {
// EWOULDBLOCK, no data received...
@@ -177,8 +154,7 @@
while (left > 0) {
switch (mode) {
- case MODE_ZPIPE:
- if(filterIn) {
+ case MODE_ZPIPE: {
const int BUF_SIZE = 1024;
// Special to autodetect nmdc connections...
string::size_type pos = 0;
@@ -263,9 +239,11 @@
}
void BufferedSocket::threadSendFile(InputStream* file) throw(Exception) {
- dcassert(sock);
- if(!sock || disconnecting)
+ if(state != RUNNING)
return;
+
+ if(disconnecting)
+ return;
dcassert(file != NULL);
size_t sockSize = (size_t)sock->getSocketOptInt(SO_SNDBUF);
size_t bufSize = max(sockSize, (size_t)64*1024);
@@ -347,8 +325,7 @@
}
void BufferedSocket::write(const char* aBuf, size_t aLen) throw() {
- dcassert(sock);
- if(!sock)
+ if(!sock.get())
return;
Lock l(cs);
if(writeBuf.empty())
@@ -358,9 +335,9 @@
}
void BufferedSocket::threadSendData() {
- dcassert(sock);
- if(!sock)
+ if(state != RUNNING)
return;
+
{
Lock l(cs);
if(writeBuf.empty())
@@ -394,59 +371,46 @@
}
bool BufferedSocket::checkEvents() {
- while(isConnected() ? taskSem.wait(0) : taskSem.wait()) {
- pair<Tasks, TaskData*> p;
+ while(state == RUNNING ? taskSem.wait(0) : taskSem.wait()) {
+ pair<Tasks, std::tr1::shared_ptr<TaskData> > p;
{
Lock l(cs);
dcassert(tasks.size() > 0);
p = tasks.front();
tasks.erase(tasks.begin());
}
- if(failed && p.first != SHUTDOWN) {
- dcdebug("BufferedSocket: New command when already failed: %d\n", p.first);
- fail(_("Disconnected"));
- delete p.second;
- continue;
+
+ if(p.first == SHUTDOWN) {
+ return false;
+ } else if(p.first == UPDATED) {
+ fire(BufferedSocketListener::Updated());
}
-
- try {
- switch(p.first) {
- case SEND_DATA:
- threadSendData(); break;
- case SEND_FILE:
- threadSendFile(((SendFileInfo*)p.second)->stream); break;
- case CONNECT:
- {
- ConnectInfo* ci = (ConnectInfo*)p.second;
- threadConnect(ci->addr, ci->port, ci->proxy);
- break;
- }
- case DISCONNECT:
- if(isConnected())
- fail(_("Disconnected"));
- break;
- case SHUTDOWN:
- return false;
- case ACCEPTED:
- break;
- case UPDATED:
- fire(BufferedSocketListener::Updated());
- break;
+
+ if(state == STARTING) {
+ if(p.first == CONNECT) {
+ ConnectInfo* ci = static_cast<ConnectInfo*>(p.second.get());
+ threadConnect(ci->addr, ci->port, ci->proxy);
+ } else if(p.first == ACCEPTED) {
+ state = RUNNING;
+ } else {
+ dcdebug("%d unexpected in STARTING state", p.first);
}
- } catch(...) {
- delete p.second;
- throw;
+ } else if(state == RUNNING) {
+ if(p.first == SEND_DATA) {
+ threadSendData();
+ } else if(p.first == SEND_FILE) {
+ threadSendFile(static_cast<SendFileInfo*>(p.second.get())->stream); break;
+ } else if(p.first == DISCONNECT) {
+ fail(_("Disconnected"));
+ } else {
+ dcdebug("%d unexpected in RUNNING state", p.first);
+ }
}
- delete p.second;
}
return true;
}
void BufferedSocket::checkSocket() {
- dcassert(sock);
- if(!sock)
- return;
-
int waitFor = sock->wait(POLL_TIMEOUT, Socket::WAIT_READ);
if(waitFor & Socket::WAIT_READ) {
@@ -462,9 +426,12 @@
dcdebug("BufferedSocket::run() start %p\n", (void*)this);
while(true) {
try {
- if(!checkEvents())
+ if(!checkEvents()) {
break;
- checkSocket();
+ }
+ if(state == RUNNING) {
+ checkSocket();
+ }
} catch(const Exception& e) {
fail(e.getError());
}
@@ -475,24 +442,23 @@
}
void BufferedSocket::fail(const string& aError) {
- if(sock) {
- sock->disconnect();
- }
- if(!failed) {
- failed = true;
+ sock->disconnect();
+
+ if(state == RUNNING) {
+ state = FAILED;
fire(BufferedSocketListener::Failed(), aError);
}
}
void BufferedSocket::shutdown() {
- if(sock) {
- Lock l(cs);
- disconnecting = true;
- addTask(SHUTDOWN, 0);
- } else {
- // Socket thread not running yet, disconnect...
- delete this;
- }
+ Lock l(cs);
+ disconnecting = true;
+ addTask(SHUTDOWN, 0);
}
+void BufferedSocket::addTask(Tasks task, TaskData* data) {
+ dcassert(task == SHUTDOWN || sock.get());
+ tasks.push_back(make_pair(task, data)); taskSem.signal();
+}
+
} // namespace dcpp
Modified: dcplusplus/trunk/dcpp/BufferedSocket.h
===================================================================
--- dcplusplus/trunk/dcpp/BufferedSocket.h 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/dcpp/BufferedSocket.h 2008-03-07 23:01:59 UTC (rev 1030)
@@ -29,8 +29,7 @@
namespace dcpp {
-class BufferedSocket : public Speaker<BufferedSocketListener>, public Thread
-{
+class BufferedSocket : public Speaker<BufferedSocketListener>, private Thread {
public:
enum Modes {
MODE_LINE,
@@ -43,7 +42,7 @@
* @param sep Line separator
* @return An unconnected socket
*/
- static BufferedSocket* getSocket(char sep) throw() {
+ static BufferedSocket* getSocket(char sep) throw(ThreadException) {
return new BufferedSocket(sep);
}
@@ -57,8 +56,8 @@
Thread::sleep(100);
}
- void accept(const Socket& srv, bool secure, bool allowUntrusted) throw(SocketException, ThreadException);
- void connect(const string& aAddress, uint16_t aPort, bool secure, bool allowUntrusted, bool proxy) throw(SocketException, ThreadException);
+ void accept(const Socket& srv, bool secure, bool allowUntrusted) throw(SocketException);
+ void connect(const string& aAddress, uint16_t aPort, bool secure, bool allowUntrusted, bool proxy) throw(SocketException);
/** Sets data mode for aBytes bytes. Must be called within onLine. */
void setDataMode(int64_t aBytes = -1) { mode = MODE_DATA; dataBytes = aBytes; }
@@ -70,12 +69,12 @@
void setLineMode(size_t aRollback) { setMode (MODE_LINE, aRollback);}
void setMode(Modes mode, size_t aRollback = 0);
Modes getMode() const { return mode; }
- const string& getIp() const { return sock ? sock->getIp() : Util::emptyString; }
- bool isConnected() const { return sock && sock->isConnected(); }
+ const string& getIp() const { return sock->getIp(); }
+ bool isConnected() const { return sock->isConnected(); }
- bool isSecure() const { return sock && sock->isSecure(); }
- bool isTrusted() const { return sock && sock->isTrusted(); }
- std::string getCipherName() const { return sock ? sock->getCipherName() : Util::emptyString; }
+ bool isSecure() const { return sock->isSecure(); }
+ bool isTrusted() const { return sock->isTrusted(); }
+ std::string getCipherName() const { return sock->getCipherName(); }
void write(const string& aData) { write(aData.data(), aData.length()); }
void write(const char* aBuf, size_t aLen) throw();
@@ -87,7 +86,7 @@
void disconnect(bool graceless = false) throw() { Lock l(cs); if(graceless) disconnecting = true; addTask(DISCONNECT, 0); }
- string getLocalIp() const { return sock ? sock->getLocalIp() : Util::getLocalIp(); }
+ string getLocalIp() const { return sock->getLocalIp(); }
GETSET(char, separator, Separator)
private:
@@ -100,6 +99,12 @@
ACCEPTED,
UPDATED
};
+
+ enum State {
+ STARTING, // Waiting for CONNECT/ACCEPTED/SHUTDOWN
+ RUNNING,
+ FAILED
+ };
struct TaskData {
virtual ~TaskData() { }
@@ -115,30 +120,26 @@
InputStream* stream;
};
- BufferedSocket(char aSeparator) throw();
+ BufferedSocket(char aSeparator) throw(ThreadException);
- // Dummy...
- BufferedSocket(const BufferedSocket&);
- BufferedSocket& operator=(const BufferedSocket&);
-
virtual ~BufferedSocket() throw();
CriticalSection cs;
Semaphore taskSem;
- vector<pair<Tasks, TaskData*> > tasks;
+ deque<pair<Tasks, std::tr1::shared_ptr<TaskData> > > tasks;
Modes mode;
- UnZFilter *filterIn;
+ std::auto_ptr<UnZFilter> filterIn;
int64_t dataBytes;
size_t rollback;
- bool failed;
string line;
ByteVector inbuf;
ByteVector writeBuf;
ByteVector sendBuf;
- Socket* sock;
+ std::auto_ptr<Socket> sock;
+ State state;
bool disconnecting;
virtual int run();
@@ -155,8 +156,9 @@
bool checkEvents();
void checkSocket();
+ void setSocket(std::auto_ptr<Socket> s);
void shutdown();
- void addTask(Tasks task, TaskData* data) { tasks.push_back(make_pair(task, data)); taskSem.signal(); }
+ void addTask(Tasks task, TaskData* data);
};
} // namespace dcpp
Modified: dcplusplus/trunk/dcpp/Client.cpp
===================================================================
--- dcplusplus/trunk/dcpp/Client.cpp 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/dcpp/Client.cpp 2008-03-07 23:01:59 UTC (rev 1030)
@@ -34,7 +34,7 @@
Client::Client(const string& hubURL, char separator_, bool secure_) :
myIdentity(ClientManager::getInstance()->getMe(), 0),
reconnDelay(120), lastActivity(GET_TICK()), registered(false), autoReconnect(false),
- encoding(Text::systemCharset), state(STATE_DISCONNECTED), socket(0),
+ encoding(Text::systemCharset), state(STATE_DISCONNECTED), sock(0),
hubUrl(hubURL), port(0), separator(separator_),
secure(secure_), countType(COUNT_UNCOUNTED)
{
@@ -45,7 +45,7 @@
}
Client::~Client() throw() {
- dcassert(!socket);
+ dcassert(!sock);
// In case we were deleted before we Failed
FavoriteManager::getInstance()->removeUserCommand(getHubUrl());
@@ -60,10 +60,9 @@
}
void Client::shutdown() {
-
- if(socket) {
- BufferedSocket::putSocket(socket);
- socket = 0;
+ if(sock) {
+ BufferedSocket::putSocket(sock);
+ sock = 0;
}
}
@@ -90,8 +89,8 @@
}
void Client::connect() {
- if(socket)
- BufferedSocket::putSocket(socket);
+ if(sock)
+ BufferedSocket::putSocket(sock);
setAutoReconnect(true);
setReconnDelay(120 + Util::rand(0, 60));
@@ -101,13 +100,13 @@
setHubIdentity(Identity());
try {
- socket = BufferedSocket::getSocket(separator);
- socket->addListener(this);
- socket->connect(address, port, secure, BOOLSETTING(ALLOW_UNTRUSTED_HUBS), true);
+ sock = BufferedSocket::getSocket(separator);
+ sock->addListener(this);
+ sock->connect(address, port, secure, BOOLSETTING(ALLOW_UNTRUSTED_HUBS), true);
} catch(const Exception& e) {
- if(socket) {
- BufferedSocket::putSocket(socket);
- socket = 0;
+ if(sock) {
+ BufferedSocket::putSocket(sock);
+ sock = 0;
}
fire(ClientListener::Failed(), this, e.getError());
}
@@ -115,9 +114,18 @@
state = STATE_CONNECTING;
}
+void Client::send(const char* aMessage, size_t aLen) {
+ dcassert(sock);
+ if(!sock)
+ return;
+ updateActivity();
+ sock->write(aMessage, aLen);
+}
+
void Client::on(Connected) throw() {
updateActivity();
- ip = socket->getIp();
+ ip = sock->getIp();
+ localIp = sock->getLocalIp();
fire(ClientListener::Connected(), this);
state = STATE_PROTOCOL;
}
@@ -125,13 +133,13 @@
void Client::on(Failed, const string& aLine) throw() {
state = STATE_DISCONNECTED;
FavoriteManager::getInstance()->removeUserCommand(getHubUrl());
- socket->removeListener(this);
+ sock->removeListener(this);
fire(ClientListener::Failed(), this, aLine);
}
void Client::disconnect(bool graceLess) {
- if(socket)
- socket->disconnect(graceLess);
+ if(sock)
+ sock->disconnect(graceLess);
}
void Client::updateCounts(bool aRemove) {
@@ -169,14 +177,12 @@
if(!SETTING(EXTERNAL_IP).empty()) {
return Socket::resolve(SETTING(EXTERNAL_IP));
}
+
+ if(localIp.empty()) {
+ return Util::getLocalIp();
+ }
- string lip;
- if(socket)
- lip = socket->getLocalIp();
-
- if(lip.empty())
- return Util::getLocalIp();
- return lip;
+ return localIp;
}
void Client::on(Line, const string& /*aLine*/) throw() {
Modified: dcplusplus/trunk/dcpp/Client.h
===================================================================
--- dcplusplus/trunk/dcpp/Client.h 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/dcpp/Client.h 2008-03-07 23:01:59 UTC (rev 1030)
@@ -16,12 +16,14 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#if !defined(CLIENT_H)
-#define CLIENT_H
+#ifndef DCPLUSPLUS_DCPP_CLIENT_H
+#define DCPLUSPLUS_DCPP_CLIENT_H
+#include "forward.h"
+
#include "User.h"
-#include "BufferedSocket.h"
-#include "SettingsManager.h"
+#include "Speaker.h"
+#include "BufferedSocketListener.h"
#include "TimerManager.h"
#include "ClientListener.h"
@@ -52,7 +54,7 @@
virtual string escape(string const& str) const { return str; }
- bool isConnected() const { return socket && socket->isConnected(); }
+ bool isConnected() const { return state != STATE_DISCONNECTED; }
bool isOp() const { return getMyIdentity().isOp(); }
uint16_t getPort() const { return port; }
@@ -80,13 +82,7 @@
void shutdown();
void send(const string& aMessage) { send(aMessage.c_str(), aMessage.length()); }
- void send(const char* aMessage, size_t aLen) {
- dcassert(socket);
- if(!socket)
- return;
- updateActivity();
- socket->write(aMessage, aLen);
- }
+ void send(const char* aMessage, size_t aLen);
string getMyNick() const { return getMyIdentity().getNick(); }
string getHubName() const { return getHubIdentity().getNick().empty() ? getHubUrl() : getHubIdentity().getNick(); }
@@ -129,7 +125,7 @@
STATE_DISCONNECTED, ///< Nothing in particular
} state;
- BufferedSocket* socket;
+ BufferedSocket* sock;
static Counts counts;
Counts lastCounts;
@@ -165,6 +161,7 @@
string hubUrl;
string address;
string ip;
+ string localIp;
uint16_t port;
char separator;
bool secure;
Modified: dcplusplus/trunk/dcpp/ClientManager.cpp
===================================================================
--- dcplusplus/trunk/dcpp/ClientManager.cpp 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/dcpp/ClientManager.cpp 2008-03-07 23:01:59 UTC (rev 1030)
@@ -55,8 +55,6 @@
}
void ClientManager::putClient(Client* aClient) {
- aClient->shutdown();
-
fire(ClientManagerListener::ClientDisconnected(), aClient);
aClient->removeListeners();
@@ -64,6 +62,7 @@
Lock l(cs);
clients.remove(aClient);
}
+ aClient->shutdown();
delete aClient;
}
Modified: dcplusplus/trunk/dcpp/ClientManager.h
===================================================================
--- dcplusplus/trunk/dcpp/ClientManager.h 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/dcpp/ClientManager.h 2008-03-07 23:01:59 UTC (rev 1030)
@@ -25,6 +25,7 @@
#include "Singleton.h"
#include "SettingsManager.h"
#include "User.h"
+#include "Socket.h"
#include "ClientManagerListener.h"
Modified: dcplusplus/trunk/dcpp/NmdcHub.cpp
===================================================================
--- dcplusplus/trunk/dcpp/NmdcHub.cpp 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/dcpp/NmdcHub.cpp 2008-03-07 23:01:59 UTC (rev 1030)
@@ -578,12 +578,12 @@
fire(ClientListener::UserUpdated(), this, u);
}
} else if(cmd == "$ForceMove") {
- socket->disconnect(false);
+ disconnect(false);
fire(ClientListener::Redirect(), this, param);
} else if(cmd == "$HubIsFull") {
fire(ClientListener::HubFull(), this);
} else if(cmd == "$ValidateDenide") { // Mind the spelling...
- socket->disconnect(false);
+ disconnect(false);
fire(ClientListener::NickTaken(), this);
} else if(cmd == "$UserIP") {
if(!param.empty()) {
@@ -729,7 +729,7 @@
} else if(cmd == "$BadPass") {
setPassword(Util::emptyString);
} else if(cmd == "$ZOn") {
- socket->setMode(BufferedSocket::MODE_ZPIPE);
+ sock->setMode(BufferedSocket::MODE_ZPIPE);
} else {
dcassert(cmd[0] == '$');
dcdebug("NmdcHub::onLine Unknown command %s\n", aLine.c_str());
Modified: dcplusplus/trunk/dcpp/NmdcHub.h
===================================================================
--- dcplusplus/trunk/dcpp/NmdcHub.h 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/dcpp/NmdcHub.h 2008-03-07 23:01:59 UTC (rev 1030)
@@ -16,13 +16,13 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#if !defined(NMDC_HUB_H)
-#define NMDC_HUB_H
+#ifndef DCPLUSPLUS_DCPP_NMDC_HUB_H
+#define DCPLUSPLUS_DCPP_NMDC_HUB_H
#include "TimerManager.h"
#include "SettingsManager.h"
-#include "User.h"
+#include "forward.h"
#include "CriticalSection.h"
#include "Text.h"
#include "Client.h"
Modified: dcplusplus/trunk/dcpp/Speaker.h
===================================================================
--- dcplusplus/trunk/dcpp/Speaker.h 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/dcpp/Speaker.h 2008-03-07 23:01:59 UTC (rev 1030)
@@ -16,8 +16,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#if !defined(SPEAKER_H)
-#define SPEAKER_H
+#ifndef DCPLUSPLUS_DCPP_SPEAKER_H
+#define DCPLUSPLUS_DCPP_SPEAKER_H
#include "CriticalSection.h"
Modified: dcplusplus/trunk/dcpp/Thread.h
===================================================================
--- dcplusplus/trunk/dcpp/Thread.h 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/dcpp/Thread.h 2008-03-07 23:01:59 UTC (rev 1030)
@@ -16,8 +16,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#if !defined(THREAD_H)
-#define THREAD_H
+#ifndef DCPLUSPLUS_DCPP_THREAD_H
+#define DCPLUSPLUS_DCPP_THREAD_H
#ifndef _WIN32
#include <pthread.h>
@@ -31,7 +31,7 @@
STANDARD_EXCEPTION(ThreadException);
-class Thread
+class Thread : private boost::noncopyable
{
public:
#ifdef _WIN32
@@ -124,10 +124,6 @@
protected:
virtual int run() = 0;
-private:
- Thread(const Thread&);
- Thread& operator=(const Thread&);
-
#ifdef _WIN32
HANDLE threadHandle;
DWORD threadId;
Modified: dcplusplus/trunk/dcpp/stdinc.h
===================================================================
--- dcplusplus/trunk/dcpp/stdinc.h 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/dcpp/stdinc.h 2008-03-07 23:01:59 UTC (rev 1030)
@@ -121,6 +121,7 @@
#include <boost/format.hpp>
#include <boost/scoped_array.hpp>
+#include <boost/noncopyable.hpp>
#ifdef _STLPORT_VERSION
Modified: dcplusplus/trunk/win32/AspectStatus.h
===================================================================
--- dcplusplus/trunk/win32/AspectStatus.h 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/win32/AspectStatus.h 2008-03-07 23:01:59 UTC (rev 1030)
@@ -81,10 +81,10 @@
}
void mapWidget(int s, SmartWin::Widget* widget) {
- RECT sr;
- ::SendMessage(status->handle(), SB_GETRECT, s, reinterpret_cast<LPARAM>(&sr));
- ::MapWindowPoints(status->handle(), static_cast<WidgetType*>(this)->handle(), (POINT*)&sr, 2);
- ::MoveWindow(widget->handle(), sr.left, sr.top, sr.right - sr.left, sr.bottom - sr.top, TRUE);
+ POINT p[2];
+ ::SendMessage(status->handle(), SB_GETRECT, s, reinterpret_cast<LPARAM>(p));
+ ::MapWindowPoints(status->handle(), static_cast<WidgetType*>(this)->handle(), (POINT*)p, 2);
+ ::MoveWindow(widget->handle(), p[0].x, p[0].y, p[1].x - p[0].x, p[1].y - p[0].y, TRUE);
}
WidgetStatusBarSectionsPtr status;
Modified: dcplusplus/trunk/win32/DirectoryListingFrame.cpp
===================================================================
--- dcplusplus/trunk/win32/DirectoryListingFrame.cpp 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/win32/DirectoryListingFrame.cpp 2008-03-07 23:01:59 UTC (rev 1030)
@@ -762,7 +762,7 @@
changeDir(dir);
// Check file names in list pane
- for(int i=0; i<files->size(); i++) {
+ for(size_t i = 0; i < files->size(); i++) {
ItemInfo* ii = files->getData(i);
if(ii->type == ItemInfo::FILE) {
if(str.match(ii->file->getName())) {
Modified: dcplusplus/trunk/win32/TypedTreeView.h
===================================================================
--- dcplusplus/trunk/win32/TypedTreeView.h 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/win32/TypedTreeView.h 2008-03-07 23:01:59 UTC (rev 1030)
@@ -76,7 +76,7 @@
ContentType* content = reinterpret_cast<ContentType*>(nm->item.lParam);
const tstring& text = content->getText();
_tcsncpy(nm->item.pszText, text.data(), std::min(text.size(), (size_t)nm->item.cchTextMax));
- if(text.size() < nm->item.cchTextMax) {
+ if(text.size() < static_cast<size_t>(nm->item.cchTextMax)) {
nm->item.pszText[text.size()] = 0;
}
}
Modified: dcplusplus/trunk/win32/UsersFrame.cpp
===================================================================
--- dcplusplus/trunk/win32/UsersFrame.cpp 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/win32/UsersFrame.cpp 2008-03-07 23:01:59 UTC (rev 1030)
@@ -117,7 +117,7 @@
}
void UsersFrame::updateUser(const UserPtr& aUser) {
- for(int i = 0; i < users->size(); ++i) {
+ for(size_t i = 0; i < users->size(); ++i) {
UserInfo *ui = users->getData(i);
if(ui->user == aUser) {
ui->columns[COLUMN_SEEN] = aUser->isOnline() ? T_("Online") : Text::toT(Util::formatTime("%Y-%m-%d %H:%M", FavoriteManager::getInstance()->getLastSeen(aUser)));
@@ -127,7 +127,7 @@
}
void UsersFrame::removeUser(const FavoriteUser& aUser) {
- for(int i = 0; i < users->size(); ++i) {
+ for(size_t i = 0; i < users->size(); ++i) {
UserInfo *ui = users->getData(i);
if(ui->user == aUser.getUser()) {
users->erase(i);
Modified: dcplusplus/trunk/win32/WinUtil.cpp
===================================================================
--- dcplusplus/trunk/win32/WinUtil.cpp 2008-03-07 00:20:14 UTC (rev 1029)
+++ dcplusplus/trunk/win32/WinUtil.cpp 2008-03-07 23:01:59 UTC (rev 1030)
@@ -120,7 +120,7 @@
}
// Const so that noone else will change them after they've been initialized
- SmartWin::WidgetButton::Seed& xbutton = const_cast<SmartWin::WidgetButton::Seed&>(Seeds::button);
+ //SmartWin::WidgetButton::Seed& xbutton = const_cast<SmartWin::WidgetButton::Seed&>(Seeds::button);
SmartWin::WidgetComboBox::Seed& xcomboBoxEdit = const_cast<SmartWin::WidgetComboBox::Seed&>(Seeds::comboBoxEdit);
SmartWin::WidgetComboBox::Seed& xcomboBoxStatic = const_cast<SmartWin::WidgetComboBox::Seed&>(Seeds::comboBoxStatic);
SmartWin::WidgetListView::Seed& xlistView = const_cast<SmartWin::WidgetListView::Seed&>(Seeds::listView);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zou...@us...> - 2008-03-07 00:20:21
|
Revision: 1029
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1029&view=rev
Author: zouzou123gen
Date: 2008-03-06 16:20:14 -0800 (Thu, 06 Mar 2008)
Log Message:
-----------
fix DL queue crash, don't sub-class scrollbar menus
Modified Paths:
--------------
dcplusplus/trunk/changelog.txt
dcplusplus/trunk/win32/QueueFrame.cpp
dcplusplus/trunk/win32/QueueFrame.h
dcplusplus/trunk/win32/WidgetTextBox.cpp
Modified: dcplusplus/trunk/changelog.txt
===================================================================
--- dcplusplus/trunk/changelog.txt 2008-03-06 19:43:56 UTC (rev 1028)
+++ dcplusplus/trunk/changelog.txt 2008-03-07 00:20:14 UTC (rev 1029)
@@ -42,6 +42,7 @@
* [L#194696] Fixed small memory leak
* Some unix compile fixes (thanks pavel andreev and yakov suraev)
* [L#199192] [NMDC] Fixed crash on empty private message
+* [L#198416] Fixed crash when closing the download queue (poy)
-- 0.704 2007-12-14 --
* Hub lists added to utilize Coral's distributed network (ullner)
Modified: dcplusplus/trunk/win32/QueueFrame.cpp
===================================================================
--- dcplusplus/trunk/win32/QueueFrame.cpp 2008-03-06 19:43:56 UTC (rev 1028)
+++ dcplusplus/trunk/win32/QueueFrame.cpp 2008-03-07 00:20:14 UTC (rev 1029)
@@ -70,17 +70,20 @@
{
dirs = SmartWin::WidgetCreator<WidgetDirs>::create(this, WinUtil::Seeds::treeView);
addWidget(dirs);
+ paned->setFirst(dirs);
+
dirs->setColor(WinUtil::textColor, WinUtil::bgColor);
dirs->setNormalImageList(WinUtil::fileImages);
+
dirs->onSelectionChanged(std::tr1::bind(&QueueFrame::updateFiles, this));
dirs->onKeyDown(std::tr1::bind(&QueueFrame::handleKeyDownDirs, this, _1));
dirs->onContextMenu(std::tr1::bind(&QueueFrame::handleDirsContextMenu, this, _1));
- paned->setFirst(dirs);
}
{
files = SmartWin::WidgetCreator<WidgetFiles>::create(this, WinUtil::Seeds::listView);
- addWidget(files);
+ addWidget(files, true);
+ paned->setSecond(files);
files->setSmallImageList(WinUtil::fileImages);
files->createColumns(WinUtil::getStrings(columnNames));
@@ -92,8 +95,6 @@
files->onKeyDown(std::tr1::bind(&QueueFrame::handleKeyDownFiles, this, _1));
files->onSelectionChanged(std::tr1::bind(&QueueFrame::updateStatus, this));
files->onContextMenu(std::tr1::bind(&QueueFrame::handleFilesContextMenu, this, _1));
-
- paned->setSecond(files);
}
{
@@ -111,7 +112,7 @@
QueueManager::getInstance()->unlockQueue();
QueueManager::getInstance()->addListener(this);
- onSpeaker(std::tr1::bind(&QueueFrame::handleSpeaker, this, _1, _2));
+ onSpeaker(std::tr1::bind(&QueueFrame::handleSpeaker, this));
updateStatus();
layout();
@@ -121,7 +122,7 @@
}
-HRESULT QueueFrame::handleSpeaker(WPARAM, LPARAM) {
+LRESULT QueueFrame::handleSpeaker() {
TaskQueue::List t;
tasks.get(t);
Modified: dcplusplus/trunk/win32/QueueFrame.h
===================================================================
--- dcplusplus/trunk/win32/QueueFrame.h 2008-03-06 19:43:56 UTC (rev 1028)
+++ dcplusplus/trunk/win32/QueueFrame.h 2008-03-07 00:20:14 UTC (rev 1029)
@@ -27,12 +27,10 @@
#include <dcpp/FastAlloc.h>
#include <dcpp/QueueManagerListener.h>
#include <dcpp/QueueItem.h>
-#include <dcpp/ClientListener.h>
#include "resource.h"
-class QueueFrame :
- public StaticFrame<QueueFrame>,
- private ClientListener,
+class QueueFrame :
+ public StaticFrame<QueueFrame>,
private QueueManagerListener
{
public:
@@ -277,12 +275,12 @@
bool addUsers(const WidgetMenuPtr& menu, unsigned int startId, void (QueueFrame::*handler)(const UserPtr&), const QueueItem::SourceList& sources, bool offline);
void layout();
- HRESULT handleSpeaker(WPARAM wParam, LPARAM lParam);
+
bool preClosing();
void postClosing();
void handleShowTreeClicked();
-
+ LRESULT handleSpeaker();
void handleMove();
void handleRemove();
void handlePriority(unsigned id);
Modified: dcplusplus/trunk/win32/WidgetTextBox.cpp
===================================================================
--- dcplusplus/trunk/win32/WidgetTextBox.cpp 2008-03-06 19:43:56 UTC (rev 1028)
+++ dcplusplus/trunk/win32/WidgetTextBox.cpp 2008-03-07 00:20:14 UTC (rev 1029)
@@ -25,6 +25,12 @@
WidgetTextBox::WidgetTextBox( SmartWin::Widget * parent ) : BaseType(parent), menuOpened(false) {
this->onLeftMouseDblClick(std::tr1::bind(&WidgetTextBox::handleLeftDblClick, this, _1));
+ /*
+ * unlike usual controls, the edit control doesn't send WM_INITMENUPOPUP when its standard
+ * menu is being opened. however, we can catch WM_ENTERIDLE and sub-class the menu then.
+ *
+ * method described by Jeff Partch in http://groups.google.com/group/microsoft.public.vc.mfc/msg/5e07dc60be3d3baa
+ */
this->onRaw(std::tr1::bind(&WidgetTextBox::handleEnterIdle, this, _1, _2), SmartWin::Message(WM_ENTERIDLE));
this->onRaw(std::tr1::bind(&WidgetTextBox::handleMenuSelect, this, _1, _2), SmartWin::Message(WM_MENUSELECT));
}
@@ -35,8 +41,27 @@
LRESULT WidgetTextBox::handleEnterIdle(WPARAM wParam, LPARAM lParam) {
if(wParam == MSGF_MENU && !menuOpened) {
- menu = SmartWin::WidgetCreator<SmartWin::WidgetMenu>::attach(this, reinterpret_cast<HMENU>(::SendMessage(reinterpret_cast<HWND>(lParam), MN_GETHMENU, 0, 0)), WinUtil::Seeds::menu);
- menuOpened = true;
+ GUITHREADINFO gti = { sizeof(gti) };
+ if(::GetGUIThreadInfo(NULL, >i) && (gti.flags & GUI_POPUPMENUMODE) && (gti.hwndMenuOwner == handle())) {
+ HMENU hMenu = reinterpret_cast<HMENU>(::SendMessage(reinterpret_cast<HWND>(lParam), MN_GETHMENU, 0, 0));
+ if(!hMenu)
+ return 0;
+
+ menuOpened = true;
+
+ {
+ // make sure we're not sub-classing the scrollbar context menu...
+ DWORD messagePos = ::GetMessagePos();
+ POINT pt = { GET_X_LPARAM(messagePos), GET_Y_LPARAM(messagePos) };
+ SCROLLBARINFO sbi = { sizeof(sbi) };
+ if(::GetScrollBarInfo(handle(), OBJID_HSCROLL, &sbi) && ::PtInRect(&sbi.rcScrollBar, pt))
+ return 0;
+ if(::GetScrollBarInfo(handle(), OBJID_VSCROLL, &sbi) && ::PtInRect(&sbi.rcScrollBar, pt))
+ return 0;
+ }
+
+ menu = SmartWin::WidgetCreator<SmartWin::WidgetMenu>::attach(this, hMenu, WinUtil::Seeds::menu);
+ }
}
return 0;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arn...@us...> - 2008-03-06 19:50:11
|
Revision: 1028
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1028&view=rev
Author: arnetheduck
Date: 2008-03-06 11:43:56 -0800 (Thu, 06 Mar 2008)
Log Message:
-----------
fix ctrl-p/public hubs
Modified Paths:
--------------
dcplusplus/trunk/win32/DCPlusPlus.rc
Modified: dcplusplus/trunk/win32/DCPlusPlus.rc
===================================================================
--- dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-06 18:13:47 UTC (rev 1027)
+++ dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-06 19:43:56 UTC (rev 1028)
@@ -883,7 +883,7 @@
"F", IDC_FAVORITE_HUBS, VIRTKEY, CONTROL, NOINVERT
"L", IDC_OPEN_FILE_LIST, VIRTKEY, CONTROL, NOINVERT
"N", IDC_NOTEPAD, VIRTKEY, CONTROL, NOINVERT
- "P", IDC_CONNECT, VIRTKEY, CONTROL, NOINVERT
+ "P", IDC_PUBLIC_HUBS, VIRTKEY, CONTROL, NOINVERT
"Q", IDC_QUICK_CONNECT, VIRTKEY, CONTROL, NOINVERT
"R", IDC_RECONNECT, VIRTKEY, CONTROL, NOINVERT
"S", IDC_SEARCH, VIRTKEY, CONTROL, NOINVERT
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arn...@us...> - 2008-03-06 18:14:10
|
Revision: 1027
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1027&view=rev
Author: arnetheduck
Date: 2008-03-06 10:13:47 -0800 (Thu, 06 Mar 2008)
Log Message:
-----------
Fix empty pm crash
Modified Paths:
--------------
dcplusplus/trunk/changelog.txt
dcplusplus/trunk/dcpp/NmdcHub.cpp
Modified: dcplusplus/trunk/changelog.txt
===================================================================
--- dcplusplus/trunk/changelog.txt 2008-03-05 21:23:05 UTC (rev 1026)
+++ dcplusplus/trunk/changelog.txt 2008-03-06 18:13:47 UTC (rev 1027)
@@ -41,6 +41,7 @@
* [L#195209] Fixed Ctrl+F that opens favorite hubs (poy)
* [L#194696] Fixed small memory leak
* Some unix compile fixes (thanks pavel andreev and yakov suraev)
+* [L#199192] [NMDC] Fixed crash on empty private message
-- 0.704 2007-12-14 --
* Hub lists added to utilize Coral's distributed network (ullner)
Modified: dcplusplus/trunk/dcpp/NmdcHub.cpp
===================================================================
--- dcplusplus/trunk/dcpp/NmdcHub.cpp 2008-03-05 21:23:05 UTC (rev 1026)
+++ dcplusplus/trunk/dcpp/NmdcHub.cpp 2008-03-06 18:13:47 UTC (rev 1027)
@@ -690,10 +690,14 @@
if(fromNick.empty())
return;
+ if(param.size() < j + 2) {
+ return;
+ }
+ string msg = param.substr(j + 2);
+
OnlineUser* replyTo = findUser(rtNick);
OnlineUser* from = findUser(fromNick);
- string msg = param.substr(j + 2);
if(replyTo == NULL || from == NULL) {
if(replyTo == 0) {
// Assume it's from the hub
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arn...@us...> - 2008-03-05 21:23:09
|
Revision: 1026
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1026&view=rev
Author: arnetheduck
Date: 2008-03-05 13:23:05 -0800 (Wed, 05 Mar 2008)
Log Message:
-----------
Patches
Modified Paths:
--------------
dcplusplus/trunk/changelog.txt
dcplusplus/trunk/dcpp/File.cpp
dcplusplus/trunk/dcpp/Util.cpp
dcplusplus/trunk/win32/AboutDlg.cpp
Modified: dcplusplus/trunk/changelog.txt
===================================================================
--- dcplusplus/trunk/changelog.txt 2008-03-04 23:26:14 UTC (rev 1025)
+++ dcplusplus/trunk/changelog.txt 2008-03-05 21:23:05 UTC (rev 1026)
@@ -40,8 +40,8 @@
* [L#195209] Fixed tabbing in hub windows (poy)
* [L#195209] Fixed Ctrl+F that opens favorite hubs (poy)
* [L#194696] Fixed small memory leak
+* Some unix compile fixes (thanks pavel andreev and yakov suraev)
-
-- 0.704 2007-12-14 --
* Hub lists added to utilize Coral's distributed network (ullner)
* Use system header arrows on common controls 6+ (thanks poy)
Modified: dcplusplus/trunk/dcpp/File.cpp
===================================================================
--- dcplusplus/trunk/dcpp/File.cpp 2008-03-04 23:26:14 UTC (rev 1025)
+++ dcplusplus/trunk/dcpp/File.cpp 2008-03-05 21:23:05 UTC (rev 1026)
@@ -225,7 +225,7 @@
throw FileException("Invalid file type");
}
- h = open(fileName.c_str(), m, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
+ h = open(filename.c_str(), m, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
if(h == -1)
throw FileException("Could not open file");
}
@@ -350,7 +350,7 @@
// This doesn't assume all bytes are written in one write call, it is a bit safer
void File::copyFile(const string& source, const string& target) throw(FileException) {
const size_t BUF_SIZE = 64 * 1024;
- boost::scoped_array<char> buffer(BUF_SIZE);
+ boost::scoped_array<char> buffer(new char[BUF_SIZE]);
size_t count = BUF_SIZE;
File src(source, File::READ, 0);
File dst(target, File::WRITE, File::CREATE | File::TRUNCATE);
Modified: dcplusplus/trunk/dcpp/Util.cpp
===================================================================
--- dcplusplus/trunk/dcpp/Util.cpp 2008-03-04 23:26:14 UTC (rev 1025)
+++ dcplusplus/trunk/dcpp/Util.cpp 2008-03-05 21:23:05 UTC (rev 1026)
@@ -379,7 +379,7 @@
#else
char buf[128];
snprintf(buf, sizeof(buf), _("%'lld B"), (long long int)aBytes);
- return string(buf)
+ return string(buf);
#endif
}
@@ -714,14 +714,17 @@
#else
// will this give wide representations for %a and %A?
// surely win32 can't have a leg up on linux/unixen in this area. - Todd
- AutoArray<char> buf(bufsize);
+ string buf(bufsize, 0);
- while(!strftime(buf, bufsize-1, msg.c_str(), loc)) {
+ buf.resize(strftime(&buf[0], bufsize-1, msg.c_str(), loc));
+
+ while(buf.empty()) {
bufsize+=64;
- buf = new char[bufsize];
+ buf.resize(bufsize);
+ buf.resize(strftime(&buf[0], bufsize-1, msg.c_str(), loc));
}
- return Text::toUtf8(string(buf));
+ return Text::toUtf8(buf);
#endif
}
return Util::emptyString;
Modified: dcplusplus/trunk/win32/AboutDlg.cpp
===================================================================
--- dcplusplus/trunk/win32/AboutDlg.cpp 2008-03-04 23:26:14 UTC (rev 1025)
+++ dcplusplus/trunk/win32/AboutDlg.cpp 2008-03-05 21:23:05 UTC (rev 1026)
@@ -41,7 +41,7 @@
"bsod, sulan, jonathan stone, tim burton, izzzo, guitarm, paka, nils maier, jens oknelid, yoji, "
"krzysztof tyszecki, poison, mikejj, pur, bigmuscle, martin, jove, bart vullings, "
"steven sheehy, tobias nygren, poy, dorian, stephan hohe, mafa_45, mikael eman, james ross,"
-"stanislav maslovski, david grundberg. "
+"stanislav maslovski, david grundberg, pavel andreev, yakov suraev. "
"Keep it coming!";
AboutDlg::AboutDlg(SmartWin::Widget* parent) : WidgetFactory<SmartWin::WidgetModalDialog>(parent) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zou...@us...> - 2008-03-04 23:27:16
|
Revision: 1025
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1025&view=rev
Author: zouzou123gen
Date: 2008-03-04 15:26:14 -0800 (Tue, 04 Mar 2008)
Log Message:
-----------
fix problems when tabs were added/removed during tab drag&drop
Modified Paths:
--------------
dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h
dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp
Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h
===================================================================
--- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h 2008-03-04 23:19:17 UTC (rev 1024)
+++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h 2008-03-04 23:26:14 UTC (rev 1025)
@@ -97,7 +97,7 @@
Rectangle clientSize;
std::vector<IconPtr> icons;
int active;
- int dragging;
+ WidgetChildWindow* dragging;
SmartUtil::tstring tipText;
int findTab(WidgetChildWindow* w);
Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp
===================================================================
--- dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp 2008-03-04 23:19:17 UTC (rev 1024)
+++ dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp 2008-03-04 23:26:14 UTC (rev 1025)
@@ -19,7 +19,7 @@
toggleActive(false),
inTab(false),
active(-1),
- dragging(-1)
+ dragging(0)
{ }
void WidgetTabView::create(const Seed & cs) {
@@ -81,6 +81,9 @@
viewOrder.remove(w);
+ if(w == dragging)
+ dragging = 0;
+
int i = findTab(w);
if(i != -1) {
delete getTabInfo(i);
@@ -291,12 +294,12 @@
}
void WidgetTabView::handleLeftMouseDown(const MouseEventResult& mouseEventResult) {
- int i = tab->hitTest(mouseEventResult.pos);
- if(i != -1) {
+ TabInfo* ti = getTabInfo(tab->hitTest(mouseEventResult.pos));
+ if(ti) {
if(mouseEventResult.isShiftPressed)
- getTabInfo(i)->w->close();
+ ti->w->close();
else {
- dragging = i;
+ dragging = ti->w;
::SetCapture(tab->handle());
}
}
@@ -305,7 +308,13 @@
void WidgetTabView::handleLeftMouseUp(const MouseEventResult& mouseEventResult) {
::ReleaseCapture();
- if(dragging != -1) {
+ if(dragging) {
+ int dragPos = findTab(dragging);
+ dragging = 0;
+
+ if(dragPos == -1)
+ return;
+
int dropPos = tab->hitTest(mouseEventResult.pos);
if(dropPos == -1) {
@@ -313,30 +322,27 @@
dropPos = tab->size() - 1;
}
- if(dropPos == dragging) {
+ if(dropPos == dragPos) {
// the tab hasn't moved; handle the click
if(dropPos == active) {
if(toggleActive)
next();
} else
setActive(dropPos);
- dragging = -1;
return;
}
// save some information about the tab before we erase it
- TabInfo* ti = getTabInfo(dragging);
- int image = tab->getImage(dragging);
+ TabInfo* ti = getTabInfo(dragPos);
+ int image = tab->getImage(dragPos);
- tab->erase(dragging);
+ tab->erase(dragPos);
tab->addPage(formatTitle(ti->w->getText()), dropPos, reinterpret_cast<LPARAM>(ti), image);
active = tab->getSelectedIndex();
layout();
-
- dragging = -1;
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arn...@us...> - 2008-03-04 23:19:36
|
Revision: 1024
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1024&view=rev
Author: arnetheduck
Date: 2008-03-04 15:19:17 -0800 (Tue, 04 Mar 2008)
Log Message:
-----------
language updates, memory fixes
Modified Paths:
--------------
dcplusplus/trunk/SConstruct
dcplusplus/trunk/dcpp/BufferedSocket.cpp
dcplusplus/trunk/dcpp/CryptoManager.cpp
dcplusplus/trunk/dcpp/Pointer.h
dcplusplus/trunk/dcpp/po/de.po
dcplusplus/trunk/dcpp/po/fr.po
dcplusplus/trunk/dcpp/po/hu.po
dcplusplus/trunk/dcpp/po/id.po
dcplusplus/trunk/dcpp/po/it.po
dcplusplus/trunk/dcpp/po/km.po
dcplusplus/trunk/dcpp/po/ko.po
dcplusplus/trunk/dcpp/po/pl.po
dcplusplus/trunk/dcpp/po/pt.po
dcplusplus/trunk/dcpp/po/ro.po
dcplusplus/trunk/dcpp/po/sl.po
dcplusplus/trunk/dcpp/po/sq.po
dcplusplus/trunk/dcpp/po/sv.po
dcplusplus/trunk/win32/MainWindow.cpp
dcplusplus/trunk/win32/po/fr.po
dcplusplus/trunk/win32/po/id.po
dcplusplus/trunk/win32/po/it.po
dcplusplus/trunk/win32/po/km.po
dcplusplus/trunk/win32/po/ko.po
dcplusplus/trunk/win32/po/pl.po
dcplusplus/trunk/win32/po/pt.po
dcplusplus/trunk/win32/po/ro.po
dcplusplus/trunk/win32/po/sl.po
dcplusplus/trunk/win32/po/sq.po
Added Paths:
-----------
dcplusplus/trunk/dcpp/po/ar.po
dcplusplus/trunk/dcpp/po/bg.po
dcplusplus/trunk/dcpp/po/bs.po
dcplusplus/trunk/dcpp/po/ca.po
dcplusplus/trunk/dcpp/po/cs.po
dcplusplus/trunk/dcpp/po/da.po
dcplusplus/trunk/dcpp/po/el.po
dcplusplus/trunk/dcpp/po/en_GB.po
dcplusplus/trunk/dcpp/po/es.po
dcplusplus/trunk/dcpp/po/fi.po
dcplusplus/trunk/dcpp/po/gl.po
dcplusplus/trunk/dcpp/po/he.po
dcplusplus/trunk/dcpp/po/hr.po
dcplusplus/trunk/dcpp/po/is.po
dcplusplus/trunk/dcpp/po/ja.po
dcplusplus/trunk/dcpp/po/lt.po
dcplusplus/trunk/dcpp/po/lv.po
dcplusplus/trunk/dcpp/po/mk.po
dcplusplus/trunk/dcpp/po/ms.po
dcplusplus/trunk/dcpp/po/nb.po
dcplusplus/trunk/dcpp/po/nl.po
dcplusplus/trunk/dcpp/po/pt_BR.po
dcplusplus/trunk/dcpp/po/ru.po
dcplusplus/trunk/dcpp/po/tr.po
dcplusplus/trunk/dcpp/po/uk.po
dcplusplus/trunk/dcpp/po/zh.po
dcplusplus/trunk/dcpp/po/zh_TW.po
dcplusplus/trunk/win32/po/ar.po
dcplusplus/trunk/win32/po/bg.po
dcplusplus/trunk/win32/po/bs.po
dcplusplus/trunk/win32/po/ca.po
dcplusplus/trunk/win32/po/cs.po
dcplusplus/trunk/win32/po/da.po
dcplusplus/trunk/win32/po/de.po
dcplusplus/trunk/win32/po/el.po
dcplusplus/trunk/win32/po/en_GB.po
dcplusplus/trunk/win32/po/es.po
dcplusplus/trunk/win32/po/fi.po
dcplusplus/trunk/win32/po/gl.po
dcplusplus/trunk/win32/po/he.po
dcplusplus/trunk/win32/po/hr.po
dcplusplus/trunk/win32/po/hu.po
dcplusplus/trunk/win32/po/is.po
dcplusplus/trunk/win32/po/ja.po
dcplusplus/trunk/win32/po/lt.po
dcplusplus/trunk/win32/po/lv.po
dcplusplus/trunk/win32/po/mk.po
dcplusplus/trunk/win32/po/nb.po
dcplusplus/trunk/win32/po/nl.po
dcplusplus/trunk/win32/po/pt_BR.po
dcplusplus/trunk/win32/po/ru.po
dcplusplus/trunk/win32/po/sv.po
dcplusplus/trunk/win32/po/tr.po
dcplusplus/trunk/win32/po/uk.po
dcplusplus/trunk/win32/po/zh.po
dcplusplus/trunk/win32/po/zh_TW.po
Modified: dcplusplus/trunk/SConstruct
===================================================================
--- dcplusplus/trunk/SConstruct 2008-03-02 20:31:51 UTC (rev 1023)
+++ dcplusplus/trunk/SConstruct 2008-03-04 23:19:17 UTC (rev 1024)
@@ -17,7 +17,7 @@
)
gcc_flags = {
- 'common': ['-ggdb', '-Wall', '-Wextra', '-pipe', '-Wno-unused-parameter', '-Wno-missing-field-initializers', '-fexceptions', '-mthreads'],
+ 'common': ['-g', '-Wall', '-Wextra', '-pipe', '-Wno-unused-parameter', '-Wno-missing-field-initializers', '-fexceptions', '-mthreads'],
'debug': [],
'release' : ['-O2', '-mwindows']
}
Modified: dcplusplus/trunk/dcpp/BufferedSocket.cpp
===================================================================
--- dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-02 20:31:51 UTC (rev 1023)
+++ dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-04 23:19:17 UTC (rev 1024)
@@ -170,7 +170,6 @@
// This socket has been closed...
throw SocketException(("Connection closed"));
}
- size_t used;
string::size_type pos = 0;
// always uncompressed data
string l;
@@ -179,20 +178,19 @@
while (left > 0) {
switch (mode) {
case MODE_ZPIPE:
- if (filterIn != NULL){
- const int BufSize = 1024;
+ if(filterIn) {
+ const int BUF_SIZE = 1024;
// Special to autodetect nmdc connections...
string::size_type pos = 0;
- boost::scoped_array<uint8_t> buffer (new uint8_t[BufSize]);
- size_t in;
+ boost::scoped_array<char> buffer(new char[BUF_SIZE]);
l = line;
// decompress all input data and store in l.
while (left) {
- in = BufSize;
- used = left;
- bool ret = (*filterIn) ((void *)(&inbuf[0] + total - left), used, &buffer[0], in);
+ size_t in = BUF_SIZE;
+ size_t used = left;
+ bool ret = (*filterIn) (&inbuf[0] + total - left, used, &buffer[0], in);
left -= used;
- l.append ((const char *)&buffer[0], in);
+ l.append (&buffer[0], in);
// if the stream ends before the data runs out, keep remainder of data in inbuf
if (!ret) {
bufpos = total-left;
@@ -203,7 +201,7 @@
// process all lines
while ((pos = l.find(separator)) != string::npos) {
fire(BufferedSocketListener::Line(), l.substr(0, pos));
- l.erase (0, pos + 1 /* seperator char */);
+ l.erase (0, pos + 1 /* separator char */);
}
// store remainder
line = l;
Modified: dcplusplus/trunk/dcpp/CryptoManager.cpp
===================================================================
--- dcplusplus/trunk/dcpp/CryptoManager.cpp 2008-03-02 20:31:51 UTC (rev 1023)
+++ dcplusplus/trunk/dcpp/CryptoManager.cpp 2008-03-04 23:19:17 UTC (rev 1024)
@@ -155,8 +155,6 @@
int days = 10;
int keylength = 2048;
- const char* err = NULL;
-
#define CHECK(n) if(!(n)) { throw CryptoException(#n); }
// Generate key pair
@@ -350,7 +348,7 @@
bs.avail_in = sz;
bs.avail_out = bufsize;
- bs.next_in = (char*)(const_cast<uint8_t*>(is));
+ bs.next_in = reinterpret_cast<char*>(const_cast<uint8_t*>(is));
bs.next_out = &buf[0];
int err;
Modified: dcplusplus/trunk/dcpp/Pointer.h
===================================================================
--- dcplusplus/trunk/dcpp/Pointer.h 2008-03-02 20:31:51 UTC (rev 1023)
+++ dcplusplus/trunk/dcpp/Pointer.h 2008-03-04 23:19:17 UTC (rev 1024)
@@ -35,8 +35,7 @@
void dec() throw() {
dcassert(ref>0);
- if ( (Thread::safeDec(ref)) == 0 ) {
- //dcdebug("Smart Object at 0x%08x deleted\n", this);
+ if ( Thread::safeDec(ref) == 0 ) {
delete this;
}
}
Added: dcplusplus/trunk/dcpp/po/ar.po
===================================================================
--- dcplusplus/trunk/dcpp/po/ar.po (rev 0)
+++ dcplusplus/trunk/dcpp/po/ar.po 2008-03-04 23:19:17 UTC (rev 1024)
@@ -0,0 +1,419 @@
+# Arabic translations for the DC++ package.
+# Copyright (C) 2008 The translators
+# This file is distributed under the same license as the DC++ package.
+# <jma...@us...>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: dcpp\n"
+"Report-Msgid-Bugs-To: dcp...@li...\n"
+"POT-Creation-Date: 2008-03-04 23:00+0100\n"
+"Last-Translator: <jma...@us...>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: plurals=2; plural=(n != 1);\n"
+
+#: dcpp/Util.cpp:381
+#, c-format, boost-format
+msgid "%'lld B"
+msgstr ""
+
+#: dcpp/Util.cpp:343
+#, c-format, boost-format
+msgid "%.02f GiB"
+msgstr ""
+
+#: dcpp/Util.cpp:339
+#, c-format, boost-format
+msgid "%.02f KiB"
+msgstr ""
+
+#: dcpp/Util.cpp:341
+#, c-format, boost-format
+msgid "%.02f MiB"
+msgstr ""
+
+#: dcpp/Util.cpp:347
+#, c-format, boost-format
+msgid "%.02f PiB"
+msgstr ""
+
+#: dcpp/Util.cpp:345
+#, c-format, boost-format
+msgid "%.02f TiB"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:139
+#, boost-format
+msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring"
+msgstr ""
+
+#: dcpp/NmdcHub.cpp:281
+#, boost-format
+msgid "%1% (Nick unknown)"
+msgstr ""
+
+#: dcpp/HashManager.cpp:767
+#, boost-format
+msgid ""
+"%1% not shared; calculated CRC32 does not match the one found in SFV file."
+msgstr ""
+
+#: dcpp/QueueManager.cpp:325
+#, boost-format
+msgid "%1% renamed to %2%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:281
+#, boost-format
+msgid "%1% was kicked by %2%: %3%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:284
+#, boost-format
+msgid "%1% was kicked: %2%"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:530
+#, fuzzy, boost-format
+msgid "%1%: File not available"
+msgstr "الملف غير موجود"
+
+#: dcpp/Util.cpp:337
+#, c-format, boost-format
+msgid "%d B"
+msgstr ""
+
+#: dcpp/Util.cpp:377
+#, c-format, boost-format
+msgid "%s B"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:532
+msgid "A file of equal or larger size already exists at the target location"
+msgstr "الملف بنفس الحجم أو أكبر موجود حاليا في المكان المقصود"
+
+#: dcpp/QueueManager.cpp:475
+msgid "A file with a different size already exists in the queue"
+msgstr "الملف ذو الحجم المختلف موجود حاليا في الطابور"
+
+#: dcpp/QueueManager.cpp:478
+msgid "A file with different tth root already exists in the queue"
+msgstr "الملف ذو \"تي تي إتش\" مختلف موجود حاليا في الطابور"
+
+#: dcpp/QueueManager.cpp:442
+msgid "A file with the same hash already exists in your share"
+msgstr "ملف بنفس الهاتش موجود حاليا"
+
+#: dcpp/ConnectionManager.cpp:176
+msgid "All download slots taken"
+msgstr "كل وصلات التحميل مأخوذة"
+
+#: dcpp/DownloadManager.cpp:376
+msgid "CRC32 inconsistency (SFV-Check)"
+msgstr "CRC32 تضارب (SFV-فحص)"
+
+#: dcpp/DownloadManager.cpp:374
+#, fuzzy, boost-format
+msgid "CRC32 inconsistency (SFV-Check) (File: %1%)"
+msgstr "CRC32 تضارب (SFV-فحص)"
+
+#: dcpp/ConnectionManager.cpp:376
+msgid "Certificate not trusted, unable to connect"
+msgstr ""
+
+#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
+#: dcpp/BufferedSocket.cpp:154
+msgid "Connection timeout"
+msgstr "لا يمكن التوصيل"
+
+#: dcpp/DownloadManager.cpp:232
+#, boost-format
+msgid "Could not open target file: %1%"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:418
+msgid "Directory already shared"
+msgstr "المجلد مستخدم حاليا "
+
+#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+msgid "Disconnected"
+msgstr "انفصل"
+
+#: dcpp/UploadManager.cpp:450
+#, boost-format
+msgid "Disconnected user leaving the hub: %1%"
+msgstr ""
+
+#: dcpp/DCPlusPlus.cpp:103
+msgid "Download Queue"
+msgstr "طابور التحميل"
+
+#: dcpp/ShareManager.cpp:741
+#, boost-format
+msgid ""
+"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched "
+"against: %4%%5%"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549
+#, boost-format
+msgid "Duplicate source: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:456
+#, boost-format
+msgid "Error creating hash data file: %1%"
+msgstr ""
+
+#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86
+#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60
+msgid "Error during compression"
+msgstr "خطا خلال عملية الفك"
+
+#: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72
+#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342
+#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375
+msgid "Error during decompression"
+msgstr "خطأ خلال عملية الفك"
+
+#: dcpp/HashManager.cpp:772
+#, boost-format
+msgid "Error hashing %1%: %2%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333
+#, boost-format
+msgid "Error saving hash data: %1%"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230
+#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239
+msgid "Failed to load certificate file"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248
+#: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257
+msgid "Failed to load private key"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:206
+msgid "Failed to negotiate base protocol"
+msgstr ""
+
+#: dcpp/Socket.cpp:408
+msgid ""
+"Failed to set up the socks server for UDP relay (check socks address and "
+"port)"
+msgstr "(افحص عنوان السوكس و البورت) UDP فشل في عمل سوكس سيرفر لحدوث تبادل في "
+
+#: dcpp/ShareManager.cpp:776
+#, fuzzy, boost-format
+msgid "File list refresh failed: %1%"
+msgstr "تجديد قائمة الملفات انتهت"
+
+#: dcpp/ShareManager.cpp:820
+msgid "File list refresh finished"
+msgstr "تجديد قائمة الملفات انتهت"
+
+#: dcpp/ShareManager.cpp:756
+msgid ""
+"File list refresh in progress, please wait for it to finish before trying to "
+"refresh again"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:798
+msgid "File list refresh initiated"
+msgstr "تجديد قائمة الملفات بدأت"
+
+#: dcpp/DirectoryListing.cpp:102
+msgid "File not available"
+msgstr "الملف غير موجود"
+
+#: dcpp/HashManager.cpp:89
+#, boost-format
+msgid "Finished hashing: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:87
+#, boost-format
+msgid "Finished hashing: %1% (%2%/s)"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:308
+msgid "Full tree does not match TTH root"
+msgstr "السلسلة المحملة لا تتوافق مع \"تي تي إتش\" الرئيسي"
+
+#: dcpp/CryptoManager.cpp:219
+msgid "Generated new TLS certificate"
+msgstr ""
+
+#: dcpp/DCPlusPlus.cpp:97
+msgid "Hash database"
+msgstr "تحديث قاعدة البيانات"
+
+#: dcpp/HashManager.cpp:677
+msgid "Hash database rebuilt"
+msgstr "تحديث قائمة البيانات انتهت"
+
+#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277
+#, boost-format
+msgid "Hashing failed: %1%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:212
+msgid ""
+"Hub probably uses an old version of ADC, please encourage the owner to "
+"upgrade"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:220
+msgid "Invalid size"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523
+msgid ""
+"Invalid target file (missing directory, check default download directory "
+"setting)"
+msgstr "الملف المراد خاطيء - مجلد مفقود ، تفقد خواص المجلد للتحميل"
+
+#: dcpp/FavoriteManager.cpp:438
+msgid "Kick user(s)"
+msgstr "فصل المستخدم "
+
+#: dcpp/ConnectionManager.cpp:230
+#, boost-format
+msgid "Listening socket failed (you need to restart %1%): %2%"
+msgstr ""
+
+#: dcpp/BufferedSocket.cpp:261
+msgid "Maximum command length exceeded"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:280
+msgid "More data was sent than was expected"
+msgstr "معلومات أكثر قد أرسلت ، على غير المتوقع"
+
+#: dcpp/ShareManager.cpp:403
+msgid "No directory specified"
+msgstr "لم يتم تحديد مجلد معين"
+
+#: dcpp/DownloadManager.cpp:419
+msgid "No slots available"
+msgstr "لا توجد وصلة خالية"
+
+#: dcpp/AdcHub.cpp:576
+#, boost-format
+msgid "Not listening for connections - please restart %1%"
+msgstr ""
+
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
+#: dcpp/SearchManager.cpp:331
+msgid "Offline"
+msgstr "غير متصل"
+
+#: dcpp/FavoriteManager.cpp:442
+msgid "Redirect user(s)"
+msgstr "تحويل المستخدمين"
+
+#: dcpp/ShareManager.cpp:421
+msgid "Remove all subdirectories before adding this one"
+msgstr "حذف كل المجلدات الثانوية قبل إضافة هذا"
+
+#: dcpp/DownloadManager.cpp:225
+#, fuzzy
+msgid "Response does not match request"
+msgstr "السلسلة المحملة لا تتوافق مع \"تي تي إتش\" الرئيسي"
+
+#: dcpp/DCPlusPlus.cpp:100
+msgid "Shared Files"
+msgstr "الملفات المساهم فيها"
+
+#: dcpp/Socket.cpp:269 dcpp/Socket.cpp:273
+msgid "Socks server authentication failed (bad login / password?)"
+msgstr "(نظام التعريف بالهوية للسوكس فشلت (أسم غير صحيح / كلمة السر"
+
+#: dcpp/CryptoManager.cpp:221
+#, boost-format
+msgid "TLS disabled, failed to generate certificate: %1%"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:211
+msgid "TLS disabled, no certificate file set"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519
+msgid "Target filename too long"
+msgstr "الملف المقصود كبير جدا"
+
+#: dcpp/QueueManager.cpp:798
+msgid "Target removed"
+msgstr ""
+
+#: dcpp/Socket.cpp:255
+msgid "The socks server doesn't support login / password authentication"
+msgstr "هذا السوكس لا يدعم التعريف بالهوية لأسم / و كلمة السر"
+
+#: dcpp/Socket.cpp:162 dcpp/Socket.cpp:173 dcpp/Socket.cpp:206
+#: dcpp/Socket.cpp:210 dcpp/Socket.cpp:237 dcpp/Socket.cpp:252
+msgid "The socks server failed establish a connection"
+msgstr "لقد فشل السوكس في عمل الإتصال"
+
+#: dcpp/Socket.cpp:241
+msgid "The socks server requires authentication"
+msgstr "هذا السوكس يحتاج إلى العريف بالهوية"
+
+#: dcpp/ShareManager.cpp:407
+msgid "The temporary download directory cannot be shared"
+msgstr "المجلد الموقت للتحميل لا يمكن استخدامه"
+
+#: dcpp/QueueManager.cpp:465
+msgid "This file is already queued"
+msgstr ""
+
+#: dcpp/Thread.cpp:34 dcpp/Thread.cpp:42
+msgid "Unable to create thread"
+msgstr "عدم القدرة على خلق الوصلة"
+
+#: dcpp/QueueManager.cpp:995
+#, boost-format
+msgid "Unable to open filelist: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:131
+#, fuzzy
+msgid "Unable to read hash data file"
+msgstr "عدم القدرة على خلق الوصلة"
+
+#: dcpp/QueueManager.cpp:327
+#, fuzzy, boost-format
+msgid "Unable to rename %1%: %2%"
+msgstr "عدم القدرة على خلق الوصلة"
+
+#: dcpp/UploadManager.cpp:149
+#, boost-format
+msgid "Unable to send file %1%: %2%"
+msgstr ""
+
+#: dcpp/Socket.cpp:54
+#, c-format, boost-format
+msgid "Unknown error: 0x%1$x"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468
+msgid "Virtual directory name already exists"
+msgstr "اسم مجلد وهمي موجود حاليا"
+
+#: dcpp/QueueManager.cpp:412 dcpp/QueueManager.cpp:436
+msgid "You're trying to download from yourself!"
+msgstr "!أنت تحاول التحميل من عند نفسك"
+
+#: dcpp/SettingsManager.cpp:156
+msgid "downloaded from"
+msgstr ""
+
+#: dcpp/SettingsManager.cpp:157
+msgid "uploaded to"
+msgstr ""
Added: dcplusplus/trunk/dcpp/po/bg.po
===================================================================
--- dcplusplus/trunk/dcpp/po/bg.po (rev 0)
+++ dcplusplus/trunk/dcpp/po/bg.po 2008-03-04 23:19:17 UTC (rev 1024)
@@ -0,0 +1,425 @@
+# Bulgarian translations for the DC++ package.
+# Copyright (C) 2008 The translators
+# This file is distributed under the same license as the DC++ package.
+# <gre...@us...>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: dcpp\n"
+"Report-Msgid-Bugs-To: dcp...@li...\n"
+"POT-Creation-Date: 2008-03-04 23:00+0100\n"
+"Last-Translator: <gre...@us...>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: plurals=2; plural=(n != 1);\n"
+
+#: dcpp/Util.cpp:381
+#, c-format, boost-format
+msgid "%'lld B"
+msgstr ""
+
+#: dcpp/Util.cpp:343
+#, c-format, boost-format
+msgid "%.02f GiB"
+msgstr ""
+
+#: dcpp/Util.cpp:339
+#, c-format, boost-format
+msgid "%.02f KiB"
+msgstr ""
+
+#: dcpp/Util.cpp:341
+#, c-format, boost-format
+msgid "%.02f MiB"
+msgstr ""
+
+#: dcpp/Util.cpp:347
+#, c-format, boost-format
+msgid "%.02f PiB"
+msgstr ""
+
+#: dcpp/Util.cpp:345
+#, c-format, boost-format
+msgid "%.02f TiB"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:139
+#, boost-format
+msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring"
+msgstr ""
+
+#: dcpp/NmdcHub.cpp:281
+#, boost-format
+msgid "%1% (Nick unknown)"
+msgstr ""
+
+#: dcpp/HashManager.cpp:767
+#, boost-format
+msgid ""
+"%1% not shared; calculated CRC32 does not match the one found in SFV file."
+msgstr ""
+
+#: dcpp/QueueManager.cpp:325
+#, boost-format
+msgid "%1% renamed to %2%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:281
+#, boost-format
+msgid "%1% was kicked by %2%: %3%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:284
+#, boost-format
+msgid "%1% was kicked: %2%"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:530
+#, fuzzy, boost-format
+msgid "%1%: File not available"
+msgstr "Файлът не е достъпен."
+
+#: dcpp/Util.cpp:337
+#, c-format, boost-format
+msgid "%d B"
+msgstr ""
+
+#: dcpp/Util.cpp:377
+#, c-format, boost-format
+msgid "%s B"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:532
+msgid "A file of equal or larger size already exists at the target location"
+msgstr ""
+"Файл със същата или по-голяма големина вече съществува в мястото - цел!"
+
+#: dcpp/QueueManager.cpp:475
+msgid "A file with a different size already exists in the queue"
+msgstr "Файл с различна големина вече съществува в опашката."
+
+#: dcpp/QueueManager.cpp:478
+msgid "A file with different tth root already exists in the queue"
+msgstr "Файл с различен TTH root вече съществува в опашката."
+
+#: dcpp/QueueManager.cpp:442
+msgid "A file with the same hash already exists in your share"
+msgstr "Файл със същия хеш вече съществува в споделеното от вас."
+
+#: dcpp/ConnectionManager.cpp:176
+msgid "All download slots taken"
+msgstr "Всички даунлоад-места са заети!"
+
+#: dcpp/DownloadManager.cpp:376
+msgid "CRC32 inconsistency (SFV-Check)"
+msgstr "CRC32 грешка (SFV-Проверка)"
+
+#: dcpp/DownloadManager.cpp:374
+#, fuzzy, boost-format
+msgid "CRC32 inconsistency (SFV-Check) (File: %1%)"
+msgstr "CRC32 грешка (SFV-Проверка)"
+
+#: dcpp/ConnectionManager.cpp:376
+msgid "Certificate not trusted, unable to connect"
+msgstr ""
+
+#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
+#: dcpp/BufferedSocket.cpp:154
+msgid "Connection timeout"
+msgstr "Времето за свързване изтече!"
+
+#: dcpp/DownloadManager.cpp:232
+#, boost-format
+msgid "Could not open target file: %1%"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:418
+msgid "Directory already shared"
+msgstr "Папката вече е споделена!"
+
+#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+msgid "Disconnected"
+msgstr "Изключен/Прекъснат"
+
+#: dcpp/UploadManager.cpp:450
+#, boost-format
+msgid "Disconnected user leaving the hub: %1%"
+msgstr ""
+
+#: dcpp/DCPlusPlus.cpp:103
+msgid "Download Queue"
+msgstr "Опашка за сваляните файлове"
+
+#: dcpp/ShareManager.cpp:741
+#, boost-format
+msgid ""
+"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched "
+"against: %4%%5%"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549
+#, boost-format
+msgid "Duplicate source: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:456
+#, fuzzy, boost-format
+msgid "Error creating hash data file: %1%"
+msgstr "Грешка при разчитането на файла с хешовете!"
+
+#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86
+#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60
+msgid "Error during compression"
+msgstr "Грешка при компресирането."
+
+#: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72
+#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342
+#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375
+msgid "Error during decompression"
+msgstr "Грешка при декомпресия"
+
+#: dcpp/HashManager.cpp:772
+#, boost-format
+msgid "Error hashing %1%: %2%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333
+#, boost-format
+msgid "Error saving hash data: %1%"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230
+#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239
+msgid "Failed to load certificate file"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248
+#: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257
+msgid "Failed to load private key"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:206
+msgid "Failed to negotiate base protocol"
+msgstr ""
+
+#: dcpp/Socket.cpp:408
+msgid ""
+"Failed to set up the socks server for UDP relay (check socks address and "
+"port)"
+msgstr ""
+"Грешка при настройването на Socks сървъра за UDP relay (Провери адреса и "
+"порта на сървъра!)"
+
+#: dcpp/ShareManager.cpp:776
+#, fuzzy, boost-format
+msgid "File list refresh failed: %1%"
+msgstr "Опресняването на листата с файлове завърши."
+
+#: dcpp/ShareManager.cpp:820
+msgid "File list refresh finished"
+msgstr "Опресняването на листата с файлове завърши."
+
+#: dcpp/ShareManager.cpp:756
+msgid ""
+"File list refresh in progress, please wait for it to finish before trying to "
+"refresh again"
+msgstr ""
+"В момента тече опресняване на листата с файловете, моля изчакайте преди да "
+"изискате ново опресняване."
+
+#: dcpp/ShareManager.cpp:798
+msgid "File list refresh initiated"
+msgstr "Започва опресняване на листата с файлове."
+
+#: dcpp/DirectoryListing.cpp:102
+msgid "File not available"
+msgstr "Файлът не е достъпен."
+
+#: dcpp/HashManager.cpp:89
+#, boost-format
+msgid "Finished hashing: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:87
+#, boost-format
+msgid "Finished hashing: %1% (%2%/s)"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:308
+msgid "Full tree does not match TTH root"
+msgstr "Файловото дърво не съвпада с този TTH псевдоним"
+
+#: dcpp/CryptoManager.cpp:219
+msgid "Generated new TLS certificate"
+msgstr ""
+
+#: dcpp/DCPlusPlus.cpp:97
+msgid "Hash database"
+msgstr "База-Данни от хешове"
+
+#: dcpp/HashManager.cpp:677
+msgid "Hash database rebuilt"
+msgstr "Базата-Данни с хешовете построена наново."
+
+#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277
+#, boost-format
+msgid "Hashing failed: %1%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:212
+msgid ""
+"Hub probably uses an old version of ADC, please encourage the owner to "
+"upgrade"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:220
+msgid "Invalid size"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523
+msgid ""
+"Invalid target file (missing directory, check default download directory "
+"setting)"
+msgstr ""
+"Невалиден файл-цел (липсваща папка, провери папката за сваляния по "
+"подразбиране)"
+
+#: dcpp/FavoriteManager.cpp:438
+msgid "Kick user(s)"
+msgstr "Изхвърли потребител(и)"
+
+#: dcpp/ConnectionManager.cpp:230
+#, boost-format
+msgid "Listening socket failed (you need to restart %1%): %2%"
+msgstr ""
+
+#: dcpp/BufferedSocket.cpp:261
+msgid "Maximum command length exceeded"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:280
+msgid "More data was sent than was expected"
+msgstr "Повечето данни бяха изпратени, отколкото се очакваше"
+
+#: dcpp/ShareManager.cpp:403
+msgid "No directory specified"
+msgstr "Не е определена папка"
+
+#: dcpp/DownloadManager.cpp:419
+msgid "No slots available"
+msgstr "Няма слотове на разположение"
+
+#: dcpp/AdcHub.cpp:576
+#, boost-format
+msgid "Not listening for connections - please restart %1%"
+msgstr ""
+
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
+#: dcpp/SearchManager.cpp:331
+msgid "Offline"
+msgstr "Офлайн"
+
+#: dcpp/FavoriteManager.cpp:442
+msgid "Redirect user(s)"
+msgstr "Пренасочи потребител(и)"
+
+#: dcpp/ShareManager.cpp:421
+msgid "Remove all subdirectories before adding this one"
+msgstr "Премахни всички подпапки преди да добавиш тази"
+
+#: dcpp/DownloadManager.cpp:225
+#, fuzzy
+msgid "Response does not match request"
+msgstr "Файловото дърво не съвпада с този TTH псевдоним"
+
+#: dcpp/DCPlusPlus.cpp:100
+msgid "Shared Files"
+msgstr "Споделени файлове"
+
+#: dcpp/Socket.cpp:269 dcpp/Socket.cpp:273
+msgid "Socks server authentication failed (bad login / password?)"
+msgstr "Грешка при свързването със Socks сървъра. (грешни име/парола?)"
+
+#: dcpp/CryptoManager.cpp:221
+#, boost-format
+msgid "TLS disabled, failed to generate certificate: %1%"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:211
+msgid "TLS disabled, no certificate file set"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519
+msgid "Target filename too long"
+msgstr "Прекалено дълго име на файла-цел"
+
+#: dcpp/QueueManager.cpp:798
+msgid "Target removed"
+msgstr ""
+
+#: dcpp/Socket.cpp:255
+msgid "The socks server doesn't support login / password authentication"
+msgstr "Socks сървъра не поддържа автентикация с име и парола."
+
+#: dcpp/Socket.cpp:162 dcpp/Socket.cpp:173 dcpp/Socket.cpp:206
+#: dcpp/Socket.cpp:210 dcpp/Socket.cpp:237 dcpp/Socket.cpp:252
+msgid "The socks server failed establish a connection"
+msgstr "Socks сървъра не можа да установи връзка."
+
+#: dcpp/Socket.cpp:241
+msgid "The socks server requires authentication"
+msgstr "Socks сървъра изисква автентикация (име и парола)."
+
+#: dcpp/ShareManager.cpp:407
+msgid "The temporary download directory cannot be shared"
+msgstr "Временната директория не може да бъде споделяна!"
+
+#: dcpp/QueueManager.cpp:465
+msgid "This file is already queued"
+msgstr ""
+
+#: dcpp/Thread.cpp:34 dcpp/Thread.cpp:42
+msgid "Unable to create thread"
+msgstr "Грешка при thread-създаването"
+
+#: dcpp/QueueManager.cpp:995
+#, boost-format
+msgid "Unable to open filelist: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:131
+msgid "Unable to read hash data file"
+msgstr "Грешка при разчитането на файла с хешовете!"
+
+#: dcpp/QueueManager.cpp:327
+#, fuzzy, boost-format
+msgid "Unable to rename %1%: %2%"
+msgstr "Грешка при thread-създаването"
+
+#: dcpp/UploadManager.cpp:149
+#, boost-format
+msgid "Unable to send file %1%: %2%"
+msgstr ""
+
+#: dcpp/Socket.cpp:54
+#, c-format, boost-format
+msgid "Unknown error: 0x%1$x"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468
+msgid "Virtual directory name already exists"
+msgstr "Съществува такова име на вирт. папка"
+
+#: dcpp/QueueManager.cpp:412 dcpp/QueueManager.cpp:436
+msgid "You're trying to download from yourself!"
+msgstr "Пробваш се да сваляш от самия себе си файлове!"
+
+#: dcpp/SettingsManager.cpp:156
+msgid "downloaded from"
+msgstr ""
+
+#: dcpp/SettingsManager.cpp:157
+msgid "uploaded to"
+msgstr ""
Added: dcplusplus/trunk/dcpp/po/bs.po
===================================================================
--- dcplusplus/trunk/dcpp/po/bs.po (rev 0)
+++ dcplusplus/trunk/dcpp/po/bs.po 2008-03-04 23:19:17 UTC (rev 1024)
@@ -0,0 +1,423 @@
+# Bosnian translations for the DC++ package.
+# Copyright (C) 2008 The translators
+# This file is distributed under the same license as the DC++ package.
+# <mi...@us...>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: dcpp\n"
+"Report-Msgid-Bugs-To: dcp...@li...\n"
+"POT-Creation-Date: 2008-03-04 23:00+0100\n"
+"Last-Translator: <mi...@us...>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: plurals=2; plural=(n != 1);\n"
+
+#: dcpp/Util.cpp:381
+#, c-format, boost-format
+msgid "%'lld B"
+msgstr ""
+
+#: dcpp/Util.cpp:343
+#, c-format, boost-format
+msgid "%.02f GiB"
+msgstr ""
+
+#: dcpp/Util.cpp:339
+#, c-format, boost-format
+msgid "%.02f KiB"
+msgstr ""
+
+#: dcpp/Util.cpp:341
+#, c-format, boost-format
+msgid "%.02f MiB"
+msgstr ""
+
+#: dcpp/Util.cpp:347
+#, c-format, boost-format
+msgid "%.02f PiB"
+msgstr ""
+
+#: dcpp/Util.cpp:345
+#, c-format, boost-format
+msgid "%.02f TiB"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:139
+#, boost-format
+msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring"
+msgstr ""
+
+#: dcpp/NmdcHub.cpp:281
+#, boost-format
+msgid "%1% (Nick unknown)"
+msgstr ""
+
+#: dcpp/HashManager.cpp:767
+#, boost-format
+msgid ""
+"%1% not shared; calculated CRC32 does not match the one found in SFV file."
+msgstr ""
+
+#: dcpp/QueueManager.cpp:325
+#, boost-format
+msgid "%1% renamed to %2%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:281
+#, boost-format
+msgid "%1% was kicked by %2%: %3%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:284
+#, boost-format
+msgid "%1% was kicked: %2%"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:530
+#, fuzzy, boost-format
+msgid "%1%: File not available"
+msgstr "Fajl nije dostupan"
+
+#: dcpp/Util.cpp:337
+#, c-format, boost-format
+msgid "%d B"
+msgstr ""
+
+#: dcpp/Util.cpp:377
+#, c-format, boost-format
+msgid "%s B"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:532
+msgid "A file of equal or larger size already exists at the target location"
+msgstr "Isti ili veci fajl vec postoji na ciljanoj lokaciji"
+
+#: dcpp/QueueManager.cpp:475
+msgid "A file with a different size already exists in the queue"
+msgstr "Fajl sa drugacijom velicinom vec postoji u listi cekanja"
+
+#: dcpp/QueueManager.cpp:478
+msgid "A file with different tth root already exists in the queue"
+msgstr "Fajl sa drugacijom TTH kodom vec postoji u listi cekanja"
+
+#: dcpp/QueueManager.cpp:442
+msgid "A file with the same hash already exists in your share"
+msgstr "Vec postoji fajl kod tebe sa istim TTH kljucem"
+
+#: dcpp/ConnectionManager.cpp:176
+msgid "All download slots taken"
+msgstr "Svi Slotovi za Download su zauzeti"
+
+#: dcpp/DownloadManager.cpp:376
+msgid "CRC32 inconsistency (SFV-Check)"
+msgstr "CRC32 Neskladnost (SFV-Provjera)"
+
+#: dcpp/DownloadManager.cpp:374
+#, fuzzy, boost-format
+msgid "CRC32 inconsistency (SFV-Check) (File: %1%)"
+msgstr "CRC32 Neskladnost (SFV-Provjera)"
+
+#: dcpp/ConnectionManager.cpp:376
+msgid "Certificate not trusted, unable to connect"
+msgstr ""
+
+#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
+#: dcpp/BufferedSocket.cpp:154
+msgid "Connection timeout"
+msgstr "Vrijeme za vezu isteklo"
+
+#: dcpp/DownloadManager.cpp:232
+#, boost-format
+msgid "Could not open target file: %1%"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:418
+msgid "Directory already shared"
+msgstr "Sadrzaj se vec dijeli"
+
+#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+msgid "Disconnected"
+msgstr "Iskljucen"
+
+#: dcpp/UploadManager.cpp:450
+#, boost-format
+msgid "Disconnected user leaving the hub: %1%"
+msgstr ""
+
+#: dcpp/DCPlusPlus.cpp:103
+msgid "Download Queue"
+msgstr "Lista za Download"
+
+#: dcpp/ShareManager.cpp:741
+#, boost-format
+msgid ""
+"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched "
+"against: %4%%5%"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549
+#, boost-format
+msgid "Duplicate source: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:456
+#, boost-format
+msgid "Error creating hash data file: %1%"
+msgstr ""
+
+#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86
+#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60
+msgid "Error during compression"
+msgstr "Greska pri kompresiji"
+
+#: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72
+#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342
+#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375
+msgid "Error during decompression"
+msgstr "Greska pri Dekompresiji"
+
+#: dcpp/HashManager.cpp:772
+#, boost-format
+msgid "Error hashing %1%: %2%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333
+#, boost-format
+msgid "Error saving hash data: %1%"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230
+#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239
+msgid "Failed to load certificate file"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248
+#: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257
+msgid "Failed to load private key"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:206
+msgid "Failed to negotiate base protocol"
+msgstr ""
+
+#: dcpp/Socket.cpp:408
+msgid ""
+"Failed to set up the socks server for UDP relay (check socks address and "
+"port)"
+msgstr ""
+"Socks Server nemoze UDP Relay namjestiti (provjerite Adresu i Port Servera)"
+
+#: dcpp/ShareManager.cpp:776
+#, fuzzy, boost-format
+msgid "File list refresh failed: %1%"
+msgstr "Zavrseno obnavljanje fajlliste"
+
+#: dcpp/ShareManager.cpp:820
+msgid "File list refresh finished"
+msgstr "Zavrseno obnavljanje fajlliste"
+
+#: dcpp/ShareManager.cpp:756
+msgid ""
+"File list refresh in progress, please wait for it to finish before trying to "
+"refresh again"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:798
+msgid "File list refresh initiated"
+msgstr "Poceto obnavljanje fajlliste"
+
+#: dcpp/DirectoryListing.cpp:102
+msgid "File not available"
+msgstr "Fajl nije dostupan"
+
+#: dcpp/HashManager.cpp:89
+#, boost-format
+msgid "Finished hashing: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:87
+#, boost-format
+msgid "Finished hashing: %1% (%2%/s)"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:308
+msgid "Full tree does not match TTH root"
+msgstr "Ucitano se ne slaze s TTH kodom"
+
+#: dcpp/CryptoManager.cpp:219
+msgid "Generated new TLS certificate"
+msgstr ""
+
+#: dcpp/DCPlusPlus.cpp:97
+msgid "Hash database"
+msgstr "Indeks fajova"
+
+#: dcpp/HashManager.cpp:677
+msgid "Hash database rebuilt"
+msgstr "Obnovi indeks fajlova"
+
+#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277
+#, boost-format
+msgid "Hashing failed: %1%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:212
+msgid ""
+"Hub probably uses an old version of ADC, please encourage the owner to "
+"upgrade"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:220
+msgid "Invalid size"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523
+msgid ""
+"Invalid target file (missing directory, check default download directory "
+"setting)"
+msgstr ""
+"Nevazeci trazeni fajl (Datoteka Nedostaje, provjerite u podesavanju "
+"Standardnu Download datoteku)"
+
+#: dcpp/FavoriteManager.cpp:438
+msgid "Kick user(s)"
+msgstr "Izbaciti korisnika"
+
+#: dcpp/ConnectionManager.cpp:230
+#, boost-format
+msgid "Listening socket failed (you need to restart %1%): %2%"
+msgstr ""
+
+#: dcpp/BufferedSocket.cpp:261
+msgid "Maximum command length exceeded"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:280
+msgid "More data was sent than was expected"
+msgstr "Vise podataka je poslato nego sto se zahtijevalo"
+
+#: dcpp/ShareManager.cpp:403
+msgid "No directory specified"
+msgstr "Nije naveden direktorijum"
+
+#: dcpp/DownloadManager.cpp:419
+msgid "No slots available"
+msgstr "Nema slobodnih slotova"
+
+#: dcpp/AdcHub.cpp:576
+#, boost-format
+msgid "Not listening for connections - please restart %1%"
+msgstr ""
+
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
+#: dcpp/SearchManager.cpp:331
+msgid "Offline"
+msgstr "Iskljucen"
+
+#: dcpp/FavoriteManager.cpp:442
+msgid "Redirect user(s)"
+msgstr "Preusmeravanje korisnika"
+
+#: dcpp/ShareManager.cpp:421
+msgid "Remove all subdirectories before adding this one"
+msgstr "Skloniti sve poddirektorijume prije dodavanja ovog"
+
+#: dcpp/DownloadManager.cpp:225
+#, fuzzy
+msgid "Response does not match request"
+msgstr "Ucitano se ne slaze s TTH kodom"
+
+#: dcpp/DCPlusPlus.cpp:100
+msgid "Shared Files"
+msgstr "Dijeljeni fajlovi"
+
+#: dcpp/Socket.cpp:269 dcpp/Socket.cpp:273
+msgid "Socks server authentication failed (bad login / password?)"
+msgstr ""
+"Socks Server Autorizacija nije uspjela (lose korisnicko ime / lozinka?)"
+
+#: dcpp/CryptoManager.cpp:221
+#, boost-format
+msgid "TLS disabled, failed to generate certificate: %1%"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:211
+msgid "TLS disabled, no certificate file set"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519
+msgid "Target filename too long"
+msgstr "Trazeno ime je predugo"
+
+#: dcpp/QueueManager.cpp:798
+msgid "Target removed"
+msgstr ""
+
+#: dcpp/Socket.cpp:255
+msgid "The socks server doesn't support login / password authentication"
+msgstr "Socks Server Autorizacija nije podrzana / lozinka autenticna"
+
+#: dcpp/Socket.cpp:162 dcpp/Socket.cpp:173 dcpp/Socket.cpp:206
+#: dcpp/Socket.cpp:210 dcpp/Socket.cpp:237 dcpp/Socket.cpp:252
+msgid "The socks server failed establish a connection"
+msgstr "Socks Server nemoze uspostaviti vezu"
+
+#: dcpp/Socket.cpp:241
+msgid "The socks server requires authentication"
+msgstr "Socks Server potrazuje Autorizaciju"
+
+#: dcpp/ShareManager.cpp:407
+msgid "The temporary download directory cannot be shared"
+msgstr "Temporary Download Direktorij se nemoze otvoriti"
+
+#: dcpp/QueueManager.cpp:465
+msgid "This file is already queued"
+msgstr ""
+
+#: dcpp/Thread.cpp:34 dcpp/Thread.cpp:42
+msgid "Unable to create thread"
+msgstr "Nemoguce napraviti thread"
+
+#: dcpp/QueueManager.cpp:995
+#, boost-format
+msgid "Unable to open filelist: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:131
+#, fuzzy
+msgid "Unable to read hash data file"
+msgstr "Nemoguce napraviti thread"
+
+#: dcpp/QueueManager.cpp:327
+#, fuzzy, boost-format
+msgid "Unable to rename %1%: %2%"
+msgstr "Nemoguce napraviti thread"
+
+#: dcpp/UploadManager.cpp:149
+#, boost-format
+msgid "Unable to send file %1%: %2%"
+msgstr ""
+
+#: dcpp/Socket.cpp:54
+#, c-format, boost-format
+msgid "Unknown error: 0x%1$x"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468
+msgid "Virtual directory name already exists"
+msgstr "Virtualna mapa s tim imenom vec postoji"
+
+#: dcpp/QueueManager.cpp:412 dcpp/QueueManager.cpp:436
+msgid "You're trying to download from yourself!"
+msgstr "Pokusavas da skines od sebe!"
+
+#: dcpp/SettingsManager.cpp:156
+msgid "downloaded from"
+msgstr ""
+
+#: dcpp/SettingsManager.cpp:157
+msgid "uploaded to"
+msgstr ""
Added: dcplusplus/trunk/dcpp/po/ca.po
===================================================================
--- dcplusplus/trunk/dcpp/po/ca.po (rev 0)
+++ dcplusplus/trunk/dcpp/po/ca.po 2008-03-04 23:19:17 UTC (rev 1024)
@@ -0,0 +1,425 @@
+# Catalan translations for the DC++ package.
+# Copyright (C) 2008 The translators
+# This file is distributed under the same license as the DC++ package.
+# <su...@us...>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: dcpp\n"
+"Report-Msgid-Bugs-To: dcp...@li...\n"
+"POT-Creation-Date: 2008-03-04 23:00+0100\n"
+"Last-Translator: <su...@us...>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: plurals=2; plural=(n != 1);\n"
+
+#: dcpp/Util.cpp:381
+#, c-format, boost-format
+msgid "%'lld B"
+msgstr ""
+
+#: dcpp/Util.cpp:343
+#, c-format, boost-format
+msgid "%.02f GiB"
+msgstr ""
+
+#: dcpp/Util.cpp:339
+#, c-format, boost-format
+msgid "%.02f KiB"
+msgstr ""
+
+#: dcpp/Util.cpp:341
+#, c-format, boost-format
+msgid "%.02f MiB"
+msgstr ""
+
+#: dcpp/Util.cpp:347
+#, c-format, boost-format
+msgid "%.02f PiB"
+msgstr ""
+
+#: dcpp/Util.cpp:345
+#, c-format, boost-format
+msgid "%.02f TiB"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:139
+#, boost-format
+msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring"
+msgstr ""
+
+#: dcpp/NmdcHub.cpp:281
+#, boost-format
+msgid "%1% (Nick unknown)"
+msgstr ""
+
+#: dcpp/HashManager.cpp:767
+#, boost-format
+msgid ""
+"%1% not shared; calculated CRC32 does not match the one found in SFV file."
+msgstr ""
+
+#: dcpp/QueueManager.cpp:325
+#, boost-format
+msgid "%1% renamed to %2%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:281
+#, boost-format
+msgid "%1% was kicked by %2%: %3%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:284
+#, boost-format
+msgid "%1% was kicked: %2%"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:530
+#, fuzzy, boost-format
+msgid "%1%: File not available"
+msgstr "Fitxer no disponible"
+
+#: dcpp/Util.cpp:337
+#, c-format, boost-format
+msgid "%d B"
+msgstr ""
+
+#: dcpp/Util.cpp:377
+#, c-format, boost-format
+msgid "%s B"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:532
+msgid "A file of equal or larger size already exists at the target location"
+msgstr "Un fitxer igual o més gran ja existeix al destí"
+
+#: dcpp/QueueManager.cpp:475
+msgid "A file with a different size already exists in the queue"
+msgstr "Un fitxer amb una mida diferent, ja existeix en la llista de tasques"
+
+#: dcpp/QueueManager.cpp:478
+msgid "A file with different tth root already exists in the queue"
+msgstr "Un fitxer amb un tth diferente ja existeix a la cua"
+
+#: dcpp/QueueManager.cpp:442
+msgid "A file with the same hash already exists in your share"
+msgstr ""
+"Un fitxer amb el mateix hash ja existeix entre els teus fitxers compartits"
+
+#: dcpp/ConnectionManager.cpp:176
+msgid "All download slots taken"
+msgstr "No hi han slots de descàrrega lliures"
+
+#: dcpp/DownloadManager.cpp:376
+msgid "CRC32 inconsistency (SFV-Check)"
+msgstr "Inconsistencia CRC32 (Comprov-SFV)"
+
+#: dcpp/DownloadManager.cpp:374
+#, fuzzy, boost-format
+msgid "CRC32 inconsistency (SFV-Check) (File: %1%)"
+msgstr "Inconsistencia CRC32 (Comprov-SFV)"
+
+#: dcpp/ConnectionManager.cpp:376
+msgid "Certificate not trusted, unable to connect"
+msgstr ""
+
+#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
+#: dcpp/BufferedSocket.cpp:154
+msgid "Connection timeout"
+msgstr "S'ha esgotat el temps per la conexió"
+
+#: dcpp/DownloadManager.cpp:232
+#, boost-format
+msgid "Could not open target file: %1%"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:418
+msgid "Directory already shared"
+msgstr "Aquest directori ja està compartit"
+
+#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+msgid "Disconnected"
+msgstr "Desconectat"
+
+#: dcpp/UploadManager.cpp:450
+#, boost-format
+msgid "Disconnected user leaving the hub: %1%"
+msgstr ""
+
+#: dcpp/DCPlusPlus.cpp:103
+msgid "Download Queue"
+msgstr "Cua de descàrrega"
+
+#: dcpp/ShareManager.cpp:741
+#, boost-format
+msgid ""
+"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched "
+"against: %4%%5%"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549
+#, boost-format
+msgid "Duplicate source: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:456
+#, boost-format
+msgid "Error creating hash data file: %1%"
+msgstr ""
+
+#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86
+#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60
+msgid "Error during compression"
+msgstr "Error durant la compressió"
+
+#: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72
+#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342
+#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375
+msgid "Error during decompression"
+msgstr "Error durant la descompressió"
+
+#: dcpp/HashManager.cpp:772
+#, boost-format
+msgid "Error hashing %1%: %2%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333
+#, boost-format
+msgid "Error saving hash data: %1%"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230
+#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239
+msgid "Failed to load certificate file"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248
+#: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257
+msgid "Failed to load private key"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:206
+msgid "Failed to negotiate base protocol"
+msgstr ""
+
+#: dcpp/Socket.cpp:408
+msgid ""
+"Failed to set up the socks server for UDP relay (check socks address and "
+"port)"
+msgstr ""
+"Error al configurar el servidor socks per relay UDP (verifica adreça socks i "
+"port)"
+
+#: dcpp/ShareManager.cpp:776
+#, fuzzy, boost-format
+msgid "File list refresh failed: %1%"
+msgstr "S'ha acabt la actualització de la llista de fitxers"
+
+#: dcpp/ShareManager.cpp:820
+msgid "File list refresh finished"
+msgstr "S'ha acabt la actualització de la llista de fitxers"
+
+#: dcpp/ShareManager.cpp:756
+msgid ""
+"File list refresh in progress, please wait for it to finish before trying to "
+"refresh again"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:798
+msgid "File list refresh initiated"
+msgstr "S'ha iniciat la actualizació de la llista de fitxers"
+
+#: dcpp/DirectoryListing.cpp:102
+msgid "File not available"
+msgstr "Fitxer no disponible"
+
+#: dcpp/HashManager.cpp:89
+#, boost-format
+msgid "Finished hashing: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:87
+#, boost-format
+msgid "Finished hashing: %1% (%2%/s)"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:308
+msgid "Full tree does not match TTH root"
+msgstr "L'arbre descarregat no coincideix amb l'arrel TTH"
+
+#: dcpp/CryptoManager.cpp:219
+msgid "Generated new TLS certificate"
+msgstr ""
+
+#: dcpp/DCPlusPlus.cpp:97
+msgid "Hash database"
+msgstr "Hashejar bas de dades"
+
+#: dcpp/HashManager.cpp:677
+msgid "Hash database rebuilt"
+msgstr "Reconstruir el Hash de la base de dades"
+
+#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277
+#, boost-format
+msgid "Hashing failed: %1%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:212
+msgid ""
+"Hub probably uses an old version of ADC, please encourage the owner to "
+"upgrade"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:220
+msgid "Invalid size"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523
+msgid ""
+"Invalid target file (missing directory, check default download directory "
+"setting)"
+msgstr ""
+"Archiu de destí invàlid (directori ausent, comprova el directori de "
+"descarregues per defecte)"
+
+#: dcpp/FavoriteManager.cpp:438
+msgid "Kick user(s)"
+msgstr "Fer fora usuari(s)"
+
+#: dcpp/ConnectionManager.cpp:230
+#, boost-format
+msgid "Listening socket failed (you need to restart %1%): %2%"
+msgstr ""
+
+#: dcpp/BufferedSocket.cpp:261
+msgid "Maximum command length exceeded"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:280
+msgid "More data was sent than was expected"
+msgstr "S'ha enviado més dades que les esperades"
+
+#: dcpp/ShareManager.cpp:403
+msgid "No directory specified"
+msgstr "Directori no especificat"
+
+#: dcpp/DownloadManager.cpp:419
+msgid "No slots available"
+msgstr "No queden slots disponibles"
+
+#: dcpp/AdcHub.cpp:576
+#, boost-format
+msgid "Not listening for connections - please restart %1%"
+msgstr ""
+
+#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115
+#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329
+#: dcpp/SearchManager.cpp:331
+msgid "Offline"
+msgstr "Desconectat"
+
+#: dcpp/FavoriteManager.cpp:442
+msgid "Redirect user(s)"
+msgstr "Redireccionar usuari(s)"
+
+#: dcpp/ShareManager.cpp:421
+msgid "Remove all subdirectories before adding this one"
+msgstr "Eliminar tots els subdirectoris avans d'agregar aquest"
+
+#: dcpp/DownloadManager.cpp:225
+#, fuzzy
+msgid "Response does not match request"
+msgstr "L'arbre descarregat no coincideix amb l'arrel TTH"
+
+#: dcpp/DCPlusPlus.cpp:100
+msgid "Shared Files"
+msgstr "fitxers compartits"
+
+#: dcpp/Socket.cpp:269 dcpp/Socket.cpp:273
+msgid "Socks server authentication failed (bad login / password?)"
+msgstr ""
+"El servidor socks d'autentificació ha fallat (usuari / contrasenya erronis?)"
+
+#: dcpp/CryptoManager.cpp:221
+#, boost-format
+msgid "TLS disabled, failed to generate certificate: %1%"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:211
+msgid "TLS disabled, no certificate file set"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519
+msgid "Target filename too long"
+msgstr "El nom del fitxer de destí es massa llarg"
+
+#: dcpp/QueueManager.cpp:798
+msgid "Target removed"
+msgstr ""
+
+#: dcpp/Socket.cpp:255
+msgid "The socks server doesn't support login / password authentication"
+msgstr "El servidor socks no suporta autentificació d'usuari / contrasenya"
+
+#: dcpp/Socket.cpp:162 dcpp/Socket.cpp:173 dcpp/Socket.cpp:206
+#: dcpp/Socket.cpp:210 dcpp/Socket.cpp:237 dcpp/Socket.cpp:252
+msgid "The socks server failed establish a connection"
+msgstr "El servidor socks ha fallat a l'establir la conenxió"
+
+#: dcpp/Socket.cpp:241
+msgid "The socks server requires authentication"
+msgstr "el servidor socks nescessita autentificació"
+
+#: dcpp/ShareManager.cpp:407
+msgid "The temporary download directory cannot be shared"
+msgstr "El directorio de descàrregues temporals no es pot compartir"
+
+#: dcpp/QueueManager.cpp:465
+msgid "This file is already queued"
+msgstr ""
+
+#: dcpp/Thread.cpp:34 dcpp/Thread.cpp:42
+msgid "Unable to create thread"
+msgstr "No es pot crear la tasca"
+
+#: dcpp/QueueManager.cpp:995
+#, boost-format
+msgid "Unable to open filelist: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:131
+#, fuzzy
+msgid "Unable to read hash data file"
+msgstr "No es pot crear la tasca"
+
+#: dcpp/QueueManager.cpp:327
+#, fuzzy, boost-format
+msgid "Unable to rename %1%: %2%"
+msgstr "No es pot crear la tasca"
+
+#: dcpp/UploadManager.cpp:149
+#, boost-format
+msgid "Unable to send file %1%: %2%"
+msgstr ""
+
+#: dcpp/Socket.cpp:54
+#, c-format, boost-format
+msgid "Unknown error: 0x%1$x"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468
+msgid "Virtual directory name already exists"
+msgstr "El nom de la carpeta virtual ja existeix"
+
+#: dcpp/QueueManager.cpp:412 dcpp/QueueManager.cpp:436
+msgid "You're trying to download from yourself!"
+msgstr "Estás intentant descarregar de tu mateix!"
+
+#: dcpp/SettingsManager.cpp:156
+msgid "downloaded from"
+msgstr ""
+
+#: dcpp/SettingsManager.cpp:157
+msgid "uploaded to"
+msgstr ""
Added: dcplusplus/trunk/dcpp/po/cs.po
===================================================================
--- dcplusplus/trunk/dcpp/po/cs.po (rev 0)
+++ dcplusplus/trunk/dcpp/po/cs.po 2008-03-04 23:19:17 UTC (rev 1024)
@@ -0,0 +1,427 @@
+# Czech translation for dcplusplus
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the dcplusplus package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: dcplusplus\n"
+"Report-Msgid-Bugs-To: dcp...@li...\n"
+"POT-Creation-Date: 2008-03-04 23:00+0100\n"
+"PO-Revision-Date: 2008-02-08 19:17+0000\n"
+"Last-Translator: marek.tomass <mar...@gm...>\n"
+"Language-Team: Czech <cs...@li...>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2008-03-04 21:52+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: dcpp/Util.cpp:381
+#, c-format, boost-format
+msgid "%'lld B"
+msgstr ""
+
+#: dcpp/Util.cpp:343
+#, c-format, boost-format
+msgid "%.02f GiB"
+msgstr ""
+
+#: dcpp/Util.cpp:339
+#, c-format, boost-format
+msgid "%.02f KiB"
+msgstr ""
+
+#: dcpp/Util.cpp:341
+#, c-format, boost-format
+msgid "%.02f MiB"
+msgstr ""
+
+#: dcpp/Util.cpp:347
+#, c-format, boost-format
+msgid "%.02f PiB"
+msgstr ""
+
+#: dcpp/Util.cpp:345
+#, c-format, boost-format
+msgid "%.02f TiB"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:139
+#, boost-format
+msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring"
+msgstr ""
+
+#: dcpp/NmdcHub.cpp:281
+#, boost-format
+msgid "%1% (Nick unknown)"
+msgstr "%1% (Nick neznámý)"
+
+#: dcpp/HashManager.cpp:767
+#, boost-format
+msgid ""
+"%1% not shared; calculated CRC32 does not match the one found in SFV file."
+msgstr ""
+
+#: dcpp/QueueManager.cpp:325
+#, boost-format
+msgid "%1% renamed to %2%"
+msgstr "%1% přejmenovat na %2%"
+
+#: dcpp/AdcHub.cpp:281
+#, boost-format
+msgid "%1% was kicked by %2%: %3%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:284
+#, boost-format
+msgid "%1% was kicked: %2%"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:530
+#, boost-format
+msgid "%1%: File not available"
+msgstr "%1%: Soubor není dostupný"
+
+#: dcpp/Util.cpp:337
+#, c-format, boost-format
+msgid "%d B"
+msgstr ""
+"Copy text \t\r\n"
+"%d B"
+
+#: dcpp/Util.cpp:377
+#, c-format, boost-format
+msgid "%s B"
+msgstr "%s B"
+
+#: dcpp/QueueManager.cpp:532
+msgid "A file of equal or larger size already exists at the target location"
+msgstr ""
+"Soubor se stejnou nebo vetsi velikosti je uz na miste kam chcete stahovat"
+
+#: dcpp/QueueManager.cpp:475
+msgid "A file with a different size already exists in the queue"
+msgstr "Stejny soubor z jinou velkosti je uz ve fronte"
+
+#: dcpp/QueueManager.cpp:478
+msgid "A file with different tth root already exists in the queue"
+msgstr "Stejny soubor s jinym tth indexom (tth root) je uz ve fronte"
+
+#: dcpp/QueueManager.cpp:442
+msgid "A file with the same hash already exists in your share"
+msgstr "Soubor se stejnym hashem uz sdilite"
+
+#: dcpp/ConnectionManager.cpp:176
+msgid "All download slots taken"
+msgstr "Vsechny upload sloty obsazene"
+
+#: dcpp/DownloadManager.cpp:376
+msgid "CRC32 inconsistency (SFV-Check)"
+msgstr "CRC32 nesuhlasi (SFV kontrola)"
+
+#: dcpp/DownloadManager.cpp:374
+#, boost-format
+msgid "CRC32 inconsistency (SFV-Check) (File: %1%)"
+msgstr ""
+
+#: dcpp/ConnectionManager.cpp:376
+msgid "Certificate not trusted, unable to connect"
+msgstr ""
+
+#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182
+#: dcpp/BufferedSocket.cpp:154
+msgid "Connection timeout"
+msgstr "Cas pro pripojeni vyprsel"
+
+#: dcpp/DownloadManager.cpp:232
+#, boost-format
+msgid "Could not open target file: %1%"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:418
+msgid "Directory already shared"
+msgstr "Slozka je uz sdilena"
+
+#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426
+msgid "Disconnected"
+msgstr "Odpojeny"
+
+#: dcpp/UploadManager.cpp:450
+#, boost-format
+msgid "Disconnected user leaving the hub: %1%"
+msgstr ""
+
+#: dcpp/DCPlusPlus.cpp:103
+msgid "Download Queue"
+msgstr "Fronta souboru k stahnuti"
+
+#: dcpp/ShareManager.cpp:741
+#, boost-format
+msgid ""
+"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched "
+"against: %4%%5%"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549
+#, boost-format
+msgid "Duplicate source: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:456
+#, boost-format
+msgid "Error creating hash data file: %1%"
+msgstr ""
+
+#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86
+#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60
+msgid "Error during compression"
+msgstr "Chyba pocesu komprese"
+
+#: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72
+#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342
+#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375
+msgid "Error during decompression"
+msgstr "Chyba v prubehu dekomprese"
+
+#: dcpp/HashManager.cpp:772
+#, boost-format
+msgid "Error hashing %1%: %2%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333
+#, boost-format
+msgid "Error saving hash data: %1%"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230
+#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239
+msgid "Failed to load certificate file"
+msgstr ""
+
+#: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248
+#: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257
+msgid "Failed to load private key"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:206
+msgid "Failed to negotiate base protocol"
+msgstr ""
+
+#: dcpp/Socket.cpp:408
+msgid ""
+"Failed to set up the socks server for UDP relay (check socks address and "
+"port)"
+msgstr ""
+"Nespravne nastaveni Socket Serveru pro zaisteni UDP (otevrte adresu Socket "
+"Serveru a port)"
+
+#: dcpp/ShareManager.cpp:776
+#, boost-format
+msgid "File list refresh failed: %1%"
+msgstr ""
+
+#: dcpp/ShareManager.cpp:820
+msgid "File list refresh finished"
+msgstr "Dokonceni obnoveni seznamu souboru"
+
+#: dcpp/ShareManager.cpp:756
+msgid ""
+"File list refresh in progress, please wait for it to finish before trying to "
+"refresh again"
+msgstr "Cekejte prosim, az sa dokonci obnova seznamu souboru "
+
+#: dcpp/ShareManager.cpp:798
+msgid "File list refresh initiated"
+msgstr "Zahajeni obnoveni seznamu souboru"
+
+#: dcpp/DirectoryListing.cpp:102
+msgid "File not available"
+msgstr "Soubor je nedostupny"
+
+#: dcpp/HashManager.cpp:89
+#, boost-format
+msgid "Finished hashing: %1%"
+msgstr ""
+
+#: dcpp/HashManager.cpp:87
+#, boost-format
+msgid "Finished hashing: %1% (%2%/s)"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:308
+msgid "Full tree does not match TTH root"
+msgstr "Stahnuty strom neodpoveda porovnavanemu TTH zakladu (TTH root)"
+
+#: dcpp/CryptoManager.cpp:219
+msgid "Generated new TLS certificate"
+msgstr ""
+
+#: dcpp/DCPlusPlus.cpp:97
+msgid "Hash database"
+msgstr "Hash databaze"
+
+#: dcpp/HashManager.cpp:677
+msgid "Hash database rebuilt"
+msgstr "Hash databaze obnoveny"
+
+#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277
+#, boost-format
+msgid "Hashing failed: %1%"
+msgstr ""
+
+#: dcpp/AdcHub.cpp:212
+msgid ""
+"Hub probably uses an old version of ADC, please encourage the owner to "
+"upgrade"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:220
+msgid "Invalid size"
+msgstr ""
+
+#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523
+msgid ""
+"Invalid target file (missing directory, check default download directory "
+"setting)"
+msgstr ""
+"Chybny cilovy soubor (chyba adresar, skontrolujte nastaveni adresare pro "
+"stahnute soubory)"
+
+#: dcpp/FavoriteManager.cpp:438
+msgid "Kick user(s)"
+msgstr "Vyhodit uzivatele"
+
+#: dcpp/ConnectionManager.cpp:230
+#, boost-format
+msgid "Listening socket failed (you need to restart %1%): %2%"
+msgstr ""
+
+#: dcpp/BufferedSocket.cpp:261
+msgid "Maximum command length exceeded"
+msgstr ""
+
+#: dcpp/DownloadManager.cpp:280
+msgid "More data was sent than was expected"
+msgstr "Bylo odoslane vic dat nez bylo ocekavane"
+
+#: dcpp/ShareManager.cpp:403
+msgid "No directory specified"
+msgstr "Nebyla zvolena slozka"
+
...
[truncated message content] |
|
From: <zou...@us...> - 2008-03-02 20:33:22
|
Revision: 1023
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1023&view=rev
Author: zouzou123gen
Date: 2008-03-02 12:31:51 -0800 (Sun, 02 Mar 2008)
Log Message:
-----------
fancy menus for every text box
Modified Paths:
--------------
dcplusplus/trunk/smartwin/include/smartwin/GCCHeaders.h
dcplusplus/trunk/smartwin/include/smartwin/WidgetCreator.h
dcplusplus/trunk/smartwin/include/smartwin/WidgetFactoryPlatformSmartWinDesktop.h
dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetComboBox.h
dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMenu.h
dcplusplus/trunk/smartwin/source/widgets/WidgetComboBox.cpp
dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp
dcplusplus/trunk/win32/AboutDlg.cpp
dcplusplus/trunk/win32/AboutDlg.h
dcplusplus/trunk/win32/Advanced3Page.cpp
dcplusplus/trunk/win32/Appearance2Page.cpp
dcplusplus/trunk/win32/AppearancePage.cpp
dcplusplus/trunk/win32/CertificatesPage.cpp
dcplusplus/trunk/win32/CertificatesPage.h
dcplusplus/trunk/win32/CommandDlg.cpp
dcplusplus/trunk/win32/CommandDlg.h
dcplusplus/trunk/win32/DCPlusPlus.rc
dcplusplus/trunk/win32/DownloadPage.cpp
dcplusplus/trunk/win32/FavHubProperties.cpp
dcplusplus/trunk/win32/FavHubProperties.h
dcplusplus/trunk/win32/GeneralPage.cpp
dcplusplus/trunk/win32/LineDlg.cpp
dcplusplus/trunk/win32/LineDlg.h
dcplusplus/trunk/win32/LogPage.cpp
dcplusplus/trunk/win32/LogPage.h
dcplusplus/trunk/win32/MDIChildFrame.h
dcplusplus/trunk/win32/MagnetDlg.cpp
dcplusplus/trunk/win32/MagnetDlg.h
dcplusplus/trunk/win32/MainWindow.cpp
dcplusplus/trunk/win32/NetworkPage.cpp
dcplusplus/trunk/win32/PropPage.cpp
dcplusplus/trunk/win32/PropPage.h
dcplusplus/trunk/win32/QueuePage.cpp
dcplusplus/trunk/win32/TransferView.h
dcplusplus/trunk/win32/UploadPage.cpp
dcplusplus/trunk/win32/WidgetFactory.h
dcplusplus/trunk/win32/WidgetTextBox.h
Added Paths:
-----------
dcplusplus/trunk/win32/WidgetComboBox.cpp
dcplusplus/trunk/win32/WidgetComboBox.h
dcplusplus/trunk/win32/WidgetTextBox.cpp
Modified: dcplusplus/trunk/smartwin/include/smartwin/GCCHeaders.h
===================================================================
--- dcplusplus/trunk/smartwin/include/smartwin/GCCHeaders.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/smartwin/include/smartwin/GCCHeaders.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -81,6 +81,9 @@
#define COLOR_MENUBAR 30
#define ODS_HOTLIGHT 0x0040
#define ODS_INACTIVE 0x0080
+ #ifndef MN_GETHMENU
+ #define MN_GETHMENU 0x01E1
+ #endif
#if(_WIN32_WINNT >= 0x0500)
#ifndef ODS_NOACCEL
#define ODS_NOACCEL 0x0100
Modified: dcplusplus/trunk/smartwin/include/smartwin/WidgetCreator.h
===================================================================
--- dcplusplus/trunk/smartwin/include/smartwin/WidgetCreator.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/smartwin/include/smartwin/WidgetCreator.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -94,6 +94,12 @@
return retVal;
}
+ static typename WidgetType::ObjectType attach( Widget * parent, HMENU hMenu, const typename WidgetType::Seed & cs )
+ {
+ typename WidgetType::ObjectType retVal(new WidgetType( parent ));
+ retVal->attach( hMenu, cs );
+ return retVal;
+ }
};
// end namespace SmartWin
Modified: dcplusplus/trunk/smartwin/include/smartwin/WidgetFactoryPlatformSmartWinDesktop.h
===================================================================
--- dcplusplus/trunk/smartwin/include/smartwin/WidgetFactoryPlatformSmartWinDesktop.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/smartwin/include/smartwin/WidgetFactoryPlatformSmartWinDesktop.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -123,6 +123,11 @@
return WidgetCreator< WidgetMenu >::create( this, cs );
}
+ WidgetMenuPtr attachMenu(HMENU hMenu, const typename WidgetMenu::Seed& cs = WidgetMenu::Seed())
+ {
+ return WidgetCreator< WidgetMenu >::attach( this, cs, hMenu );
+ }
+
/// Creates a Tool Bar and returns a pointer to it.
/** DON'T delete the returned pointer!!!
*/
Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetComboBox.h
===================================================================
--- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetComboBox.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetComboBox.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -39,7 +39,6 @@
#include "../aspects/AspectPainting.h"
#include "../aspects/AspectSelection.h"
#include "../aspects/AspectText.h"
-#include "WidgetTextBox.h"
namespace SmartWin
{
@@ -154,9 +153,6 @@
static bool isValidSelectionChanged( LPARAM lPar )
{ return true;
}
-
- typedef WidgetTextBox::ObjectType WidgetTextBoxPtr;
- WidgetTextBoxPtr getTextBox();
protected:
/// Constructor Taking pointer to parent
@@ -166,9 +162,6 @@
// WidgetFactory class which is friend
virtual ~WidgetComboBox()
{}
-
-private:
- WidgetTextBoxPtr textBox;
};
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -266,7 +259,7 @@
}
inline WidgetComboBox::WidgetComboBox( Widget * parent )
- : ControlType( parent ), textBox(0)
+ : ControlType( parent )
{
}
Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMenu.h
===================================================================
--- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMenu.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMenu.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -206,9 +206,10 @@
*/
void create(const Seed& cs);
- /// Attaches the menu to the parent window
- void attach();
+ void attach(HMENU hMenu, const Seed& cs);
+ void setMenu();
+
/// Appends a popup to the menu
/** Everything you "append" to a menu is added sequentially to the menu <br>
* This specific "append" function appends a "popup" menu which is a menu
@@ -321,7 +322,7 @@
void removeAllItems();
/// Return the number of items in the menu
- int getCount();
+ int getCount() const;
/// Displays and handles a menu which can appear anywhere in the window.
/** Typically called by a Right Mouse click. If both the x and the y coordinate
@@ -502,6 +503,8 @@
typedef std::map<unsigned, Widget::CallbackType> CallbackMap;
CallbackMap callbacks;
+ void createHelper(const Seed& cs);
+
void addCommands();
// Returns item index in the menu item list
Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetComboBox.cpp
===================================================================
--- dcplusplus/trunk/smartwin/source/widgets/WidgetComboBox.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/smartwin/source/widgets/WidgetComboBox.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -1,5 +1,4 @@
#include "../../include/smartwin/widgets/WidgetComboBox.h"
-#include "../../include/smartwin/WidgetCreator.h"
namespace SmartWin {
@@ -19,16 +18,4 @@
sendMessage(CB_SETEXTENDEDUI, TRUE);
}
-WidgetComboBox::WidgetTextBoxPtr WidgetComboBox::getTextBox() {
- if(!textBox) {
- LONG_PTR style = ::GetWindowLongPtr(handle(), GWL_STYLE);
- if((style & CBS_SIMPLE) == CBS_SIMPLE || (style & CBS_DROPDOWN) == CBS_DROPDOWN) {
- HWND wnd = ::FindWindowEx(handle(), NULL, _T("EDIT"), NULL);
- if(wnd && wnd != handle())
- textBox = WidgetCreator< WidgetTextBox >::attach(this, wnd);
- }
- }
- return textBox;
}
-
-}
Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp
===================================================================
--- dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -52,8 +52,7 @@
xAssert(itsParent != NULL, _T("A WidgetMenu must have a parent"));
}
-void WidgetMenu::create(const Seed& cs)
-{
+void WidgetMenu::createHelper(const Seed& cs) {
// save settings provided through the Seed
ownerDrawn = cs.ownerDrawn;
itsColorInfo = cs.colorInfo;
@@ -70,8 +69,11 @@
itsParent->setCallback(Message(WM_DRAWITEM), DrawItemDispatcher(std::tr1::bind(&WidgetMenu::handleDrawItem, this, _1, _2)));
itsParent->setCallback(Message(WM_MEASUREITEM), MeasureItemDispatcher(std::tr1::bind(&WidgetMenu::handleMeasureItem, this, _1)));
}
+}
- // Create menu
+void WidgetMenu::create(const Seed& cs) {
+ createHelper(cs);
+
if(cs.popup)
itsHandle = ::CreatePopupMenu();
else
@@ -83,11 +85,46 @@
}
}
-void WidgetMenu::attach()
-{
+void WidgetMenu::attach(HMENU hMenu, const Seed& cs) {
+ createHelper(cs);
+
+ itsHandle = hMenu;
+
+ if(ownerDrawn) {
+ // update all current items to be owner-drawn
+ // @todo update sub-menus too...
+ const int count = getCount();
+ for(int i = 0; i < count; ++i) {
+ // init structure for items
+ MENUITEMINFO info;
+ memset( & info, 0, sizeof( info ) );
+ info.cbSize = sizeof( MENUITEMINFO );
+
+ // set flags
+ info.fMask = MIIM_FTYPE | MIIM_DATA;
+
+ if(::GetMenuItemInfo(itsHandle, i, TRUE, &info)) {
+ info.fMask |= MIIM_DATA;
+ info.fType |= MFT_OWNERDRAW;
+
+ // create item data wrapper
+ ItemDataWrapper * wrapper = new ItemDataWrapper( this, i, MenuItemDataPtr( new MenuItemData() ) );
+ info.dwItemData = reinterpret_cast< ULONG_PTR >( wrapper );
+
+ if(::SetMenuItemInfo(itsHandle, i, TRUE, &info))
+ itsItemDataRef.push_back( wrapper );
+ else
+ throw xCeption( _T( "SetMenuItemInfo in WidgetMenu::attach fizzled..." ) );
+ } else
+ throw xCeption( _T( "GetMenuItemInfo in WidgetMenu::attach fizzled..." ) );
+ }
+ }
+}
+
+void WidgetMenu::setMenu() {
addCommands();
if ( ::SetMenu( itsParent->handle(), itsHandle ) == FALSE )
- throw xCeption( _T( "Couldn't attach menu to the parent window" ) );
+ throw xCeption( _T( "SetMenu in WidgetMenu::setMenu fizzled..." ) );
}
WidgetMenu::ObjectType WidgetMenu::appendPopup( const SmartUtil::tstring & text, MenuItemDataPtr itemData )
@@ -111,7 +148,7 @@
info.hSubMenu = retVal->handle();
// get position to insert
- int position = ::GetMenuItemCount( itsHandle );
+ int position = getCount();
ItemDataWrapper * wrapper = NULL;
if(ownerDrawn) {
@@ -167,7 +204,7 @@
int WidgetMenu::getItemIndex( unsigned int id )
{
int index = 0;
- const int itemCount = ::GetMenuItemCount( itsHandle );
+ const int itemCount = getCount();
for ( index = 0; index < itemCount; ++index )
if ( ::GetMenuItemID( itsHandle, index ) == id ) // exit the loop if found
@@ -190,7 +227,7 @@
WidgetMenu::~WidgetMenu()
{
// Destroy this menu
- ::DestroyMenu( this->handle() );
+ ::DestroyMenu( handle() );
std::for_each( itsItemDataRef.begin(), itsItemDataRef.end(), destroyItemDataWrapper );
}
@@ -205,7 +242,7 @@
void WidgetMenu::setTitleFont( FontPtr font )
{
itsTitleFont = font;
- setTitle( itsTitle, this->drawSidebar ); // Easy for now, should be refactored...
+ setTitle( itsTitle, drawSidebar ); // Easy for now, should be refactored...
}
void WidgetMenu::clearTitle( bool clearSidebar /* = false */)
@@ -222,12 +259,12 @@
void WidgetMenu::checkItem( unsigned id, bool value )
{
- ::CheckMenuItem( this->handle(), id, value ? MF_CHECKED : MF_UNCHECKED );
+ ::CheckMenuItem( handle(), id, value ? MF_CHECKED : MF_UNCHECKED );
}
void WidgetMenu::setItemEnabled( unsigned id, bool byPosition, bool value )
{
- if ( ::EnableMenuItem( this->handle(), id, (byPosition ? MF_BYPOSITION : MF_BYCOMMAND) | (value ? MF_ENABLED : MF_GRAYED) ) == - 1 )
+ if ( ::EnableMenuItem( handle(), id, (byPosition ? MF_BYPOSITION : MF_BYCOMMAND) | (value ? MF_ENABLED : MF_GRAYED) ) == - 1 )
{
xCeption x( _T( "Couldn't enable/disable the menu item, item doesn't exist" ) );
throw x;
@@ -236,7 +273,7 @@
UINT WidgetMenu::getMenuState( UINT id, bool byPosition )
{
- return ::GetMenuState(this->handle(), id, byPosition ? MF_BYPOSITION : MF_BYCOMMAND);
+ return ::GetMenuState(handle(), id, byPosition ? MF_BYPOSITION : MF_BYCOMMAND);
}
bool WidgetMenu::isSeparator( UINT id, bool byPosition )
@@ -261,7 +298,7 @@
void WidgetMenu::setDefaultItem( UINT id, bool byPosition )
{
- ::SetMenuDefaultItem(this->handle(), id, byPosition);
+ ::SetMenuDefaultItem(handle(), id, byPosition);
}
SmartUtil::tstring WidgetMenu::getText( unsigned id, bool byPosition )
@@ -841,7 +878,7 @@
itemInfo.fType = MFT_SEPARATOR;
// get position to insert
- int position = ::GetMenuItemCount( itsHandle );
+ int position = getCount();
ItemDataWrapper * wrapper = NULL;
if(ownerDrawn) {
@@ -863,7 +900,7 @@
HMENU popup = ::GetSubMenu( itsHandle, itemIndex );
// try to remove item
- if ( ::RemoveMenu( itsHandle, itemIndex, MF_BYPOSITION ) == TRUE )
+ if ( ::RemoveMenu( itsHandle, itemIndex, MF_BYPOSITION ) )
{
size_t i = 0;
@@ -906,13 +943,13 @@
void WidgetMenu::removeAllItems()
{
//must be backwards, since bigger indexes change on remove
- for( int i = this->getCount() - 1; i >= 0; i-- )
+ for( int i = getCount() - 1; i >= 0; i-- )
{
- this->removeItem( i );
+ removeItem( i );
}
}
-int WidgetMenu::getCount()
+int WidgetMenu::getCount() const
{
int count = ::GetMenuItemCount( itsHandle );
if( count == -1 )
@@ -942,7 +979,7 @@
// set position to insert
bool itemExists = index != - 1;
- index = itemExists ? index : ::GetMenuItemCount( itsHandle );
+ index = itemExists ? index : getCount();
ItemDataWrapper * wrapper = NULL;
if(ownerDrawn) {
@@ -954,8 +991,8 @@
info.dwItemData = reinterpret_cast< ULONG_PTR >( wrapper );
}
- if ( ( !itemExists && ::InsertMenuItem( itsHandle, id, FALSE, & info ) == TRUE ) ||
- ( itemExists && ::SetMenuItemInfo( itsHandle, id, FALSE, & info ) == TRUE ) )
+ if ( ( !itemExists && ::InsertMenuItem( itsHandle, id, FALSE, & info ) ) ||
+ ( itemExists && ::SetMenuItemInfo( itsHandle, id, FALSE, & info ) ) )
{
if(ownerDrawn)
itsItemDataRef.push_back( wrapper );
@@ -991,8 +1028,8 @@
WidgetMenu::ObjectType WidgetMenu::getChild( unsigned position ) {
HMENU h = ::GetSubMenu(handle(), position);
- for(size_t i = 0; i < this->itsChildren.size(); ++i) {
- ObjectType& menu = this->itsChildren[i];
+ for(size_t i = 0; i < itsChildren.size(); ++i) {
+ ObjectType& menu = itsChildren[i];
if(menu->handle() == h) {
return menu;
}
Modified: dcplusplus/trunk/win32/AboutDlg.cpp
===================================================================
--- dcplusplus/trunk/win32/AboutDlg.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/AboutDlg.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -44,7 +44,7 @@
"stanislav maslovski, david grundberg. "
"Keep it coming!";
-AboutDlg::AboutDlg(SmartWin::Widget* parent) : SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>(parent) {
+AboutDlg::AboutDlg(SmartWin::Widget* parent) : WidgetFactory<SmartWin::WidgetModalDialog>(parent) {
onInitDialog(std::tr1::bind(&AboutDlg::handleInitDialog, this));
onSpeaker(std::tr1::bind(&AboutDlg::handleSpeaker, this, _1, _2));
}
@@ -54,8 +54,8 @@
bool AboutDlg::handleInitDialog() {
setItemText(IDC_VERSION, Text::toT("DC++ " VERSIONSTRING "\n(c) Copyright 2001-2008 Jacek Sieka\nEx-codeveloper: Per Lind\303\251n\nGraphics: Martin Skogevall et al.\nDC++ is licenced under GPL\nhttp://dcplusplus.sourceforge.net/"));
- setItemText(IDC_TTH, WinUtil::tth);
- setItemText(IDC_THANKS, Text::toT(thanks));
+ attachTextBox(IDC_TTH)->setText(WinUtil::tth);
+ attachTextBox(IDC_THANKS)->setText(Text::toT(thanks));
setItemText(IDC_TOTALS, str(TF_("Upload: %1%, Download: %2%") % Text::toT(Util::formatBytes(SETTING(TOTAL_UPLOAD))) % Text::toT(Util::formatBytes(SETTING(TOTAL_DOWNLOAD)))));
if(SETTING(TOTAL_DOWNLOAD) > 0) {
setItemText(IDC_RATIO, str(TF_("Ratio (up/down): %1$0.2f") % (((double)SETTING(TOTAL_UPLOAD)) / ((double)SETTING(TOTAL_DOWNLOAD)))));
Modified: dcplusplus/trunk/win32/AboutDlg.h
===================================================================
--- dcplusplus/trunk/win32/AboutDlg.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/AboutDlg.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -21,10 +21,11 @@
#include <dcpp/HttpConnection.h>
#include "resource.h"
+#include "WidgetFactory.h"
#include "AspectSpeaker.h"
class AboutDlg :
- public SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>,
+ public WidgetFactory<SmartWin::WidgetModalDialog>,
public AspectSpeaker<AboutDlg>,
private HttpConnectionListener
{
Modified: dcplusplus/trunk/win32/Advanced3Page.cpp
===================================================================
--- dcplusplus/trunk/win32/Advanced3Page.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/Advanced3Page.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -68,6 +68,21 @@
WidgetSpinnerPtr spinner = attachSpinner(IDC_SEARCH_HISTORY_SPIN);
spinner->setRange(0, 100);
+
+ attachTextBox(IDC_ROLLBACK);
+ attachTextBox(IDC_MAX_HASH_SPEED);
+ attachTextBox(IDC_SHOW_LAST_LINES_LOG);
+ attachTextBox(IDC_SET_MINISLOT_SIZE);
+ attachTextBox(IDC_MAX_FILELIST_SIZE);
+ attachTextBox(IDC_PRIVATE_ID);
+ attachTextBox(IDC_AUTO_REFRESH_TIME);
+ attachTextBox(IDC_BUFFERSIZE);
+ attachTextBox(IDC_AUTO_SEARCH_LIMIT);
+ attachTextBox(IDC_SEARCH_HISTORY);
+ attachTextBox(IDC_BIND_ADDRESS);
+ attachTextBox(IDC_SOCKET_IN_BUFFER);
+ attachTextBox(IDC_SOCKET_OUT_BUFFER);
+ attachTextBox(IDC_MIN_SEGMENT_SIZE);
}
Advanced3Page::~Advanced3Page() {
Modified: dcplusplus/trunk/win32/Appearance2Page.cpp
===================================================================
--- dcplusplus/trunk/win32/Appearance2Page.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/Appearance2Page.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -81,6 +81,8 @@
button = attachButton(IDC_BROWSE);
button->onClicked(std::tr1::bind(&Appearance2Page::handleBrowseClicked, this));
+
+ attachTextBox(IDC_BEEPFILE);
}
Appearance2Page::~Appearance2Page() {
Modified: dcplusplus/trunk/win32/AppearancePage.cpp
===================================================================
--- dcplusplus/trunk/win32/AppearancePage.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/AppearancePage.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -96,6 +96,9 @@
}
languages->setSelectedIndex(selected);
+
+ attachTextBox(IDC_DEFAULT_AWAY_MESSAGE);
+ attachTextBox(IDC_TIME_STAMPS_FORMAT);
}
AppearancePage::~AppearancePage() {
Modified: dcplusplus/trunk/win32/CertificatesPage.cpp
===================================================================
--- dcplusplus/trunk/win32/CertificatesPage.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/CertificatesPage.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -50,10 +50,13 @@
PropPage::translate(handle(), texts);
PropPage::read(handle(), items, listItems, ::GetDlgItem(handle(), IDC_TLS_OPTIONS));
+ privateKeyFile = attachTextBox(IDC_TLS_PRIVATE_KEY_FILE);
attachButton(IDC_BROWSE_PRIVATE_KEY)->onClicked(std::tr1::bind(&CertificatesPage::handleBrowsePrivateKeyClicked, this));
+ certificateFile = attachTextBox(IDC_TLS_CERTIFICATE_FILE);
attachButton(IDC_BROWSE_CERTIFICATE)->onClicked(std::tr1::bind(&CertificatesPage::handleBrowseCertificateClicked, this));
+ trustedCertificatesPath = attachTextBox(IDC_TLS_TRUSTED_CERTIFICATES_PATH);
attachButton(IDC_BROWSE_TRUSTED_PATH)->onClicked(std::tr1::bind(&CertificatesPage::handleBrowseTrustedPathClicked, this));
attachButton(IDC_GENERATE_CERTS)->onClicked(std::tr1::bind(&CertificatesPage::handleGenerateCertsClicked, this));
@@ -67,21 +70,21 @@
}
void CertificatesPage::handleBrowsePrivateKeyClicked() {
- tstring target = Text::toT(SETTING(TLS_PRIVATE_KEY_FILE));
+ tstring target = privateKeyFile->getText();
if(WinUtil::browseFile(target, handle(), false, target))
- ::SetDlgItemText(handle(), IDC_TLS_PRIVATE_KEY_FILE, &target[0]);
+ privateKeyFile->setText(target);
}
void CertificatesPage::handleBrowseCertificateClicked() {
- tstring target = Text::toT(SETTING(TLS_CERTIFICATE_FILE));
+ tstring target = certificateFile->getText();
if(WinUtil::browseFile(target, handle(), false, target))
- ::SetDlgItemText(handle(), IDC_TLS_CERTIFICATE_FILE, &target[0]);
+ certificateFile->setText(target);
}
void CertificatesPage::handleBrowseTrustedPathClicked() {
- tstring target = Text::toT(SETTING(TLS_TRUSTED_CERTIFICATES_PATH));
+ tstring target = trustedCertificatesPath->getText();
if(WinUtil::browseDirectory(target, handle()))
- ::SetDlgItemText(handle(), IDC_TLS_TRUSTED_CERTIFICATES_PATH, &target[0]);
+ trustedCertificatesPath->setText(target);
}
void CertificatesPage::handleGenerateCertsClicked() {
Modified: dcplusplus/trunk/win32/CertificatesPage.h
===================================================================
--- dcplusplus/trunk/win32/CertificatesPage.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/CertificatesPage.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -35,6 +35,10 @@
static TextItem texts[];
static ListItem listItems[];
+ WidgetTextBoxPtr privateKeyFile;
+ WidgetTextBoxPtr certificateFile;
+ WidgetTextBoxPtr trustedCertificatesPath;
+
void handleBrowsePrivateKeyClicked();
void handleBrowseCertificateClicked();
void handleBrowseTrustedPathClicked();
Modified: dcplusplus/trunk/win32/CommandDlg.cpp
===================================================================
--- dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -28,7 +28,7 @@
#include "WinUtil.h"
CommandDlg::CommandDlg(SmartWin::Widget* parent, int type_, int ctx_, const tstring& name_, const tstring& command_, const tstring& hub_) :
- SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>(parent),
+ WidgetFactory<SmartWin::WidgetModalDialog>(parent),
separator(0),
raw(0),
chat(0),
Modified: dcplusplus/trunk/win32/CommandDlg.h
===================================================================
--- dcplusplus/trunk/win32/CommandDlg.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/CommandDlg.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -20,8 +20,9 @@
#define DCPLUSPLUS_WIN32_COMMAND_DLG_H
#include <dcpp/Util.h>
+#include "WidgetFactory.h"
-class CommandDlg : public SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>
+class CommandDlg : public WidgetFactory<SmartWin::WidgetModalDialog>
{
public:
CommandDlg(SmartWin::Widget* parent, int type_ = 0, int ctx_ = 0, const tstring& name_ = Util::emptyStringT, const tstring& command_ = Util::emptyStringT, const tstring& hub_ = Util::emptyStringT);
Modified: dcplusplus/trunk/win32/DCPlusPlus.rc
===================================================================
--- dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-02 20:31:51 UTC (rev 1023)
@@ -471,6 +471,8 @@
EDITTEXT IDC_PORT_TCP,230,28,29,14,ES_AUTOHSCROLL | ES_NUMBER
LTEXT "UDP",IDC_SETTINGS_PORT_UDP,209,48,16,8
EDITTEXT IDC_PORT_UDP,230,45,30,14,ES_AUTOHSCROLL | ES_NUMBER
+ LTEXT "TLS",IDC_SETTINGS_PORT_TLS,209,64,21,8
+ EDITTEXT IDC_PORT_TLS,230,61,30,14,ES_AUTOHSCROLL | ES_NUMBER
LTEXT "External / WAN IP",IDC_SETTINGS_IP,59,59,68,8,NOT WS_GROUP
EDITTEXT IDC_EXTERNAL_IP,59,69,99,14,ES_AUTOHSCROLL
CONTROL "Don't allow hub/UPnP to override",IDC_OVERRIDE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,59,86,150,10
@@ -487,8 +489,6 @@
EDITTEXT IDC_SOCKS_PASSWORD,153,190,71,14,ES_AUTOHSCROLL
CONTROL "Use SOCKS5 server to resolve hostnames",IDC_SOCKS_RESOLVE,
"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,59,207,165,10
- LTEXT "TLS",IDC_SETTINGS_PORT_TLS,209,64,21,8
- EDITTEXT IDC_PORT_TLS,230,61,30,14,ES_AUTOHSCROLL | ES_NUMBER
END
IDD_WINDOWSPAGE DIALOGEX 100, 0, 275, 225
Modified: dcplusplus/trunk/win32/DownloadPage.cpp
===================================================================
--- dcplusplus/trunk/win32/DownloadPage.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/DownloadPage.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -69,6 +69,12 @@
spinner = attachSpinner(IDC_SPEEDSPIN);
spinner->setRange(0, 10000);
+
+ attachTextBox(IDC_DOWNLOADDIR);
+ attachTextBox(IDC_TEMP_DOWNLOAD_DIRECTORY);
+ attachTextBox(IDC_DOWNLOADS);
+ attachTextBox(IDC_MAXSPEED);
+ attachTextBox(IDC_PROXY);
}
DownloadPage::~DownloadPage() {
Modified: dcplusplus/trunk/win32/FavHubProperties.cpp
===================================================================
--- dcplusplus/trunk/win32/FavHubProperties.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/FavHubProperties.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -26,7 +26,7 @@
#include <dcpp/version.h>
FavHubProperties::FavHubProperties(SmartWin::Widget* parent, FavoriteHubEntry *_entry) :
- SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>(parent),
+ WidgetFactory<SmartWin::WidgetModalDialog>(parent),
name(0),
address(0),
description(0),
Modified: dcplusplus/trunk/win32/FavHubProperties.h
===================================================================
--- dcplusplus/trunk/win32/FavHubProperties.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/FavHubProperties.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -22,7 +22,7 @@
#include <dcpp/forward.h>
#include "WidgetFactory.h"
-class FavHubProperties : public SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>
+class FavHubProperties : public WidgetFactory<SmartWin::WidgetModalDialog>
{
public:
FavHubProperties(SmartWin::Widget* parent, FavoriteHubEntry *_entry);
Modified: dcplusplus/trunk/win32/GeneralPage.cpp
===================================================================
--- dcplusplus/trunk/win32/GeneralPage.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/GeneralPage.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -64,6 +64,8 @@
nick->setTextLimit(35);
nick->onTextChanged(std::tr1::bind(&GeneralPage::handleNickTextChanged, this));
+ attachTextBox(IDC_EMAIL);
+
attachTextBox(IDC_DESCRIPTION)->setTextLimit(35);
}
Modified: dcplusplus/trunk/win32/LineDlg.cpp
===================================================================
--- dcplusplus/trunk/win32/LineDlg.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/LineDlg.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -21,7 +21,7 @@
#include "LineDlg.h"
LineDlg::LineDlg(SmartWin::Widget* parent, const tstring& title_, const tstring& desc_, const tstring& initial_, bool password_) :
- SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>(parent),
+ WidgetFactory<SmartWin::WidgetModalDialog>(parent),
title(title_),
desc(desc_),
initial(initial_),
Modified: dcplusplus/trunk/win32/LineDlg.h
===================================================================
--- dcplusplus/trunk/win32/LineDlg.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/LineDlg.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -22,8 +22,9 @@
#include "resource.h"
#include <dcpp/Util.h>
+#include "WidgetFactory.h"
-class LineDlg : public SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>
+class LineDlg : public WidgetFactory<SmartWin::WidgetModalDialog>
{
public:
LineDlg(SmartWin::Widget* parent, const tstring& title_, const tstring& desc_, const tstring& initial_ = Util::emptyStringT, bool password_ = false);
Modified: dcplusplus/trunk/win32/LogPage.cpp
===================================================================
--- dcplusplus/trunk/win32/LogPage.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/LogPage.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -65,22 +65,26 @@
options.push_back(pair);
}
- ::EnableWindow(::GetDlgItem(handle(), IDC_LOG_FORMAT), false);
- ::EnableWindow(::GetDlgItem(handle(), IDC_LOG_FILE), false);
+ attachTextBox(IDC_LOG_DIRECTORY);
- oldSelection = -1;
-
attachButton(IDC_BROWSE_LOG)->onClicked(std::tr1::bind(&LogPage::handleBrowseClicked, this));
- WidgetListViewPtr dataGrid = attachList(IDC_LOG_OPTIONS);
- dataGrid->onRaw(std::tr1::bind(&LogPage::handleItemChanged, this, dataGrid, _1, _2), SmartWin::Message(WM_NOTIFY, LVN_ITEMCHANGED));
+ dataGrid = attachList(IDC_LOG_OPTIONS);
+ dataGrid->onRaw(std::tr1::bind(&LogPage::handleItemChanged, this), SmartWin::Message(WM_NOTIFY, LVN_ITEMCHANGED));
+
+ logFormat = attachTextBox(IDC_LOG_FORMAT);
+ logFormat->setEnabled(false);
+
+ logFile = attachTextBox(IDC_LOG_FILE);
+ logFile->setEnabled(false);
+
+ oldSelection = -1;
}
LogPage::~LogPage() {
}
-void LogPage::write()
-{
+void LogPage::write() {
PropPage::write(handle(), items, listItems, ::GetDlgItem(handle(), IDC_LOG_OPTIONS));
const string& s = SETTING(LOG_DIRECTORY);
@@ -115,27 +119,27 @@
}
}
-HRESULT LogPage::handleItemChanged(WidgetListViewPtr dataGrid, WPARAM wParam, LPARAM lParam) {
+LRESULT LogPage::handleItemChanged() {
getValues();
int sel = dataGrid->getSelectedIndex();
if(sel >= 0 && sel < LogManager::LAST) {
- BOOL checkState = dataGrid->isChecked(sel) ? TRUE : FALSE;
- ::EnableWindow(::GetDlgItem(handle(), IDC_LOG_FORMAT), checkState);
- ::EnableWindow(::GetDlgItem(handle(), IDC_LOG_FILE), checkState);
+ bool checkState = dataGrid->isChecked(sel);
+ logFormat->setEnabled(checkState);
+ logFile->setEnabled(checkState);
- ::SetDlgItemText(handle(), IDC_LOG_FILE, options[sel].first.c_str());
- ::SetDlgItemText(handle(), IDC_LOG_FORMAT, options[sel].second.c_str());
+ logFile->setText(options[sel].first);
+ logFormat->setText(options[sel].second);
//save the old selection so we know where to save the values
oldSelection = sel;
} else {
- ::EnableWindow(::GetDlgItem(handle(), IDC_LOG_FORMAT), FALSE);
- ::EnableWindow(::GetDlgItem(handle(), IDC_LOG_FILE), FALSE);
+ logFormat->setEnabled(false);
+ logFile->setEnabled(false);
- ::SetDlgItemText(handle(), IDC_LOG_FILE, _T(""));
- ::SetDlgItemText(handle(), IDC_LOG_FORMAT, _T(""));
+ logFile->setText(Util::emptyStringT);
+ logFormat->setText(Util::emptyStringT);
}
return 0;
@@ -143,11 +147,7 @@
void LogPage::getValues() {
if(oldSelection >= 0) {
- TCHAR buf[512];
-
- if(::GetDlgItemText(handle(), IDC_LOG_FILE, buf, 512) > 0)
- options[oldSelection].first = buf;
- if(::GetDlgItemText(handle(), IDC_LOG_FORMAT, buf, 512) > 0)
- options[oldSelection].second = buf;
+ options[oldSelection].first = logFile->getText();
+ options[oldSelection].second = logFormat->getText();
}
}
Modified: dcplusplus/trunk/win32/LogPage.h
===================================================================
--- dcplusplus/trunk/win32/LogPage.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/LogPage.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -36,6 +36,10 @@
static TextItem texts[];
static ListItem listItems[];
+ WidgetListViewPtr dataGrid;
+ WidgetTextBoxPtr logFormat;
+ WidgetTextBoxPtr logFile;
+
int oldSelection;
//store all log options here so we can discard them
@@ -44,9 +48,8 @@
TStringPairList options;
void handleBrowseClicked();
+ LRESULT handleItemChanged();
- HRESULT handleItemChanged(WidgetListViewPtr dataGrid, WPARAM wParam, LPARAM lParam);
-
void getValues();
};
Modified: dcplusplus/trunk/win32/MDIChildFrame.h
===================================================================
--- dcplusplus/trunk/win32/MDIChildFrame.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/MDIChildFrame.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -127,9 +127,9 @@
bool reallyClose;
- void addDlgCodeMessage(SmartWin::WidgetComboBox* widget) {
+ void addDlgCodeMessage(WidgetComboBox* widget) {
widget->onRaw(std::tr1::bind(&ThisType::handleGetDlgCode, this, _1), SmartWin::Message(WM_GETDLGCODE));
- SmartWin::WidgetTextBox* text = widget->getTextBox();
+ WidgetTextBox* text = widget->getTextBox();
if(text)
text->onRaw(std::tr1::bind(&ThisType::handleGetDlgCode, this, _1), SmartWin::Message(WM_GETDLGCODE));
}
@@ -139,9 +139,9 @@
widget->onRaw(std::tr1::bind(&ThisType::handleGetDlgCode, this, _1), SmartWin::Message(WM_GETDLGCODE));
}
- void addColor(SmartWin::WidgetComboBox* widget) {
+ void addColor(WidgetComboBox* widget) {
widget->onBackgroundColor(std::tr1::bind(&ThisType::handleBackgroundColor, this, _1));
- SmartWin::WidgetTextBox* text = widget->getTextBox();
+ WidgetTextBox* text = widget->getTextBox();
if(text)
text->onBackgroundColor(std::tr1::bind(&ThisType::handleBackgroundColor, this, _1));
}
Modified: dcplusplus/trunk/win32/MagnetDlg.cpp
===================================================================
--- dcplusplus/trunk/win32/MagnetDlg.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/MagnetDlg.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -25,7 +25,7 @@
#include "WinUtil.h"
MagnetDlg::MagnetDlg(SmartWin::Widget* parent, const tstring& aHash, const tstring& aFileName) :
- SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>(parent),
+ WidgetFactory<SmartWin::WidgetModalDialog>(parent),
//queue(0),
search(0),
doNothing(0),
@@ -44,8 +44,8 @@
setText(T_("MAGNET Link detected"));
::SetDlgItemText(handle(), IDC_MAGNET_TEXT, CT_("DC++ has detected a MAGNET link with a file hash that can be searched for on the Direct Connect network. What would you like to do?"));
::SetDlgItemText(handle(), IDC_MAGNET_HASH, CT_("File Hash:"));
- ::SetDlgItemText(handle(), IDC_MAGNET_DISP_HASH, mHash.c_str());
- ::SetDlgItemText(handle(), IDC_MAGNET_NAME, CT_("Filename:"));
+ attachTextBox(IDC_MAGNET_DISP_HASH)->setText(mHash.c_str());
+ attachTextBox(IDC_MAGNET_NAME)->setText(T_("Filename:"));
::SetDlgItemText(handle(), IDC_MAGNET_DISP_NAME, mFileName.c_str());
//queue = attachRadioButton(IDC_MAGNET_1_QUEUE);
Modified: dcplusplus/trunk/win32/MagnetDlg.h
===================================================================
--- dcplusplus/trunk/win32/MagnetDlg.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/MagnetDlg.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -25,7 +25,9 @@
// and can take filename, size, etc. values from there.
// - GargoyleMT
-class MagnetDlg : public SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>
+#include "WidgetFactory.h"
+
+class MagnetDlg : public WidgetFactory<SmartWin::WidgetModalDialog>
{
public:
MagnetDlg(SmartWin::Widget* parent, const tstring& aHash, const tstring& aFileName);
Modified: dcplusplus/trunk/win32/MainWindow.cpp
===================================================================
--- dcplusplus/trunk/win32/MainWindow.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/MainWindow.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -254,7 +254,7 @@
help->appendItem(IDC_HELP_DONATE, T_("Donate (paypal)"), std::tr1::bind(&MainWindow::handleLink, this, _1));
}
- mainMenu->attach();
+ mainMenu->setMenu();
}
void MainWindow::initToolbar() {
Modified: dcplusplus/trunk/win32/NetworkPage.cpp
===================================================================
--- dcplusplus/trunk/win32/NetworkPage.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/NetworkPage.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -100,12 +100,17 @@
RADIO_ATTACH(IDC_SOCKS5);
#undef RADIO_ATTACH
-#define TEXTBOX_ATTACH(id) attachTextBox(id)->setTextLimit(250)
- TEXTBOX_ATTACH(IDC_SOCKS_SERVER);
- TEXTBOX_ATTACH(IDC_SOCKS_PORT);
- TEXTBOX_ATTACH(IDC_SOCKS_USER);
- TEXTBOX_ATTACH(IDC_SOCKS_PASSWORD);
-#undef TEXTBOX_ATTACH
+#define TEXTBOX_LIMIT(id) attachTextBox(id)->setTextLimit(250)
+ TEXTBOX_LIMIT(IDC_SOCKS_SERVER);
+ TEXTBOX_LIMIT(IDC_SOCKS_PORT);
+ TEXTBOX_LIMIT(IDC_SOCKS_USER);
+ TEXTBOX_LIMIT(IDC_SOCKS_PASSWORD);
+#undef TEXTBOX_LIMIT
+
+ attachTextBox(IDC_PORT_TCP);
+ attachTextBox(IDC_PORT_UDP);
+ attachTextBox(IDC_PORT_TLS);
+ attachTextBox(IDC_EXTERNAL_IP);
}
NetworkPage::~NetworkPage() {
Modified: dcplusplus/trunk/win32/PropPage.cpp
===================================================================
--- dcplusplus/trunk/win32/PropPage.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/PropPage.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -23,8 +23,8 @@
#include "PropPage.h"
#include <dcpp/SettingsManager.h>
+#include "WinUtil.h"
-
PropPage::PropPage(SmartWin::Widget* parent) : WidgetFactory<SmartWin::WidgetDialog>(parent) {
onRaw(std::tr1::bind(&PropPage::handleHelp, this, _1, _2), SmartWin::Message(WM_HELP));
}
Modified: dcplusplus/trunk/win32/PropPage.h
===================================================================
--- dcplusplus/trunk/win32/PropPage.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/PropPage.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -22,7 +22,6 @@
#define SETTINGS_BUF_LEN 1024
#include "WidgetFactory.h"
-#include "resource.h"
class PropPage : public WidgetFactory<SmartWin::WidgetDialog>
{
Modified: dcplusplus/trunk/win32/QueuePage.cpp
===================================================================
--- dcplusplus/trunk/win32/QueuePage.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/QueuePage.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -84,6 +84,17 @@
PropPage::translate(handle(), texts);
PropPage::read(handle(), items, 0, 0);
PropPage::read(handle(), items, optionItems, ::GetDlgItem(handle(), IDC_OTHER_QUEUE_OPTIONS));
+
+ attachTextBox(IDC_PRIO_HIGHEST_SIZE);
+ attachTextBox(IDC_PRIO_NORMAL_SIZE);
+ attachTextBox(IDC_PRIO_HIGH_SIZE);
+ attachTextBox(IDC_PRIO_LOW_SIZE);
+ attachTextBox(IDC_AUTODROP_SPEED);
+ attachTextBox(IDC_AUTODROP_ELAPSED);
+ attachTextBox(IDC_AUTODROP_MINSOURCES);
+ attachTextBox(IDC_AUTODROP_INTERVAL);
+ attachTextBox(IDC_AUTODROP_INACTIVITY);
+ attachTextBox(IDC_AUTODROP_FILESIZE);
}
QueuePage::~QueuePage() {
Modified: dcplusplus/trunk/win32/TransferView.h
===================================================================
--- dcplusplus/trunk/win32/TransferView.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/TransferView.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -25,6 +25,7 @@
#include <dcpp/QueueManagerListener.h>
#include <dcpp/TaskQueue.h>
#include <dcpp/forward.h>
+#include <dcpp/MerkleTree.h>
#include <dcpp/Util.h>
#include "AspectSpeaker.h"
Modified: dcplusplus/trunk/win32/UploadPage.cpp
===================================================================
--- dcplusplus/trunk/win32/UploadPage.cpp 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/UploadPage.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -103,6 +103,9 @@
spinner = attachSpinner(IDC_MIN_UPLOAD_SPIN);
spinner->setRange(0, UD_MAXVAL);
+
+ attachTextBox(IDC_MIN_UPLOAD_SPEED);
+ attachTextBox(IDC_SLOTS);
}
UploadPage::~UploadPage() {
Added: dcplusplus/trunk/win32/WidgetComboBox.cpp
===================================================================
--- dcplusplus/trunk/win32/WidgetComboBox.cpp (rev 0)
+++ dcplusplus/trunk/win32/WidgetComboBox.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2001-2008 Jacek Sieka, arnetheduck on gmail point com
+ *
+ * This program 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.
+ *
+ * This program 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 this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include "stdafx.h"
+
+#include "WidgetComboBox.h"
+
+WidgetComboBox::WidgetComboBox( SmartWin::Widget * parent ) : BaseType(parent), textBox(0) {
+}
+
+WidgetComboBox::WidgetTextBoxPtr WidgetComboBox::getTextBox() {
+ if(!textBox) {
+ LONG_PTR style = ::GetWindowLongPtr(handle(), GWL_STYLE);
+ if((style & CBS_SIMPLE) == CBS_SIMPLE || (style & CBS_DROPDOWN) == CBS_DROPDOWN) {
+ HWND wnd = ::FindWindowEx(handle(), NULL, _T("EDIT"), NULL);
+ if(wnd && wnd != handle())
+ textBox = SmartWin::WidgetCreator< WidgetTextBox >::attach(this, wnd);
+ }
+ }
+ return textBox;
+}
Added: dcplusplus/trunk/win32/WidgetComboBox.h
===================================================================
--- dcplusplus/trunk/win32/WidgetComboBox.h (rev 0)
+++ dcplusplus/trunk/win32/WidgetComboBox.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2001-2008 Jacek Sieka, arnetheduck on gmail point com
+ *
+ * This program 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.
+ *
+ * This program 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 this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef DCPLUSPLUS_WIN32_WIDGETCOMBOBOX_H_
+#define DCPLUSPLUS_WIN32_WIDGETCOMBOBOX_H_
+
+#include "WidgetTextBox.h"
+
+class WidgetComboBox : public SmartWin::WidgetComboBox {
+private:
+ typedef SmartWin::WidgetComboBox BaseType;
+public:
+ typedef WidgetComboBox ThisType;
+
+ typedef ThisType* ObjectType;
+
+ explicit WidgetComboBox( SmartWin::Widget * parent );
+
+ typedef WidgetTextBox::ObjectType WidgetTextBoxPtr;
+ WidgetTextBoxPtr getTextBox();
+
+private:
+ WidgetTextBoxPtr textBox;
+};
+
+#endif /*WIDGETCOMBOBOX_H_*/
Modified: dcplusplus/trunk/win32/WidgetFactory.h
===================================================================
--- dcplusplus/trunk/win32/WidgetFactory.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/WidgetFactory.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -20,6 +20,7 @@
#define DCPLUSPLUS_WIN32_WIDGETFACTORY2_H_
#include "WidgetTextBox.h"
+#include "WidgetComboBox.h"
#include "WidgetPaned.h"
/**
@@ -44,6 +45,20 @@
return SmartWin::WidgetCreator< WidgetTextBox >::attach( this, id );
}
+ /// ComboBox class type.
+ typedef ::WidgetComboBox WidgetComboBox;
+
+ /// ComboBox object type.
+ typedef typename WidgetComboBox::ObjectType WidgetComboBoxPtr;
+
+ WidgetComboBoxPtr createComboBox( const WidgetComboBox::Seed & cs = WidgetComboBox::Seed() ) {
+ return SmartWin::WidgetCreator< WidgetComboBox >::create( this, cs );
+ }
+
+ WidgetComboBoxPtr attachComboBox( unsigned id ) {
+ return SmartWin::WidgetCreator< WidgetComboBox >::attach( this, id );
+ }
+
/// VPaned class type.
typedef WidgetPaned< false > WidgetVPaned;
Added: dcplusplus/trunk/win32/WidgetTextBox.cpp
===================================================================
--- dcplusplus/trunk/win32/WidgetTextBox.cpp (rev 0)
+++ dcplusplus/trunk/win32/WidgetTextBox.cpp 2008-03-02 20:31:51 UTC (rev 1023)
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2001-2008 Jacek Sieka, arnetheduck on gmail point com
+ *
+ * This program 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.
+ *
+ * This program 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 this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include "stdafx.h"
+
+#include "WidgetTextBox.h"
+
+#include "WinUtil.h"
+
+WidgetTextBox::WidgetTextBox( SmartWin::Widget * parent ) : BaseType(parent), menuOpened(false) {
+ this->onLeftMouseDblClick(std::tr1::bind(&WidgetTextBox::handleLeftDblClick, this, _1));
+
+ this->onRaw(std::tr1::bind(&WidgetTextBox::handleEnterIdle, this, _1, _2), SmartWin::Message(WM_ENTERIDLE));
+ this->onRaw(std::tr1::bind(&WidgetTextBox::handleMenuSelect, this, _1, _2), SmartWin::Message(WM_MENUSELECT));
+}
+
+void WidgetTextBox::handleLeftDblClick(const SmartWin::MouseEventResult& ev) {
+ WinUtil::parseDBLClick(textUnderCursor(ev.pos));
+}
+
+LRESULT WidgetTextBox::handleEnterIdle(WPARAM wParam, LPARAM lParam) {
+ if(wParam == MSGF_MENU && !menuOpened) {
+ menu = SmartWin::WidgetCreator<SmartWin::WidgetMenu>::attach(this, reinterpret_cast<HMENU>(::SendMessage(reinterpret_cast<HWND>(lParam), MN_GETHMENU, 0, 0)), WinUtil::Seeds::menu);
+ menuOpened = true;
+ }
+ return 0;
+}
+
+LRESULT WidgetTextBox::handleMenuSelect(WPARAM wParam, LPARAM lParam) {
+ if((HIWORD(wParam) == 0xFFFF) && (lParam == 0))
+ menuOpened = false;
+ return 0;
+}
Modified: dcplusplus/trunk/win32/WidgetTextBox.h
===================================================================
--- dcplusplus/trunk/win32/WidgetTextBox.h 2008-03-01 23:16:58 UTC (rev 1022)
+++ dcplusplus/trunk/win32/WidgetTextBox.h 2008-03-02 20:31:51 UTC (rev 1023)
@@ -19,9 +19,7 @@
#ifndef DCPLUSPLUS_WIN32_WIDGETTEXTBOX_H_
#define DCPLUSPLUS_WIN32_WIDGETTEXTBOX_H_
-#include "WinUtil.h"
-
-/** Our own flavour of text boxes that handle double clicks */
+/** Our own flavour of text boxes that handle double clicks and have fancy menus */
class WidgetTextBox : public SmartWin::WidgetTextBox {
private:
typedef SmartWin::WidgetTextBox BaseType;
@@ -30,14 +28,16 @@
typedef ThisType* ObjectType;
- explicit WidgetTextBox( SmartWin::Widget * parent ) : BaseType(parent) {
- this->onLeftMouseDblClick(std::tr1::bind(&WidgetTextBox::handleLeftDblClick, this, _1));
- }
+ explicit WidgetTextBox( SmartWin::Widget * parent );
private:
- void handleLeftDblClick(const SmartWin::MouseEventResult& ev) {
- WinUtil::parseDBLClick(textUnderCursor(ev.pos));
- }
+ void handleLeftDblClick(const SmartWin::MouseEventResult& ev);
+
+ LRESULT handleEnterIdle(WPARAM wParam, LPARAM lParam);
+ LRESULT handleMenuSelect(WPARAM wParam, LPARAM lParam);
+
+ SmartWin::WidgetMenu::ObjectType menu;
+ bool menuOpened;
};
#endif /*WIDGETTEXTBOX_H_*/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arn...@us...> - 2008-03-01 23:17:01
|
Revision: 1022
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1022&view=rev
Author: arnetheduck
Date: 2008-03-01 15:16:58 -0800 (Sat, 01 Mar 2008)
Log Message:
-----------
boostify some mem handling
Modified Paths:
--------------
dcplusplus/trunk/dcpp/AdcHub.cpp
dcplusplus/trunk/dcpp/BufferedSocket.cpp
dcplusplus/trunk/dcpp/CryptoManager.cpp
dcplusplus/trunk/dcpp/DirectoryListing.cpp
dcplusplus/trunk/dcpp/DownloadManager.cpp
dcplusplus/trunk/dcpp/File.cpp
dcplusplus/trunk/dcpp/FilteredFile.h
dcplusplus/trunk/dcpp/HashManager.cpp
dcplusplus/trunk/dcpp/NmdcHub.cpp
dcplusplus/trunk/dcpp/SearchManager.cpp
dcplusplus/trunk/dcpp/ShareManager.cpp
dcplusplus/trunk/dcpp/Streams.h
dcplusplus/trunk/dcpp/Util.cpp
dcplusplus/trunk/dcpp/Util.h
dcplusplus/trunk/dcpp/stdinc.h
dcplusplus/trunk/win32/PropPage.cpp
dcplusplus/trunk/win32/WinUtil.cpp
Modified: dcplusplus/trunk/dcpp/AdcHub.cpp
===================================================================
--- dcplusplus/trunk/dcpp/AdcHub.cpp 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/dcpp/AdcHub.cpp 2008-03-01 23:16:58 UTC (rev 1022)
@@ -643,15 +643,15 @@
return;
if(!salt.empty()) {
size_t saltBytes = salt.size() * 5 / 8;
- AutoArray<uint8_t> buf(saltBytes);
- Encoder::fromBase32(salt.c_str(), buf, saltBytes);
+ boost::scoped_array<uint8_t> buf(new uint8_t[saltBytes]);
+ Encoder::fromBase32(salt.c_str(), &buf[0], saltBytes);
TigerHash th;
if(oldPassword) {
CID cid = getMyIdentity().getUser()->getCID();
th.update(cid.data(), CID::SIZE);
}
th.update(pwd.data(), pwd.length());
- th.update(buf, saltBytes);
+ th.update(&buf[0], saltBytes);
send(AdcCommand(AdcCommand::CMD_PAS, AdcCommand::TYPE_HUB).addParam(Encoder::toBase32(th.finalize(), TigerHash::BYTES)));
salt.clear();
}
Modified: dcplusplus/trunk/dcpp/BufferedSocket.cpp
===================================================================
--- dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-01 23:16:58 UTC (rev 1022)
@@ -183,7 +183,7 @@
const int BufSize = 1024;
// Special to autodetect nmdc connections...
string::size_type pos = 0;
- AutoArray<uint8_t> buffer (BufSize);
+ boost::scoped_array<uint8_t> buffer (new uint8_t[BufSize]);
size_t in;
l = line;
// decompress all input data and store in l.
Modified: dcplusplus/trunk/dcpp/CryptoManager.cpp
===================================================================
--- dcplusplus/trunk/dcpp/CryptoManager.cpp 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/dcpp/CryptoManager.cpp 2008-03-01 23:16:58 UTC (rev 1022)
@@ -346,12 +346,12 @@
// We assume that the files aren't compressed more than 2:1...if they are it'll work anyway,
// but we'll have to do multiple passes...
size_t bufsize = 2*sz;
- AutoArray<char> buf(bufsize);
+ boost::scoped_array<char> buf(new char[bufsize]);
bs.avail_in = sz;
bs.avail_out = bufsize;
bs.next_in = (char*)(const_cast<uint8_t*>(is));
- bs.next_out = buf;
+ bs.next_out = &buf[0];
int err;
@@ -362,13 +362,13 @@
BZ2_bzDecompressEnd(&bs);
throw CryptoException(_("Error during decompression"));
}
- os.append(buf, bufsize-bs.avail_out);
+ os.append(&buf[0], bufsize-bs.avail_out);
bs.avail_out = bufsize;
- bs.next_out = buf;
+ bs.next_out = &buf[0];
}
if(err == BZ_STREAM_END)
- os.append(buf, bufsize-bs.avail_out);
+ os.append(&buf[0], bufsize-bs.avail_out);
BZ2_bzDecompressEnd(&bs);
@@ -379,7 +379,7 @@
}
string CryptoManager::keySubst(const uint8_t* aKey, size_t len, size_t n) {
- AutoArray<uint8_t> temp(len + n * 10);
+ boost::scoped_array<uint8_t> temp(new uint8_t[len + n * 10]);
size_t j=0;
@@ -400,14 +400,14 @@
temp[j++] = aKey[i];
}
}
- return string((char*)(uint8_t*)temp, j);
+ return string((const char*)&temp[0], j);
}
string CryptoManager::makeKey(const string& aLock) {
if(aLock.size() < 3)
return Util::emptyString;
- AutoArray<uint8_t> temp(aLock.length());
+ boost::scoped_array<uint8_t> temp(new uint8_t[aLock.length()]);
uint8_t v1;
size_t extra=0;
@@ -431,7 +431,7 @@
extra++;
}
- return keySubst(temp, aLock.length(), extra);
+ return keySubst(&temp[0], aLock.length(), extra);
}
} // namespace dcpp
Modified: dcplusplus/trunk/dcpp/DirectoryListing.cpp
===================================================================
--- dcplusplus/trunk/dcpp/DirectoryListing.cpp 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/dcpp/DirectoryListing.cpp 2008-03-01 23:16:58 UTC (rev 1022)
@@ -83,13 +83,13 @@
dcpp::File ff(name, dcpp::File::READ, dcpp::File::OPEN);
FilteredInputStream<UnBZFilter, false> f(&ff);
const size_t BUF_SIZE = 64*1024;
- AutoArray<char> buf(BUF_SIZE);
+ boost::scoped_array<char> buf(new char[BUF_SIZE]);
size_t len;
size_t bytesRead = 0;
for(;;) {
size_t n = BUF_SIZE;
- len = f.read(buf, n);
- txt.append(buf, len);
+ len = f.read(&buf[0], n);
+ txt.append(&buf[0], len);
bytesRead += len;
if(SETTING(MAX_FILELIST_SIZE) && bytesRead > (size_t)SETTING(MAX_FILELIST_SIZE)*1024*1024)
break;
Modified: dcplusplus/trunk/dcpp/DownloadManager.cpp
===================================================================
--- dcplusplus/trunk/dcpp/DownloadManager.cpp 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/dcpp/DownloadManager.cpp 2008-03-01 23:16:58 UTC (rev 1022)
@@ -350,9 +350,9 @@
CalcInputStream<CRC32Filter, false> f(&ff);
const size_t BUF_SIZE = 1024*1024;
- AutoArray<uint8_t> b(BUF_SIZE);
+ boost::scoped_array<uint8_t> b(new uint8_t[BUF_SIZE]);
size_t n = BUF_SIZE;
- while(f.read((uint8_t*)b, n) > 0)
+ while(f.read(&b[0], n) > 0)
; // Keep on looping...
return f.getFilter().getValue();
Modified: dcplusplus/trunk/dcpp/File.cpp
===================================================================
--- dcplusplus/trunk/dcpp/File.cpp 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/dcpp/File.cpp 2008-03-01 23:16:58 UTC (rev 1022)
@@ -350,13 +350,13 @@
// This doesn't assume all bytes are written in one write call, it is a bit safer
void File::copyFile(const string& source, const string& target) throw(FileException) {
const size_t BUF_SIZE = 64 * 1024;
- AutoArray<char> buffer(BUF_SIZE);
+ boost::scoped_array<char> buffer(BUF_SIZE);
size_t count = BUF_SIZE;
File src(source, File::READ, 0);
File dst(target, File::WRITE, File::CREATE | File::TRUNCATE);
- while(src.read((char*)buffer, count) > 0) {
- char* p = (char*)buffer;
+ while(src.read(&buffer[0], count) > 0) {
+ char* p = &buffer[0];
while(count > 0) {
size_t ret = dst.write(p, count);
p += ret;
Modified: dcplusplus/trunk/dcpp/FilteredFile.h
===================================================================
--- dcplusplus/trunk/dcpp/FilteredFile.h 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/dcpp/FilteredFile.h 2008-03-01 23:16:58 UTC (rev 1022)
@@ -95,7 +95,7 @@
public:
using OutputStream::write;
- FilteredOutputStream(OutputStream* aFile) : f(aFile), buf(BUF_SIZE), flushed(false) { }
+ FilteredOutputStream(OutputStream* aFile) : f(aFile), buf(new uint8_t[BUF_SIZE]), flushed(false) { }
~FilteredOutputStream() throw() { if(manage) delete f; }
size_t flush() throw(Exception) {
@@ -108,9 +108,9 @@
for(;;) {
size_t n = BUF_SIZE;
size_t zero = 0;
- bool more = filter(NULL, zero, buf, n);
+ bool more = filter(NULL, zero, &buf[0], n);
- written += f->write(buf, n);
+ written += f->write(&buf[0], n);
if(!more)
break;
@@ -128,11 +128,11 @@
size_t n = BUF_SIZE;
size_t m = len;
- bool more = filter(wb, m, buf, n);
+ bool more = filter(wb, m, &buf[0], n);
wb += m;
len -= m;
- written += f->write(buf, n);
+ written += f->write(&buf[0], n);
if(!more) {
if(len > 0) {
@@ -151,14 +151,14 @@
OutputStream* f;
Filter filter;
- AutoArray<uint8_t> buf;
+ boost::scoped_array<uint8_t> buf;
bool flushed;
};
template<class Filter, bool managed>
class FilteredInputStream : public InputStream {
public:
- FilteredInputStream(InputStream* aFile) : f(aFile), buf(BUF_SIZE), pos(0), valid(0), more(true) { }
+ FilteredInputStream(InputStream* aFile) : f(aFile), buf(new uint8_t[BUF_SIZE]), pos(0), valid(0), more(true) { }
virtual ~FilteredInputStream() throw() { if(managed) delete f; }
/**
@@ -177,13 +177,13 @@
size_t curRead = BUF_SIZE;
if(valid == 0) {
dcassert(pos == 0);
- valid = f->read(buf, curRead);
+ valid = f->read(&buf[0], curRead);
totalRead += curRead;
}
size_t n = len - totalProduced;
size_t m = valid - pos;
- more = filter(buf + pos, m, rb, n);
+ more = filter(&buf[pos], m, rb, n);
pos += m;
if(pos == valid) {
valid = pos = 0;
@@ -200,7 +200,7 @@
InputStream* f;
Filter filter;
- AutoArray<uint8_t> buf;
+ boost::scoped_array<uint8_t> buf;
size_t pos;
size_t valid;
bool more;
Modified: dcplusplus/trunk/dcpp/HashManager.cpp
===================================================================
--- dcplusplus/trunk/dcpp/HashManager.cpp 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/dcpp/HashManager.cpp 2008-03-01 23:16:58 UTC (rev 1022)
@@ -153,9 +153,9 @@
try {
f.setPos(ti.getIndex());
size_t datalen = TigerTree::calcBlocks(ti.getSize(), ti.getBlockSize()) * TTHValue::BYTES;
- AutoArray<uint8_t> buf(datalen);
- f.read((uint8_t*)buf, datalen);
- tt = TigerTree(ti.getSize(), ti.getBlockSize(), buf);
+ boost::scoped_array<uint8_t> buf(new uint8_t[datalen]);
+ f.read(&buf[0], datalen);
+ tt = TigerTree(ti.getSize(), ti.getBlockSize(), &buf[0]);
if(!(tt.getRoot() == root))
return false;
} catch(const Exception&) {
Modified: dcplusplus/trunk/dcpp/NmdcHub.cpp
===================================================================
--- dcplusplus/trunk/dcpp/NmdcHub.cpp 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/dcpp/NmdcHub.cpp 2008-03-01 23:16:58 UTC (rev 1022)
@@ -807,7 +807,6 @@
void NmdcHub::search(int aSizeType, int64_t aSize, int aFileType, const string& aString, const string&) {
checkstate();
- AutoArray<char> buf((char*)NULL);
char c1 = (aSizeType == SearchManager::SIZE_DONTCARE) ? 'F' : 'T';
char c2 = (aSizeType == SearchManager::SIZE_ATLEAST) ? 'F' : 'T';
string tmp = ((aFileType == SearchManager::TYPE_TTH) ? "TTH:" + aString : fromUtf8(escape(aString)));
@@ -815,19 +814,19 @@
while((i = tmp.find(' ')) != string::npos) {
tmp[i] = '$';
}
- int chars = 0;
size_t BUF_SIZE;
+ string tmp2;
if(ClientManager::getInstance()->isActive()) {
string x = getLocalIp();
BUF_SIZE = x.length() + aString.length() + 64;
- buf = new char[BUF_SIZE];
- chars = snprintf(buf, BUF_SIZE, "$Search %s:%d %c?%c?%s?%d?%s|", x.c_str(), (int)SearchManager::getInstance()->getPort(), c1, c2, Util::toString(aSize).c_str(), aFileType+1, tmp.c_str());
+ tmp2.resize(BUF_SIZE);
+ tmp2.resize(snprintf(&tmp2[0], tmp2.size(), "$Search %s:%d %c?%c?%s?%d?%s|", x.c_str(), (int)SearchManager::getInstance()->getPort(), c1, c2, Util::toString(aSize).c_str(), aFileType+1, tmp.c_str()));
} else {
BUF_SIZE = getMyNick().length() + aString.length() + 64;
- buf = new char[BUF_SIZE];
- chars = snprintf(buf, BUF_SIZE, "$Search Hub:%s %c?%c?%s?%d?%s|", fromUtf8(getMyNick()).c_str(), c1, c2, Util::toString(aSize).c_str(), aFileType+1, tmp.c_str());
+ tmp2.resize(BUF_SIZE);
+ tmp2.resize(snprintf(&tmp2[0], tmp2.size(), "$Search Hub:%s %c?%c?%s?%d?%s|", fromUtf8(getMyNick()).c_str(), c1, c2, Util::toString(aSize).c_str(), aFileType+1, tmp.c_str()));
}
- send(buf, chars);
+ send(tmp2);
}
string NmdcHub::validateMessage(string tmp, bool reverse) {
Modified: dcplusplus/trunk/dcpp/SearchManager.cpp
===================================================================
--- dcplusplus/trunk/dcpp/SearchManager.cpp 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/dcpp/SearchManager.cpp 2008-03-01 23:16:58 UTC (rev 1022)
@@ -145,15 +145,15 @@
#define BUFSIZE 8192
int SearchManager::run() {
- AutoArray<uint8_t> buf(BUFSIZE);
+ boost::scoped_array<uint8_t> buf(new uint8_t[BUFSIZE]);
int len;
while(true) {
string remoteAddr;
try {
- while( (len = socket->read((uint8_t*)buf, BUFSIZE, remoteAddr)) != 0) {
- onData(buf, len, remoteAddr);
+ while( (len = socket->read(&buf[0], BUFSIZE, remoteAddr)) != 0) {
+ onData(&buf[0], len, remoteAddr);
}
} catch(const SocketException& e) {
dcdebug("SearchManager::run Error: %s\n", e.getError().c_str());
Modified: dcplusplus/trunk/dcpp/ShareManager.cpp
===================================================================
--- dcplusplus/trunk/dcpp/ShareManager.cpp 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/dcpp/ShareManager.cpp 2008-03-01 23:16:58 UTC (rev 1022)
@@ -363,12 +363,12 @@
dcpp::File ff(Util::getConfigPath() + "files.xml.bz2", dcpp::File::READ, dcpp::File::OPEN);
FilteredInputStream<UnBZFilter, false> f(&ff);
const size_t BUF_SIZE = 64*1024;
- AutoArray<char> buf(BUF_SIZE);
+ boost::scoped_array<char> buf(new char[BUF_SIZE]);
size_t len;
for(;;) {
size_t n = BUF_SIZE;
- len = f.read(buf, n);
- txt.append(buf, len);
+ len = f.read(&buf[0], n);
+ txt.append(&buf[0], len);
if(len < BUF_SIZE)
break;
}
Modified: dcplusplus/trunk/dcpp/Streams.h
===================================================================
--- dcplusplus/trunk/dcpp/Streams.h 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/dcpp/Streams.h 2008-03-01 23:16:58 UTC (rev 1022)
@@ -127,7 +127,7 @@
public:
using OutputStream::write;
- BufferedOutputStream(OutputStream* aStream, size_t aBufSize = SETTING(BUFFER_SIZE) * 1024) : s(aStream), pos(0), bufSize(aBufSize), buf(aBufSize) { }
+ BufferedOutputStream(OutputStream* aStream, size_t aBufSize = SETTING(BUFFER_SIZE) * 1024) : s(aStream), pos(0), buf(aBufSize) { }
virtual ~BufferedOutputStream() throw() {
try {
// We must do this in order not to lose bytes when a download
@@ -140,7 +140,7 @@
virtual size_t flush() throw(Exception) {
if(pos > 0)
- s->write(buf, pos);
+ s->write(&buf[0], pos);
pos = 0;
s->flush();
return 0;
@@ -149,18 +149,19 @@
virtual size_t write(const void* wbuf, size_t len) throw(Exception) {
uint8_t* b = (uint8_t*)wbuf;
size_t l2 = len;
+ size_t bufSize = buf.size();
while(len > 0) {
if(pos == 0 && len >= bufSize) {
s->write(b, len);
break;
} else {
size_t n = min(bufSize - pos, len);
- memcpy(buf + pos, b, n);
+ memcpy(&buf[pos], b, n);
b += n;
pos += n;
len -= n;
if(pos == bufSize) {
- s->write(buf, bufSize);
+ s->write(&buf[0], bufSize);
pos = 0;
}
}
@@ -170,8 +171,7 @@
private:
OutputStream* s;
size_t pos;
- size_t bufSize;
- AutoArray<uint8_t> buf;
+ ByteVector buf;
};
class StringOutputStream : public OutputStream {
Modified: dcplusplus/trunk/dcpp/Util.cpp
===================================================================
--- dcplusplus/trunk/dcpp/Util.cpp 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/dcpp/Util.cpp 2008-03-01 23:16:58 UTC (rev 1022)
@@ -669,17 +669,18 @@
tmp[1] = tmp[2] = tmp[3] = 0;
StringMap sm;
- AutoArray<char> buf(1024);
+ static const size_t BUF_SIZE = 1024;
+ boost::scoped_array<char> buf(new char[BUF_SIZE]);
for(size_t i = 0; i < strlen(codes); ++i) {
tmp[1] = codes[i];
tmp[2] = 0;
- strftime(buf, 1024-1, tmp, t);
- sm[tmp] = buf;
+ strftime(&buf[0], BUF_SIZE-1, tmp, t);
+ sm[tmp] = &buf[0];
tmp[1] = '#';
tmp[2] = codes[i];
- strftime(buf, 1024-1, tmp, t);
- sm[tmp] = buf;
+ strftime(&buf[0], BUF_SIZE-1, tmp, t);
+ sm[tmp] = &buf[0];
}
for(StringMapIter i = sm.begin(); i != sm.end(); ++i) {
@@ -701,13 +702,15 @@
return Util::emptyString;
}
#if _WIN32
- AutoArray<TCHAR> buf(bufsize);
+ tstring buf(bufsize, 0);
- if(!_tcsftime(buf, bufsize-1, Text::toT(msg).c_str(), loc)) {
+ buf.resize(_tcsftime(&buf[0], buf.size()-1, Text::toT(msg).c_str(), loc));
+
+ if(buf.empty()) {
return fixedftime(msg, loc);
}
- return Text::fromT(tstring(buf));
+ return Text::fromT(buf);
#else
// will this give wide representations for %a and %A?
// surely win32 can't have a leg up on linux/unixen in this area. - Todd
Modified: dcplusplus/trunk/dcpp/Util.h
===================================================================
--- dcplusplus/trunk/dcpp/Util.h 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/dcpp/Util.h 2008-03-01 23:16:58 UTC (rev 1022)
@@ -87,22 +87,6 @@
template<typename T1>
inline int compare(const T1& v1, const T1& v2) { return (v1 < v2) ? -1 : ((v1 == v2) ? 0 : 1); }
-template<typename T>
-class AutoArray {
- typedef T* TPtr;
-public:
- explicit AutoArray(TPtr t) : p(t) { }
- explicit AutoArray(size_t size) : p(new T[size]) { }
- ~AutoArray() { delete[] p; }
- operator TPtr() { return p; }
- AutoArray& operator=(TPtr t) { delete[] p; p = t; return *this; }
-private:
- AutoArray(const AutoArray&);
- AutoArray& operator=(const AutoArray&);
-
- TPtr p;
-};
-
class Util
{
public:
Modified: dcplusplus/trunk/dcpp/stdinc.h
===================================================================
--- dcplusplus/trunk/dcpp/stdinc.h 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/dcpp/stdinc.h 2008-03-01 23:16:58 UTC (rev 1022)
@@ -120,6 +120,7 @@
#include <libintl.h>
#include <boost/format.hpp>
+#include <boost/scoped_array.hpp>
#ifdef _STLPORT_VERSION
Modified: dcplusplus/trunk/win32/PropPage.cpp
===================================================================
--- dcplusplus/trunk/win32/PropPage.cpp 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/win32/PropPage.cpp 2008-03-01 23:16:58 UTC (rev 1022)
@@ -92,22 +92,24 @@
SettingsManager* settings = SettingsManager::getInstance();
- AutoArray<TCHAR> buf(SETTINGS_BUF_LEN);
+ tstring buf;
for(Item const* i = items; i->type != T_END; i++)
{
switch(i->type)
{
case T_STR:
{
- ::GetDlgItemText(page, i->itemID, buf, SETTINGS_BUF_LEN);
- settings->set((SettingsManager::StrSetting)i->setting, Text::fromT(tstring(buf)));
+ buf.resize(SETTINGS_BUF_LEN);
+ buf.resize(::GetDlgItemText(page, i->itemID, &buf[0], buf.size()));
+ settings->set((SettingsManager::StrSetting)i->setting, Text::fromT(buf));
break;
}
case T_INT:
{
- ::GetDlgItemText(page, i->itemID, buf, SETTINGS_BUF_LEN);
- settings->set((SettingsManager::IntSetting)i->setting, Text::fromT(tstring(buf)));
+ buf.resize(SETTINGS_BUF_LEN);
+ buf.resize(::GetDlgItemText(page, i->itemID, &buf[0], buf.size()));
+ settings->set((SettingsManager::IntSetting)i->setting, Text::fromT(buf));
break;
}
case T_BOOL:
@@ -120,7 +122,7 @@
}
}
- if(listItems != NULL) {
+ if(listItems) {
int i;
for(i = 0; listItems[i].setting != 0; i++) {
settings->set(SettingsManager::IntSetting(listItems[i].setting), ListView_GetCheckState(list, i) > 0);
Modified: dcplusplus/trunk/win32/WinUtil.cpp
===================================================================
--- dcplusplus/trunk/win32/WinUtil.cpp 2008-03-01 22:39:24 UTC (rev 1021)
+++ dcplusplus/trunk/win32/WinUtil.cpp 2008-03-01 23:16:58 UTC (rev 1022)
@@ -904,9 +904,9 @@
STARTUPINFO si = { sizeof(si), 0 };
PROCESS_INFORMATION pi = { 0 };
- AutoArray<TCHAR> buf(cmdLine.length() + 1);
- _tcscpy(buf, cmdLine.c_str());
- if(::CreateProcess(cmd.c_str(), buf, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) {
+ boost::scoped_ptr<TCHAR> buf(new TCHAR[cmdLine.length() + 1]);
+ _tcscpy(&buf[0], cmdLine.c_str());
+ if(::CreateProcess(cmd.c_str(), &buf[0], NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) {
::CloseHandle(pi.hThread);
::CloseHandle(pi.hProcess);
return;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arn...@us...> - 2008-03-01 22:39:32
|
Revision: 1021
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1021&view=rev
Author: arnetheduck
Date: 2008-03-01 14:39:24 -0800 (Sat, 01 Mar 2008)
Log Message:
-----------
Simplify memory handling
Modified Paths:
--------------
dcplusplus/trunk/smartwin/source/widgets/WidgetListView.cpp
Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetListView.cpp
===================================================================
--- dcplusplus/trunk/smartwin/source/widgets/WidgetListView.cpp 2008-03-01 22:00:01 UTC (rev 1020)
+++ dcplusplus/trunk/smartwin/source/widgets/WidgetListView.cpp 2008-03-01 22:39:24 UTC (rev 1021)
@@ -4,6 +4,8 @@
#include "../../include/smartwin/LibraryLoader.h"
+#include <boost/scoped_array.hpp>
+
namespace SmartWin {
bool WidgetListView::ComCtl6 = false;
@@ -408,28 +410,19 @@
logicalColumn = - 1;
HWND hHeader = reinterpret_cast< HWND >( ::SendMessage( hWnd, LVM_GETHEADER, 0, 0 ) );
int noItems = ::SendMessage( hHeader, HDM_GETITEMCOUNT, 0, 0 );
- int * myArrayOfCols = new int[noItems]; // TODO: Use boost::scoped_array or something...
+ boost::scoped_array<int> myArrayOfCols(new int[noItems]);
int xOffset = 0;
- try
+ ::SendMessage( hHeader, HDM_GETORDERARRAY, static_cast< WPARAM >( noItems ), reinterpret_cast< LPARAM >( myArrayOfCols.get() ) );
+ for ( int idx = 0; idx < noItems; ++idx )
{
- ::SendMessage( hHeader, HDM_GETORDERARRAY, static_cast< WPARAM >( noItems ), reinterpret_cast< LPARAM >( myArrayOfCols ) );
- for ( int idx = 0; idx < noItems; ++idx )
+ if ( myArrayOfCols[idx] == column )
{
- if ( myArrayOfCols[idx] == column )
- {
- logicalColumn = idx;
- break;
- }
- else
- xOffset += ListView_GetColumnWidth( hWnd, myArrayOfCols[idx] );
+ logicalColumn = idx;
+ break;
}
- delete [] myArrayOfCols;
+ else
+ xOffset += ListView_GetColumnWidth( hWnd, myArrayOfCols[idx] );
}
- catch ( ... )
- {
- delete [] myArrayOfCols;
- throw;
- }
return xOffset;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arn...@us...> - 2008-03-01 22:00:50
|
Revision: 1020
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1020&view=rev
Author: arnetheduck
Date: 2008-03-01 14:00:01 -0800 (Sat, 01 Mar 2008)
Log Message:
-----------
auto-coral all urls, mem leak fix
Modified Paths:
--------------
dcplusplus/trunk/changelog.txt
dcplusplus/trunk/dcpp/BufferedSocket.cpp
dcplusplus/trunk/dcpp/CryptoManager.cpp
dcplusplus/trunk/dcpp/FavoriteManager.h
dcplusplus/trunk/dcpp/HttpConnection.cpp
dcplusplus/trunk/dcpp/SettingsManager.cpp
dcplusplus/trunk/dcpp/SettingsManager.h
dcplusplus/trunk/win32/AboutDlg.cpp
dcplusplus/trunk/win32/AdvancedPage.cpp
dcplusplus/trunk/win32/MainWindow.cpp
Modified: dcplusplus/trunk/changelog.txt
===================================================================
--- dcplusplus/trunk/changelog.txt 2008-02-29 22:58:00 UTC (rev 1019)
+++ dcplusplus/trunk/changelog.txt 2008-03-01 22:00:01 UTC (rev 1020)
@@ -39,7 +39,9 @@
* Fixed clicking on active tab (poy)
* [L#195209] Fixed tabbing in hub windows (poy)
* [L#195209] Fixed Ctrl+F that opens favorite hubs (poy)
+* [L#194696] Fixed small memory leak
+
-- 0.704 2007-12-14 --
* Hub lists added to utilize Coral's distributed network (ullner)
* Use system header arrows on common controls 6+ (thanks poy)
Modified: dcplusplus/trunk/dcpp/BufferedSocket.cpp
===================================================================
--- dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-02-29 22:58:00 UTC (rev 1019)
+++ dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-01 22:00:01 UTC (rev 1020)
@@ -411,30 +411,34 @@
continue;
}
- switch(p.first) {
- case SEND_DATA:
- threadSendData(); break;
- case SEND_FILE:
- threadSendFile(((SendFileInfo*)p.second)->stream); break;
- case CONNECT:
- {
- ConnectInfo* ci = (ConnectInfo*)p.second;
- threadConnect(ci->addr, ci->port, ci->proxy);
+ try {
+ switch(p.first) {
+ case SEND_DATA:
+ threadSendData(); break;
+ case SEND_FILE:
+ threadSendFile(((SendFileInfo*)p.second)->stream); break;
+ case CONNECT:
+ {
+ ConnectInfo* ci = (ConnectInfo*)p.second;
+ threadConnect(ci->addr, ci->port, ci->proxy);
+ break;
+ }
+ case DISCONNECT:
+ if(isConnected())
+ fail(_("Disconnected"));
break;
- }
- case DISCONNECT:
- if(isConnected())
- fail(_("Disconnected"));
- break;
- case SHUTDOWN:
- return false;
- case ACCEPTED:
- break;
- case UPDATED:
- fire(BufferedSocketListener::Updated());
- break;
+ case SHUTDOWN:
+ return false;
+ case ACCEPTED:
+ break;
+ case UPDATED:
+ fire(BufferedSocketListener::Updated());
+ break;
+ }
+ } catch(...) {
+ delete p.second;
+ throw;
}
-
delete p.second;
}
return true;
Modified: dcplusplus/trunk/dcpp/CryptoManager.cpp
===================================================================
--- dcplusplus/trunk/dcpp/CryptoManager.cpp 2008-02-29 22:58:00 UTC (rev 1019)
+++ dcplusplus/trunk/dcpp/CryptoManager.cpp 2008-03-01 22:00:01 UTC (rev 1020)
@@ -149,7 +149,7 @@
ssl::X509 x509ss(X509_new());
if(!bn || !rsa || !pkey || !nm || !x509ss) {
- throw new CryptoException("Error creating objects for cert generation");
+ throw CryptoException("Error creating objects for cert generation");
}
int days = 10;
Modified: dcplusplus/trunk/dcpp/FavoriteManager.h
===================================================================
--- dcplusplus/trunk/dcpp/FavoriteManager.h 2008-02-29 22:58:00 UTC (rev 1019)
+++ dcplusplus/trunk/dcpp/FavoriteManager.h 2008-03-01 22:00:01 UTC (rev 1020)
@@ -122,6 +122,7 @@
int lastServer;
HubTypes listType;
string downloadBuf;
+ bool coral; ///< Currently downloading from a coraled list
/** Used during loading to prevent saving. */
bool dontSave;
Modified: dcplusplus/trunk/dcpp/HttpConnection.cpp
===================================================================
--- dcplusplus/trunk/dcpp/HttpConnection.cpp 2008-02-29 22:58:00 UTC (rev 1019)
+++ dcplusplus/trunk/dcpp/HttpConnection.cpp 2008-03-01 22:00:01 UTC (rev 1020)
@@ -26,6 +26,8 @@
namespace dcpp {
+static const std::string CORAL_SUFFIX = ".nyud.net";
+
/**
* Downloads a file and returns it as a string
* @todo Report exceptions
@@ -61,6 +63,12 @@
Util::decodeUrl(SETTING(HTTP_PROXY), server, port, file);
file = currentUrl;
}
+
+ if(SETTING(CORAL)) {
+ if(server.length() > CORAL_SUFFIX.length() && server.compare(server.length() - CORAL_SUFFIX.length(), CORAL_SUFFIX.length(), CORAL_SUFFIX) != 0) {
+ server += CORAL_SUFFIX;
+ }
+ }
if(port == 0)
port = 80;
Modified: dcplusplus/trunk/dcpp/SettingsManager.cpp
===================================================================
--- dcplusplus/trunk/dcpp/SettingsManager.cpp 2008-02-29 22:58:00 UTC (rev 1019)
+++ dcplusplus/trunk/dcpp/SettingsManager.cpp 2008-03-01 22:00:01 UTC (rev 1020)
@@ -77,7 +77,7 @@
"UseTLS", "AutoSearchLimit", "AltSortOrder", "AutoKickNoFavs", "PromptPassword", "SpyFrameIgnoreTthSearches",
"DontDlAlreadyQueued", "MaxCommandLength", "AllowUntrustedHubs", "AllowUntrustedClients",
"TLSPort", "FastHash", "SortFavUsersFirst", "ShowShellMenu", "MinSegmentSize", "FollowLinks",
- "SendBloom", "OwnerDrawnMenus",
+ "SendBloom", "OwnerDrawnMenus", "Coral",
"SENTRY",
// Int64
"TotalUpload", "TotalDownload",
@@ -136,7 +136,7 @@
setDefault(IGNORE_BOT_PMS, false);
setDefault(LIST_DUPES, true);
setDefault(BUFFER_SIZE, 64);
- setDefault(HUBLIST_SERVERS, "http://hublist.hubtracker.com.nyud.net/hublist.xml.bz2;http://dchublist.com.nyud.net/hublist.xml.bz2;http://adchublist.com.nyud.net/hublist.xml.bz2;http://www.hublist.org.nyud.net/PublicHubList.xml.bz2;http://dclist.eu.nyud.net/hublist.xml.bz2;http://download.hublist.cz.nyud.net/hublist.xml.bz2;http://hublist.awenet.info.nyud.net/PublicHubList.xml.bz2");
+ setDefault(HUBLIST_SERVERS, "http://hublist.hubtracker.com/hublist.xml.bz2;http://dchublist.com/hublist.xml.bz2;http://adchublist.com/hublist.xml.bz2;http://www.hublist.org/PublicHubList.xml.bz2;http://dclist.eu/hublist.xml.bz2;http://download.hublist.cz/hublist.xml.bz2;http://hublist.awenet.info/PublicHubList.xml.bz2");
setDefault(DOWNLOAD_SLOTS, 3);
setDefault(MAX_DOWNLOAD_SPEED, 0);
setDefault(LOG_DIRECTORY, Util::getConfigPath() + "Logs" PATH_SEPARATOR_STR);
@@ -274,7 +274,8 @@
setDefault(FOLLOW_LINKS, false);
setDefault(SEND_BLOOM, true);
setDefault(OWNER_DRAWN_MENUS, true);
-
+ setDefault(CORAL, true);
+
#ifdef _WIN32
setDefault(MAIN_WINDOW_STATE, SW_SHOWNORMAL);
setDefault(MAIN_WINDOW_SIZE_X, CW_USEDEFAULT);
Modified: dcplusplus/trunk/dcpp/SettingsManager.h
===================================================================
--- dcplusplus/trunk/dcpp/SettingsManager.h 2008-02-29 22:58:00 UTC (rev 1019)
+++ dcplusplus/trunk/dcpp/SettingsManager.h 2008-03-01 22:00:01 UTC (rev 1020)
@@ -90,7 +90,7 @@
USE_TLS, AUTO_SEARCH_LIMIT, ALT_SORT_ORDER, AUTO_KICK_NO_FAVS, PROMPT_PASSWORD, SPY_FRAME_IGNORE_TTH_SEARCHES,
DONT_DL_ALREADY_QUEUED, MAX_COMMAND_LENGTH, ALLOW_UNTRUSTED_HUBS, ALLOW_UNTRUSTED_CLIENTS,
TLS_PORT, FAST_HASH, SORT_FAVUSERS_FIRST, SHOW_SHELL_MENU, MIN_SEGMENT_SIZE, FOLLOW_LINKS,
- SEND_BLOOM, OWNER_DRAWN_MENUS,
+ SEND_BLOOM, OWNER_DRAWN_MENUS, CORAL,
INT_LAST };
enum Int64Setting { INT64_FIRST = INT_LAST + 1,
Modified: dcplusplus/trunk/win32/AboutDlg.cpp
===================================================================
--- dcplusplus/trunk/win32/AboutDlg.cpp 2008-02-29 22:58:00 UTC (rev 1019)
+++ dcplusplus/trunk/win32/AboutDlg.cpp 2008-03-01 22:00:01 UTC (rev 1020)
@@ -67,7 +67,7 @@
centerWindow();
c.addListener(this);
- c.downloadFile("http://dcplusplus.sourceforge.net.nyud.net/version.xml");
+ c.downloadFile("http://dcplusplus.sourceforge.net/version.xml");
return false;
}
Modified: dcplusplus/trunk/win32/AdvancedPage.cpp
===================================================================
--- dcplusplus/trunk/win32/AdvancedPage.cpp 2008-02-29 22:58:00 UTC (rev 1019)
+++ dcplusplus/trunk/win32/AdvancedPage.cpp 2008-03-01 22:00:01 UTC (rev 1020)
@@ -47,6 +47,7 @@
{ SettingsManager::AUTO_KICK_NO_FAVS, N_("Don't automatically disconnect favorite users who leave the hub") },
{ SettingsManager::SHOW_SHELL_MENU, N_("Show shell menu where possible") },
{ SettingsManager::OWNER_DRAWN_MENUS, N_("Use extended menus with icons and titles") },
+ { SettingsManager::CORAL, N_("Use Coral network when downloading hub lists (improves reliability)") },
{ 0, 0 }
};
Modified: dcplusplus/trunk/win32/MainWindow.cpp
===================================================================
--- dcplusplus/trunk/win32/MainWindow.cpp 2008-02-29 22:58:00 UTC (rev 1019)
+++ dcplusplus/trunk/win32/MainWindow.cpp 2008-03-01 22:00:01 UTC (rev 1020)
@@ -106,7 +106,7 @@
c = new HttpConnection;
c->addListener(this);
- c->downloadFile("http://dcplusplus.sourceforge.net.nyud.net/version.xml");
+ c->downloadFile("http://dcplusplus.sourceforge.net/version.xml");
File::ensureDirectory(SETTING(LOG_DIRECTORY));
startSocket();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zou...@us...> - 2008-02-29 22:58:02
|
Revision: 1019
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1019&view=rev
Author: zouzou123gen
Date: 2008-02-29 14:58:00 -0800 (Fri, 29 Feb 2008)
Log Message:
-----------
Fixed Ctrl+F that opens favorite hubs
Modified Paths:
--------------
dcplusplus/trunk/changelog.txt
dcplusplus/trunk/win32/DCPlusPlus.rc
dcplusplus/trunk/win32/resource.h
Modified: dcplusplus/trunk/changelog.txt
===================================================================
--- dcplusplus/trunk/changelog.txt 2008-02-29 18:12:34 UTC (rev 1018)
+++ dcplusplus/trunk/changelog.txt 2008-02-29 22:58:00 UTC (rev 1019)
@@ -37,7 +37,8 @@
* Don't always show the tray icon after killing and re-opening explorer.exe (poy)
* Updated links (thanks pietry)
* Fixed clicking on active tab (poy)
-* Fixed tabbing in hub windows (poy)
+* [L#195209] Fixed tabbing in hub windows (poy)
+* [L#195209] Fixed Ctrl+F that opens favorite hubs (poy)
-- 0.704 2007-12-14 --
* Hub lists added to utilize Coral's distributed network (ullner)
Modified: dcplusplus/trunk/win32/DCPlusPlus.rc
===================================================================
--- dcplusplus/trunk/win32/DCPlusPlus.rc 2008-02-29 18:12:34 UTC (rev 1018)
+++ dcplusplus/trunk/win32/DCPlusPlus.rc 2008-02-29 22:58:00 UTC (rev 1019)
@@ -880,7 +880,7 @@
"3", IDC_VIEW_TRANSFER_VIEW, VIRTKEY, CONTROL, NOINVERT
"D", IDC_QUEUE, VIRTKEY, CONTROL, NOINVERT
"E", IDC_REFRESH_FILE_LIST, VIRTKEY, CONTROL, NOINVERT
- "F", IDC_FAVORITES, VIRTKEY, CONTROL, NOINVERT
+ "F", IDC_FAVORITE_HUBS, VIRTKEY, CONTROL, NOINVERT
"L", IDC_OPEN_FILE_LIST, VIRTKEY, CONTROL, NOINVERT
"N", IDC_NOTEPAD, VIRTKEY, CONTROL, NOINVERT
"P", IDC_CONNECT, VIRTKEY, CONTROL, NOINVERT
Modified: dcplusplus/trunk/win32/resource.h
===================================================================
--- dcplusplus/trunk/win32/resource.h 2008-02-29 18:12:34 UTC (rev 1018)
+++ dcplusplus/trunk/win32/resource.h 2008-02-29 22:58:00 UTC (rev 1019)
@@ -81,7 +81,6 @@
#define IDC_VIEW_TOOLBAR 1007
#define IDC_VIEW_TRANSFER_VIEW 1008
#define IDC_PUBLIC_HUBS 1009
-#define IDC_FAVORITE_HUBS 1010
#define IDC_GETLIST 1011
#define IDC_COPY_FILENAME 1012
#define IDC_GRANTSLOT 1013
@@ -206,7 +205,7 @@
#define IDC_EMAIL 2047
#define IDC_EXTERNAL_IP 2048
#define IDC_FAVORITE_DIRECTORIES 2049
-#define IDC_FAVORITES 2050
+#define IDC_FAVORITE_HUBS 2050
#define IDC_FAVUSERS 2051
#define IDC_FH_ADDRESS 2052
#define IDC_FH_HUB 2053
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zou...@us...> - 2008-02-29 18:58:48
|
Revision: 1018
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1018&view=rev
Author: zouzou123gen
Date: 2008-02-29 10:12:34 -0800 (Fri, 29 Feb 2008)
Log Message:
-----------
Fixed tabbing in hub windows
Modified Paths:
--------------
dcplusplus/trunk/changelog.txt
dcplusplus/trunk/win32/HubFrame.cpp
Modified: dcplusplus/trunk/changelog.txt
===================================================================
--- dcplusplus/trunk/changelog.txt 2008-02-21 20:56:33 UTC (rev 1017)
+++ dcplusplus/trunk/changelog.txt 2008-02-29 18:12:34 UTC (rev 1018)
@@ -37,6 +37,7 @@
* Don't always show the tray icon after killing and re-opening explorer.exe (poy)
* Updated links (thanks pietry)
* Fixed clicking on active tab (poy)
+* Fixed tabbing in hub windows (poy)
-- 0.704 2007-12-14 --
* Hub lists added to utilize Coral's distributed network (ullner)
Modified: dcplusplus/trunk/win32/HubFrame.cpp
===================================================================
--- dcplusplus/trunk/win32/HubFrame.cpp 2008-02-21 20:56:33 UTC (rev 1017)
+++ dcplusplus/trunk/win32/HubFrame.cpp 2008-02-29 18:12:34 UTC (rev 1018)
@@ -100,19 +100,9 @@
message->onKeyDown(std::tr1::bind(&HubFrame::handleMessageKeyDown, this, _1));
message->onChar(std::tr1::bind(&HubFrame::handleMessageChar, this, _1));
}
-
+
{
WidgetTextBox::Seed cs = WinUtil::Seeds::textBox;
- cs.style = WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | ES_MULTILINE | ES_NOHIDESEL | ES_READONLY;
- chat = createTextBox(cs);
- chat->setTextLimit(0);
- addWidget(chat);
- paned->setFirst(chat);
- chat->onContextMenu(std::tr1::bind(&HubFrame::handleChatContextMenu, this, _1));
- }
-
- {
- WidgetTextBox::Seed cs = WinUtil::Seeds::textBox;
cs.style = WS_CHILD | WS_VISIBLE | WS_TABSTOP | ES_AUTOHSCROLL;
filter = createTextBox(cs);
addWidget(filter);
@@ -130,8 +120,18 @@
filterType->setSelectedIndex(COLUMN_LAST);
filterType->onSelectionChanged(std::tr1::bind(&HubFrame::updateUserList, this, (UserInfo*)0));
}
-
+
{
+ WidgetTextBox::Seed cs = WinUtil::Seeds::textBox;
+ cs.style = WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | ES_MULTILINE | ES_NOHIDESEL | ES_READONLY;
+ chat = createTextBox(cs);
+ chat->setTextLimit(0);
+ addWidget(chat);
+ paned->setFirst(chat);
+ chat->onContextMenu(std::tr1::bind(&HubFrame::handleChatContextMenu, this, _1));
+ }
+
+ {
users = SmartWin::WidgetCreator<WidgetUsers>::create(this, WinUtil::Seeds::listView);
addWidget(users);
paned->setSecond(users);
@@ -151,6 +151,7 @@
{
WidgetCheckBox::Seed cs(_T("+/-"));
+ cs.style &= ~WS_TABSTOP;
showUsers = createCheckBox(cs);
showUsers->setChecked(BOOLSETTING(GET_USER_INFO));
}
@@ -681,7 +682,7 @@
bool HubFrame::handleMessageChar(int c) {
switch(c) {
- case VK_TAB:
+ case VK_TAB: return true; break;
case VK_RETURN: {
if(!(isShiftPressed() || isControlPressed() || isAltPressed())) {
return true;
@@ -1292,7 +1293,8 @@
bool HubFrame::tab() {
if(message->length() == 0) {
- return false;
+ ::SetFocus(::GetNextDlgTabItem(handle(), message->handle(), isShiftPressed()));
+ return true;
}
HWND focus = GetFocus();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arn...@us...> - 2008-02-21 20:57:11
|
Revision: 1017
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1017&view=rev
Author: arnetheduck
Date: 2008-02-21 12:56:33 -0800 (Thu, 21 Feb 2008)
Log Message:
-----------
Fix download ticking
Modified Paths:
--------------
dcplusplus/trunk/win32/DirectoryListingFrame.h
dcplusplus/trunk/win32/PublicHubsFrame.cpp
dcplusplus/trunk/win32/TransferView.cpp
dcplusplus/trunk/win32/TransferView.h
Modified: dcplusplus/trunk/win32/DirectoryListingFrame.h
===================================================================
--- dcplusplus/trunk/win32/DirectoryListingFrame.h 2008-02-18 20:19:27 UTC (rev 1016)
+++ dcplusplus/trunk/win32/DirectoryListingFrame.h 2008-02-21 20:56:33 UTC (rev 1017)
@@ -99,8 +99,8 @@
}
ItemInfo(DirectoryListing::Directory* d) : type(DIRECTORY), dir(d) {
columns[COLUMN_FILENAME] = Text::toT(d->getName());
- columns[COLUMN_EXACTSIZE] = Text::toT(Util::formatExactSize(d->getTotalSize()));
- columns[COLUMN_SIZE] = Text::toT(Util::formatBytes(d->getTotalSize()));
+ columns[COLUMN_EXACTSIZE] = d->getComplete() ? Text::toT(Util::formatExactSize(d->getTotalSize())) : _T("?");
+ columns[COLUMN_SIZE] = d->getComplete() ? Text::toT(Util::formatBytes(d->getTotalSize())) : _T("?");
}
const tstring& getText() const {
Modified: dcplusplus/trunk/win32/PublicHubsFrame.cpp
===================================================================
--- dcplusplus/trunk/win32/PublicHubsFrame.cpp 2008-02-18 20:19:27 UTC (rev 1016)
+++ dcplusplus/trunk/win32/PublicHubsFrame.cpp 2008-02-21 20:56:33 UTC (rev 1017)
@@ -456,7 +456,7 @@
}
void PublicHubsFrame::handleRefresh() {
- setStatus(STATUS_STATUS, CT_("Downloading public hub list..."));
+ setStatus(STATUS_STATUS, T_("Downloading public hub list..."));
FavoriteManager::getInstance()->refresh(true);
updateDropDown();
}
Modified: dcplusplus/trunk/win32/TransferView.cpp
===================================================================
--- dcplusplus/trunk/win32/TransferView.cpp 2008-02-18 20:19:27 UTC (rev 1016)
+++ dcplusplus/trunk/win32/TransferView.cpp 2008-02-21 20:56:33 UTC (rev 1017)
@@ -734,8 +734,8 @@
speak(CONNECTIONS_UPDATE, ui);
}
-void TransferView::onTransferTick(Transfer* t) {
- UpdateInfo* ui = new UpdateInfo(t->getUser(), true);
+void TransferView::onTransferTick(Transfer* t, bool isDownload) {
+ UpdateInfo* ui = new UpdateInfo(t->getUser(), isDownload);
ui->setTransfered(t->getPos(), t->getActual());
ui->setSpeed(t->getAverageSpeed());
ui->setChunk(t->getPos(), t->getSize());
@@ -744,7 +744,7 @@
void TransferView::on(DownloadManagerListener::Tick, const DownloadList& dl) throw() {
for(DownloadList::const_iterator i = dl.begin(); i != dl.end(); ++i) {
- onTransferTick(*i);
+ onTransferTick(*i, true);
}
std::vector<TickInfo*> dis;
@@ -815,24 +815,24 @@
void TransferView::on(UploadManagerListener::Tick, const UploadList& ul) throw() {
for(UploadList::const_iterator i = ul.begin(); i != ul.end(); ++i) {
- onTransferTick(*i);
+ onTransferTick(*i, false);
}
speak();
}
void TransferView::on(DownloadManagerListener::Complete, Download* d) throw() {
- onTransferComplete(d, false);
+ onTransferComplete(d, true);
speak(DOWNLOADS_REMOVE_USER, new TickInfo(d->getPath()));
}
void TransferView::on(UploadManagerListener::Complete, Upload* aUpload) throw() {
- onTransferComplete(aUpload, true);
+ onTransferComplete(aUpload, false);
}
-void TransferView::onTransferComplete(Transfer* aTransfer, bool isUpload) {
- UpdateInfo* ui = new UpdateInfo(aTransfer->getUser(), !isUpload);
+void TransferView::onTransferComplete(Transfer* aTransfer, bool isDownload) {
+ UpdateInfo* ui = new UpdateInfo(aTransfer->getUser(), isDownload);
ui->setStatus(ConnectionInfo::STATUS_WAITING);
ui->setStatusString(T_("Idle"));
Modified: dcplusplus/trunk/win32/TransferView.h
===================================================================
--- dcplusplus/trunk/win32/TransferView.h 2008-02-18 20:19:27 UTC (rev 1016)
+++ dcplusplus/trunk/win32/TransferView.h 2008-02-21 20:56:33 UTC (rev 1017)
@@ -291,8 +291,8 @@
virtual void on(QueueManagerListener::Removed, QueueItem*) throw();
- void onTransferTick(Transfer* aTransfer);
- void onTransferComplete(Transfer* aTransfer, bool isUpload);
+ void onTransferTick(Transfer* aTransfer, bool isDownload);
+ void onTransferComplete(Transfer* aTransfer, bool isDownload);
void starting(UpdateInfo* ui, Transfer* t);
#ifdef PORT_ME
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zou...@us...> - 2008-02-18 20:19:31
|
Revision: 1016
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1016&view=rev
Author: zouzou123gen
Date: 2008-02-18 12:19:27 -0800 (Mon, 18 Feb 2008)
Log Message:
-----------
Fixed clicking on active tab
Modified Paths:
--------------
dcplusplus/trunk/changelog.txt
dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h
dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp
dcplusplus/trunk/win32/MainWindow.cpp
Modified: dcplusplus/trunk/changelog.txt
===================================================================
--- dcplusplus/trunk/changelog.txt 2008-02-17 23:43:00 UTC (rev 1015)
+++ dcplusplus/trunk/changelog.txt 2008-02-18 20:19:27 UTC (rev 1016)
@@ -36,6 +36,7 @@
* Fixed a few hardcoded dc++'s (thanks steven sheehy)
* Don't always show the tray icon after killing and re-opening explorer.exe (poy)
* Updated links (thanks pietry)
+* Fixed clicking on active tab (poy)
-- 0.704 2007-12-14 --
* Hub lists added to utilize Coral's distributed network (ullner)
Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h
===================================================================
--- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h 2008-02-17 23:43:00 UTC (rev 1015)
+++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h 2008-02-18 20:19:27 UTC (rev 1016)
@@ -31,6 +31,8 @@
public:
/// Fills with default parameters
Seed();
+
+ bool toggleActive;
};
void add(WidgetChildWindow* w, const IconPtr& icon);
@@ -85,6 +87,8 @@
std::tr1::function<void (const SmartUtil::tstring&)> titleChangedFunction;
+ bool toggleActive;
+
bool inTab;
typedef std::list<WidgetChildWindow*> WindowList;
Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp
===================================================================
--- dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp 2008-02-17 23:43:00 UTC (rev 1015)
+++ dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp 2008-02-18 20:19:27 UTC (rev 1016)
@@ -7,7 +7,8 @@
WindowClass WidgetTabView::windowClass(_T("WidgetTabView"), &WidgetTabView::wndProc, NULL, ( HBRUSH )( COLOR_WINDOW + 1 ));
WidgetTabView::Seed::Seed() :
- Widget::Seed(windowClass.getClassName(), WS_CHILD | WS_CLIPCHILDREN | WS_VISIBLE)
+ Widget::Seed(windowClass.getClassName(), WS_CHILD | WS_CLIPCHILDREN | WS_VISIBLE),
+ toggleActive(false)
{
}
@@ -15,6 +16,7 @@
PolicyType(w),
tab(0),
tip(0),
+ toggleActive(false),
inTab(false),
active(-1),
dragging(-1)
@@ -22,6 +24,7 @@
void WidgetTabView::create(const Seed & cs) {
PolicyType::create(cs);
+ toggleActive = cs.toggleActive;
WidgetTabSheet::Seed tcs;
tcs.style = WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_VISIBLE |
@@ -311,8 +314,12 @@
}
if(dropPos == dragging) {
- // the tab hasn't moved; select it
- setActive(dropPos);
+ // the tab hasn't moved; handle the click
+ if(dropPos == active) {
+ if(toggleActive)
+ next();
+ } else
+ setActive(dropPos);
dragging = -1;
return;
}
Modified: dcplusplus/trunk/win32/MainWindow.cpp
===================================================================
--- dcplusplus/trunk/win32/MainWindow.cpp 2008-02-17 23:43:00 UTC (rev 1015)
+++ dcplusplus/trunk/win32/MainWindow.cpp 2008-02-18 20:19:27 UTC (rev 1016)
@@ -309,6 +309,7 @@
void MainWindow::initTabs() {
WidgetTabView::Seed cs;
cs.style = WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_VISIBLE;
+ cs.toggleActive = BOOLSETTING(TOGGLE_ACTIVE_WINDOW);
tabs = createTabView(cs);
tabs->onTitleChanged(std::tr1::bind(&MainWindow::handleTabsTitleChanged, this, _1));
paned->setFirst(tabs);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|