File indexing completed on 2024-04-28 08:51:01

0001 /*
0002     SPDX-FileCopyrightText: 2008 Urs Wolfer <uwolfer@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "testview.h"
0008 
0009 #include <QEvent>
0010 #include <QTimer>
0011 
0012 TestView::TestView(QWidget *parent, const QUrl &url, KConfigGroup configGroup)
0013         : RemoteView(parent)
0014 {
0015     m_hostPreferences = new TestHostPreferences(configGroup, this);
0016 
0017     Q_UNUSED(url);
0018 }
0019 
0020 TestView::~TestView()
0021 {
0022     Q_EMIT disconnected();
0023     setStatus(Disconnected);
0024 }
0025 
0026 bool TestView::eventFilter(QObject *obj, QEvent *event)
0027 {
0028     if (m_viewOnly) {
0029         if (event->type() == QEvent::KeyPress ||
0030                 event->type() == QEvent::KeyRelease ||
0031                 event->type() == QEvent::MouseButtonDblClick ||
0032                 event->type() == QEvent::MouseButtonPress ||
0033                 event->type() == QEvent::MouseButtonRelease ||
0034                 event->type() == QEvent::MouseMove)
0035             return true;
0036     }
0037     return RemoteView::eventFilter(obj, event);
0038 }
0039 
0040 void TestView::asyncConnect()
0041 {
0042     QPalette pal = palette();
0043     pal.setColor(QPalette::Window, Qt::yellow);
0044     setPalette(pal);
0045     setAutoFillBackground(true);
0046 
0047     const QSize size = QSize(640, 480);
0048     setFixedSize(size);
0049     resize(size);
0050     setStatus(Connected);
0051     Q_EMIT framebufferSizeChanged(size.width(), size.height());
0052     Q_EMIT connected();
0053     setFocus();
0054 }
0055 
0056 QSize TestView::framebufferSize()
0057 {
0058     return minimumSizeHint();
0059 }
0060 
0061 QSize TestView::sizeHint() const
0062 {
0063     return maximumSize();
0064 }
0065 
0066 bool TestView::isQuitting()
0067 {
0068     return false;
0069 }
0070 
0071 bool TestView::start()
0072 {
0073     setStatus(Connecting);
0074     // call it async in order to simulate real world behavior
0075     QTimer::singleShot(1000, this, SLOT(asyncConnect()));
0076     return true;
0077 }
0078 
0079 HostPreferences* TestView::hostPreferences()
0080 {
0081     return m_hostPreferences;
0082 }
0083 
0084 void TestView::switchFullscreen(bool on)
0085 {
0086     Q_UNUSED(on);
0087 }
0088