File indexing completed on 2024-04-28 05:31:32
0001 /* 0002 SPDX-FileCopyrightText: 2020 Marco Martin <mart@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "SensorFaceController.h" 0008 #include "SensorFace_p.h" 0009 0010 #include <QDebug> 0011 0012 using namespace KSysGuard; 0013 0014 class SensorFace::Private 0015 { 0016 public: 0017 QPointer<QQuickItem> contentItem; 0018 SensorFaceController *controller = nullptr; 0019 FormFactor formFactor = Planar; 0020 }; 0021 0022 SensorFace::SensorFace(QQuickItem *parent) 0023 : QQuickItem(parent) 0024 , d(std::make_unique<Private>()) 0025 { 0026 } 0027 0028 SensorFace::~SensorFace() 0029 { 0030 } 0031 0032 SensorFaceController *SensorFace::controller() const 0033 { 0034 return d->controller; 0035 } 0036 0037 // Not writable from QML 0038 void SensorFace::setController(SensorFaceController *controller) 0039 { 0040 d->controller = controller; 0041 } 0042 0043 SensorFace::FormFactor SensorFace::formFactor() const 0044 { 0045 return d->formFactor; 0046 } 0047 0048 void SensorFace::setFormFactor(SensorFace::FormFactor formFactor) 0049 { 0050 if (d->formFactor == formFactor) { 0051 return; 0052 } 0053 0054 d->formFactor = formFactor; 0055 Q_EMIT formFactorChanged(); 0056 } 0057 0058 QQuickItem *SensorFace::contentItem() const 0059 { 0060 return d->contentItem; 0061 } 0062 0063 void SensorFace::setContentItem(QQuickItem *item) 0064 { 0065 if (d->contentItem == item) { 0066 return; 0067 } 0068 d->contentItem = item; 0069 0070 if (d->contentItem) { 0071 d->contentItem->setParentItem(this); 0072 d->contentItem->setX(0); 0073 d->contentItem->setY(0); 0074 d->contentItem->setSize(size()); 0075 } 0076 0077 Q_EMIT contentItemChanged(); 0078 } 0079 void SensorFace::geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry) 0080 { 0081 if (d->contentItem) { 0082 d->contentItem->setX(0); 0083 d->contentItem->setY(0); 0084 d->contentItem->setSize(newGeometry.size()); 0085 } 0086 QQuickItem::geometryChange(newGeometry, oldGeometry); 0087 } 0088 0089 #include "moc_SensorFace_p.cpp"