aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquicktextarea_p_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/quicktemplates2/qquicktextarea_p_p.h')
-rw-r--r--src/quicktemplates2/qquicktextarea_p_p.h32
1 files changed, 27 insertions, 5 deletions
diff --git a/src/quicktemplates2/qquicktextarea_p_p.h b/src/quicktemplates2/qquicktextarea_p_p.h
index ef2c7237..32f53c4f 100644
--- a/src/quicktemplates2/qquicktextarea_p_p.h
+++ b/src/quicktemplates2/qquicktextarea_p_p.h
@@ -48,11 +48,12 @@
// We mean it.
//
+#include <QtQml/private/qlazilyallocated_p.h>
#include <QtQuick/private/qquicktextedit_p_p.h>
#include <QtQuick/private/qquickitemchangelistener_p.h>
#include <QtQuickTemplates2/private/qquickpresshandler_p_p.h>
-#include "qquicktextarea_p.h"
+#include <QtQuickTemplates2/private/qquicktextarea_p.h>
#if QT_CONFIG(accessibility)
#include <QtGui/qaccessible.h>
@@ -61,7 +62,6 @@
QT_BEGIN_NAMESPACE
class QQuickFlickable;
-class QQuickAccessibleAttached;
class QQuickTextAreaPrivate : public QQuickTextEditPrivate, public QQuickItemChangeListener
#if QT_CONFIG(accessibility)
@@ -80,8 +80,24 @@ public:
}
void resizeBackground();
+
void resolveFont();
- void inheritFont(const QFont &f);
+ void inheritFont(const QFont &font);
+ void updateFont(const QFont &font);
+ inline void setFont_helper(const QFont &font) {
+ if (sourceFont.resolve() == font.resolve() && sourceFont == font)
+ return;
+ updateFont(font);
+ }
+
+ void resolvePalette();
+ void inheritPalette(const QPalette &palette);
+ void updatePalette(const QPalette &palette);
+ inline void setPalette_helper(const QPalette &palette) {
+ if (resolvedPalette.resolve() == palette.resolve() && resolvedPalette == palette)
+ return;
+ updatePalette(palette);
+ }
#if QT_CONFIG(quicktemplates2_hover)
void updateHoverEnabled(bool h, bool e);
@@ -112,12 +128,18 @@ public:
bool hovered;
bool explicitHoverEnabled;
#endif
- QFont font;
+
+ struct ExtraData {
+ QFont requestedFont;
+ QPalette requestedPalette;
+ };
+ QLazilyAllocated<ExtraData> extra;
+
+ QPalette resolvedPalette;
QQuickItem *background;
QString placeholder;
Qt::FocusReason focusReason;
QQuickPressHandler pressHandler;
- QQuickAccessibleAttached *accessibleAttached;
QQuickFlickable *flickable;
};