Page Contents

Topics

Classes

QLThemeEditorDialog Class

#include <QLayers/qlthemeeditordialog.h>

Inherits: QLDialog

Public Functions

QLThemeEditorDialog(QWidget* parent = nullptr)
virtual void apply_theme_item(LThemeItem* theme_item) override

Protected Functions

bool eventFilter(QObject* object, QEvent* event) override

Slots

void edit_theme_item(LThemeItem* theme_item)
void reset_save_timer()

Detailed Description

QLThemeEditorDialog Example

A QLThemeEditorDialog is a QLDialog that provides an interface for editing an LTheme.

The left side of the dialog contains a QLThemeView which is a type of tree-view that lets the user navigate a hierarchy of theme-items.

The right side of the dialog contains QLAttributeEditor widgets for editing the attributes of the theme-item selected in the tree-view. If the theme-item contains grouped attributes, their editors will be accessible through QLAttributeEditorGroup widgets.

At the bottom of the dialog, there is a status bar that reports relevant information to the user.

Automatic Saving

The active theme is automatically saved, after a 3-second delay, any time the user makes changes. The delay is communicated to the user with a QLGrowingDotProgressIndicator in the status bar. Once the delay is over, the theme is saved, and the status bar is updated to indicate that to the user.

Member Function Documentation

QLThemeEditorDialog(QWidget* parent = nullptr)

Constructs a theme editor dialog.

void apply_theme_item(LThemeItem* theme_item)

Virtual

Override

Applies theme_item to the editor and its children.

This function overrides QLThemeable::apply_theme_item() to clear the editor before the theme is applied.

void edit_theme_item(LThemeItem* theme_item)

Slot

Sets up the dialog with QLAttributeEditor widgets to edit the attributes of theme_item.

void reset_save_timer()

Slot

Resets the save-timer used to delay saving.