HBaseStyle* HGWidgetStyle::clone() { HGWidgetStyle* style = new HGWidgetStyle(HObjectInfo(styleId(),""),parent()); copyTo(style); return style; }
bool SimpleMessageStyle::changeOptions(QWidget *AWidget, const IMessageStyleOptions &AOptions, bool AClear) { StyleViewer *view = qobject_cast<StyleViewer *>(AWidget); if (view && AOptions.styleId==styleId()) { bool isNewView = !FWidgetStatus.contains(view); if (AClear || isNewView) { WidgetStatus &wstatus = FWidgetStatus[view]; wstatus.lastKind = -1; wstatus.lastId = QString::null; wstatus.lastTime = QDateTime(); wstatus.scrollStarted = false; wstatus.content.clear(); if (isNewView) { view->installEventFilter(this); connect(view,SIGNAL(anchorClicked(const QUrl &)),SLOT(onStyleWidgetLinkClicked(const QUrl &))); connect(view,SIGNAL(destroyed(QObject *)),SLOT(onStyleWidgetDestroyed(QObject *))); emit widgetAdded(view); } QString html = makeStyleTemplate(); fillStyleKeywords(html,AOptions); view->setHtml(html); QTextCursor cursor(view->document()); cursor.movePosition(QTextCursor::End); wstatus.contentStartPosition = cursor.position(); } else { FWidgetStatus[view].lastKind = -1; } setVariant(view, AOptions.extended.value(MSO_VARIANT).toString()); QFont font; int fontSize = AOptions.extended.value(MSO_FONT_SIZE).toInt(); QString fontFamily = AOptions.extended.value(MSO_FONT_FAMILY).toString(); if (fontSize>0) font.setPointSize(fontSize); if (!fontFamily.isEmpty()) font.setFamily(fontFamily); view->document()->setDefaultFont(font); emit optionsChanged(view,AOptions,AClear); return true; } else if (view == NULL) { REPORT_ERROR("Failed to change simple style options: Invalid style view"); } return false; }
bool SimpleMessageStyle::isValid() const { return !FIn_ContentHTML.isEmpty() && !styleId().isEmpty(); }