diff options
author | Frans Englich <frans.englich@nokia.com> | 2009-11-09 11:10:24 (GMT) |
---|---|---|
committer | Frans Englich <frans.englich@nokia.com> | 2009-11-09 13:28:55 (GMT) |
commit | cc2d8068fea504483b2602128e2169b482feb308 (patch) | |
tree | 58a7d6e1e3b4ea4b047a7bcae268afe064e8b95f /src/3rdparty/phonon/mmf/objecttree.cpp | |
parent | 149e986ce129ccc656942d79fb1c9687dbe7958c (diff) | |
download | Qt-cc2d8068fea504483b2602128e2169b482feb308.zip Qt-cc2d8068fea504483b2602128e2169b482feb308.tar.gz Qt-cc2d8068fea504483b2602128e2169b482feb308.tar.bz2 |
Replace mmfphonondebug.lib with #ifndef QT_NO_DEBUG.
The debug{} directive in src/plugins/phonon/mmf/plugin/plugin.pro does not have
any effect - this can be seen by looking at the generated MMP file, which has a
STATICLIBRARY directive which is applied in both UDEB and UREL builds. This is
the general problem that .pro files cannot tell distinction between the
different targets that one makespec covers.
Also remove objectdumpstub; objectdump was originally prepared for QtGui
inclusion, but since that never happened, no other platforms than Symbian needs
to be covered.
Task-number: QTBUG-5466
Reviewed-by: Gareth Stockwell
Diffstat (limited to 'src/3rdparty/phonon/mmf/objecttree.cpp')
-rw-r--r-- | src/3rdparty/phonon/mmf/objecttree.cpp | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/src/3rdparty/phonon/mmf/objecttree.cpp b/src/3rdparty/phonon/mmf/objecttree.cpp new file mode 100644 index 0000000..750db22 --- /dev/null +++ b/src/3rdparty/phonon/mmf/objecttree.cpp @@ -0,0 +1,104 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef QT_NO_DEBUG + +#include <QTextStream> +#include <QWidget> +#include "objecttree.h" + +QT_BEGIN_NAMESPACE + +namespace ObjectTree +{ + +DepthFirstConstIterator::DepthFirstConstIterator() + : m_pointee(0) +{ + +} + +DepthFirstConstIterator::DepthFirstConstIterator + (const QObject& root) + : m_pointee(&root) +{ + +} + +DepthFirstConstIterator& + DepthFirstConstIterator::operator++() +{ + const QObjectList& children = m_pointee->children(); + + if (children.count() == 0) { + backtrack(); + } + else { + m_history.push(0); + m_pointee = children.first(); + } + + return *this; +} + +void DepthFirstConstIterator::backtrack() +{ + if (m_history.count()) { + const int index = m_history.top(); + m_history.pop(); + + const QObjectList& siblings = m_pointee->parent()->children(); + if (siblings.count() > index + 1) { + m_history.push(index + 1); + m_pointee = siblings[index + 1]; + } + else { + m_pointee = m_pointee->parent(); + backtrack(); + } + } + else { + // Reached end of search + m_pointee = 0; + } +} + + + +AncestorConstIterator::AncestorConstIterator() +{ + +} + +AncestorConstIterator::AncestorConstIterator(const QObject& leaf) +{ + m_ancestors.push(&leaf); + QObject* ancestor = leaf.parent(); + while(ancestor) + { + m_ancestors.push(ancestor); + ancestor = ancestor->parent(); + } +} + +} // namespace ObjectTree + +QT_END_NAMESPACE + +#endif + |