summaryrefslogtreecommitdiffstats
path: root/opensuse/core/qt3/xinerama-qpopupmenu.diff
diff options
context:
space:
mode:
Diffstat (limited to 'opensuse/core/qt3/xinerama-qpopupmenu.diff')
-rw-r--r--opensuse/core/qt3/xinerama-qpopupmenu.diff104
1 files changed, 0 insertions, 104 deletions
diff --git a/opensuse/core/qt3/xinerama-qpopupmenu.diff b/opensuse/core/qt3/xinerama-qpopupmenu.diff
deleted file mode 100644
index 07927206f..000000000
--- a/opensuse/core/qt3/xinerama-qpopupmenu.diff
+++ /dev/null
@@ -1,104 +0,0 @@
---- src/widgets/qpopupmenu.cpp.sav
-+++ src/widgets/qpopupmenu.cpp
-@@ -457,6 +457,15 @@
- menuContentsChanged();
- }
-
-+QRect QPopupMenu::screenRect( const QPoint& pos )
-+{
-+ int screen_num = QApplication::desktop()->screenNumber( pos );
-+#ifdef Q_WS_MAC
-+ return QApplication::desktop()->availableGeometry( screen_num );
-+#else
-+ return QApplication::desktop()->screenGeometry( screen_num );
-+#endif
-+}
- /*!
- Displays the popup menu so that the item number \a indexAtPoint
- will be at the specified \e global position \a pos. To translate a
-@@ -501,6 +510,15 @@
- // point.
- #endif
-
-+ QRect screen = screenRect( geometry().center());
-+ QRect screen2 = screenRect( QApplication::reverseLayout()
-+ ? pos+QPoint(width(),0) : pos );
-+ // if the widget is not in the screen given by the position, move it
-+ // there, so that updateSize() uses the right size of the screen
-+ if( screen != screen2 ) {
-+ screen = screen2;
-+ move( screen.x(), screen.y());
-+ }
- if(d->scroll.scrollable) {
- d->scroll.scrollable = QPopupMenuPrivate::Scroll::ScrollNone;
- d->scroll.topScrollableIndex = d->scroll.scrollableSize = 0;
-@@ -520,18 +538,6 @@
- updateSize(TRUE);
- }
-
-- int screen_num;
-- if (QApplication::desktop()->isVirtualDesktop())
-- screen_num =
-- QApplication::desktop()->screenNumber( QApplication::reverseLayout() ?
-- pos+QPoint(width(),0) : pos );
-- else
-- screen_num = QApplication::desktop()->screenNumber( this );
--#ifdef Q_WS_MAC
-- QRect screen = QApplication::desktop()->availableGeometry( screen_num );
--#else
-- QRect screen = QApplication::desktop()->screenGeometry( screen_num );
--#endif
- int sw = screen.width(); // screen width
- int sh = screen.height(); // screen height
- int sx = screen.x(); // screen pos
-@@ -1059,7 +1065,7 @@
- mi->iconSet()->pixmap( QIconSet::Small, QIconSet::Normal ).width() + 4 );
- }
-
-- int dh = QApplication::desktop()->height();
-+ int dh = screenRect( geometry().center()).height();
- ncols = 1;
-
- for ( QMenuItemListIt it2( *mitems ); it2.current(); ++it2 ) {
-@@ -2313,9 +2319,9 @@
- bool right = FALSE;
- if ( ( parentMenu && parentMenu->isPopupMenu &&
- ((QPopupMenu*)parentMenu)->geometry().x() < geometry().x() ) ||
-- p.x() < 0 )
-+ p.x() < screenRect( p ).left())
- right = TRUE;
-- if ( right && (ps.width() > QApplication::desktop()->width() - mapToGlobal( r.topRight() ).x() ) )
-+ if ( right && (ps.width() > screenRect( p ).right() - mapToGlobal( r.topRight() ).x() ) )
- right = FALSE;
- if ( right )
- p.setX( mapToGlobal( r.topRight() ).x() );
-@@ -2326,7 +2332,7 @@
- bool left = FALSE;
- if ( ( parentMenu && parentMenu->isPopupMenu &&
- ((QPopupMenu*)parentMenu)->geometry().x() > geometry().x() ) ||
-- p.x() + ps.width() > QApplication::desktop()->width() )
-+ p.x() + ps.width() > screenRect( p ).right() )
- left = TRUE;
- if ( left && (ps.width() > mapToGlobal( r.topLeft() ).x() ) )
- left = FALSE;
-@@ -2334,8 +2340,8 @@
- p.setX( mapToGlobal( r.topLeft() ).x() - ps.width() );
- }
- QRect pr = popup->itemGeometry(popup->count() - 1);
-- if (p.y() + ps.height() > QApplication::desktop()->height() &&
-- p.y() - ps.height() + (QCOORD) pr.height() >= 0)
-+ if (p.y() + ps.height() > screenRect( p ).bottom() &&
-+ p.y() - ps.height() + (QCOORD) pr.height() >= screenRect( p ).top())
- p.setY( p.y() - ps.height() + (QCOORD) pr.height());
-
- if ( style().styleHint(QStyle::SH_PopupMenu_SloppySubMenus, this )) {
---- src/widgets/qpopupmenu.h.sav
-+++ src/widgets/qpopupmenu.h
-@@ -152,6 +152,7 @@
-
- QSize updateSize(bool force_recalc=FALSE, bool do_resize=TRUE);
- void updateRow( int row );
-+ QRect screenRect(const QPoint& pos);
- #ifndef QT_NO_ACCEL
- void updateAccel( QWidget * );
- void enableAccel( bool );