progress.setWindowModality(Qt::WindowModal);
progress.show();
m_timeout = 10;
timer->start();
cancelXfer.setWindowModality(Qt::WindowModal);
bool flag = true;
while(m_timeout > 0)
{
if(!progress.wasCanceled())
{
ret = FT_Read(fth, (unsigned char *)dbuf.data(), num2rd, &numrd);
if(numrd > 0)
{
rxf.write(dbuf,numrd);
byteCount += numrd;
m_timeout = 4;
progress.setValue(byteCount);
}
}
else
{
if (flag)
{
ret = FT_Write(fth, (unsigned char * ) "a",1, &numwr);
flag = false;
cancelXfer.show();
}
}
}
if (progress.wasCanceled())
cancelXfer.reset();
progress.reset();
timer->stop();
QProgressDialog progress("Receiving File...", "Cancel",0,fileSize, this);
progress.setWindowModality(Qt::WindowModal);
progress.show();
m_timeout = 10;
timer->start();
QProgressDialog cancelXfer("Canceling transfer, please wait...",QString(),0,0,this);
cancelXfer.setWindowModality(Qt::WindowModal);
bool flag = true;
while(m_timeout > 0)
{
if(!progress.wasCanceled())
{
ret = FT_Read(fth, (unsigned char *)dbuf.data(), num2rd, &numrd);
if(numrd > 0)
{
rxf.write(dbuf,numrd);
byteCount += numrd;
m_timeout = 4;
progress.setValue(byteCount);
}
}
else
{
if (flag)
{
ret = FT_Write(fth, (unsigned char * ) "a",1, &numwr);
flag = false;
cancelXfer.show();
}
}
QCoreApplication::processEvents();
}
if (progress.wasCanceled())
cancelXfer.reset();
progress.reset();
timer->stop();
To copy to clipboard, switch view to plain text mode
Bookmarks