Merge lp:~canonical-dx-team/unity/unity.fix-click-event into lp:unity

Proposed by Jay Taoko
Status: Merged
Merged at revision: 641
Proposed branch: lp:~canonical-dx-team/unity/unity.fix-click-event
Merge into: lp:unity
Diff against target: 70 lines (+8/-6)
4 files modified
src/QuicklistMenuItem.cpp (+1/-2)
src/QuicklistMenuItem.h (+1/-1)
src/QuicklistView.cpp (+5/-2)
src/QuicklistView.h (+1/-1)
To merge this branch: bzr merge lp:~canonical-dx-team/unity/unity.fix-click-event
Reviewer Review Type Date Requested Status
Jason Smith (community) Approve
Review via email: mp+42208@code.launchpad.net

Description of the change

Fix click event on menu item

To post a comment you must log in.
Revision history for this message
Jason Smith (jassmith) wrote :

+1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/QuicklistMenuItem.cpp'
2--- src/QuicklistMenuItem.cpp 2010-11-30 05:05:08 +0000
3+++ src/QuicklistMenuItem.cpp 2010-11-30 06:34:58 +0000
4@@ -308,10 +308,9 @@
5 {
6 if (!GetEnabled ())
7 {
8- sigMouseClick.emit (this);
9 return;
10 }
11- sigMouseClick.emit (this);
12+ sigMouseClick.emit (this, x, y);
13 }
14
15 void QuicklistMenuItem::RecvMouseMove (int x, int y, int dx, int dy, unsigned long button_flags, unsigned long key_flags)
16
17=== modified file 'src/QuicklistMenuItem.h'
18--- src/QuicklistMenuItem.h 2010-11-30 05:05:08 +0000
19+++ src/QuicklistMenuItem.h 2010-11-30 06:34:58 +0000
20@@ -110,7 +110,7 @@
21 sigc::signal<void, QuicklistMenuItem*> sigMouseEnter;
22 sigc::signal<void, QuicklistMenuItem*> sigMouseLeave;
23 sigc::signal<void, QuicklistMenuItem*, int, int> sigMouseReleased;
24- sigc::signal<void, QuicklistMenuItem*> sigMouseClick;
25+ sigc::signal<void, QuicklistMenuItem*, int, int> sigMouseClick;
26 sigc::signal<void, QuicklistMenuItem*, int, int> sigMouseDrag;
27
28 DbusmenuMenuitem* _menuItem;
29
30=== modified file 'src/QuicklistView.cpp'
31--- src/QuicklistView.cpp 2010-11-30 05:05:08 +0000
32+++ src/QuicklistView.cpp 2010-11-30 06:34:58 +0000
33@@ -438,11 +438,14 @@
34 NeedRedraw ();
35 }
36
37-void QuicklistView::RecvItemMouseClick (QuicklistMenuItem* item)
38+void QuicklistView::RecvItemMouseClick (QuicklistMenuItem* item, int x, int y)
39 {
40 _mouse_down = false;
41 if (IsVisible ())
42 {
43+ // Check if the mouse was released over an item and emit the signal
44+ CheckAndEmitItemSignal (x + item->GetBaseX (), y + item->GetBaseY ());
45+
46 CancelItemsPrelightStatus ();
47 CaptureMouseDownAnyWhereElse (false);
48 ForceStopFocus (1, 1);
49@@ -453,7 +456,7 @@
50 }
51
52 void QuicklistView::CheckAndEmitItemSignal (int x, int y)
53-{
54+{
55 nux::Geometry geo;
56 std::list<QuicklistMenuItem*>::iterator it;
57 for (it = _item_list.begin(); it != _item_list.end(); it++)
58
59=== modified file 'src/QuicklistView.h'
60--- src/QuicklistView.h 2010-11-30 05:05:08 +0000
61+++ src/QuicklistView.h 2010-11-30 06:34:58 +0000
62@@ -89,7 +89,7 @@
63 private:
64 void RecvCairoTextChanged (QuicklistMenuItem* item);
65 void RecvCairoTextColorChanged (QuicklistMenuItem* item);
66- void RecvItemMouseClick (QuicklistMenuItem* item);
67+ void RecvItemMouseClick (QuicklistMenuItem* item, int x, int y);
68 void RecvItemMouseRelease (QuicklistMenuItem* item, int x, int y);
69 void RecvItemMouseEnter (QuicklistMenuItem* item);
70 void RecvItemMouseLeave (QuicklistMenuItem* item);