Unfortunately reimplementing popup windows in Python using the current version of GTK is not an option.

When you click the button in Totem, it creates a popup window which does an X-pointer grab on the mouse. This means all mouse events will be redirected to the popup window, even if the mouse is not on the window. This is how the popup knows to disappear when you click somewhere else on the screen.

When the popup window receives a mouse event, it gets the widget associated with the event and see if that widget is part of the popup window, otherwise it knows it is outside the window. However last time I tried to do this with GTK, I found there is no Python API for getting the originating widget from a GdkEvent. Therefore in Python you can do a X-pointer grab, but you cannot tell if the user is clicking outside your popup or not. And having a popup window continue to display while the user frantically clicks around the screen trying to get out of it is terrible for usability.

All this means is, if we are gonna use a popup volume control, it has to be the stock GtkScaleButton.

Jeff Ratliff wrote:
Maybe you click it, a volume slider pops up, with a little icon for
"mute" at the bottom of the slider. I've seen this in other
applications. Seems like it would be pretty intuitive and useful.

On 24/06/2008, Laszlo Pandy <[EMAIL PROTECTED]> wrote:
It is interesting that you mention putting a popup inside the mute button as
_less_ discoverable. Because I remember hearing from a few users who saw the
speaker icon and assumed it was a volume control, only to be surprised when
it was just mute.

I'm not sure if we can put both volume and mute in the same button, but if
it were volume I think it would be more useful.


Jeff Ratliff wrote:
Sorry, don't think I sent this to the list:

The volume slider in this position makes the think of a pan control,
not a volume control. This comes from my experience with physical
sound boards though, and a novice may not have this problem.

You could do a volume icon that pops up a volume slider, a la
rhythmbox and others. If you were really clever, you could find a way
to integrate it with the mute button and take up no additional space.
This is less discoverable though, and would really rely on a good
descriptive icon, or a little mini popup arrow thingy (excuse my
advanced technical jargon). :)

On 22/06/2008, Laszlo Pandy <[EMAIL PROTECTED]> wrote:

Thanks for the patch Tom. This is really well done, and I think it
serves a
good purpose because currently the volume control is not as discoverable
as
it could be.

However right now the volume slider is underneath the buttons, which
looks a
little weird. Previously the buttons were at the bottom and they formed
a
nice straight line along the bottom of the instrument header. Also it
makes
the instrument lanes a little bigger; bigger than the events are. This
is
not as big a problem, we can certainly resize the height of the events
if we
need to.

I want everyone to take a look at the screenshot:
http://laszlopandy.com/files/volume-slider.png

Any suggestions for where else we could put it?

(I think there was previously a bug for having a recording monitor
vertically against the right side of the header, but a volume slider
requires more width and height than that).

Laszlo


Tom Halligan wrote:

Coded against SVN Revision 1519

Updated version of the instrument volume slider patch. The volume
slider
is now part of the ControlsBox. When creating the controls box, you
should
add a 'includeVolumeSlider=True' to the parameters. For example, the
code
used in InstrumentViewer.py is:

  self.controlsBox =


ControlsBox.ControlsBox(project,mainview,instrument,includeEffects=True,includeVolumeSlider=True)
This means the volume slider is an optional control (for example, the

mixer strip omits the volume slider for obvious reasons).

Peace,
Tom




------------------------------------------------------------------------
_______________________________________________
jokosher-devel-list mailing list
jokosher-devel-list@gnome.org


http://mail.gnome.org/mailman/listinfo/jokosher-devel-list
_______________________________________________
jokosher-devel-list mailing list
jokosher-devel-list@gnome.org

http://mail.gnome.org/mailman/listinfo/jokosher-devel-list







_______________________________________________
jokosher-devel-list mailing list
jokosher-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/jokosher-devel-list

Reply via email to