File indexing completed on 2024-04-28 16:24:41

0001 /* This file is part of the KDE project
0002    Copyright (C) 2004, 2007 Dag Andersen <danders@get2net.dk>
0003 
0004    This library is free software; you can redistribute it and/or
0005    modify it under the terms of the GNU Library General Public
0006    License as published by the Free Software Foundation; either
0007    version 2 of the License, or (at your option) any later version.
0008 
0009    This library is distributed in the hope that it will be useful,
0010    but WITHOUT ANY WARRANTY; without even the implied warranty of
0011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012    Library General Public License for more details.
0013 
0014    You should have received a copy of the GNU Library General Public License
0015    along with this library; see the file COPYING.LIB.  If not, write to
0016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0017  * Boston, MA 02110-1301, USA.
0018 */
0019 
0020 #ifndef PLANMACROS_H
0021 #define PLANMACROS_H
0022 
0023 
0024 #define CONTAINS(list, value) std::find(list.cbegin(), list.cend(), value) != list.cend()
0025 
0026 #define OBJECTCONNECTIONS QList<QMetaObject::Connection> ObjectConnections;
0027 
0028 #define CONNECT_TYPE(sender, signal, context, functor, type) ObjectConnections << connect(sender, signal, context, functor, type)
0029 
0030 #define CONNECT(sender, signal, context, functor) ObjectConnections << connect(sender, signal, context, functor, Qt::AutoConnection)
0031 
0032 #define DISCONNECT for (const QMetaObject::Connection &c : qAsConst(ObjectConnections)) { disconnect(c); }
0033 
0034 #endif