LeechCraft Azoth  0.6.70-14771-g9d21b0f8ad
Modular multiprotocol IM plugin for LeechCraft
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 
13 class QUrl;
14 class QWebEnginePage;
15 
16 namespace LC::Azoth
17 {
18  class IAccount;
19 
23  {
27 
33 
37 
41  };
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 
145 Q_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.