diff options
| author | 2008-07-18 15:14:04 +0000 | |
|---|---|---|
| committer | 2008-07-18 15:14:04 +0000 | |
| commit | a89f8a7085d0b39621ec44e0809b344132ffe956 (patch) | |
| tree | a431b7cd545837e7e62a0f0d4036e72ddb980e96 /src/modules | |
| parent | Added modified version of FindSubversion.cmake, allowing getting revision num... (diff) | |
| download | KVIrc-a89f8a7085d0b39621ec44e0809b344132ffe956.tar.gz KVIrc-a89f8a7085d0b39621ec44e0809b344132ffe956.tar.bz2 KVIrc-a89f8a7085d0b39621ec44e0809b344132ffe956.zip | |
upported fix for dcc resend to trunk
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2091 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/dcc/broker.cpp | 38 | ||||
| -rw-r--r-- | src/modules/dcc/descriptor.cpp | 22 | ||||
| -rw-r--r-- | src/modules/dcc/descriptor.h | 7 | ||||
| -rw-r--r-- | src/modules/dcc/send.cpp | 9 |
4 files changed, 41 insertions, 35 deletions
diff --git a/src/modules/dcc/broker.cpp b/src/modules/dcc/broker.cpp index c1322fee7..ab120d2f1 100644 --- a/src/modules/dcc/broker.cpp +++ b/src/modules/dcc/broker.cpp @@ -160,7 +160,6 @@ void KviDccBroker::rsendAskForFileName(KviDccDescriptor * dcc) if(filenames.count() > 0) { KviDccDescriptor * d; - KviDccDescriptor * templ = dcc; QStringList::Iterator it=filenames.begin(); while(it != filenames.end()) { @@ -773,28 +772,25 @@ void KviDccBroker::recvFileExecute(KviDccBox *box,KviDccDescriptor * dcc) void KviDccBroker::sendFileManage(KviDccDescriptor * dcc) { QStringList filenames; - if( - KviFileDialog::askForOpenFileNames(filenames, - __tr2qs_ctx("Choose Files to Send - KVIrc","dcc"),"") - ) { - if(filenames.count() > 0) + if(KviFileDialog::askForOpenFileNames(filenames,__tr2qs_ctx("Choose Files to Send - KVIrc","dcc"),"")) + { + if(filenames.count() > 0) + { + KviDccDescriptor * d; + QStringList::Iterator it=filenames.begin(); + while(it != filenames.end()) { - KviDccDescriptor * d; - KviDccDescriptor * templ = dcc; - QStringList::Iterator it=filenames.begin(); - while(it != filenames.end()) - { - d = new KviDccDescriptor(*dcc); - d->szLocalFileName = *(it); - d->szLocalFileName.trimmed(); - ++it; - if(d->szLocalFileName.isEmpty()) - cancelDcc(d); - else - sendFileExecute(0,d); - } - delete dcc; + d = new KviDccDescriptor(*dcc); + d->szLocalFileName = *(it); + d->szLocalFileName.trimmed(); + ++it; + if(d->szLocalFileName.isEmpty()) + cancelDcc(d); + else + sendFileExecute(0,d); } + delete dcc; + } } else { cancelDcc(dcc); } diff --git a/src/modules/dcc/descriptor.cpp b/src/modules/dcc/descriptor.cpp index 859e7d33c..640791d0c 100644 --- a/src/modules/dcc/descriptor.cpp +++ b/src/modules/dcc/descriptor.cpp @@ -39,12 +39,10 @@ KviPointerHashTable<int,KviDccDescriptor> * KviDccDescriptor::descriptorDict() return g_pDescriptorDict; } -/* KviDccDescriptor::KviDccDescriptor(const KviDccDescriptor & src) { copyFrom(src); } -*/ KviDccDescriptor::KviDccDescriptor(KviConsole * pConsole) { @@ -149,12 +147,22 @@ KviDccDescriptor * KviDccDescriptor::find(unsigned int uId) return g_pDescriptorDict->find((long)uId); } -/* void KviDccDescriptor::copyFrom(const KviDccDescriptor &src) { + m_uId = g_uNextDescriptorId; + g_uNextDescriptorId++; + m_szId.setNum(m_uId); + + if(!g_pDescriptorDict) + { + g_pDescriptorDict = new KviPointerHashTable<int,KviDccDescriptor>; + g_pDescriptorDict->setAutoDelete(false); + } + g_pDescriptorDict->replace((long)m_uId,this); + m_bCreationEventTriggered=false; + m_pDccWindow = src.m_pDccWindow; m_pDccTransfer = src.m_pDccTransfer; - m_uId = src.m_uId; szType = src.szType; szNick = src.szNick; szUser = src.szUser; @@ -183,11 +191,15 @@ void KviDccDescriptor::copyFrom(const KviDccDescriptor &src) bShowMinimized = src.bShowMinimized; bAutoAccept = src.bAutoAccept; bIsIncomingAvatar = src.bIsIncomingAvatar; + szLocalFileName = src.szLocalFileName; + szLocalFileSize = src.szLocalFileSize; #ifdef COMPILE_SSL_SUPPORT bIsSSL = src.bIsSSL; #endif + // dcc voice only + szCodec = src.szCodec; + iSampleRate = src.iSampleRate; } -*/ bool KviDccDescriptor::isFileUpload() { diff --git a/src/modules/dcc/descriptor.h b/src/modules/dcc/descriptor.h index 1cb1add97..fed8004e8 100644 --- a/src/modules/dcc/descriptor.h +++ b/src/modules/dcc/descriptor.h @@ -34,7 +34,8 @@ class KviDccDescriptor { public: KviDccDescriptor(KviConsole * pConsole); - //KviDccDescriptor(const KviDccDescriptor & src); + KviDccDescriptor(const KviDccDescriptor & src); + ~KviDccDescriptor(); protected: KviConsole * m_pConsole; @@ -71,8 +72,8 @@ public: static KviPointerHashTable<int,KviDccDescriptor> * descriptorDict(); void triggerCreationEvent(); // this MUST be called by the creator of the descriptor! -//private: -// void copyFrom(const KviDccDescriptor &src); +private: + void copyFrom(const KviDccDescriptor &src); public: // Generic parameters QString szType; // DCC protocol : CHAT , SCHAT , SEND , TSSEND.... diff --git a/src/modules/dcc/send.cpp b/src/modules/dcc/send.cpp index 180b62999..e5b6eaa3c 100644 --- a/src/modules/dcc/send.cpp +++ b/src/modules/dcc/send.cpp @@ -955,8 +955,7 @@ void KviDccFileTransfer::retryDCC() abort(); QString szRemoteNick = m_pDescriptor->remoteNick(); QString szFileName = m_pDescriptor->localFileName(); - QString szId; - szId.setNum(m_pDescriptor->id()); + QString szId = m_pDescriptor->idString(); QString szCommand = "dcc.send -r=$console($dcc.irccontext(" + szId + ")) " + szRemoteNick + " " + "\"" + szFileName + "\""; KviKvsScript::run(szCommand,g_pActiveWindow); } @@ -966,8 +965,7 @@ void KviDccFileTransfer::retryTDCC() abort(); QString szRemoteNick = m_pDescriptor->remoteNick(); QString szFileName = m_pDescriptor->localFileName(); - QString szId; - szId.setNum(m_pDescriptor->id()); + QString szId = m_pDescriptor->idString(); QString szCommand = "dcc.send -r=$console($dcc.irccontext(" + szId + ")) -t " + szRemoteNick + " " + "\"" + szFileName + "\""; KviKvsScript::run(szCommand,g_pActiveWindow); } @@ -977,8 +975,7 @@ void KviDccFileTransfer::retryRevDCC() abort(); QString szRemoteNick = m_pDescriptor->remoteNick(); QString szFileName = m_pDescriptor->localFileName(); - QString szId; - szId.setNum(m_pDescriptor->id()); + QString szId = m_pDescriptor->idString(); QString szCommand = "dcc.rsend -z -r=$console($dcc.irccontext(" + szId + ")) " + szRemoteNick + " " + "\"" + szFileName + "\""; KviKvsScript::run(szCommand,g_pActiveWindow); } |
