Beispiel #1
0
HBaseStyle* HGWidgetStyle::clone()
{
    HGWidgetStyle* style = new HGWidgetStyle(HObjectInfo(styleId(),""),parent());
    copyTo(style);

    return style;
}
Beispiel #2
0
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;
}
Beispiel #3
0
bool SimpleMessageStyle::isValid() const
{
	return !FIn_ContentHTML.isEmpty() && !styleId().isEmpty();
}