fixed permission of drap+dropped files. all attached files get added to extra list, but with different permission flags depending on the client. From that, we compute sharing permissions : turtle, or direct transfer only

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5808 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
csoler 2012-11-11 21:17:00 +00:00
parent 9000cf9034
commit f61a50c5a6
12 changed files with 57 additions and 25 deletions

View file

@ -78,6 +78,7 @@ void ChatLobbyDialog::init(const std::string &peerId, const QString &title)
ui.chatWidget->setName(QString::fromUtf8(nickName.c_str()));
ui.chatWidget->addToolsAction(ui.actionChangeNickname);
ui.chatWidget->setDefaultExtraFileFlags(RS_FILE_REQ_ANONYMOUS_ROUTING);
lastUpdateListTime = 0;

View file

@ -133,6 +133,12 @@ ChatWidget::~ChatWidget()
delete ui;
}
void ChatWidget::setDefaultExtraFileFlags(TransferRequestFlags fl)
{
mDefaultExtraFileFlags = fl ;
ui->hashBox->setDefaultTransferRequestFlags(fl) ;
}
void ChatWidget::addChatButton(QPushButton *button)
{
ui->toolBarFrame->layout()->addWidget(button) ;
@ -600,7 +606,7 @@ void ChatWidget::addExtraFile()
{
QStringList files;
if (misc::getOpenFileNames(this, RshareSettings::LASTDIR_EXTRAFILE, tr("Add Extra File"), "", files)) {
ui->hashBox->addAttachments(files/*, 0*/);
ui->hashBox->addAttachments(files,mDefaultExtraFileFlags /*, 0*/);
}
}
@ -629,7 +635,11 @@ void ChatWidget::fileHashingFinished(QList<HashedFile> hashedFiles)
QString ext = QFileInfo(hashedFile.filename).suffix();
RetroShareLink link;
link.createExtraFile(hashedFile.filename, hashedFile.size, QString::fromStdString(hashedFile.hash),QString::fromStdString(rsPeers->getOwnId()));
if(mDefaultExtraFileFlags & RS_FILE_REQ_ANONYMOUS_ROUTING)
link.createFile(hashedFile.filename, hashedFile.size, QString::fromStdString(hashedFile.hash));
else
link.createExtraFile(hashedFile.filename, hashedFile.size, QString::fromStdString(hashedFile.hash),QString::fromStdString(rsPeers->getOwnId()));
if (hashedFile.flag & HashedFile::Picture) {
message += QString("<img src=\"file:///%1\" width=\"100\" height=\"100\">").arg(hashedFile.filepath);

View file

@ -30,6 +30,7 @@
#include "gui/style/RSStyle.h"
#include <retroshare/rsmsgs.h>
#include <retroshare/rsfiles.h>
class QAction;
class QTextEdit;
@ -76,6 +77,7 @@ public:
void addChatButton(QPushButton *button) ;
bool isActive();
void setDefaultExtraFileFlags(TransferRequestFlags f) ;
private slots:
void clearChatHistory();
@ -154,6 +156,8 @@ private:
bool firstShow;
bool inChatCharFormatChanged;
TransferRequestFlags mDefaultExtraFileFlags ; // flags for extra files shared in this chat. Will be 0 by default, but might be ANONYMOUS for chat lobbies.
Ui::ChatWidget *ui;
};