unity-dev team mailing list archive
-
unity-dev team
-
Mailing list archive
-
Message #00058
Re: [Ayatana-dev] Mentorship, Signal Propagation in Unity
On Wed, Dec 29, 2010 at 12:27 PM, Josh Headapohl <joshhead@xxxxxxxxx> wrote:
> Hello, I'm working on bug 688830 in Unity, which is about letting the user
> select a quicklist item with just one right click. Currently, you have to
> let go of the mouse button first or you will just start dragging the
> launcher icon. This behavior is annoying and the bug is tagged as bite-size
> so I decided to try to help fix it.
> Dieder Roche commented it could be "bitesize with good mentorship," so I
> hope I can get a little assistance here in figuring out Unity's technical
> design. Okay, maybe more than the design. :) There's a lot to take in.
> I see that when there is an OnMouseDown signal emitted, a Launcher instance
> will handle it, and I can see where later in the chain of method calls, the
> quicklist menu item is created and shown in LauncherIcon::RecvMouseDown.
> What I haven't found yet is what sends the OnMouseDown signal in the first
> place.
> For example, in Launcher.cpp line 186,
> OnMouseDown.connect (sigc::mem_fun (this, &Launcher::RecvMouseDown));
> What is OnMouseDown and where is it instantiated? Does it happen outside of
> Unity or am I just overlooking the place where it is created?
> I think if I could see a higher level source of input events (or do I mean
> lower?) , if would be easier to see what to do with them further down the
> line.
The launcher class has a fairly long inheritance tree:
InputArea -> View -> Launcher.
InputArea is found in nux/Nux/InputArea.h/cpp . It handles raw events
(either from X11 or elsewhere) and makes the OnMouseDown etc signals
actually emit () once appropriate events are recieved.
I have not looked at this particular code in detail, but I would
assume that whatever LauncherIcon::OnMouseDown is connected to
handles the quicklist creation, button clicks and dragging - although
the code that does the dragging isn't checking which button is
actually pressed.
Regards,
Sam
> Also, if it sounds like I'm approaching the whole problem the wrong way,
> feel free to point me in a new direction.
> Thanks,
> Josh
> https://bugs.launchpad.net/unity/+bug/688830
> _______________________________________________
> Mailing list: https://launchpad.net/~ayatana-dev
> Post to : ayatana-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~ayatana-dev
> More help : https://help.launchpad.net/ListHelp
>
>
--
Sam Spilsbury
Follow ups
References