void PictureConfig::copy_usage(PictureConfig *picture) { this->use_brightness = picture->use_brightness; this->use_contrast = picture->use_contrast; this->use_color = picture->use_color; this->use_hue = picture->use_hue; this->use_whiteness = picture->use_whiteness; // Add the controls if they don't exists but don't replace existing values. for(int i = 0; i < picture->controls.total; i++) { PictureItem *src = picture->controls.values[i]; int got_it = 0; for(int j = 0; j < controls.total; j++) { if(controls.values[j]->device_id == src->device_id) { got_it = 1; break; } } if(!got_it) { PictureItem *dst = new PictureItem; controls.append(dst); dst->copy_from(src); } } }
void PictureConfig::load_defaults() { if(!defaults) { printf("PictureConfig::load_defaults: no defaults pointer.\n"); return; } defaults->load(); brightness = defaults->get("VIDEO_BRIGHTNESS", 0); hue = defaults->get("VIDEO_HUE", 0); color = defaults->get("VIDEO_COLOR", 0); contrast = defaults->get("VIDEO_CONTRAST", 0); whiteness = defaults->get("VIDEO_WHITENESS", 0); // The device must be probed first to keep unsupported controls from getting // displayed. for(int i = 0; i < controls.total; i++) { PictureItem *item = controls.values[i]; char string[BCTEXTLEN]; item->get_default_string(string); item->value = defaults->get(string, item->value); //printf("PictureConfig::load_defaults %s %d %d\n", item->name, item->device_id, item->value); } }
ViewItem* PictureItemFactory::generateGraphics(QXmlStreamReader& xml, ObjectStore *store, View *view, ViewItem *parent) { PictureItem *rc = 0; while (!xml.atEnd()) { bool validTag = true; if (xml.isStartElement()) { if (!rc && xml.name().toString() == "picture") { Q_ASSERT(!rc); rc = new PictureItem(view); if (parent) { rc->setParentViewItem(parent); } // Add any new specialized PictureItem Properties here. } else if (xml.name().toString() == "data") { Q_ASSERT(rc); xml.readNext(); QImage loadedImage; QByteArray qbca = QByteArray::fromBase64(xml.text().toString().toLatin1()); loadedImage.loadFromData(qUncompress(qbca)); rc->setImage(loadedImage); xml.readNext(); if (!xml.isEndElement() || (xml.name().toString() != "data")) { validTag = false; } xml.readNext(); } else { Q_ASSERT(rc); if (!rc->parse(xml, validTag) && validTag) { ViewItem *i = GraphicsFactory::parse(xml, store, view, rc); if (!i) { } } } } else if (xml.isEndElement()) { if (xml.name().toString() == "picture") { break; } else { validTag = false; } } if (!validTag) { qDebug("invalid Tag\n"); Debug::self()->log(QObject::tr("Error creating picture object from Kst file."), Debug::Warning); delete rc; return 0; } xml.readNext(); } return rc; }
void PictureConfig::dump() { printf(" VIDEO_BRIGHTNESS=%d\n", brightness); printf(" VIDEO_HUE=%d\n", hue); printf(" VIDEO_COLOR=%d\n", color); printf(" VIDEO_CONTRAST=%d\n", contrast); printf(" VIDEO_WHITENESS=%d\n", whiteness); for(int i = 0; i < controls.total; i++) { PictureItem *item = controls.values[i]; char string[BCTEXTLEN]; item->get_default_string(string); printf(" %s=%d\n", string, item->value); } }
void PictureConfig::save_defaults() { if(!defaults) { printf("PictureConfig::save_defaults: no defaults pointer.\n"); return; } defaults->update("VIDEO_BRIGHTNESS", brightness); defaults->update("VIDEO_HUE", hue); defaults->update("VIDEO_COLOR", color); defaults->update("VIDEO_CONTRAST", contrast); defaults->update("VIDEO_WHITENESS", whiteness); for(int i = 0; i < controls.total; i++) { PictureItem *item = controls.values[i]; char string[BCTEXTLEN]; item->get_default_string(string); defaults->update(string, item->value); //printf("PictureConfig::save_defaults %s %d %d\n", string, item->device_id, item->value); } }