allow to change destination directory for queued files (modified patch from Phenom)

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6835 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
csoler 2013-10-16 19:02:15 +00:00
parent 783f73476b
commit 292bdfa324

View file

@ -723,35 +723,35 @@ void TransfersDialog::downloadListCustomPopupMenu( QPoint /*point*/ )
if(atLeastOne_Queued) if(atLeastOne_Queued)
contextMnu.addMenu(&priorityQueueMenu) ; contextMnu.addMenu(&priorityQueueMenu) ;
if(!atLeastOne_Queued && !items.empty()) if( (!items.empty()) && (atLeastOne_Downloading || atLeastOne_Queued || atLeastOne_Waiting || atLeastOne_Paused))
{ {
contextMnu.addMenu( &chunkMenu); contextMnu.addMenu( &chunkMenu);
if(single) if(single)
contextMnu.addAction(renameFileAct) ; contextMnu.addAction(renameFileAct) ;
QMenu *directoryMenu = contextMnu.addMenu(QIcon(IMAGE_OPENFOLDER),tr("Set destination directory")) ; QMenu *directoryMenu = contextMnu.addMenu(QIcon(IMAGE_OPENFOLDER),tr("Set destination directory")) ;
directoryMenu->addAction(specifyDestinationDirectoryAct); directoryMenu->addAction(specifyDestinationDirectoryAct);
// Now get the list of existing directories. // Now get the list of existing directories.
std::list<SharedDirInfo> dirs ; std::list<SharedDirInfo> dirs ;
rsFiles->getSharedDirectories(dirs) ; rsFiles->getSharedDirectories(dirs) ;
for(std::list<SharedDirInfo>::const_iterator it(dirs.begin());it!=dirs.end();++it) for(std::list<SharedDirInfo>::const_iterator it(dirs.begin());it!=dirs.end();++it)
{ {
// check for existence of directory name // check for existence of directory name
QFile directory(QString::fromUtf8((*it).filename.c_str())) ; QFile directory(QString::fromUtf8((*it).filename.c_str())) ;
if(!directory.exists()) continue ; if(!directory.exists()) continue ;
if(!(directory.permissions() & QFile::WriteOwner)) continue ; if(!(directory.permissions() & QFile::WriteOwner)) continue ;
QAction *act = new QAction(QString::fromUtf8((*it).virtualname.c_str()),directoryMenu) ; QAction *act = new QAction(QString::fromUtf8((*it).virtualname.c_str()),directoryMenu) ;
act->setData(QString::fromUtf8((*it).filename.c_str())) ; act->setData(QString::fromUtf8((*it).filename.c_str())) ;
connect(act,SIGNAL(triggered()),this,SLOT(setDestinationDirectory())) ; connect(act,SIGNAL(triggered()),this,SLOT(setDestinationDirectory())) ;
directoryMenu->addAction(act) ; directoryMenu->addAction(act) ;
} }
} }
if(atLeastOne_Paused) if(atLeastOne_Paused)
contextMnu.addAction( resumeAct); contextMnu.addAction( resumeAct);