LeechCraft Azoth 0.6.70-17335-ge406ffdcaf
Modular multiprotocol IM plugin for LeechCraft
Loading...
Searching...
No Matches
ichatstyleresourcesource.h
Go to the documentation of this file.
1/**********************************************************************
2 * LeechCraft - modular cross-platform feature rich internet client.
3 * Copyright (C) 2006-2014 Georg Rudoy
4 *
5 * Distributed under the Boost Software License, Version 1.0.
6 * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7 **********************************************************************/
8
9#pragma once
10
11#include "iresourceplugin.h"
12
13class QUrl;
14class QWebEnginePage;
15
16namespace LC::Azoth
17{
18 class IAccount;
19
42
55 {
56 public:
57 ~IChatStyleResourceSource () override = default;
58
73 virtual QUrl GetBaseURL (const QString& style) const = 0;
74
101 virtual QString GetHTMLTemplate (const QString& style,
102 const QString& variant, QObject *entry, QWebEnginePage *page) const = 0;
103
114 virtual bool AppendMessage (QWebEnginePage *page, QObject *message,
115 const ChatMsgAppendInfo& info) = 0;
116
128 virtual void FrameFocused (QWebEnginePage *page) = 0;
129
141 virtual QStringList GetVariantsForPack (const QString& style) = 0;
142 };
143}
144
145Q_DECLARE_INTERFACE (LC::Azoth::IChatStyleResourceSource,
146 "org.Deviant.LeechCraft.Azoth.IChatStyleResourceSource/1.0")
Interface representing a single account.
Definition iaccount.h:45
Interface for chat style resource loaders and handlers.
~IChatStyleResourceSource() override=default
virtual void FrameFocused(QWebEnginePage *page)=0
Notifies about a frame obtaining user input focus.
virtual QStringList GetVariantsForPack(const QString &style)=0
Returns the list of variants for the style pack.
virtual QString GetHTMLTemplate(const QString &style, const QString &variant, QObject *entry, QWebEnginePage *page) const =0
Returns the base HTML template for the given style.
virtual QUrl GetBaseURL(const QString &style) const =0
Returns the base URL for the given style.
virtual bool AppendMessage(QWebEnginePage *page, QObject *message, const ChatMsgAppendInfo &info)=0
Appends a new message to the chat view.
Base interface for specific resource sources.
Defines additional parameters of the message.
bool IsHighlightMsg_
Whether this message has triggered a highlight.
bool UseRichTextBody_
Whether rich text body should be used (if available).
bool IsActiveChat_
Whether this message is appended in an active session.
IAccount * Account_
The account corresponding to this message.