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.setMessageText(tr("Are you sure to remove the backup of the following entry?"), item->title);
|
||||||
msgBox.setMessagePixmap(*item->getIconPixmap(), item->getIconWidth());
|
msgBox.setMessagePixmap(*item->getIconPixmap(), item->getIconWidth());
|
||||||
|
|
||||||
switch(msgBox.exec()) {
|
if(msgBox.exec() == 0) {
|
||||||
case QDialogButtonBox::Ok:
|
|
||||||
break;
|
|
||||||
case QDialogButtonBox::Cancel:
|
|
||||||
return;
|
|
||||||
default:
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,6 +73,15 @@ void BackupManagerForm::removeEntry(BackupItem *item)
|
|||||||
db->remove(obj);
|
db->remove(obj);
|
||||||
}
|
}
|
||||||
ui->tableWidget->removeRow(item->row);
|
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)
|
void BackupManagerForm::loadBackupListing(int index)
|
||||||
@@ -138,7 +142,7 @@ void BackupManagerForm::loadBackupListing(int index)
|
|||||||
horiz_header->setResizeMode(QHeaderView::Stretch);
|
horiz_header->setResizeMode(QHeaderView::Stretch);
|
||||||
|
|
||||||
CMAObject *obj = db->ohfiToObject(ohfi);
|
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;
|
QList<BackupItem *> item_list;
|
||||||
|
|
||||||
|
@@ -41,6 +41,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void setupForm();
|
void setupForm();
|
||||||
|
void setBackupUsage(quint64 size);
|
||||||
|
|
||||||
Ui::BackupManagerForm *ui;
|
Ui::BackupManagerForm *ui;
|
||||||
|
|
||||||
|
@@ -184,11 +184,12 @@ bool CMAObject::removeReferencedObject()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMAObject::updateObjectSize(unsigned long size)
|
void CMAObject::updateObjectSize(qint64 size)
|
||||||
{
|
{
|
||||||
if(parent) {
|
if(parent) {
|
||||||
parent->updateObjectSize(size);
|
parent->updateObjectSize(size);
|
||||||
}
|
}
|
||||||
|
//FIXME: size should be quint64
|
||||||
metadata.size += size;
|
metadata.size += size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -37,7 +37,7 @@ public:
|
|||||||
void rename(const QString &name);
|
void rename(const QString &name);
|
||||||
bool removeReferencedObject();
|
bool removeReferencedObject();
|
||||||
void initObject(const QFileInfo &file);
|
void initObject(const QFileInfo &file);
|
||||||
void updateObjectSize(unsigned long size);
|
void updateObjectSize(qint64 size);
|
||||||
bool hasParent(const CMAObject *obj);
|
bool hasParent(const CMAObject *obj);
|
||||||
|
|
||||||
bool operator==(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()) {
|
while(it != list.end()) {
|
||||||
if(!found && (*it) == obj) {
|
if(!found && (*it) == obj) {
|
||||||
|
// update the size of the parent objects
|
||||||
|
(*it)->updateObjectSize(-(*it)->metadata.size);
|
||||||
it = list.erase(it);
|
it = list.erase(it);
|
||||||
found = true;
|
found = true;
|
||||||
} else if(found && (*it)->metadata.ohfiParent == obj->metadata.ohfi) {
|
} else if(found && (*it)->metadata.ohfiParent == obj->metadata.ohfi) {
|
||||||
|
Reference in New Issue
Block a user