From f8e2c9516214e155de0e1113b27231713fc25c03 Mon Sep 17 00:00:00 2001 From: Florian Geyer Date: Thu, 19 Apr 2012 00:04:52 +0200 Subject: [PATCH] Add hasChild function to check for a child in a QObject tree. --- src/core/Tools.cpp | 13 +++++++++++++ src/core/Tools.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/src/core/Tools.cpp b/src/core/Tools.cpp index 9a553d54c..341159546 100644 --- a/src/core/Tools.cpp +++ b/src/core/Tools.cpp @@ -38,4 +38,17 @@ QString humanReadableFileSize(qint64 bytes) return QString("%1 %2").arg(QLocale().toString(size, 'f', 2), units.at(i)); } +bool hasChild(const QObject* parent, const QObject* child) +{ + if (!parent || !child) { + return false; + } + Q_FOREACH (QObject* c, parent->children()) { + if (child == c || hasChild(c, child)) { + return true; + } + } + return false; +} + } // namespace Tools diff --git a/src/core/Tools.h b/src/core/Tools.h index 45be9b590..1241a6c39 100644 --- a/src/core/Tools.h +++ b/src/core/Tools.h @@ -18,11 +18,13 @@ #ifndef KEEPASSX_TOOLS_H #define KEEPASSX_TOOLS_H +#include #include namespace Tools { QString humanReadableFileSize(qint64 bytes); +bool hasChild(const QObject* parent, const QObject* child); } // namespace Tools