CVS commit by shin: support overwriting M +12 -8 dcctransferrecv.cpp 1.25 --- kdeextragear-2/konversation/konversation/dcctransferrecv.cpp #1.24:1.25 @@ -122,9 +122,7 @@ void DccTransferRecv::start() // public } - m_saveToFileExists = m_saveToFileExists && - 0 < m_saveToFileSize && - m_saveToFileSize < m_fileSize; m_partialFileExists = m_partialFileExists && - 0 < m_partialFileSize; + 0 < m_partialFileSize && + m_partialFileSize < m_fileSize; if( !m_saveToFileExists && m_partialFileExists && KonversationApplication::preferences.getDccAutoResume() ) @@ -177,5 +175,5 @@ void DccTransferRecv::cleanUp() stopConnectionTimer(); stopAutoUpdateView(); - if(m_recvSocket) + if( m_recvSocket ) { m_recvSocket->close(); @@ -183,5 +181,5 @@ void DccTransferRecv::cleanUp() m_recvSocket = 0; } - if(m_writeCacheHandler) + if( m_writeCacheHandler ) { m_writeCacheHandler->closeNow(); @@ -199,9 +197,14 @@ void DccTransferRecv::requestResume() // Rollback for Resume + // disabled temporarily + // hey, can we rallback a file via KIO? + /* KIO::filesize_t rb = KonversationApplication::preferences.getDccRollback(); if( m_fileSize < rb ) m_transferringPosition = 0; else - m_transferringPosition = m_fileSize - rb; + m_transferringPosition = m_partialFileSize - rb; + */ + m_transferringPosition = m_partialFileSize; updateView(); @@ -217,5 +220,5 @@ void DccTransferRecv::connectToSender() // prepare local KIO - KIO::TransferJob* transferJob = KIO::put( m_fileURL, -1, false, false, false ); + KIO::TransferJob* transferJob = KIO::put( m_fileURL, -1, !m_resumed, m_resumed, false ); m_writeCacheHandler = new DccTransferRecvWriteCacheHandler( transferJob ); @@ -478,4 +481,5 @@ void DccTransferRecvWriteCacheHandler::s data = *( popCache() ); //once we write everything in cache, the file is complete. //This function will be called once more after this last data is written. + //FIXME: should I delete the instance from popCache() here? else {