qTox  Version: nightly | Commit: bc751c8e1cac455f9690654fcfe0f560d2d7dfdd
Public Member Functions | Private Attributes | List of all members
RecursiveSignalBlocker Class Reference

Recursively blocks all signals from an object and its children. More...

#include <recursivesignalblocker.h>

Collaboration diagram for RecursiveSignalBlocker:
Collaboration graph

Public Member Functions

 RecursiveSignalBlocker (QObject *object)
 Creates a QSignalBlocker recursively on the object and child objects. More...
 
 ~RecursiveSignalBlocker ()
 
void recursiveBlock (QObject *object)
 Recursively blocks all signals of the object. More...
 

Private Attributes

QVector< const QSignalBlocker * > mBlockers
 

Detailed Description

Recursively blocks all signals from an object and its children.

Note
All children must be created before the blocker is used.

Wraps a QSignalBlocker on each object. Signals will be unblocked when the blocker gets destroyed. According to QSignalBlocker, we are also exception safe.

Definition at line 27 of file recursivesignalblocker.h.

Constructor & Destructor Documentation

◆ RecursiveSignalBlocker()

RecursiveSignalBlocker::RecursiveSignalBlocker ( QObject *  object)
explicit

Creates a QSignalBlocker recursively on the object and child objects.

Parameters
[in]objectthe object, which signals should be blocked

Definition at line 38 of file recursivesignalblocker.cpp.

Here is the call graph for this function:

◆ ~RecursiveSignalBlocker()

RecursiveSignalBlocker::~RecursiveSignalBlocker ( )

Definition at line 43 of file recursivesignalblocker.cpp.

Member Function Documentation

◆ recursiveBlock()

void RecursiveSignalBlocker::recursiveBlock ( QObject *  object)

Recursively blocks all signals of the object.

Parameters
[in]objectthe object to block

Definition at line 52 of file recursivesignalblocker.cpp.

Here is the caller graph for this function:

Member Data Documentation

◆ mBlockers

QVector<const QSignalBlocker*> RecursiveSignalBlocker::mBlockers
private

Definition at line 36 of file recursivesignalblocker.h.


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