Compare commits

...

5 Commits

Author SHA1 Message Date
b7a85a01f3 version 2.32.3 2026-03-26 09:32:51 +03:00
07369cf3ec Merge branch 'master' of https://git.shstk.ru/SHS/qad 2026-03-25 18:47:27 +03:00
92cc2ad9a2 add qCallQueuedL() 2026-03-25 18:47:21 +03:00
b1852ab1fa fix missing include 2026-03-20 21:29:59 +03:00
b4e77d136a skip build graphic3d if QtDataVisualization absent 2026-03-18 10:58:23 +03:00
4 changed files with 22 additions and 6 deletions

View File

@@ -4,7 +4,7 @@ cmake_policy(SET CMP0072 NEW) # FindOpenGL prefers GLVND by default
project(QAD)
set(QAD_MAJOR 2)
set(QAD_MINOR 32)
set(QAD_REVISION 2)
set(QAD_REVISION 3)
set(QAD_SUFFIX )
set(QAD_COMPANY SHS)
set(QAD_DOMAIN org.SHS)

View File

@@ -1,4 +1,16 @@
if (HAS_GL)
qad_library(graphic3d "Gui;Widgets;DataVisualization" "")
set(HAS_QtDataVisualization ON)
foreach(_v ${_QT_VERSIONS_})
if (Qt${_v}Core_FOUND)
find_package(Qt${_v} COMPONENTS DataVisualization QUIET)
if (NOT Qt${_v}DataVisualization_FOUND)
message(STATUS "Qt${_v} DataVisualization NOT FOUND -> skip build QAD::graphic3d")
set(HAS_QtDataVisualization OFF)
endif()
endif()
endforeach()
if (HAS_QtDataVisualization)
qad_library(graphic3d "Gui;Widgets;DataVisualization" "")
endif()
endif()

View File

@@ -26,6 +26,7 @@
#include <QSqlError>
#include <QSqlQuery>
#include <QVariant>
#include <functional>
namespace QAD {

View File

@@ -347,10 +347,13 @@ T qDeserialize(const QByteArray & data, int version = -1) {
/// qCallQueued(this, &MyClass::myFuncWithIntAndString, 0xAB, "string");
template<typename O, typename F, typename... Args>
void qCallQueued(O * o, F f, Args... args) {
QMetaObject::invokeMethod(
o,
[o, f, args...]() { (o->*f)(args...); },
Qt::QueuedConnection);
QMetaObject::invokeMethod(o, [o, f, args...]() { (o->*f)(args...); }, Qt::QueuedConnection);
}
/// qCallQueued with lambda
template<typename O, typename L>
void qCallQueuedL(O * o, L func) {
QMetaObject::invokeMethod(o, [func] { func(); }, Qt::QueuedConnection);
}