Changeset View
Changeset View
Standalone View
Standalone View
src/macros.h
Show All 21 Lines | |||||
22 | 22 | | |||
23 | #ifndef BLUEZQT_MACROS_H | 23 | #ifndef BLUEZQT_MACROS_H | ||
24 | #define BLUEZQT_MACROS_H | 24 | #define BLUEZQT_MACROS_H | ||
25 | 25 | | |||
26 | // Change property value and emit propertyChanged signal | 26 | // Change property value and emit propertyChanged signal | ||
27 | #define PROPERTY_CHANGED(var, type_cast, signal) \ | 27 | #define PROPERTY_CHANGED(var, type_cast, signal) \ | ||
28 | if (var != value.type_cast()) { \ | 28 | if (var != value.type_cast()) { \ | ||
29 | var = value.type_cast(); \ | 29 | var = value.type_cast(); \ | ||
30 | Q_EMIT q.data()->signal(var); \ | 30 | Q_EMIT q.lock()->signal(var); \ | ||
31 | } | 31 | } | ||
32 | 32 | | |||
33 | #define PROPERTY_CHANGED2(var, value, signal) \ | 33 | #define PROPERTY_CHANGED2(var, value, signal) \ | ||
34 | const auto &val = value; \ | 34 | const auto &val = value; \ | ||
35 | if (var != val) { \ | 35 | if (var != val) { \ | ||
36 | var = val; \ | 36 | var = val; \ | ||
37 | Q_EMIT q.data()->signal(var); \ | 37 | Q_EMIT q.lock()->signal(var); \ | ||
38 | } | 38 | } | ||
39 | 39 | | |||
40 | // Clears property value and emit propertyChanged signal | 40 | // Clears property value and emit propertyChanged signal | ||
41 | #define PROPERTY_INVALIDATED(var, empty, signal) \ | 41 | #define PROPERTY_INVALIDATED(var, empty, signal) \ | ||
42 | if (var != empty) { \ | 42 | if (var != empty) { \ | ||
43 | var = empty; \ | 43 | var = empty; \ | ||
44 | Q_EMIT q.data()->signal(var); \ | 44 | Q_EMIT q.lock()->signal(var); \ | ||
45 | } | 45 | } | ||
46 | 46 | | |||
47 | #endif // BLUEZQT_MACROS_H | 47 | #endif // BLUEZQT_MACROS_H |