LeechCraft Azoth  0.6.70-15082-g543737046d
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")
LC::Azoth::IChatStyleResourceSource::GetVariantsForPack
virtual QStringList GetVariantsForPack(const QString &style)=0
Returns the list of variants for the style pack.
LC::Azoth::IChatStyleResourceSource::FrameFocused
virtual void FrameFocused(QWebEnginePage *page)=0
Notifies about a frame obtaining user input focus.
LC::Azoth::IChatStyleResourceSource::GetBaseURL
virtual QUrl GetBaseURL(const QString &style) const =0
Returns the base URL for the given style.
LC::Azoth::ChatMsgAppendInfo
Defines additional parameters of the message.
Definition: ichatstyleresourcesource.h:22
LC::Azoth::IChatStyleResourceSource
Interface for chat style resource loaders and handlers.
Definition: ichatstyleresourcesource.h:54
LC::Azoth::IChatStyleResourceSource::~IChatStyleResourceSource
~IChatStyleResourceSource() override=default
LC::Azoth::IChatStyleResourceSource::AppendMessage
virtual bool AppendMessage(QWebEnginePage *page, QObject *message, const ChatMsgAppendInfo &info)=0
Appends a new message to the chat view.
LC::Azoth
Definition: activityinfo.h:21
LC::Azoth::IChatStyleResourceSource::GetHTMLTemplate
virtual QString GetHTMLTemplate(const QString &style, const QString &variant, QObject *entry, QWebEnginePage *page) const =0
Returns the base HTML template for the given style.
LC::Azoth::IResourceSource
Base interface for specific resource sources.
Definition: iresourceplugin.h:37
LC::Azoth::ChatMsgAppendInfo::IsActiveChat_
bool IsActiveChat_
Whether this message is appended in an active session.
Definition: ichatstyleresourcesource.h:32
LC::Azoth::ChatMsgAppendInfo::Account_
IAccount * Account_
The account corresponding to this message.
Definition: ichatstyleresourcesource.h:40
LC::Azoth::ChatMsgAppendInfo::IsHighlightMsg_
bool IsHighlightMsg_
Whether this message has triggered a highlight.
Definition: ichatstyleresourcesource.h:26
iresourceplugin.h
LC::Azoth::IAccount
Interface representing a single account.
Definition: iaccount.h:56
LC::Azoth::ChatMsgAppendInfo::UseRichTextBody_
bool UseRichTextBody_
Whether rich text body should be used (if available).
Definition: ichatstyleresourcesource.h:36