Commit 3d0acf20 authored by Laurent Montel's avatar Laurent Montel 😁
Browse files

GIT_SILENT: we depend against qt5.7 now. Clean up

parent 3d12fb30
include(ECMMarkAsTest)
set(QT_REQUIRED_VERSION "5.6.0")
set(QT_REQUIRED_VERSION "5.7.0")
find_package(Qt5Test ${QT_REQUIRED_VERSION} CONFIG REQUIRED)
set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
......
/*
Copyright (c) 2017 Laurent Montel <montel@kde.org>
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
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 Library General Public
License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
*/
#ifndef _HELPER_H
#define _HELPER_H
#include <qglobal.h>
#if QT_VERSION < QT_VERSION_CHECK(5, 7, 0)
template<typename ... Args>
struct QNonConstOverload
{
template<typename R, typename T>
Q_DECL_CONSTEXPR auto operator()(R (T::*ptr)(Args ...)) const Q_DECL_NOTHROW->decltype(ptr)
{
return ptr;
}
template<typename R, typename T>
static Q_DECL_CONSTEXPR auto of(R (T::*ptr)(Args ...)) Q_DECL_NOTHROW->decltype(ptr)
{
return ptr;
}
};
template<typename ... Args>
struct QConstOverload
{
template<typename R, typename T>
Q_DECL_CONSTEXPR auto operator()(R (T::*ptr)(Args ...) const) const Q_DECL_NOTHROW->decltype(ptr)
{
return ptr;
}
template<typename R, typename T>
static Q_DECL_CONSTEXPR auto of(R (T::*ptr)(Args ...) const) Q_DECL_NOTHROW->decltype(ptr)
{
return ptr;
}
};
template<typename ... Args>
struct QOverload : QConstOverload<Args ...>, QNonConstOverload<Args ...>
{
using QConstOverload<Args ...>::of;
using QConstOverload<Args ...>::operator();
using QNonConstOverload<Args ...>::of;
using QNonConstOverload<Args ...>::operator();
template<typename R>
Q_DECL_CONSTEXPR auto operator()(R (*ptr)(Args ...)) const Q_DECL_NOTHROW->decltype(ptr)
{
return ptr;
}
template<typename R>
static Q_DECL_CONSTEXPR auto of(R (*ptr)(Args ...)) Q_DECL_NOTHROW->decltype(ptr)
{
return ptr;
}
};
namespace QtPrivate {
template<typename T> struct QAddConst {
typedef const T Type;
};
}
// this adds const to non-const objects (like std::as_const)
template<typename T>
Q_DECL_CONSTEXPR typename QtPrivate::QAddConst<T>::Type &qAsConst(T &t) Q_DECL_NOTHROW {
return t;
}
// prevent rvalue arguments:
template<typename T>
void qAsConst(const T &&) Q_DECL_EQ_DELETE;
#endif
#endif
......@@ -29,7 +29,7 @@
#include "widgets/transportconfigdialog.h"
#include "widgets/transportconfigwidget.h"
#include "widgets/smtpconfigwidget.h"
#include "helper_p.h"
#include <QApplication>
#include <QtDBus/QDBusConnection>
......
......@@ -26,7 +26,7 @@
#include "smtpconfigwidget.h"
#include "ui_smtpsettings.h"
#include "helper_p.h"
#include "transportconfigwidget_p.h"
#include "transport.h"
......
......@@ -18,7 +18,7 @@
*/
#include "filteractionjob_p.h"
#include "helper_p.h"
#include <collection.h>
#include <itemfetchjob.h>
......
......@@ -20,7 +20,7 @@
*/
#include "sentactionattribute.h"
#include "helper_p.h"
#include <QtCore/QDataStream>
#include <QtCore/QSharedData>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment