gui/audio: Block accelerators when a gtk entry is focused
Otherwise pressing the spacebar while searching could toggle the play / pause status. Fixes #36: Button accelerators always triggered Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
19afc4aeef
commit
6aa64f0bc1
|
@ -87,6 +87,15 @@ static int __audio_timeout(gpointer data)
|
||||||
return G_SOURCE_CONTINUE;
|
return G_SOURCE_CONTINUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gboolean __audio_can_accel(GtkWidget *widget, guint signal_id)
|
||||||
|
{
|
||||||
|
GtkWindow *window = GTK_WINDOW(gui_builder_widget("o_window"));
|
||||||
|
g_signal_stop_emission_by_name(widget, "can-activate-accel");
|
||||||
|
return !GTK_IS_ENTRY(gtk_window_get_focus(window)) &&
|
||||||
|
gtk_widget_is_visible(widget) &&
|
||||||
|
gtk_widget_is_sensitive(widget);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
struct audio_ops audio_ops = {
|
struct audio_ops audio_ops = {
|
||||||
|
|
|
@ -241,10 +241,11 @@
|
||||||
<object class="GtkButton" id="o_prev">
|
<object class="GtkButton" id="o_prev">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
|
<property name="focus_on_click">False</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
<property name="halign">center</property>
|
<property name="halign">center</property>
|
||||||
<property name="valign">center</property>
|
<property name="valign">center</property>
|
||||||
<property name="focus_on_click">False</property>
|
<signal name="can-activate-accel" handler="__audio_can_accel" swapped="no"/>
|
||||||
<signal name="clicked" handler="audio_prev" swapped="no"/>
|
<signal name="clicked" handler="audio_prev" swapped="no"/>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkImage" id="image4">
|
<object class="GtkImage" id="image4">
|
||||||
|
@ -272,10 +273,11 @@
|
||||||
<object class="GtkButton" id="o_play">
|
<object class="GtkButton" id="o_play">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
|
<property name="focus_on_click">False</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
<property name="halign">center</property>
|
<property name="halign">center</property>
|
||||||
<property name="valign">center</property>
|
<property name="valign">center</property>
|
||||||
<property name="focus_on_click">False</property>
|
<signal name="can-activate-accel" handler="__audio_can_accel" swapped="no"/>
|
||||||
<signal name="clicked" handler="audio_play" swapped="no"/>
|
<signal name="clicked" handler="audio_play" swapped="no"/>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkImage" id="image1">
|
<object class="GtkImage" id="image1">
|
||||||
|
@ -303,10 +305,11 @@
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="o_pause">
|
<object class="GtkButton" id="o_pause">
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
|
<property name="focus_on_click">False</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
<property name="halign">center</property>
|
<property name="halign">center</property>
|
||||||
<property name="valign">center</property>
|
<property name="valign">center</property>
|
||||||
<property name="focus_on_click">False</property>
|
<signal name="can-activate-accel" handler="__audio_can_accel" swapped="no"/>
|
||||||
<signal name="clicked" handler="audio_pause" swapped="no"/>
|
<signal name="clicked" handler="audio_pause" swapped="no"/>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkImage" id="image2">
|
<object class="GtkImage" id="image2">
|
||||||
|
@ -335,10 +338,11 @@
|
||||||
<object class="GtkButton" id="o_stop">
|
<object class="GtkButton" id="o_stop">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
|
<property name="focus_on_click">False</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
<property name="halign">center</property>
|
<property name="halign">center</property>
|
||||||
<property name="valign">center</property>
|
<property name="valign">center</property>
|
||||||
<property name="focus_on_click">False</property>
|
<signal name="can-activate-accel" handler="__audio_can_accel" swapped="no"/>
|
||||||
<signal name="clicked" handler="audio_stop" swapped="no"/>
|
<signal name="clicked" handler="audio_stop" swapped="no"/>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkImage" id="image3">
|
<object class="GtkImage" id="image3">
|
||||||
|
@ -366,10 +370,11 @@
|
||||||
<object class="GtkButton" id="o_next">
|
<object class="GtkButton" id="o_next">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
|
<property name="focus_on_click">False</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
<property name="halign">center</property>
|
<property name="halign">center</property>
|
||||||
<property name="valign">center</property>
|
<property name="valign">center</property>
|
||||||
<property name="focus_on_click">False</property>
|
<signal name="can-activate-accel" handler="__audio_can_accel" swapped="no"/>
|
||||||
<signal name="clicked" handler="audio_next" swapped="no"/>
|
<signal name="clicked" handler="audio_next" swapped="no"/>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkImage" id="image5">
|
<object class="GtkImage" id="image5">
|
||||||
|
@ -483,10 +488,10 @@
|
||||||
<property name="label" translatable="yes">Favorite</property>
|
<property name="label" translatable="yes">Favorite</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
|
<property name="focus_on_click">False</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
<property name="tooltip_text" translatable="yes">Add track to Favorites playlist</property>
|
<property name="tooltip_text" translatable="yes">Add track to Favorites playlist</property>
|
||||||
<property name="image">image6</property>
|
<property name="image">image6</property>
|
||||||
<property name="focus_on_click">False</property>
|
|
||||||
<property name="inconsistent">True</property>
|
<property name="inconsistent">True</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
|
@ -500,10 +505,10 @@
|
||||||
<property name="label" translatable="yes">Hide</property>
|
<property name="label" translatable="yes">Hide</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
|
<property name="focus_on_click">False</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
<property name="tooltip_text" translatable="yes">Hide track from Collection</property>
|
<property name="tooltip_text" translatable="yes">Hide track from Collection</property>
|
||||||
<property name="image">image7</property>
|
<property name="image">image7</property>
|
||||||
<property name="focus_on_click">False</property>
|
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
@ -841,8 +846,8 @@ Manager</property>
|
||||||
<property name="label" translatable="yes">Pause after </property>
|
<property name="label" translatable="yes">Pause after </property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="receives_default">False</property>
|
|
||||||
<property name="focus_on_click">False</property>
|
<property name="focus_on_click">False</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
<property name="xalign">0.5</property>
|
<property name="xalign">0.5</property>
|
||||||
<property name="draw_indicator">True</property>
|
<property name="draw_indicator">True</property>
|
||||||
<signal name="toggled" handler="__audio_pause_enabled" object="o_pause_count" swapped="no"/>
|
<signal name="toggled" handler="__audio_pause_enabled" object="o_pause_count" swapped="no"/>
|
||||||
|
|
Loading…
Reference in New Issue