LINUX.ORG.RU

Direct Connect


0

0

Я посмотрел в CVS Valknut - там никаких коммитов последние 14 месяцев не было, кроме того, он не умеет русский поиск, и интерфейс неудобный. LinuxDC++ насколько я знаю не умеет мультизагрузку. Что предложите?

anonymous

Чтоб не заводить новую тему: какие порты надо открыть на локальной машине, чтоб сабж работал?

ero-sennin ★★
()

Когда-то давно я на скорую руку написал патч для валкнута, который
худо-бедно, но обеспечивает работоспособность русского поиска. Сейчас
его с этим патчем и использую. Надо сказать, что работа с кодировками 
там сделана довольно криво (то ли это особенность валкнута, то ли 
особенность qt, то ли это "в генах" протокола dc++ который изначально 
неюникодный. Сам патч вот, может пригодится кому (в нём, как можно 
видеть, жёстко прошита кодировка протокола dc cp1251; он решает проблему
только с поиском, имена расшареных файлов он не правит)...

diff -u valknut-orig/dcfilebrowser.cpp valknut/dcfilebrowser.cpp
--- valknut-orig/dcfilebrowser.cpp	2005-02-01 20:18:53.000000000 +0300
+++ valknut/dcfilebrowser.cpp	2006-06-01 22:11:20.000000000 +0400
@@ -344,6 +344,7 @@
 	if ( file.open( IO_ReadOnly ) )
 	{
 		QTextStream stream( &file );
+		stream.setEncoding(QTextStream::UnicodeUTF8);
 		QString line;
 
 		line = stream.readLine();
@@ -374,11 +375,8 @@
 			}
 
 			// read content ...
-			while ( !stream.atEnd() )
-			{
-				stream.readRawBytes(&ch,1);
-				m_sList += ch;
-			}
+			m_sList=stream.read();
+
 			
 			if ( m_sType != "XMLFILELIST" )
 			{
@@ -540,8 +538,10 @@
 	xmlNodePtr node;
 
 	xml = new CXml();
+
+	QCString u8str=m_sList.utf8();
 	
-	if ( xml->ParseMemory(m_sList.ascii(),m_sList.length()) == TRUE )
+	if ( xml->ParseMemory(u8str,u8str.length()) == TRUE )
 	{
 		for(node=xml->doc()->children;node!=0;node=node->next)
 		{
diff -u valknut-orig/main.cpp valknut/main.cpp
--- valknut-orig/main.cpp	2005-02-14 22:39:15.000000000 +0300
+++ valknut/main.cpp	2006-06-01 21:13:56.000000000 +0400
@@ -38,6 +38,7 @@
 #include <qlabel.h>
 #include <qstylefactory.h>
 #include <private/qinternal_p.h>
+#include <qtextcodec.h> 
 
 #include "dcconfig.h"
 #include "dcsplash.h"
@@ -108,6 +109,8 @@
 	bool bTray = FALSE;
 	bool bEnableTray = TRUE;
 
+	QTextCodec::setCodecForCStrings(QTextCodec::codecForName("CP1251"));

+
 #ifdef WIN32
 #ifdef _DEBUG
 	//_CrtSetDbgFlag ( _CRTDBG_LEAK_CHECK_DF | _CRTDBG_ALLOC_MEM_DF | _CRTDBG_CHECK_ALWAYS_DF );

slav ★★
()

И вообще, я слабо понимаю, за что так этот dc++ любят. Неужели ничего лучше нет?

slav ★★
()
Ответ на: комментарий от slav

Любят за то что его проще и лучше всего использовать в локальных сетях вот и все ...

SI ★★☆☆
()
Ответ на: комментарий от Xellos

Чем Rapidshare не нормален - ссылку дайте куда выложить

SI ★★☆☆
()

а strongDC кто-нить успешно запускал под wine ? у меня в нём шрифты слетают (кракозябры), и грузит он проц очень сильно...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.