mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-04-25 17:39:18 -04:00
switch file to REMOTE state in subfileitem if the attachment has already been checked in the past but the file is not here anymore
This commit is contained in:
parent
18e37deba0
commit
84e588b7e0
@ -186,7 +186,7 @@ void SubFileItem::updateItemStatic()
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* get full path for local file */
|
/* get full path for local file */
|
||||||
if ((mMode == SFI_STATE_LOCAL) || (mMode == SFI_STATE_UPLOAD))
|
if (((mMode == SFI_STATE_LOCAL) || (mMode == SFI_STATE_UPLOAD)))
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_ITEM
|
#ifdef DEBUG_ITEM
|
||||||
std::cerr << "SubFileItem::updateItemStatic() STATE=Local/Upload checking path";
|
std::cerr << "SubFileItem::updateItemStatic() STATE=Local/Upload checking path";
|
||||||
@ -200,6 +200,9 @@ void SubFileItem::updateItemStatic()
|
|||||||
/* look up path */
|
/* look up path */
|
||||||
if (!rsFiles->FileDetails(mFileHash, hintflags, fi))
|
if (!rsFiles->FileDetails(mFileHash, hintflags, fi))
|
||||||
{
|
{
|
||||||
|
if(mFlag & SFI_FLAG_ASSUME_FILE_READY)
|
||||||
|
mMode = SFI_STATE_REMOTE;
|
||||||
|
else
|
||||||
mMode = SFI_STATE_ERROR;
|
mMode = SFI_STATE_ERROR;
|
||||||
#ifdef DEBUG_ITEM
|
#ifdef DEBUG_ITEM
|
||||||
std::cerr << "SubFileItem::updateItemStatic() STATE=>Error No Details";
|
std::cerr << "SubFileItem::updateItemStatic() STATE=>Error No Details";
|
||||||
@ -251,6 +254,7 @@ void SubFileItem::updateItemStatic()
|
|||||||
case SFI_STATE_REMOTE:
|
case SFI_STATE_REMOTE:
|
||||||
playButton->setEnabled(false);
|
playButton->setEnabled(false);
|
||||||
downloadButton->setEnabled(true);
|
downloadButton->setEnabled(true);
|
||||||
|
downloadButton->setVisible(true);
|
||||||
cancelButton->setEnabled(false);
|
cancelButton->setEnabled(false);
|
||||||
|
|
||||||
progressBar->setValue(0);
|
progressBar->setValue(0);
|
||||||
|
@ -42,7 +42,7 @@ const uint32_t SFI_TYPE_ATTACH = 0x0020;
|
|||||||
|
|
||||||
const uint32_t SFI_FLAG_CREATE = 0x1000;
|
const uint32_t SFI_FLAG_CREATE = 0x1000;
|
||||||
const uint32_t SFI_FLAG_ALLOW_DELETE = 0x2000;
|
const uint32_t SFI_FLAG_ALLOW_DELETE = 0x2000;
|
||||||
const uint32_t SFI_FLAG_NO_DOWNLOAD = 0x4000;
|
const uint32_t SFI_FLAG_ASSUME_FILE_READY = 0x4000;
|
||||||
|
|
||||||
|
|
||||||
//! This create a gui widget that allows users to access files shared by user
|
//! This create a gui widget that allows users to access files shared by user
|
||||||
|
@ -343,7 +343,7 @@ void CreateGxsChannelMsg::parseRsFileListAttachments(const std::string &attachLi
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CreateGxsChannelMsg::addAttachment(const RsFileHash &hash, const std::string &fname, uint64_t size, bool local, const RsPeerId &srcId)
|
void CreateGxsChannelMsg::addAttachment(const RsFileHash &hash, const std::string &fname, uint64_t size, bool local, const RsPeerId &srcId, bool assume_file_ready)
|
||||||
{
|
{
|
||||||
/* add a SubFileItem to the attachment section */
|
/* add a SubFileItem to the attachment section */
|
||||||
std::cerr << "CreateGxsChannelMsg::addAttachment()";
|
std::cerr << "CreateGxsChannelMsg::addAttachment()";
|
||||||
@ -352,14 +352,14 @@ void CreateGxsChannelMsg::addAttachment(const RsFileHash &hash, const std::strin
|
|||||||
/* add widget in for new destination */
|
/* add widget in for new destination */
|
||||||
|
|
||||||
uint32_t flags = SFI_TYPE_CHANNEL | SFI_FLAG_ALLOW_DELETE ;
|
uint32_t flags = SFI_TYPE_CHANNEL | SFI_FLAG_ALLOW_DELETE ;
|
||||||
|
|
||||||
|
if(assume_file_ready)
|
||||||
|
flags |= SFI_FLAG_ASSUME_FILE_READY;
|
||||||
|
|
||||||
if (local)
|
if (local)
|
||||||
{
|
|
||||||
flags |= SFI_STATE_LOCAL;
|
flags |= SFI_STATE_LOCAL;
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
|
||||||
flags |= SFI_STATE_REMOTE;
|
flags |= SFI_STATE_REMOTE;
|
||||||
}
|
|
||||||
|
|
||||||
SubFileItem *file = new SubFileItem(hash, fname, "", size, flags, srcId); // destroyed when fileFrame (this subfileitem) is destroyed
|
SubFileItem *file = new SubFileItem(hash, fname, "", size, flags, srcId); // destroyed when fileFrame (this subfileitem) is destroyed
|
||||||
|
|
||||||
@ -370,11 +370,7 @@ void CreateGxsChannelMsg::addAttachment(const RsFileHash &hash, const std::strin
|
|||||||
layout->addWidget(file);
|
layout->addWidget(file);
|
||||||
|
|
||||||
if (mCheckAttachment)
|
if (mCheckAttachment)
|
||||||
{
|
|
||||||
checkAttachmentReady();
|
checkAttachmentReady();
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CreateGxsChannelMsg::deleteAttachment()
|
void CreateGxsChannelMsg::deleteAttachment()
|
||||||
@ -749,7 +745,7 @@ void CreateGxsChannelMsg::loadChannelPostInfo(const uint32_t &token)
|
|||||||
msgEdit->setText(QString::fromUtf8(post.mMsg.c_str())) ;
|
msgEdit->setText(QString::fromUtf8(post.mMsg.c_str())) ;
|
||||||
|
|
||||||
for(std::list<RsGxsFile>::const_iterator it(post.mFiles.begin());it!=post.mFiles.end();++it)
|
for(std::list<RsGxsFile>::const_iterator it(post.mFiles.begin());it!=post.mFiles.end();++it)
|
||||||
addAttachment(it->mHash,it->mName,it->mSize,true,RsPeerId());
|
addAttachment(it->mHash,it->mName,it->mSize,true,RsPeerId(),true);
|
||||||
|
|
||||||
picture.loadFromData(post.mThumbnail.mData,post.mThumbnail.mSize,"PNG");
|
picture.loadFromData(post.mThumbnail.mData,post.mThumbnail.mSize,"PNG");
|
||||||
thumbnail_label->setPixmap(picture);
|
thumbnail_label->setPixmap(picture);
|
||||||
|
@ -44,7 +44,7 @@ public:
|
|||||||
~CreateGxsChannelMsg();
|
~CreateGxsChannelMsg();
|
||||||
|
|
||||||
void addAttachment(const std::string &path);
|
void addAttachment(const std::string &path);
|
||||||
void addAttachment(const RsFileHash &hash, const std::string &fname, uint64_t size, bool local, const RsPeerId &srcId);
|
void addAttachment(const RsFileHash &hash, const std::string &fname, uint64_t size, bool local, const RsPeerId &srcId,bool assume_file_ready = false);
|
||||||
|
|
||||||
void newChannelMsg();
|
void newChannelMsg();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user