author | sandman <sandman> | 2002-09-01 17:38:14 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-09-01 17:38:14 (UTC) |
commit | 857a4c8df2f933d951075282efbc32955f1a7436 (patch) (unidiff) | |
tree | a6be463eab8ffad11c94ebbe93448304569ca89a | |
parent | 3a99f49a9e2171c2ae20ad21b808f316945726e5 (diff) | |
download | opie-857a4c8df2f933d951075282efbc32955f1a7436.zip opie-857a4c8df2f933d951075282efbc32955f1a7436.tar.gz opie-857a4c8df2f933d951075282efbc32955f1a7436.tar.bz2 |
Fix for bug #154:
"Tapping a menu and then tapping another menu doesnt open the newly
tapped menu this is a problem with qt, and only a problem because qt is
made for mouse input, not tapscreens. try this: open any app with more
than 2 menus. open the first menu by tapping it and releasing it. Try to
tap the next menu by tapping. wont open, eh? and it should, right?"
Does now
-rw-r--r-- | qt/qte233-for-opie091-menubar.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/qt/qte233-for-opie091-menubar.patch b/qt/qte233-for-opie091-menubar.patch new file mode 100644 index 0000000..9e64890 --- a/dev/null +++ b/qt/qte233-for-opie091-menubar.patch | |||
@@ -0,0 +1,51 @@ | |||
1 | diff -bur3 src.orig/widgets/qmenubar.cpp src/widgets/qmenubar.cpp | ||
2 | --- src.orig/widgets/qmenubar.cppMon Mar 18 02:11:27 2002 | ||
3 | +++ src/widgets/qmenubar.cppSun Sep 1 19:31:09 2002 | ||
4 | @@ -187,6 +187,7 @@ | ||
5 | hasmouse = 0; | ||
6 | defaultup = 0; | ||
7 | toggleclose = 0; | ||
8 | + openedbymove = 0; | ||
9 | if ( parent ) { | ||
10 | // filter parent events for resizing | ||
11 | parent->installEventFilter( this ); | ||
12 | @@ -906,7 +907,7 @@ | ||
13 | return; | ||
14 | mouseBtDn = TRUE; // mouse button down | ||
15 | int item = itemAtPos( e->pos() ); | ||
16 | - if ( item == actItem && popupvisible ) | ||
17 | + if ( item == actItem && popupvisible && !openedbymove ) | ||
18 | toggleclose = 1; | ||
19 | setActiveItem( item, TRUE, FALSE ); | ||
20 | } | ||
21 | @@ -932,6 +933,7 @@ | ||
22 | showMenu = FALSE; | ||
23 | setActiveItem( item, showMenu, !hasMouseTracking() ); | ||
24 | toggleclose = 0; | ||
25 | + openedbymove = 0; | ||
26 | } | ||
27 | |||
28 | |||
29 | @@ -951,8 +953,10 @@ | ||
30 | setActiveItem( item, FALSE, FALSE ); | ||
31 | return; | ||
32 | } | ||
33 | - if ( item != actItem && item >= 0 && ( popupvisible || mouseBtDn ) ) | ||
34 | + if ( item != actItem && item >= 0 && ( popupvisible || mouseBtDn ) ) { | ||
35 | setActiveItem( item, TRUE, FALSE ); | ||
36 | +openedbymove = 1; | ||
37 | + } | ||
38 | } | ||
39 | |||
40 | |||
41 | diff -bur3 src.orig/widgets/qmenubar.h src/widgets/qmenubar.h | ||
42 | --- src.orig/widgets/qmenubar.hMon Mar 18 02:11:27 2002 | ||
43 | +++ src/widgets/qmenubar.hSun Sep 1 15:54:37 2002 | ||
44 | @@ -139,6 +139,7 @@ | ||
45 | uinthasmouse : 1; | ||
46 | uint defaultup : 1; | ||
47 | uint toggleclose : 1; | ||
48 | + uint openedbymove : 1; | ||
49 | |||
50 | friend class QPopupMenu; | ||
51 | |||