Remove screenshot from s3 bucket and old format cache only

This commit is contained in:
Yuriy Puchkov
2020-08-06 16:29:48 +03:00
parent 0175d7fd02
commit fe1c37d28a
2 changed files with 35 additions and 33 deletions

View File

@@ -136,14 +136,9 @@ void HistoryWidget::addLine(const QString &path, const QString& fileName) {
QPushButton *buttonDelete = new QPushButton;
buttonDelete->setIcon(QIcon(":/img/material/black/delete.svg"));
buttonDelete->setMinimumHeight(HISTORYPIXMAP_MAX_PREVIEW_HEIGHT);
if(deleteToken.size() > 0) {
connect(buttonDelete, &QPushButton::clicked, this, [=](){
removeItem(phbl, fullFileName, s3FileName, deleteToken);
});
}
else {
buttonDelete->setDisabled(true);
}
connect(buttonDelete, &QPushButton::clicked, this, [=](){
removeItem(phbl, fullFileName, s3FileName, deleteToken);
});
// layout
phbl->addWidget(pScreenshot);
@@ -158,34 +153,40 @@ void HistoryWidget::addLine(const QString &path, const QString& fileName) {
phbl->setStretchFactor(buttonOpen, 4);
phbl->setStretchFactor(buttonDelete, 1);
// add to scroll
m_pVBox->addLayout(phbl);
}
void HistoryWidget::removeItem(QLayout *pl, const QString &fullFileName, const QString& s3FileName, const QString& deleteToken) {
ImgS3Uploader *uploader = new ImgS3Uploader();
uploader->show();
uploader->deleteResource(s3FileName, deleteToken);
connect(uploader, &QWidget::destroyed, this, [=](){
// delete cached image on local dist
QFile file(fullFileName);
file.remove();
// remove current row or refresh list
while(pl->count() > 0)
{
QLayoutItem *item = pl->takeAt(0);
delete item->widget();
delete item;
}
m_pVBox->removeItem(pl);
delete pl;
// set "empty" message if no items left
if(m_pVBox->count() == 0) {
setEmptyMessage();
}
});
if (deleteToken.length() > 0) {
ImgS3Uploader *uploader = new ImgS3Uploader();
uploader->show();
uploader->deleteResource(s3FileName, deleteToken);
connect(uploader, &QWidget::destroyed, this, [=](){
removeLocalItem(pl, fullFileName);
});
}
else {
removeLocalItem(pl, fullFileName);
}
}
void HistoryWidget::removeLocalItem(QLayout *pl, const QString &fullFileName) {
QFile file(fullFileName);
file.remove();
// remove current row or refresh list
while(pl->count() > 0)
{
QLayoutItem *item = pl->takeAt(0);
delete item->widget();
delete item;
}
m_pVBox->removeItem(pl);
delete pl;
// set "empty" message if no items left
if(m_pVBox->count() == 0) {
setEmptyMessage();
}
}