Modify removeRecursively to be able to delete a file.
Added getParentId func. Add the datatype for newly inserted items. Pass a double pointer instead of a pointer reference so the metadata_t can be optional. Make sure to delete the files after deleting an entry in the backup manager.
This commit is contained in:
		@@ -172,9 +172,9 @@ quint16 CmaEvent::processAllObjects(metadata_t &parent_metadata, quint32 handle)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    int ohfi = db->getPathId(name, parent_metadata.ohfi);
 | 
					    int ohfi = db->getPathId(name, parent_metadata.ohfi);
 | 
				
			||||||
    const QString fullpath = db->getAbsolutePath(ohfi);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(ohfi > 0) {
 | 
					    if(ohfi > 0) {
 | 
				
			||||||
 | 
					        const QString fullpath = db->getAbsolutePath(ohfi);
 | 
				
			||||||
        qDebug() << "Deleting" << fullpath;
 | 
					        qDebug() << "Deleting" << fullpath;
 | 
				
			||||||
        removeRecursively(fullpath);
 | 
					        removeRecursively(fullpath);
 | 
				
			||||||
        db->deleteEntry(ohfi);
 | 
					        db->deleteEntry(ohfi);
 | 
				
			||||||
@@ -382,7 +382,7 @@ void CmaEvent::vitaEventSendObjectMetadata(vita_event_t *event, int eventId)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    metadata_t *meta = NULL;
 | 
					    metadata_t *meta = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    int count = db->getObjectMetadatas(browse.ohfiParent, meta, browse.index, browse.numObjects); // if meta is null, will return empty XML
 | 
					    int count = db->getObjectMetadatas(browse.ohfiParent, &meta, browse.index, browse.numObjects); // if meta is null, will return empty XML
 | 
				
			||||||
    qDebug("Sending %i metadata filtered objects for OHFI %d", count, browse.ohfiParent);
 | 
					    qDebug("Sending %i metadata filtered objects for OHFI %d", count, browse.ohfiParent);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(VitaMTP_SendObjectMetadata(device, eventId, meta) != PTP_RC_OK) {  // send all objects with OHFI parent
 | 
					    if(VitaMTP_SendObjectMetadata(device, eventId, meta) != PTP_RC_OK) {  // send all objects with OHFI parent
 | 
				
			||||||
@@ -403,7 +403,7 @@ void CmaEvent::vitaEventSendObject(vita_event_t *event, int eventId)
 | 
				
			|||||||
    qDebug("Searching object with OHFI %d", ohfi);
 | 
					    qDebug("Searching object with OHFI %d", ohfi);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    metadata_t *metadata = NULL;
 | 
					    metadata_t *metadata = NULL;
 | 
				
			||||||
    if(!db->getObjectMetadatas(ohfi, metadata)) {
 | 
					    if(!db->getObjectMetadatas(ohfi, &metadata)) {
 | 
				
			||||||
        qWarning("Failed to find OHFI %d", ohfi);
 | 
					        qWarning("Failed to find OHFI %d", ohfi);
 | 
				
			||||||
        VitaMTP_ReportResult(device, eventId, PTP_RC_VITA_Invalid_OHFI);
 | 
					        VitaMTP_ReportResult(device, eventId, PTP_RC_VITA_Invalid_OHFI);
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -181,15 +181,6 @@ void CMAObject::initObject(const QFileInfo &file, int file_type)
 | 
				
			|||||||
    updateObjectSize(file.size());
 | 
					    updateObjectSize(file.size());
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool CMAObject::removeReferencedObject()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    if(metadata.dataType & Folder) {
 | 
					 | 
				
			||||||
        return removeRecursively(path);
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
        return QFile::remove(path);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void CMAObject::updateObjectSize(qint64 size)
 | 
					void CMAObject::updateObjectSize(qint64 size)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if(parent) {
 | 
					    if(parent) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,7 +34,6 @@ public:
 | 
				
			|||||||
    ~CMAObject();
 | 
					    ~CMAObject();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void refreshPath();
 | 
					    void refreshPath();
 | 
				
			||||||
    bool removeReferencedObject();
 | 
					 | 
				
			||||||
    void rename(const QString &name);
 | 
					    void rename(const QString &name);
 | 
				
			||||||
    void updateObjectSize(qint64 size);
 | 
					    void updateObjectSize(qint64 size);
 | 
				
			||||||
    bool hasParent(const CMAObject *obj);
 | 
					    bool hasParent(const CMAObject *obj);
 | 
				
			||||||
@@ -61,9 +60,6 @@ protected:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void loadSfoMetadata(const QString &path);
 | 
					    void loadSfoMetadata(const QString &path);
 | 
				
			||||||
    void loadMusicMetadata(const QString &path);
 | 
					 | 
				
			||||||
    void loadVideoMetadata(const QString &path);
 | 
					 | 
				
			||||||
    void loadPhotoMetadata(const QString &path);
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif // CMAOBJECT_H
 | 
					#endif // CMAOBJECT_H
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -45,12 +45,13 @@ public:
 | 
				
			|||||||
    virtual QString getAbsolutePath(int ohfi) = 0;
 | 
					    virtual QString getAbsolutePath(int ohfi) = 0;
 | 
				
			||||||
    virtual QString getRelativePath(int ohfi) = 0;
 | 
					    virtual QString getRelativePath(int ohfi) = 0;
 | 
				
			||||||
    virtual bool getObjectMetadata(int ohfi, metadata_t &metadata) = 0;
 | 
					    virtual bool getObjectMetadata(int ohfi, metadata_t &metadata) = 0;
 | 
				
			||||||
    virtual int getObjectMetadatas(int parent_ohfi, metadata_t *&metadata, int index = 0, int max_number = 0) = 0;
 | 
					    virtual int getObjectMetadatas(int parent_ohfi, metadata_t **metadata, int index = 0, int max_number = 0) = 0;
 | 
				
			||||||
    virtual qint64 getObjectSize(int ohfi) = 0;
 | 
					    virtual qint64 getObjectSize(int ohfi) = 0;
 | 
				
			||||||
    virtual int getPathId(const char *name, int ohfi) = 0;
 | 
					    virtual int getPathId(const char *name, int ohfi) = 0;
 | 
				
			||||||
    virtual int insertObjectEntry(const QString &path, int parent_ohfi) = 0;
 | 
					    virtual int insertObjectEntry(const QString &path, int parent_ohfi) = 0;
 | 
				
			||||||
    virtual bool renameObject(int ohfi, const QString &name) = 0;
 | 
					    virtual bool renameObject(int ohfi, const QString &name) = 0;
 | 
				
			||||||
    virtual void setObjectSize(int ohfi, qint64 size) = 0;
 | 
					    virtual void setObjectSize(int ohfi, qint64 size) = 0;
 | 
				
			||||||
 | 
					    virtual int getParentId(int ohfi) = 0;
 | 
				
			||||||
    virtual int getRootId(int ohfi) = 0;
 | 
					    virtual int getRootId(int ohfi) = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    static int checkFileType(const QString path, int ohfi_root);
 | 
					    static int checkFileType(const QString path, int ohfi_root);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -66,11 +66,8 @@ void BackupManagerForm::removeEntry(BackupItem *item)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    QMutexLocker locker(&db->mutex);
 | 
					    QMutexLocker locker(&db->mutex);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    metadata meta;
 | 
					    int parent_ohfi = db->getParentId(item->ohfi);
 | 
				
			||||||
    if(db->getObjectMetadata(item->ohfi, meta)) {
 | 
					    removeRecursively(db->getAbsolutePath(item->ohfi));
 | 
				
			||||||
        setBackupUsage(db->getObjectSize(meta.ohfiParent));
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    db->deleteEntry(item->ohfi);
 | 
					    db->deleteEntry(item->ohfi);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for(int i = 0; i < ui->tableWidget->rowCount(); ++i) {
 | 
					    for(int i = 0; i < ui->tableWidget->rowCount(); ++i) {
 | 
				
			||||||
@@ -80,6 +77,10 @@ void BackupManagerForm::removeEntry(BackupItem *item)
 | 
				
			|||||||
            break;
 | 
					            break;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if(parent_ohfi > 0) {
 | 
				
			||||||
 | 
					        setBackupUsage(db->getObjectSize(parent_ohfi));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void BackupManagerForm::setBackupUsage(quint64 size)
 | 
					void BackupManagerForm::setBackupUsage(quint64 size)
 | 
				
			||||||
@@ -143,8 +144,8 @@ void BackupManagerForm::loadBackupListing(int index)
 | 
				
			|||||||
    db->mutex.lock();
 | 
					    db->mutex.lock();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // get the item list    
 | 
					    // get the item list    
 | 
				
			||||||
    metadata_t *meta;
 | 
					    metadata_t *meta = NULL;
 | 
				
			||||||
    int row_count = db->getObjectMetadatas(ohfi, meta);
 | 
					    int row_count = db->getObjectMetadatas(ohfi, &meta);
 | 
				
			||||||
    ui->tableWidget->setRowCount(row_count);
 | 
					    ui->tableWidget->setRowCount(row_count);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // exit if there aren't any items
 | 
					    // exit if there aren't any items
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -301,8 +301,6 @@ bool QListDB::findInternal(const root_list &list, int ohfi, find_data &data)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
bool QListDB::find(int ohfi, QListDB::find_data &data)
 | 
					bool QListDB::find(int ohfi, QListDB::find_data &data)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    QMutexLocker locker(&mutex);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    for(map_list::iterator root = object_list.begin(); root != object_list.end(); ++root) {
 | 
					    for(map_list::iterator root = object_list.begin(); root != object_list.end(); ++root) {
 | 
				
			||||||
        if(findInternal(*root, ohfi, data)) {
 | 
					        if(findInternal(*root, ohfi, data)) {
 | 
				
			||||||
            return true;
 | 
					            return true;
 | 
				
			||||||
@@ -313,7 +311,6 @@ bool QListDB::find(int ohfi, QListDB::find_data &data)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
CMAObject *QListDB::ohfiToObject(int ohfi)
 | 
					CMAObject *QListDB::ohfiToObject(int ohfi)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    QMutexLocker locker(&mutex);
 | 
					 | 
				
			||||||
    find_data data;
 | 
					    find_data data;
 | 
				
			||||||
    return find(ohfi, data) ? *data.it : NULL;
 | 
					    return find(ohfi, data) ? *data.it : NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -365,6 +362,8 @@ int QListDB::acceptFilteredObject(const CMAObject *parent, const CMAObject *curr
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void QListDB::dumpMetadataList(const metadata_t *p_head)
 | 
					void QListDB::dumpMetadataList(const metadata_t *p_head)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    QMutexLocker locker(&mutex);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    while(p_head) {
 | 
					    while(p_head) {
 | 
				
			||||||
        qDebug("Metadata: %s with OHFI %d", p_head->name, p_head->ohfi);
 | 
					        qDebug("Metadata: %s with OHFI %d", p_head->name, p_head->ohfi);
 | 
				
			||||||
        p_head = p_head->next_metadata;
 | 
					        p_head = p_head->next_metadata;
 | 
				
			||||||
@@ -386,8 +385,7 @@ bool QListDB::getObjectMetadata(int ohfi, metadata_t &metadata)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
int QListDB::childObjectCount(int parent_ohfi)
 | 
					int QListDB::childObjectCount(int parent_ohfi)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    metadata_t *metadata = NULL;
 | 
					    return getObjectMetadatas(parent_ohfi, NULL);
 | 
				
			||||||
    return getObjectMetadatas(parent_ohfi, metadata);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool QListDB::deleteEntry(int ohfi, int root_ohfi)
 | 
					bool QListDB::deleteEntry(int ohfi, int root_ohfi)
 | 
				
			||||||
@@ -406,7 +404,7 @@ bool QListDB::deleteEntry(int ohfi, int root_ohfi)
 | 
				
			|||||||
    return false;
 | 
					    return false;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int QListDB::getObjectMetadatas(int parent_ohfi, metadata_t *&metadata, int index, int max_number)
 | 
					int QListDB::getObjectMetadatas(int parent_ohfi, metadata_t **metadata, int index, int max_number)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    QMutexLocker locker(&mutex);
 | 
					    QMutexLocker locker(&mutex);
 | 
				
			||||||
    CMARootObject *parent = static_cast<CMARootObject *>(ohfiToObject(parent_ohfi));
 | 
					    CMARootObject *parent = static_cast<CMARootObject *>(ohfiToObject(parent_ohfi));
 | 
				
			||||||
@@ -419,7 +417,7 @@ int QListDB::getObjectMetadatas(int parent_ohfi, metadata_t *&metadata, int inde
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    if(parent->metadata.ohfi < OHFI_OFFSET && parent->filters) { // if we have filters
 | 
					    if(parent->metadata.ohfi < OHFI_OFFSET && parent->filters) { // if we have filters
 | 
				
			||||||
        if(parent_ohfi == parent->metadata.ohfi) { // if we are looking at root
 | 
					        if(parent_ohfi == parent->metadata.ohfi) { // if we are looking at root
 | 
				
			||||||
            return parent->getFilters(&metadata);
 | 
					            return parent->getFilters(metadata);
 | 
				
			||||||
        } else { // we are looking at a filter
 | 
					        } else { // we are looking at a filter
 | 
				
			||||||
            for(int j = 0; j < parent->num_filters; j++) {
 | 
					            for(int j = 0; j < parent->num_filters; j++) {
 | 
				
			||||||
                if(parent->filters[j].ohfi == parent_ohfi) {
 | 
					                if(parent->filters[j].ohfi == parent_ohfi) {
 | 
				
			||||||
@@ -458,7 +456,7 @@ int QListDB::getObjectMetadatas(int parent_ohfi, metadata_t *&metadata, int inde
 | 
				
			|||||||
    tail->next_metadata = NULL;
 | 
					    tail->next_metadata = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(metadata != NULL) {
 | 
					    if(metadata != NULL) {
 | 
				
			||||||
        metadata = temp.next_metadata;
 | 
					        *metadata = temp.next_metadata;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return numObjects;
 | 
					    return numObjects;
 | 
				
			||||||
@@ -494,15 +492,21 @@ int QListDB::insertObjectEntry(const QString &path, int parent_ohfi)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    QMutexLocker locker(&mutex);
 | 
					    QMutexLocker locker(&mutex);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    CMAObject *parent = ohfiToObject(parent_ohfi);
 | 
					    CMAObject *parent_obj = ohfiToObject(parent_ohfi);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for(map_list::iterator root = object_list.begin(); root != object_list.end(); ++root) {
 | 
					    for(map_list::iterator root = object_list.begin(); root != object_list.end(); ++root) {
 | 
				
			||||||
        root_list *cat_list = &(*root);
 | 
					        root_list *cat_list = &(*root);
 | 
				
			||||||
        root_list::const_iterator it = qBinaryFind(cat_list->begin(), cat_list->end(), parent, QListDB::lessThanComparator);
 | 
					        root_list::const_iterator it = qBinaryFind(cat_list->begin(), cat_list->end(), parent_obj, QListDB::lessThanComparator);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if(it != cat_list->end()) {
 | 
					        if(it != cat_list->end()) {
 | 
				
			||||||
            CMAObject *newobj = new CMAObject(parent);
 | 
					            CMAObject *newobj = new CMAObject(parent_obj);
 | 
				
			||||||
            newobj->initObject(path);
 | 
					
 | 
				
			||||||
 | 
					            // get the root object
 | 
				
			||||||
 | 
					            while(parent_obj->parent) {
 | 
				
			||||||
 | 
					                parent_obj = parent_obj->parent;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            newobj->initObject(path, parent_obj->metadata.dataType);
 | 
				
			||||||
            cat_list->append(newobj);
 | 
					            cat_list->append(newobj);
 | 
				
			||||||
            return newobj->metadata.ohfi;
 | 
					            return newobj->metadata.ohfi;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -577,3 +581,11 @@ int QListDB::getRootId(int ohfi)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    return obj->metadata.ohfi;
 | 
					    return obj->metadata.ohfi;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int QListDB::getParentId(int ohfi)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    QMutexLocker locker(&mutex);
 | 
				
			||||||
 | 
					    CMAObject *obj = ohfiToObject(ohfi);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return obj ? obj->metadata.ohfiParent : 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -45,8 +45,9 @@ public:
 | 
				
			|||||||
    bool deleteEntry(int ohfi, int root_ohfi = 0);
 | 
					    bool deleteEntry(int ohfi, int root_ohfi = 0);
 | 
				
			||||||
    QString getAbsolutePath(int ohfi);
 | 
					    QString getAbsolutePath(int ohfi);
 | 
				
			||||||
    bool getObjectMetadata(int ohfi, metadata_t &metadata);
 | 
					    bool getObjectMetadata(int ohfi, metadata_t &metadata);
 | 
				
			||||||
    int getObjectMetadatas(int parent_ohfi, metadata_t *&metadata, int index = 0, int max_number = 0);
 | 
					    int getObjectMetadatas(int parent_ohfi, metadata_t **metadata, int index = 0, int max_number = 0);
 | 
				
			||||||
    qint64 getObjectSize(int ohfi);
 | 
					    qint64 getObjectSize(int ohfi);
 | 
				
			||||||
 | 
					    int getParentId(int ohfi);
 | 
				
			||||||
    int getPathId(const char *name, int ohfi);
 | 
					    int getPathId(const char *name, int ohfi);
 | 
				
			||||||
    QString getRelativePath(int ohfi);
 | 
					    QString getRelativePath(int ohfi);
 | 
				
			||||||
    int getRootId(int ohfi);
 | 
					    int getRootId(int ohfi);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -52,31 +52,37 @@ bool getDiskSpace(const QString &dir, quint64 *free, quint64 *total)
 | 
				
			|||||||
    return false;
 | 
					    return false;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool removeRecursively(const QString &dirName)
 | 
					bool removeRecursively(const QString &path)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    QFileInfo info(path);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if(info.isDir()) {
 | 
				
			||||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
 | 
					#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
 | 
				
			||||||
    return QDir(dirName).removeRecursively();
 | 
					        return QDir(path).removeRecursively();
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
    bool result = false;
 | 
					        bool result = false;
 | 
				
			||||||
    QDir dir(dirName);
 | 
					        QDir dir(path);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(dir.exists(dirName)) {
 | 
					        if(dir.exists(path)) {
 | 
				
			||||||
        Q_FOREACH(QFileInfo info, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden  | QDir::AllDirs | QDir::Files, QDir::DirsFirst)) {
 | 
					            Q_FOREACH(QFileInfo info, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden  | QDir::AllDirs | QDir::Files, QDir::DirsFirst)) {
 | 
				
			||||||
            if(info.isDir()) {
 | 
					                if(info.isDir()) {
 | 
				
			||||||
                result = removeRecursively(info.absoluteFilePath());
 | 
					                    result = removeRecursively(info.absoluteFilePath());
 | 
				
			||||||
            } else {
 | 
					                } else {
 | 
				
			||||||
                result = QFile::remove(info.absoluteFilePath());
 | 
					                    result = QFile::remove(info.absoluteFilePath());
 | 
				
			||||||
            }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if(!result) {
 | 
					                if(!result) {
 | 
				
			||||||
                return result;
 | 
					                    return result;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            result = dir.rmdir(path);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        result = dir.rmdir(dirName);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return result;
 | 
					        return result;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        return QFile::remove(path);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
QByteArray findFolderAlbumArt(const QString path, metadata_t *metadata)
 | 
					QByteArray findFolderAlbumArt(const QString path, metadata_t *metadata)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -45,7 +45,7 @@ public:
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool removeRecursively(const QString &dirName);
 | 
					bool removeRecursively(const QString &path);
 | 
				
			||||||
QString readable_size(quint64 size, bool use_gib = false);
 | 
					QString readable_size(quint64 size, bool use_gib = false);
 | 
				
			||||||
bool getDiskSpace(const QString &dir, quint64 *free, quint64 *total);
 | 
					bool getDiskSpace(const QString &dir, quint64 *free, quint64 *total);
 | 
				
			||||||
QByteArray getThumbnail(const QString &path, DataType type, metadata_t *metadata);
 | 
					QByteArray getThumbnail(const QString &path, DataType type, metadata_t *metadata);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user