Process correctly the return value of the confirm dialog.
Update the backup usage label after deleting an entry. Update the parent metadata size after deleting a node.
This commit is contained in:
@@ -61,12 +61,7 @@ void BackupManagerForm::removeEntry(BackupItem *item)
|
||||
msgBox.setMessageText(tr("Are you sure to remove the backup of the following entry?"), item->title);
|
||||
msgBox.setMessagePixmap(*item->getIconPixmap(), item->getIconWidth());
|
||||
|
||||
switch(msgBox.exec()) {
|
||||
case QDialogButtonBox::Ok:
|
||||
break;
|
||||
case QDialogButtonBox::Cancel:
|
||||
return;
|
||||
default:
|
||||
if(msgBox.exec() == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -78,6 +73,15 @@ void BackupManagerForm::removeEntry(BackupItem *item)
|
||||
db->remove(obj);
|
||||
}
|
||||
ui->tableWidget->removeRow(item->row);
|
||||
obj = db->ohfiToObject(obj->metadata.ohfiParent);
|
||||
if(obj) {
|
||||
setBackupUsage(obj->metadata.size);
|
||||
}
|
||||
}
|
||||
|
||||
void BackupManagerForm::setBackupUsage(quint64 size)
|
||||
{
|
||||
ui->usageLabel->setText(tr("Backup disk usage: %1").arg(readable_size(size, true)));
|
||||
}
|
||||
|
||||
void BackupManagerForm::loadBackupListing(int index)
|
||||
@@ -138,7 +142,7 @@ void BackupManagerForm::loadBackupListing(int index)
|
||||
horiz_header->setResizeMode(QHeaderView::Stretch);
|
||||
|
||||
CMAObject *obj = db->ohfiToObject(ohfi);
|
||||
ui->usageLabel->setText(tr("Backup disk usage: %1").arg(readable_size(obj->metadata.size, true)));
|
||||
setBackupUsage(obj->metadata.size);
|
||||
|
||||
QList<BackupItem *> item_list;
|
||||
|
||||
|
@@ -41,6 +41,7 @@ public:
|
||||
|
||||
private:
|
||||
void setupForm();
|
||||
void setBackupUsage(quint64 size);
|
||||
|
||||
Ui::BackupManagerForm *ui;
|
||||
|
||||
|
@@ -184,11 +184,12 @@ bool CMAObject::removeReferencedObject()
|
||||
}
|
||||
}
|
||||
|
||||
void CMAObject::updateObjectSize(unsigned long size)
|
||||
void CMAObject::updateObjectSize(qint64 size)
|
||||
{
|
||||
if(parent) {
|
||||
parent->updateObjectSize(size);
|
||||
}
|
||||
//FIXME: size should be quint64
|
||||
metadata.size += size;
|
||||
}
|
||||
|
||||
|
@@ -37,7 +37,7 @@ public:
|
||||
void rename(const QString &name);
|
||||
bool removeReferencedObject();
|
||||
void initObject(const QFileInfo &file);
|
||||
void updateObjectSize(unsigned long size);
|
||||
void updateObjectSize(qint64 size);
|
||||
bool hasParent(const CMAObject *obj);
|
||||
|
||||
bool operator==(const CMAObject &obj);
|
||||
|
@@ -181,6 +181,8 @@ bool Database::removeInternal(root_list &list, const CMAObject *obj)
|
||||
|
||||
while(it != list.end()) {
|
||||
if(!found && (*it) == obj) {
|
||||
// update the size of the parent objects
|
||||
(*it)->updateObjectSize(-(*it)->metadata.size);
|
||||
it = list.erase(it);
|
||||
found = true;
|
||||
} else if(found && (*it)->metadata.ohfiParent == obj->metadata.ohfi) {
|
||||
|
Reference in New Issue
Block a user