void CQNotes::save() { if (mpObject != NULL && mValidity == QValidator::Acceptable) { QString Notes; CAnnotation * pAnnotation = CAnnotation::castObject(mpObject); CReportDefinition * pReportDefinition = static_cast< CReportDefinition * >(mpObject); if (pAnnotation != NULL) { Notes = FROM_UTF8(pAnnotation->getNotes()); } else if (pReportDefinition != NULL) { Notes = FROM_UTF8(pReportDefinition->getComment()); } if (mpEdit->toPlainText() != Notes) { std::string PlainText = TO_UTF8(mpEdit->toPlainText()); if (mpValidatorXML->needsWrap()) { // We wrap the HTML in a body element if it does not contain a top level html or body element. PlainText = "<body xmlns=\"http://www.w3.org/1999/xhtml\">" + PlainText + "</body>"; } if (pAnnotation != NULL) { pAnnotation->setNotes(PlainText); } else if (pReportDefinition != NULL) { pReportDefinition->setComment(PlainText); } mChanged = true; } } if (mChanged) { if (mpDataModel != NULL) { mpDataModel->changed(); } protectedNotify(ListViews::MODEL, ListViews::CHANGE, mKey); mChanged = false; } return; }
void CQNotes::load() { if (mpObject != NULL) { QString Notes; CAnnotation * pAnnotation = CAnnotation::castObject(mpObject); CReportDefinition * pReportDefinition = static_cast< CReportDefinition * >(mpObject); if (pAnnotation != NULL) { Notes = FROM_UTF8(pAnnotation->getNotes()); } else if (pReportDefinition != NULL) { Notes = FROM_UTF8(pReportDefinition->getComment()); } // The notes are UTF8 encoded however the html does not specify an encoding // thus Qt uses locale settings. mpWebView->setHtml(Notes); mpEdit->setPlainText(Notes); mpValidatorXML->saved(); slotValidateXML(); if (!mpValidatorXML->isFreeText() && mEditMode) { slotToggleMode(); } mValidity = QValidator::Acceptable; } mChanged = false; return; }