_route.comment_changed.connect (mem_fun(*this, &MixerStrip::comment_changed));
_route.gui_changed.connect (mem_fun(*this, &MixerStrip::route_gui_changed));
- input_button.signal_button_release_event().connect (mem_fun(*this, &MixerStrip::input_press), false);
- output_button.signal_button_release_event().connect (mem_fun(*this, &MixerStrip::output_press), false);
+ input_button.signal_button_press_event().connect (mem_fun(*this, &MixerStrip::input_press), false);
+ output_button.signal_button_press_event().connect (mem_fun(*this, &MixerStrip::output_press), false);
rec_enable_button->signal_button_press_event().connect (mem_fun(*this, &RouteUI::rec_enable_press));
solo_button->signal_button_press_event().connect (mem_fun(*this, &RouteUI::solo_press), false);
pan_automation_style_button.signal_button_release_event().connect (mem_fun(*this, &MixerStrip::pan_automation_style_button_event), false);
gain_automation_state_button.signal_button_press_event().connect (mem_fun(*this, &MixerStrip::gain_automation_state_button_event), false);
- gain_automation_state_button.signal_button_release_event().connect (mem_fun(*this, &MixerStrip::gain_automation_state_button_event), false);
pan_automation_state_button.signal_button_press_event().connect (mem_fun(*this, &MixerStrip::pan_automation_state_button_event), false);
- pan_automation_state_button.signal_button_release_event().connect (mem_fun(*this, &MixerStrip::pan_automation_state_button_event), false);
- name_button.signal_button_release_event().connect (mem_fun(*this, &MixerStrip::name_button_button_release), false);
+ name_button.signal_button_press_event().connect (mem_fun(*this, &MixerStrip::name_button_button_press), false);
- group_button.signal_button_release_event().connect (mem_fun(*this, &MixerStrip::select_mix_group), false);
+ group_button.signal_button_press_event().connect (mem_fun(*this, &MixerStrip::select_mix_group), false);
_width = (Width) -1;
set_stuff_from_route ();
gint
MixerStrip::gain_automation_state_button_event (GdkEventButton *ev)
{
- if (ev->type == GDK_BUTTON_PRESS || ev->type == GDK_2BUTTON_PRESS) {
+ if (ev->type == GDK_BUTTON_RELEASE) {
return TRUE;
}
{
using namespace Menu_Helpers;
- if (ev->type == GDK_BUTTON_PRESS || ev->type == GDK_2BUTTON_PRESS) {
+ if (ev->type == GDK_BUTTON_RELEASE) {
return TRUE;
}
setup_comment_editor ();
}
+ int x, y, cw_width, cw_height;
+
if (comment_window->is_visible()) {
string str = comment_area->get_buffer()->get_text();
if (_route.comment() != str) {
comment_window->hide ();
return;
}
-
- comment_window->set_position (Gtk::WIN_POS_MOUSE);
+ comment_window->get_size (cw_width, cw_height);
+ comment_window->get_position(x, y);
+ comment_window->move(x, y - (cw_height / 2) - 45);
+ /*
+ half the dialog height minus the comments button height
+ with some window decoration fudge thrown in.
+ */
+
comment_window->show();
comment_window->present();
title += _(": comment editor");
comment_window = new ArdourDialog (title, false);
- comment_area = manage (new TextView());
+ comment_window->set_position (Gtk::WIN_POS_MOUSE);
+ comment_window->set_skip_taskbar_hint (true);
+ comment_area = manage (new TextView());
comment_area->set_name ("MixerTrackCommentArea");
+ comment_area->set_size_request (110, 178);
+ comment_area->set_wrap_mode (WRAP_WORD);
comment_area->set_editable (true);
comment_area->get_buffer()->set_text (_route.comment());
- comment_area->set_size_request (200,124);
comment_area->show ();
comment_window->get_vbox()->pack_start (*comment_area);
_session.foreach_mix_group (bind (mem_fun (*this, &MixerStrip::add_mix_group_to_menu), &group));
- group_menu->popup (1, 0);
+ group_menu->popup (1, ev->time);
return true;
}
}
gint
-MixerStrip::name_button_button_release (GdkEventButton* ev)
+MixerStrip::name_button_button_press (GdkEventButton* ev)
{
- if (ev->button == 3) {
+ if (ev->button == 1) {
list_route_operations ();
+ route_ops_menu->popup (1, ev->time);
}
return FALSE;
}
}
refresh_remote_control_menu();
-
- route_ops_menu->popup (1, 0);
}