aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/dwmfeatures/testwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/dwmfeatures/testwidget.cpp')
-rw-r--r--tests/manual/dwmfeatures/testwidget.cpp181
1 files changed, 0 insertions, 181 deletions
diff --git a/tests/manual/dwmfeatures/testwidget.cpp b/tests/manual/dwmfeatures/testwidget.cpp
deleted file mode 100644
index 189a44c..0000000
--- a/tests/manual/dwmfeatures/testwidget.cpp
+++ /dev/null
@@ -1,181 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the test suite of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:GPL-EXCEPT$
- ** Commercial License Usage
- ** Licensees holding valid commercial Qt licenses may use this file in
- ** accordance with the commercial license agreement provided with the
- ** Software or, alternatively, in accordance with the terms contained in
- ** a written agreement between you and The Qt Company. For licensing terms
- ** and conditions see https://www.qt.io/terms-conditions. For further
- ** information use the contact form at https://www.qt.io/contact-us.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 3 as published by the Free Software
- ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
- ** included in the packaging of this file. Please review the following
- ** information to ensure the GNU General Public License requirements will
- ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include "testwidget.h"
-#include "ui_testwidget.h"
-
-#include <QtWin>
-#include <QWinEvent>
-#include <QDebug>
-#include <qt_windows.h>
-
-TestWidget::TestWidget(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::TestWidget)
-{
- ui->setupUi(this);
-
- connect(ui->btnPeekDisallow, &QAbstractButton::clicked, this, &TestWidget::onDisallowPeekClicked);
- connect(ui->btnPeekExclude, &QAbstractButton::clicked, this, &TestWidget::onExcludeFromPeekClicked);
- connect(ui->radioFlipDefault, &QAbstractButton::clicked, this, &TestWidget::onFlip3DPolicyChanged);
- connect(ui->radioFlipAbove, &QAbstractButton::clicked, this, &TestWidget::onFlip3DPolicyChanged);
- connect(ui->radioFlipBelow, &QAbstractButton::clicked, this, &TestWidget::onFlip3DPolicyChanged);
- connect(ui->radioNcrpUseWindowStyle, &QAbstractButton::clicked, this, &TestWidget::onNonClientAreaRenderingPolicyChanged);
- connect(ui->radioNcrpDisable, &QAbstractButton::clicked, this, &TestWidget::onNonClientAreaRenderingPolicyChanged);
- connect(ui->radioNcrpEnable, &QAbstractButton::clicked, this, &TestWidget::onNonClientAreaRenderingPolicyChanged);
- connect(ui->btnFrameReset, &QAbstractButton::clicked, this, &TestWidget::onResetGlassFrameClicked);
- connect(ui->frameTop, QOverload<int>::of(&QSpinBox::valueChanged),
- this, &TestWidget::onGlassMarginsChanged);
- connect(ui->frameRight, QOverload<int>::of(&QSpinBox::valueChanged),
- this, &TestWidget::onGlassMarginsChanged);
- connect(ui->frameBottom, QOverload<int>::of(&QSpinBox::valueChanged),
- this, &TestWidget::onGlassMarginsChanged);
- connect(ui->frameLeft, QOverload<int>::of(&QSpinBox::valueChanged),
- this, &TestWidget::onGlassMarginsChanged);
-}
-
-TestWidget::~TestWidget()
-{
- delete ui;
-}
-
-void TestWidget::changeEvent(QEvent *e)
-{
- QWidget::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
-bool TestWidget::event(QEvent *e)
-{
- if (e->type() == QWinEvent::CompositionChange) {
- qDebug() << "Composition state change.";
- } else if (e->type() == QWinEvent::ThemeChange) {
- qDebug() << "Theme change.";
- }
- return QWidget::event(e);
-}
-
-void TestWidget::onDisallowPeekClicked()
-{
- QtWin::setWindowDisallowPeek(this, ui->btnPeekDisallow->isChecked());
-}
-
-void TestWidget::onExcludeFromPeekClicked()
-{
- QtWin::setWindowExcludedFromPeek(this, ui->btnPeekExclude->isChecked());
-}
-
-void TestWidget::onFlip3DPolicyChanged()
-{
- QtWin::WindowFlip3DPolicy policy;
- if (ui->radioFlipAbove->isChecked())
- policy = QtWin::FlipExcludeAbove;
- else if (ui->radioFlipBelow->isChecked())
- policy = QtWin::FlipExcludeBelow;
- else
- policy = QtWin::FlipDefault;
- QtWin::setWindowFlip3DPolicy(this, policy);
-}
-
-void TestWidget::onNonClientAreaRenderingPolicyChanged()
-{
- QtWin::WindowNonClientRenderingPolicy policy;
- if (ui->radioNcrpDisable->isChecked())
- policy = QtWin::NonClientRenderingDisabled;
- else if (ui->radioNcrpEnable->isChecked())
- policy = QtWin::NonClientRenderingEnabled;
- else
- policy = QtWin::NonClientRenderingUseWindowStyle;
- QtWin::setWindowNonClientAreaRenderingPolicy(this, policy);
-}
-
-void TestWidget::onGlassMarginsChanged()
-{
- // what you see here is the only way to force widget to redraw itself
- // so it actually redraws itself without caching and without any glitch
- // but causes flickering :(
- // and yes, update() and redraw() do nothing
-
- if (!testAttribute(Qt::WA_NoSystemBackground)) {
-
- QSize original = size();
- QSize modified = original;
- modified.setWidth(original.height() + 1);
- resize(modified);
-
- setAttribute(Qt::WA_NoSystemBackground);
- QtWin::extendFrameIntoClientArea(this,
- ui->frameTop->value(),
- ui->frameRight->value(),
- ui->frameBottom->value(),
- ui->frameLeft->value());
-
- resize(original);
-
- ui->groupBox_2->setAutoFillBackground(true);
- ui->groupBox_3->setAutoFillBackground(true);
- ui->groupBox_4->setAutoFillBackground(true);
- } else {
- QtWin::extendFrameIntoClientArea(this,
- ui->frameLeft->value(),
- ui->frameTop->value(),
- ui->frameRight->value(),
- ui->frameBottom->value());
- }
-}
-
-void TestWidget::onResetGlassFrameClicked()
-{
- if (!testAttribute(Qt::WA_NoSystemBackground))
- return;
-
- ui->frameTop->setValue(0);
- ui->frameRight->setValue(0);
- ui->frameBottom->setValue(0);
- ui->frameLeft->setValue(0);
-
- QtWin::resetExtendedFrame(this);
- setAttribute(Qt::WA_NoSystemBackground, false);
-
- QSize original = size();
- QSize modified = original;
- modified.setHeight(original.height() + 1);
- resize(modified);
-
- ui->groupBox_2->setAutoFillBackground(false);
- ui->groupBox_3->setAutoFillBackground(false);
- ui->groupBox_4->setAutoFillBackground(false);
-
- resize(original);
-}