From 673642c8d59bf21220972be978ef65ba1678a8ce Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 10 Mar 2006 04:05:11 +0000 Subject: further travels down the road toward true route group bliss git-svn-id: svn://localhost/trunk/ardour2@368 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/mixer_ui.cc | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) (limited to 'gtk2_ardour/mixer_ui.cc') diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 98e9a6c41c..685b96d1fd 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -142,17 +142,32 @@ Mixer_UI::Mixer_UI (AudioEngine& eng) HButtonBox* mix_group_display_button_box = manage (new HButtonBox()); mix_group_display_button_box->set_homogeneous (true); - Button* mix_group_add_button = manage (new Button (Stock::ADD)); - Button* mix_group_remove_button = manage (new Button (Stock::REMOVE)); + + Button* mix_group_add_button = manage (new Button ()); + Button* mix_group_remove_button = manage (new Button ()); + + Widget* w; + + w = manage (new Image (Stock::ADD, ICON_SIZE_BUTTON)); + w->show(); + mix_group_add_button->add (*w); + + w = manage (new Image (Stock::REMOVE, ICON_SIZE_BUTTON)); + w->show(); + mix_group_remove_button->add (*w); mix_group_add_button->signal_clicked().connect (mem_fun (*this, &Mixer_UI::new_mix_group)); mix_group_remove_button->signal_clicked().connect (mem_fun (*this, &Mixer_UI::remove_selected_mix_group)); - mix_group_display_button_box->pack_start (*mix_group_add_button); - mix_group_display_button_box->pack_start (*mix_group_remove_button); + mix_group_display_button_box->pack_start (*mix_group_add_button, false, false); + mix_group_display_button_box->pack_start (*mix_group_remove_button, false, false); group_display_vbox.pack_start (group_display_scroller, true, true); - group_display_vbox.pack_start (*mix_group_display_button_box, false, false); + + HBox* hconstraint = manage (new HBox()); + hconstraint->pack_start (*mix_group_display_button_box, false, false); + + group_display_vbox.pack_start (*hconstraint, false, false); track_display_frame.set_name("BaseFrame"); track_display_frame.set_shadow_type (Gtk::SHADOW_IN); @@ -853,7 +868,7 @@ Mixer_UI::new_mix_group () break; } #else - session->add_mix_group ("unnamed"); + session->add_mix_group (""); #endif } @@ -970,14 +985,25 @@ Mixer_UI::add_mix_group (RouteGroup* group) { ENSURE_GUI_THREAD(bind (mem_fun(*this, &Mixer_UI::add_mix_group), group)); + bool focus = false; TreeModel::Row row = *(group_model->append()); row[group_columns.active] = group->is_active(); row[group_columns.visible] = true; - row[group_columns.text] = group->name(); row[group_columns.group] = group; + if (!group->name().empty()) { + row[group_columns.text] = group->name(); + } else { + row[group_columns.text] = _("unnamed"); + focus = true; + } group->FlagsChanged.connect (bind (mem_fun(*this, &Mixer_UI::group_flags_changed), group)); + + if (focus) { + group_display.set_cursor (group_model->get_path (row)); + group_display.grab_focus (); + } } bool -- cgit v1.2.3