summaryrefslogtreecommitdiffstats
path: root/tests/manual/highdpi
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2016-02-09 13:40:42 +0100
committerFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2016-03-16 09:19:59 +0000
commit9c3c350627c1fc9d7f6e063f9360b096f159a6d7 (patch)
treeca6ec77020aa4007040f6406e3caf810f49fdf53 /tests/manual/highdpi
parente830fa8fc251f697ffee2c215c0121028eeef8ca (diff)
Manual High DPI test: Add test for window masks.
Add a toggle for setting a triangular mask on the main window. Task-number: QTBUG-50938 Change-Id: Id4a3ee0b80e170f4ee1d195e60ce7bfa8e524359 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Diffstat (limited to 'tests/manual/highdpi')
-rw-r--r--tests/manual/highdpi/main.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/manual/highdpi/main.cpp b/tests/manual/highdpi/main.cpp
index 692a60d511..83aefdb88a 100644
--- a/tests/manual/highdpi/main.cpp
+++ b/tests/manual/highdpi/main.cpp
@@ -380,16 +380,22 @@ Labels::Labels()
class MainWindow : public QMainWindow
{
+ Q_OBJECT
public:
MainWindow();
QMenu *addNewMenu(const QString &title, int itemCount = 5);
+private slots:
+ void maskActionToggled(bool t);
+
+private:
QIcon qtIcon;
QIcon qtIcon1x;
QIcon qtIcon2x;
QToolBar *fileToolBar;
int menuCount;
+ QAction *m_maskAction;
};
MainWindow::MainWindow()
@@ -408,7 +414,12 @@ MainWindow::MainWindow()
addNewMenu("&Edit");
addNewMenu("&Build");
addNewMenu("&Debug", 4);
- addNewMenu("&Transmogrify", 7);
+ QMenu *menu = addNewMenu("&Transmogrify", 7);
+ menu->addSeparator();
+ m_maskAction = menu->addAction("Mask");
+ m_maskAction->setCheckable(true);
+ connect(m_maskAction, &QAction::toggled, this, &MainWindow::maskActionToggled);
+ fileToolBar->addAction(m_maskAction);
addNewMenu("T&ools");
addNewMenu("&Help", 2);
}
@@ -431,6 +442,16 @@ QMenu *MainWindow::addNewMenu(const QString &title, int itemCount)
return menu;
}
+void MainWindow::maskActionToggled(bool t)
+{
+ if (t) {
+ QVector<QPoint> upperLeftTriangle;
+ upperLeftTriangle << QPoint(0, 0) << QPoint(width(), 0) << QPoint(0, height());
+ setMask(QRegion(QPolygon(upperLeftTriangle)));
+ } else {
+ clearMask();
+ }
+}
class StandardIcons : public QWidget
{