bool Media::setValueForRole(int role, const QVariant& value) { switch (role) { case MediaCenter::MediaTypeRole: return setType(value.toString()); case Qt::DisplayRole: return setTitle(value.toString()); case MediaCenter::MediaUrlRole: if (d->url != value.toString()) { qDebug() << d->url << value.toString(); qFatal("Media URLs CANNOT be changed"); } return false; case Qt::DecorationRole: return thumbnail().isEmpty() ? setThumbnail(value.toString()) : false; case MediaCenter::CreatedAtRole: return setCreatedAt(value.toDateTime()); case MediaCenter::GenreRole: return setGenre(value.toString()); case MediaCenter::DurationRole : return setDuration(value.toInt()); case MediaCenter::RatingRole : return setRating(value.toInt()); default: //qWarning() << "Unknown role " << role << " for value " << value; return false; } }
FileFS::FileFS(const std::string &name, FileMode mode) : DirectoryWithAttributes(name, mode, true){ this->mode = mode; if (mode == FileMode::Overwrite) { removeAll(); } setCreatedAt(); setUpdatedAt(); create_subfolders(name); if (!checkHeader()) { throw std::runtime_error("Invalid file header: either file format or file version not correct"); } }
FileHDF5::FileHDF5(const string &name, FileMode mode, Compression compression, OpenFlags flags) { if (!fileExists(name)) { mode = FileMode::Overwrite; } this->mode = mode; this->compr = compression; //we want hdf5 to keep track of the order in which links were created so that //the order for indexed based accessors is stable cf. issue #387 H5Object fcpl = H5Pcreate(H5P_FILE_CREATE); fcpl.check("Could not create file creation plist"); HErr res = H5Pset_link_creation_order(fcpl.h5id(), H5P_CRT_ORDER_TRACKED|H5P_CRT_ORDER_INDEXED); res.check("Unable to create file (H5Pset_link_creation_order failed.)"); unsigned int h5mode = map_file_mode(mode); bool is_create = !fileExists(name) || h5mode == H5F_ACC_TRUNC; if (is_create) { hid = H5Fcreate(name.c_str(), h5mode, fcpl.h5id(), H5P_DEFAULT); } else { hid = H5Fopen(name.c_str(), h5mode, H5P_DEFAULT); } if (!H5Iis_valid(hid)) { throw H5Exception("Could not open/create file"); } openRoot(); if (is_create) { createHeader(); } else if (!checkHeader(mode) && (flags & OpenFlags::Force) != OpenFlags::Force) { throw nix::InvalidFile("FileHDF5::open_existing!"); } metadata = root.openGroup("metadata"); data = root.openGroup("data"); setCreatedAt(); setUpdatedAt(); }
void QWebdavUrlInfo::davParsePropstats( const QString & path, const QDomNodeList & propstats ) { QString mimeType; bool foundExecutable = false; bool isDirectory = false; setName(path); for ( int i = 0; i < propstats.count(); i++) { QDomElement propstat = propstats.item(i).toElement(); QDomElement status = propstat.namedItem( "status" ).toElement(); if ( status.isNull() ) { qDebug() << "Error, no status code in this propstat"; return; } int code = codeFromResponse( status.text() ); if (code == 404) continue ; QDomElement prop = propstat.namedItem( "prop" ).toElement(); if ( prop.isNull() ) { qDebug() << "Error: no prop segment in this propstat."; return; } for ( QDomNode n = prop.firstChild(); !n.isNull(); n = n.nextSibling() ) { QDomElement property = n.toElement(); if (property.isNull()) continue; properties_[property.namespaceURI()][property.tagName()] = property.text(); if ( property.namespaceURI() != "DAV:" ) { // break out - we're only interested in properties from the DAV namespace continue; } if ( property.tagName() == "creationdate" ) setCreatedAt(parseDateTime( property.text(), property.attribute("dt") )); else if ( property.tagName() == "getcontentlength" ) setSize(property.text().toULong()); else if ( property.tagName() == "displayname" ) setDisplayName(property.text()); else if ( property.tagName() == "source" ) { QDomElement source; source = property.namedItem( "link" ).toElement() .namedItem( "dst" ).toElement(); if ( !source.isNull() ) setSource(source.text()); } else if ( property.tagName() == "getcontentlanguage" ) setContentLanguage(property.text()); else if ( property.tagName() == "getcontenttype" ) { if ( property.text() == "httpd/unix-directory" ) isDirectory = true; else mimeType = property.text(); } else if ( property.tagName() == "executable" ) { if ( property.text() == "T" ) foundExecutable = true; } else if ( property.tagName() == "getlastmodified" ) setLastModified(parseDateTime( property.text(), property.attribute("dt") )); else if ( property.tagName() == "getetag" ) setEntitytag(property.text()); else if ( property.tagName() == "resourcetype" ) { if ( !property.namedItem( "collection" ).toElement().isNull() ) isDirectory = true; } else qDebug() << "Found unknown webdav property: " << property.tagName() << property.text(); } } setDir(isDirectory); setFile(!isDirectory); if (isDirectory && !name().endsWith("/")) setName(name() + "/"); if ( foundExecutable || isDirectory ) setPermissions(0700); else setPermissions(0600); if ( !isDirectory && !mimeType.isEmpty() ) setMimeType(mimeType); }