LeechCraft  0.6.70-10870-g558588d6ec
Modular cross-platform feature rich live environment.
LeechCraft::Util::WkFontsWidget Class Reference

A settings widget for configuring WebKit fonts. More...

#include "wkfontswidget.h"

+ Inheritance diagram for LeechCraft::Util::WkFontsWidget:
+ Collaboration diagram for LeechCraft::Util::WkFontsWidget:

Public Slots

void accept ()
 
void reject ()
 

Signals

void fontChanged (IWkFontsSettable::FontFamily family, const QFont &font)
 Notifies the font for the given family has been changed. More...
 
void sizeChanged (IWkFontsSettable::FontSize type, int size)
 Notifies the size for the given font type has been changed. More...
 
void sizeMultiplierChanged (qreal factor)
 Notifies the text zoom factor has been changed. More...
 

Public Member Functions

 WkFontsWidget (Util::BaseSettingsManager *bsm, QWidget *parent=nullptr)
 Creates the fonts settings widget. More...
 
void SetFontZoomTooltip (const QString &tooltip)
 Sets the tooltip for the font size multiplier control. More...
 
void RegisterSettable (IWkFontsSettable *settable)
 Registers an object to be automatically updated whenever font settings change. More...
 

Detailed Description

A settings widget for configuring WebKit fonts.

Provides a common widget for configuring QtWebKit fonts for standard WebKit font types.

This widget works through LeechCraft's XML Settings Dialog system, storing the configuration in an BaseSettingsManager instance.

This widget also supports automatically updating font settings for objects implementing the IWkFontsSettable interface if the user changes them.

Typical usage includes creating an item of type customwidget in the XML file describing the settings and then setting an instance of the WkFontsWidget as the widget for that item. On the C++ side this looks like:

FontsWidget_ = new Util::WkFontsWidget { &XmlSettingsManager::Instance () };
XmlSettingsDialog_->SetCustomWidget ("FontsSelector", FontsWidget_);

assuming the Util::BaseSettingsManager is provided by a singleton XmlSettingsManager class, and XmlSettingsDialog_ is an instance of Util::XmlSettingsDialog.

The code above also stores the WkFontsWidget as a class variable, which may be a good idea if one wishes to use the settings autoupdate feature. For example, assuming a class ChatTab properly implements the IWkFontsSettable interface:

const auto tab = new ChatTab {};
FontsWidget_->RegisterSettable (tab);
See also
IWkFontsSettable

Definition at line 89 of file wkfontswidget.h.

Constructor & Destructor Documentation

◆ WkFontsWidget()

LeechCraft::Util::WkFontsWidget::WkFontsWidget ( Util::BaseSettingsManager *  bsm,
QWidget *  parent = nullptr 
)

Creates the fonts settings widget.

Parameters
[in]bsmThe settings manager to use for storing settings.
[in]parentThe parent widget for this widget.

Definition at line 42 of file wkfontswidget.cpp.

Member Function Documentation

◆ accept

void LeechCraft::Util::WkFontsWidget::accept ( )
slot

Definition at line 187 of file wkfontswidget.cpp.

References fontChanged(), sizeChanged(), sizeMultiplierChanged(), and LeechCraft::Util::Stlize().

+ Here is the call graph for this function:

◆ fontChanged

void LeechCraft::Util::WkFontsWidget::fontChanged ( IWkFontsSettable::FontFamily  family,
const QFont &  font 
)
signal

Notifies the font for the given family has been changed.

Parameters
[out]familyThe font family for which the font has been changed.
[out]fontThe new font for the given family.

Referenced by accept().

+ Here is the caller graph for this function:

◆ RegisterSettable()

void LeechCraft::Util::WkFontsWidget::RegisterSettable ( IWkFontsSettable settable)

Registers an object to be automatically updated whenever font settings change.

Parameters
[in]settableAn object implementing IWkFontsSettable.
See also
IWkFontsSettable

Definition at line 109 of file wkfontswidget.cpp.

References LeechCraft::Util::Stlize().

+ Here is the call graph for this function:

◆ reject

void LeechCraft::Util::WkFontsWidget::reject ( )
slot

Definition at line 223 of file wkfontswidget.cpp.

◆ SetFontZoomTooltip()

void LeechCraft::Util::WkFontsWidget::SetFontZoomTooltip ( const QString &  tooltip)

Sets the tooltip for the font size multiplier control.

Parameters
[in]tooltipThe tooltip string.

Definition at line 104 of file wkfontswidget.cpp.

◆ sizeChanged

void LeechCraft::Util::WkFontsWidget::sizeChanged ( IWkFontsSettable::FontSize  type,
int  size 
)
signal

Notifies the size for the given font type has been changed.

Parameters
[out]typeThe font type for which the size has been changed.
[out]sizeThe new font size for the given font type.

Referenced by accept().

+ Here is the caller graph for this function:

◆ sizeMultiplierChanged

void LeechCraft::Util::WkFontsWidget::sizeMultiplierChanged ( qreal  factor)
signal

Notifies the text zoom factor has been changed.

Parameters
[out]factorThe new font size multiplier.

Referenced by accept().

+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: