Changed read timestamps timezones to UTC.
Fix QListDB::getObjectMetadatas not returning metadata when a single object was requested. Show size in GiB for backups.
This commit is contained in:
		@@ -1,7 +1,7 @@
 | 
			
		||||
qcma (0.3.0) unstable; urgency=low
 | 
			
		||||
 | 
			
		||||
  * Headless qcma version.
 | 
			
		||||
  * Set the default video codec to h264 is metadata skip is enabled.
 | 
			
		||||
  * Set the default video codec to h264 if metadata skip is enabled.
 | 
			
		||||
  * Delay the progress dialog by one second so it doesn't show on quick scans.
 | 
			
		||||
  * Do not show the disconnect message if no connection is established.
 | 
			
		||||
  * Show correct directory separators on Windows.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								org.qcma.HeadlessManager.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								org.qcma.HeadlessManager.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
 | 
			
		||||
<node>
 | 
			
		||||
  <interface name="org.qcma.HeadlessManager">
 | 
			
		||||
    <signal name="databaseUpdated">
 | 
			
		||||
      <arg name="count" type="i" direction="out"/>
 | 
			
		||||
    </signal>
 | 
			
		||||
    <method name="refreshDatabase">
 | 
			
		||||
    </method>
 | 
			
		||||
    <method name="stop">
 | 
			
		||||
    </method>
 | 
			
		||||
  </interface>
 | 
			
		||||
</node>
 | 
			
		||||
@@ -100,7 +100,7 @@ void CMAObject::loadSfoMetadata(const QString &path)
 | 
			
		||||
            title.chop(1);
 | 
			
		||||
        }
 | 
			
		||||
        metadata.data.saveData.savedataTitle = strdup(title.toStdString().c_str());
 | 
			
		||||
        metadata.data.saveData.dateTimeUpdated = QFileInfo(sfo).created().toTime_t();
 | 
			
		||||
        metadata.data.saveData.dateTimeUpdated = QFileInfo(sfo).created().toUTC().toTime_t();
 | 
			
		||||
    } else {
 | 
			
		||||
        metadata.data.saveData.title = strdup(metadata.name);
 | 
			
		||||
        metadata.data.saveData.detail = strdup("");
 | 
			
		||||
@@ -116,7 +116,7 @@ void CMAObject::initObject(const QFileInfo &file, int file_type)
 | 
			
		||||
    metadata.ohfi = ohfi_count++;
 | 
			
		||||
 | 
			
		||||
    metadata.type = VITA_DIR_TYPE_MASK_REGULAR; // ignored for files
 | 
			
		||||
    metadata.dateTimeCreated = file.created().toTime_t();
 | 
			
		||||
    metadata.dateTimeCreated = file.created().toUTC().toTime_t();
 | 
			
		||||
    metadata.size = 0;
 | 
			
		||||
    DataType type = file.isFile() ? File : Folder;
 | 
			
		||||
    metadata.dataType = (DataType)(type | (parent->metadata.dataType & ~Folder));
 | 
			
		||||
@@ -143,7 +143,7 @@ void CMAObject::initObject(const QFileInfo &file, int file_type)
 | 
			
		||||
        Database::loadMusicMetadata(file.absoluteFilePath(), metadata);
 | 
			
		||||
    } else if(MASK_SET(metadata.dataType, Video | File)) {
 | 
			
		||||
        metadata.data.video.fileName = strdup(metadata.name);
 | 
			
		||||
        metadata.data.video.dateTimeUpdated = file.created().toTime_t();
 | 
			
		||||
        metadata.data.video.dateTimeUpdated = file.created().toUTC().toTime_t();
 | 
			
		||||
        metadata.data.video.statusType = 1;
 | 
			
		||||
        metadata.data.video.fileFormatType = FILE_FORMAT_MP4;
 | 
			
		||||
        metadata.data.video.parentalLevel = 0;
 | 
			
		||||
@@ -161,7 +161,7 @@ void CMAObject::initObject(const QFileInfo &file, int file_type)
 | 
			
		||||
        metadata.data.photo.fileName = strdup(metadata.name);
 | 
			
		||||
        metadata.data.photo.fileFormatType = photo_list[file_type].file_format;
 | 
			
		||||
        metadata.data.photo.statusType = 1;
 | 
			
		||||
        metadata.data.photo.dateTimeOriginal = file.created().toTime_t();
 | 
			
		||||
        metadata.data.photo.dateTimeOriginal = file.created().toUTC().toTime_t();
 | 
			
		||||
        metadata.data.photo.numTracks = 1;
 | 
			
		||||
        metadata.data.photo.tracks = new media_track();
 | 
			
		||||
        metadata.data.photo.tracks->type = VITA_TRACK_TYPE_PHOTO;
 | 
			
		||||
 
 | 
			
		||||
@@ -188,7 +188,10 @@ void BackupManagerForm::loadBackupListing(int index)
 | 
			
		||||
        item->title = game_name;
 | 
			
		||||
 | 
			
		||||
        connect(item, SIGNAL(deleteEntry(BackupItem*)), this, SLOT(removeEntry(BackupItem*)));
 | 
			
		||||
        QString size = readable_size(meta->size);
 | 
			
		||||
 | 
			
		||||
        // show better size info for multi GiB backups
 | 
			
		||||
        bool use_gb = ohfi == VITA_OHFI_BACKUP && meta->size > 1024*1024*1024;
 | 
			
		||||
        QString size = readable_size(meta->size, use_gb);
 | 
			
		||||
 | 
			
		||||
        QString info;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -383,12 +383,18 @@ bool QListDB::deleteEntry(int ohfi, int root_ohfi)
 | 
			
		||||
int QListDB::getObjectMetadatas(int parent_ohfi, metadata_t **metadata, int index, int max_number)
 | 
			
		||||
{
 | 
			
		||||
    QMutexLocker locker(&mutex);
 | 
			
		||||
 | 
			
		||||
    CMARootObject *parent = static_cast<CMARootObject *>(ohfiToObject(parent_ohfi));
 | 
			
		||||
 | 
			
		||||
    if(parent == NULL) {
 | 
			
		||||
        return 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if(parent->metadata.dataType & File) {
 | 
			
		||||
        *metadata = &parent->metadata;
 | 
			
		||||
        return 1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    int type = parent->metadata.type;
 | 
			
		||||
 | 
			
		||||
    if(parent->metadata.ohfi < OHFI_OFFSET && parent->filters) { // if we have filters
 | 
			
		||||
 
 | 
			
		||||
@@ -527,13 +527,13 @@ bool SQLiteDB::insertSourceEntry(uint object_id, const QString &path, const QStr
 | 
			
		||||
    QFileInfo info(path, name);
 | 
			
		||||
    if(info.isFile()) {
 | 
			
		||||
        size = QVariant(info.size());
 | 
			
		||||
        date_created = QVariant(info.created().toTime_t());
 | 
			
		||||
        date_created = QVariant(info.created().toUTC().toTime_t());
 | 
			
		||||
    } else {
 | 
			
		||||
        size = QVariant(QVariant::LongLong);
 | 
			
		||||
        date_created = QVariant(QVariant::UInt);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    date_modified = QVariant(info.lastModified().toTime_t());
 | 
			
		||||
    date_modified = QVariant(info.lastModified().toUTC().toTime_t());
 | 
			
		||||
 | 
			
		||||
    QSqlQuery query;
 | 
			
		||||
    query.prepare("REPLACE INTO sources (object_id, path, size, date_created, date_modified)"
 | 
			
		||||
@@ -756,7 +756,7 @@ uint SQLiteDB::insertPhotoEntry(const QString &path, const QString &name, int pa
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    QDateTime date = QFileInfo(path + "/" + name).created();
 | 
			
		||||
    date_created = date.toTime_t();
 | 
			
		||||
    date_created = date.toUTC().toTime_t();
 | 
			
		||||
    QString month_created = date.toString("yyyy/MM");
 | 
			
		||||
 | 
			
		||||
    width = img.width();
 | 
			
		||||
@@ -806,7 +806,7 @@ uint SQLiteDB::insertSavedataEntry(const QString &path, const QString &name, int
 | 
			
		||||
        title = reader.value("TITLE", utf8name.constData());
 | 
			
		||||
        savedata_detail = reader.value("SAVEDATA_DETAIL", "");
 | 
			
		||||
        savedata_directory = reader.value("SAVEDATA_DIRECTORY", utf8name.constData());
 | 
			
		||||
        date_updated = QFileInfo(path + "/" + name).lastModified().toTime_t();
 | 
			
		||||
        date_updated = QFileInfo(path + "/" + name).lastModified().toUTC().toTime_t();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if((ohfi = insertDefaultEntry(path, name, title, parent, type)) == 0) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user