diff options
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r-- | src/widgets/widgets/qcombobox.cpp | 10 | ||||
-rw-r--r-- | src/widgets/widgets/qcombobox_p.h | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qdatetimeedit.cpp | 1 | ||||
-rw-r--r-- | src/widgets/widgets/qdockarealayout.cpp | 3 | ||||
-rw-r--r-- | src/widgets/widgets/qdockwidget.cpp | 1 | ||||
-rw-r--r-- | src/widgets/widgets/qeffects.cpp | 14 | ||||
-rw-r--r-- | src/widgets/widgets/qfontcombobox.cpp | 3 | ||||
-rw-r--r-- | src/widgets/widgets/qmdiarea.cpp | 3 | ||||
-rw-r--r-- | src/widgets/widgets/qmenu.cpp | 14 | ||||
-rw-r--r-- | src/widgets/widgets/qmenu_p.h | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qmenubar.cpp | 3 | ||||
-rw-r--r-- | src/widgets/widgets/qpushbutton.cpp | 3 | ||||
-rw-r--r-- | src/widgets/widgets/qsizegrip.cpp | 3 | ||||
-rw-r--r-- | src/widgets/widgets/qsplashscreen.cpp | 14 | ||||
-rw-r--r-- | src/widgets/widgets/qtabwidget.cpp | 1 | ||||
-rw-r--r-- | src/widgets/widgets/qtextbrowser.cpp | 1 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbutton.cpp | 1 | ||||
-rw-r--r-- | src/widgets/widgets/qwidgetresizehandler.cpp | 3 | ||||
-rw-r--r-- | src/widgets/widgets/qwidgettextcontrol.cpp | 6 |
19 files changed, 23 insertions, 65 deletions
diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index 3125e001d9..042e702987 100644 --- a/src/widgets/widgets/qcombobox.cpp +++ b/src/widgets/widgets/qcombobox.cpp @@ -44,7 +44,6 @@ #include <qpa/qplatformmenu.h> #include <qlineedit.h> #include <qapplication.h> -#include <qdesktopwidget.h> #include <private/qdesktopwidget_p.h> #include <qlistview.h> #if QT_CONFIG(tableview) @@ -321,11 +320,12 @@ void QComboBoxPrivate::trySetValidIndex() setCurrentIndex(QModelIndex()); } -QRect QComboBoxPrivate::popupGeometry(int screen) const +QRect QComboBoxPrivate::popupGeometry() const { + Q_Q(const QComboBox); return QStylePrivate::useFullScreenForPopup() - ? QDesktopWidgetPrivate::screenGeometry(screen) - : QDesktopWidgetPrivate::availableGeometry(screen); + ? QWidgetPrivate::screenGeometry(q) + : QWidgetPrivate::availableScreenGeometry(q); } bool QComboBoxPrivate::updateHoverControl(const QPoint &pos) @@ -2613,7 +2613,7 @@ void QComboBox::showPopup() QComboBoxPrivateContainer* container = d->viewContainer(); QRect listRect(style->subControlRect(QStyle::CC_ComboBox, &opt, QStyle::SC_ComboBoxListBoxPopup, this)); - QRect screen = d->popupGeometry(QDesktopWidgetPrivate::screenNumber(this)); + QRect screen = d->popupGeometry(); QPoint below = mapToGlobal(listRect.bottomLeft()); int belowHeight = screen.bottom() - below.y(); diff --git a/src/widgets/widgets/qcombobox_p.h b/src/widgets/widgets/qcombobox_p.h index c1771a8958..4bcc741615 100644 --- a/src/widgets/widgets/qcombobox_p.h +++ b/src/widgets/widgets/qcombobox_p.h @@ -372,7 +372,7 @@ public: void updateArrow(QStyle::StateFlag state); bool updateHoverControl(const QPoint &pos); void trySetValidIndex(); - QRect popupGeometry(int screen = -1) const; + QRect popupGeometry() const; QStyle::SubControl newHoverControl(const QPoint &pos); int computeWidthHint() const; QSize recomputeSizeHint(QSize &sh) const; diff --git a/src/widgets/widgets/qdatetimeedit.cpp b/src/widgets/widgets/qdatetimeedit.cpp index a438555183..60ed4b4798 100644 --- a/src/widgets/widgets/qdatetimeedit.cpp +++ b/src/widgets/widgets/qdatetimeedit.cpp @@ -42,7 +42,6 @@ #include <qabstractspinbox.h> #include <qapplication.h> #include <qdatetimeedit.h> -#include <qdesktopwidget.h> #include <private/qdesktopwidget_p.h> #include <qdebug.h> #include <qevent.h> diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp index 3d2396c4a6..eedd0725cd 100644 --- a/src/widgets/widgets/qdockarealayout.cpp +++ b/src/widgets/widgets/qdockarealayout.cpp @@ -44,7 +44,6 @@ #include "QtWidgets/qtabbar.h" #endif #include "QtWidgets/qstyle.h" -#include "QtWidgets/qdesktopwidget.h" #include <private/qdesktopwidget_p.h> #include "QtWidgets/qapplication.h" #include "QtCore/qvariant.h" @@ -3024,7 +3023,7 @@ QRect QDockAreaLayout::constrainedRect(QRect rect, QWidget* widget) if (QGuiApplication::primaryScreen()->virtualSiblings().size() > 1) desktop = QDesktopWidgetPrivate::screenGeometry(rect.topLeft()); else - desktop = QDesktopWidgetPrivate::screenGeometry(widget); + desktop = QWidgetPrivate::screenGeometry(widget); if (desktop.isValid()) { rect.setWidth(qMin(rect.width(), desktop.width())); diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index 8ffb0a3b9e..2dbc35457a 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -41,7 +41,6 @@ #include <qaction.h> #include <qapplication.h> -#include <qdesktopwidget.h> #include <qdrawutil.h> #include <qevent.h> #include <qfontmetrics.h> diff --git a/src/widgets/widgets/qeffects.cpp b/src/widgets/widgets/qeffects.cpp index 1f2d3517e8..cdfad40760 100644 --- a/src/widgets/widgets/qeffects.cpp +++ b/src/widgets/widgets/qeffects.cpp @@ -38,7 +38,6 @@ ****************************************************************************/ #include "qapplication.h" -#include "qdesktopwidget.h" #include "qeffects_p.h" #include "qevent.h" #include "qimage.h" @@ -54,15 +53,6 @@ QT_BEGIN_NAMESPACE -static QWidget *effectParent(const QWidget* w) -{ - const int screenNumber = w ? QGuiApplication::screens().indexOf(w->screen()) : 0; - QT_WARNING_PUSH // ### Qt 6: Find a replacement for QDesktopWidget::screen() - QT_WARNING_DISABLE_DEPRECATED - return QApplication::desktop()->screen(screenNumber); - QT_WARNING_POP -} - /* Internal class QAlphaWidget. @@ -108,7 +98,7 @@ static QAlphaWidget* q_blend = nullptr; Constructs a QAlphaWidget. */ QAlphaWidget::QAlphaWidget(QWidget* w, Qt::WindowFlags f) - : QWidget(effectParent(w), f) + : QWidget(QApplication::desktop(w ? w->screen() : nullptr), f) { #ifndef Q_OS_WIN setEnabled(false); @@ -389,7 +379,7 @@ static QRollEffect* q_roll = nullptr; Construct a QRollEffect widget. */ QRollEffect::QRollEffect(QWidget* w, Qt::WindowFlags f, DirFlags orient) - : QWidget(effectParent(w), f), orientation(orient) + : QWidget(QApplication::desktop(w ? w->screen() : nullptr), f), orientation(orient) { #ifndef Q_OS_WIN setEnabled(false); diff --git a/src/widgets/widgets/qfontcombobox.cpp b/src/widgets/widgets/qfontcombobox.cpp index cb665de889..a4ac34b51a 100644 --- a/src/widgets/widgets/qfontcombobox.cpp +++ b/src/widgets/widgets/qfontcombobox.cpp @@ -46,7 +46,6 @@ #include <qevent.h> #include <qapplication.h> #include <private/qcombobox_p.h> -#include <QDesktopWidget> #include <private/qdesktopwidget_p.h> #include <qdebug.h> @@ -545,7 +544,7 @@ bool QFontComboBox::event(QEvent *e) QListView *lview = qobject_cast<QListView*>(view()); if (lview) { lview->window()->setFixedWidth(qMin(width() * 5 / 3, - QDesktopWidgetPrivate::availableGeometry(lview).width())); + QWidgetPrivate::availableScreenGeometry(lview).width())); } } return QComboBox::event(e); diff --git a/src/widgets/widgets/qmdiarea.cpp b/src/widgets/widgets/qmdiarea.cpp index dc65317de8..953d25088e 100644 --- a/src/widgets/widgets/qmdiarea.cpp +++ b/src/widgets/widgets/qmdiarea.cpp @@ -165,7 +165,6 @@ #include <QPainter> #include <QFontMetrics> #include <QStyleOption> -#include <QDesktopWidget> #include <private/qdesktopwidget_p.h> #include <QDebug> #include <qmath.h> @@ -1733,7 +1732,7 @@ QMdiArea::~QMdiArea() */ QSize QMdiArea::sizeHint() const { - // Calculate a proper scale factor for QDesktopWidget::size(). + // Calculate a proper scale factor for the desktop's size. // This also takes into account that we can have nested workspaces. int nestedCount = 0; QWidget *widget = this->parentWidget(); diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index fdfa9b327f..b578f476e9 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -54,7 +54,6 @@ #include "qmacnativewidget_mac.h" #endif #include "qapplication.h" -#include "qdesktopwidget.h" #ifndef QT_NO_ACCESSIBILITY # include "qaccessible.h" #endif @@ -324,8 +323,8 @@ QRect QMenuPrivate::popupGeometry() const { Q_Q(const QMenu); return useFullScreenForPopup() - ? QDesktopWidgetPrivate::screenGeometry(q) - : QDesktopWidgetPrivate::availableGeometry(q); + ? QWidgetPrivate::screenGeometry(q) + : QWidgetPrivate::availableScreenGeometry(q); } QRect QMenuPrivate::popupGeometry(int screen) const @@ -2385,15 +2384,12 @@ void QMenuPrivate::popup(const QPoint &p, QAction *atAction, PositionFunction po // Ensure that we get correct sizeHints by placing this window on the correct screen. // However if the QMenu was constructed with a QDesktopScreenWidget as its parent, // then initialScreenIndex was set, so we should respect that for the lifetime of this menu. - // Use d->popupScreen to remember, because initialScreenIndex will be reset after the first showing. // However if eventLoop exists, then exec() already did this by calling createWinId(); so leave it alone. (QTBUG-76162) if (!eventLoop) { bool screenSet = false; - const int screenIndex = topData()->initialScreenIndex; - if (screenIndex >= 0) - popupScreen = screenIndex; - if (auto s = QGuiApplication::screens().value(popupScreen)) { - if (setScreen(s)) + QScreen *screen = topData()->initialScreen; + if (screen) { + if (setScreen(screen)) itemsDirty = true; screenSet = true; } else if (QMenu *parentMenu = qobject_cast<QMenu *>(parent)) { diff --git a/src/widgets/widgets/qmenu_p.h b/src/widgets/widgets/qmenu_p.h index e735052507..3e49f0780d 100644 --- a/src/widgets/widgets/qmenu_p.h +++ b/src/widgets/widgets/qmenu_p.h @@ -522,8 +522,6 @@ public: bool tearoffHighlighted : 1; //menu fading/scrolling effects bool doChildEffects : 1; - - int popupScreen = -1; }; QT_END_NAMESPACE diff --git a/src/widgets/widgets/qmenubar.cpp b/src/widgets/widgets/qmenubar.cpp index b7c071bfcd..b0731df50a 100644 --- a/src/widgets/widgets/qmenubar.cpp +++ b/src/widgets/widgets/qmenubar.cpp @@ -42,7 +42,6 @@ #include <qstyle.h> #include <qlayout.h> #include <qapplication.h> -#include <qdesktopwidget.h> #ifndef QT_NO_ACCESSIBILITY # include <qaccessible.h> #endif @@ -355,7 +354,7 @@ void QMenuBarPrivate::popupAction(QAction *action, bool activateFirst) if(!defaultPopDown || (fitUp && !fitDown)) pos.setY(qMax(screenRect.y(), q->mapToGlobal(QPoint(0, adjustedActionRect.top()-popup_size.height())).y())); - QMenuPrivate::get(activeMenu)->topData()->initialScreenIndex = QGuiApplication::screens().indexOf(popupScreen); + QMenuPrivate::get(activeMenu)->topData()->initialScreen = popupScreen; activeMenu->popup(pos); if(activateFirst) activeMenu->d_func()->setFirstActionActive(); diff --git a/src/widgets/widgets/qpushbutton.cpp b/src/widgets/widgets/qpushbutton.cpp index bb2848aa43..8657eb4174 100644 --- a/src/widgets/widgets/qpushbutton.cpp +++ b/src/widgets/widgets/qpushbutton.cpp @@ -39,7 +39,6 @@ #include "qapplication.h" #include "qbitmap.h" -#include "qdesktopwidget.h" #include <private/qdesktopwidget_p.h> #if QT_CONFIG(dialog) #include <private/qdialog_p.h> @@ -622,7 +621,7 @@ QPoint QPushButtonPrivate::adjustedMenuPosition() QPoint globalPos = q->mapToGlobal(rect.topLeft()); int x = globalPos.x(); int y = globalPos.y(); - const QRect availableGeometry = QDesktopWidgetPrivate::availableGeometry(q); + const QRect availableGeometry = QWidgetPrivate::availableScreenGeometry(q); if (horizontal) { if (globalPos.y() + rect.height() + menuSize.height() <= availableGeometry.bottom()) { y += rect.height(); diff --git a/src/widgets/widgets/qsizegrip.cpp b/src/widgets/widgets/qsizegrip.cpp index 396503566c..baebd009e4 100644 --- a/src/widgets/widgets/qsizegrip.cpp +++ b/src/widgets/widgets/qsizegrip.cpp @@ -48,7 +48,6 @@ #include "qstyleoption.h" #include "qlayout.h" #include "qdebug.h" -#include <QDesktopWidget> #include <private/qwidget_p.h> #include <private/qdesktopwidget_p.h> @@ -304,7 +303,7 @@ void QSizeGrip::mousePressEvent(QMouseEvent * e) bool hasVerticalSizeConstraint = true; bool hasHorizontalSizeConstraint = true; if (tlw->isWindow()) - availableGeometry = QDesktopWidgetPrivate::availableGeometry(tlw); + availableGeometry = QWidgetPrivate::availableScreenGeometry(tlw); else { const QWidget *tlwParent = tlw->parentWidget(); // Check if tlw is inside QAbstractScrollArea/QScrollArea. diff --git a/src/widgets/widgets/qsplashscreen.cpp b/src/widgets/widgets/qsplashscreen.cpp index b6fa97eaed..1f1c71dcb8 100644 --- a/src/widgets/widgets/qsplashscreen.cpp +++ b/src/widgets/widgets/qsplashscreen.cpp @@ -40,7 +40,6 @@ #include "qsplashscreen.h" #include "qapplication.h" -#include "qdesktopwidget.h" #include <private/qdesktopwidget_p.h> #include "qpainter.h" #include "qpixmap.h" @@ -294,25 +293,14 @@ void QSplashScreen::setPixmap(const QPixmap &pixmap) // 3) If a widget with associated QWindow is found, use that // 4) When nothing can be found, try to center it over the cursor -#if QT_DEPRECATED_SINCE(5, 15) -static inline int screenNumberOf(const QDesktopScreenWidget *dsw) -{ - auto desktopWidgetPrivate = - static_cast<QDesktopWidgetPrivate *>(qt_widget_private(QApplication::desktop())); - return desktopWidgetPrivate->screens.indexOf(const_cast<QDesktopScreenWidget *>(dsw)); -} -#endif - const QScreen *QSplashScreenPrivate::screenFor(const QWidget *w) { if (w && w->screen()) return w->screen(); for (const QWidget *p = w; p !=nullptr ; p = p->parentWidget()) { -#if QT_DEPRECATED_SINCE(5, 15) if (auto dsw = qobject_cast<const QDesktopScreenWidget *>(p)) - return QGuiApplication::screens().value(screenNumberOf(dsw)); -#endif + return dsw->screen(); if (QWindow *window = p->windowHandle()) return window->screen(); } diff --git a/src/widgets/widgets/qtabwidget.cpp b/src/widgets/widgets/qtabwidget.cpp index 6f9e51cf4a..e054156995 100644 --- a/src/widgets/widgets/qtabwidget.cpp +++ b/src/widgets/widgets/qtabwidget.cpp @@ -44,7 +44,6 @@ #include "private/qtabbar_p.h" #include "qapplication.h" #include "qbitmap.h" -#include "qdesktopwidget.h" #include <private/qdesktopwidget_p.h> #include "qevent.h" #include "qlayout.h" diff --git a/src/widgets/widgets/qtextbrowser.cpp b/src/widgets/widgets/qtextbrowser.cpp index c9c5c3f190..a7fe0ad2d5 100644 --- a/src/widgets/widgets/qtextbrowser.cpp +++ b/src/widgets/widgets/qtextbrowser.cpp @@ -44,7 +44,6 @@ #include <qapplication.h> #include <private/qapplication_p.h> #include <qevent.h> -#include <qdesktopwidget.h> #include <qdebug.h> #include <qabstracttextdocumentlayout.h> #include "private/qtextdocumentlayout_p.h" diff --git a/src/widgets/widgets/qtoolbutton.cpp b/src/widgets/widgets/qtoolbutton.cpp index d350e1731e..edd4788806 100644 --- a/src/widgets/widgets/qtoolbutton.cpp +++ b/src/widgets/widgets/qtoolbutton.cpp @@ -40,7 +40,6 @@ #include "qtoolbutton.h" #include <qapplication.h> -#include <qdesktopwidget.h> #include <private/qdesktopwidget_p.h> #include <qdrawutil.h> #include <qevent.h> diff --git a/src/widgets/widgets/qwidgetresizehandler.cpp b/src/widgets/widgets/qwidgetresizehandler.cpp index 1c850741bb..4f6541f509 100644 --- a/src/widgets/widgets/qwidgetresizehandler.cpp +++ b/src/widgets/widgets/qwidgetresizehandler.cpp @@ -41,7 +41,6 @@ #include "qframe.h" #include "qapplication.h" -#include "qdesktopwidget.h" #include <private/qdesktopwidget_p.h> #include "qcursor.h" #if QT_CONFIG(sizegrip) @@ -221,7 +220,7 @@ void QWidgetResizeHandler::mouseMoveEvent(QMouseEvent *e) // Workaround for window managers which refuse to move a tool window partially offscreen. if (QGuiApplication::platformName() == QLatin1String("xcb")) { - const QRect desktop = QDesktopWidgetPrivate::availableGeometry(widget); + const QRect desktop = QWidgetPrivate::availableScreenGeometry(widget); pp.rx() = qMax(pp.x(), desktop.left()); pp.ry() = qMax(pp.y(), desktop.top()); p.rx() = qMin(p.x(), desktop.right()); diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp index ff82b1d37c..a4823ca8dd 100644 --- a/src/widgets/widgets/qwidgettextcontrol.cpp +++ b/src/widgets/widgets/qwidgettextcontrol.cpp @@ -1943,10 +1943,8 @@ void QWidgetTextControlPrivate::contextMenuEvent(const QPoint &screenPos, const if (!menu) return; menu->setAttribute(Qt::WA_DeleteOnClose); - if (auto *window = static_cast<QWidget *>(parent)->window()->windowHandle()) { - QMenuPrivate::get(menu)->topData()->initialScreenIndex = - QGuiApplication::screens().indexOf(window->screen()); - } + if (auto *window = static_cast<QWidget *>(parent)->window()->windowHandle()) + QMenuPrivate::get(menu)->topData()->initialScreen = window->screen(); menu->popup(screenPos); #endif } |