File indexing completed on 2025-04-27 04:09:17
0001 /* 0002 Drawpile - a collaborative drawing program. 0003 0004 SPDX-FileCopyrightText: 2017 Calle Laakkonen 0005 0006 SPDX-License-Identifier: GPL-3.0-or-later 0007 */ 0008 0009 #include "tablettester.h" 0010 #include "tablettest.h" 0011 #include "ui_tablettest.h" 0012 0013 TabletTestDialog::TabletTestDialog(QWidget *parent) 0014 : KoDialog(parent, Qt::Dialog) 0015 { 0016 setCaption(i18n("Tablet Tester")); 0017 QWidget *page = new QWidget(this); 0018 m_ui = new Ui_TabletTest; 0019 m_ui->setupUi(page); 0020 setMainWidget(page); 0021 setButtons(KoDialog::Close); 0022 qApp->installEventFilter(this); 0023 0024 m_ui->logView->appendPlainText( 0025 "## Legend:\n" 0026 "# X,Y - event coordinate\n" 0027 "# B - buttons pressed\n" 0028 "# P - pressure\n" 0029 "# TX,TY - tilt\n" 0030 "# S - speed\n" 0031 "\n"); 0032 } 0033 0034 TabletTestDialog::~TabletTestDialog() 0035 { 0036 qApp->removeEventFilter(this); 0037 delete m_ui; 0038 } 0039 0040 bool TabletTestDialog::eventFilter(QObject *watched, QEvent *e) { 0041 Q_UNUSED(watched); 0042 if(e->type() == QEvent::TabletEnterProximity || e->type() == QEvent::TabletLeaveProximity) { 0043 QTabletEvent *te = static_cast<QTabletEvent*>(e); 0044 bool isEraser = te->pointerType() == QTabletEvent::Eraser; 0045 bool isNear = e->type() == QEvent::TabletEnterProximity; 0046 QString msg; 0047 if(isEraser) { 0048 if (isNear) { 0049 msg = QStringLiteral("Eraser brought near"); 0050 } else { 0051 msg = QStringLiteral("Eraser taken away"); 0052 } 0053 } else { 0054 if (isNear) { 0055 msg = QStringLiteral("Pen tip brought near"); 0056 } else { 0057 msg = QStringLiteral("Pen tip taken away"); 0058 } 0059 } 0060 0061 m_ui->logView->appendPlainText(msg); 0062 } 0063 return QDialog::eventFilter(watched, e); 0064 }