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