tests/auto/qdesktopwidget/tst_qdesktopwidget.cpp
branchRCL_3
changeset 4 3b1da2848fc7
parent 0 1918ee327afb
equal deleted inserted replaced
3:41300fa6a67c 4:3b1da2848fc7
     1 /****************************************************************************
     1 /****************************************************************************
     2 **
     2 **
     3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
     3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     4 ** All rights reserved.
     4 ** All rights reserved.
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
     6 **
     6 **
     7 ** This file is part of the test suite of the Qt Toolkit.
     7 ** This file is part of the test suite of the Qt Toolkit.
     8 **
     8 **
    62     void numScreens();
    62     void numScreens();
    63     void primaryScreen();
    63     void primaryScreen();
    64     void screenNumberForQWidget();
    64     void screenNumberForQWidget();
    65     void screenNumberForQPoint();
    65     void screenNumberForQPoint();
    66     void availableGeometry();
    66     void availableGeometry();
       
    67     void screenGeometry();
    67 };
    68 };
    68 
    69 
    69 tst_QDesktopWidget::tst_QDesktopWidget()
    70 tst_QDesktopWidget::tst_QDesktopWidget()
    70 {
    71 {
    71 }
    72 }
    96 }
    97 }
    97 
    98 
    98 void tst_QDesktopWidget::availableGeometry()
    99 void tst_QDesktopWidget::availableGeometry()
    99 {
   100 {
   100     QDesktopWidget desktop;
   101     QDesktopWidget desktop;
       
   102     QTest::ignoreMessage(QtWarningMsg, "QDesktopWidget::availableGeometry(): Attempt "
       
   103                                        "to get the available geometry of a null widget");
       
   104     desktop.availableGeometry((QWidget *)0);
   101 
   105 
   102     QRect total;
   106     QRect total;
   103     QRect available;
   107     QRect available;
   104 
   108 
   105     for (int i = 0; i < desktop.screenCount(); ++i) {
   109     for (int i = 0; i < desktop.screenCount(); ++i) {
   156     QVERIFY(screen >= 0 && screen < desktopWidget->numScreens());
   160     QVERIFY(screen >= 0 && screen < desktopWidget->numScreens());
   157     screen = desktopWidget->screenNumber(allScreens.bottomRight() + QPoint(1, 1));
   161     screen = desktopWidget->screenNumber(allScreens.bottomRight() + QPoint(1, 1));
   158     QVERIFY(screen >= 0 && screen < desktopWidget->numScreens());
   162     QVERIFY(screen >= 0 && screen < desktopWidget->numScreens());
   159 }
   163 }
   160 
   164 
       
   165 void tst_QDesktopWidget::screenGeometry()
       
   166 {
       
   167     QDesktopWidget *desktopWidget = QApplication::desktop();
       
   168     QTest::ignoreMessage(QtWarningMsg, "QDesktopWidget::screenGeometry(): Attempt "
       
   169                                        "to get the screen geometry of a null widget");
       
   170     QRect r = desktopWidget->screenGeometry((QWidget *)0);
       
   171     QVERIFY(r.isNull());
       
   172     QWidget widget;
       
   173     widget.show();
       
   174     QTest::qWaitForWindowShown(&widget);
       
   175     r = desktopWidget->screenGeometry(&widget);
       
   176 
       
   177     QRect total;
       
   178     QRect available;
       
   179     for (int i = 0; i < desktopWidget->screenCount(); ++i) {
       
   180         total = desktopWidget->screenGeometry(i);
       
   181         available = desktopWidget->availableGeometry(i);
       
   182     }
       
   183     QVERIFY(total.contains(r));
       
   184 }
       
   185 
   161 QTEST_MAIN(tst_QDesktopWidget)
   186 QTEST_MAIN(tst_QDesktopWidget)
   162 #include "tst_qdesktopwidget.moc"
   187 #include "tst_qdesktopwidget.moc"
   163 
   188