+ fil_utils_button.set_name ("pluginlist filter button");
+ fil_utils_button.set_text (_("Utils"));
+ fil_utils_button.set_active_state (_show_utils);
+ set_tooltip (fil_utils_button, _("Cycle display of utility plugins (if any)."));
+
+ vector<string> filter_strings = I18N (_filter_mode_strings);
+ Gtkmm2ext::set_popdown_strings (filter_mode, filter_strings);
+ filter_mode.set_active_text (filter_strings.front());
+
+ fil_hidden_button.signal_button_release_event().connect (sigc::mem_fun(*this, &PluginSelector::fil_hidden_button_release), false);
+ fil_instruments_button.signal_button_release_event().connect (sigc::mem_fun(*this, &PluginSelector::fil_instruments_button_release), false);
+ fil_analysis_button.signal_button_release_event().connect (sigc::mem_fun(*this, &PluginSelector::fil_analysis_button_release), false);
+ fil_utils_button.signal_button_release_event().connect (sigc::mem_fun(*this, &PluginSelector::fil_utils_button_release), false);
+
+ filter_entry.signal_changed().connect (sigc::mem_fun (*this, &PluginSelector::filter_entry_changed));
+ filter_button.signal_clicked().connect (sigc::mem_fun (*this, &PluginSelector::filter_button_clicked));
+ filter_mode.signal_changed().connect (sigc::mem_fun (*this, &PluginSelector::filter_mode_changed));
+
+ filter_table->attach (filter_mode, 0, 1, 0, 1, FILL, FILL);
+ filter_table->attach (filter_entry, 1, 4, 0, 1, FILL|EXPAND, FILL);
+ filter_table->attach (filter_button, 4, 5, 0, 1, FILL, FILL);
+
+ filter_table->attach (fil_hidden_button, 1, 2, 1, 2, FILL, FILL);
+ filter_table->attach (fil_instruments_button, 2, 3, 1, 2, FILL, FILL);
+ filter_table->attach (fil_analysis_button, 3, 4, 1, 2, FILL, FILL);
+ filter_table->attach (fil_utils_button, 4, 5, 1, 2, FILL, FILL);
+
+ filter_table->set_border_width (4);
+ filter_table->set_col_spacings (2);
+ filter_table->set_row_spacings (4);
+
+ Frame* filter_frame = manage (new Frame);
+ filter_frame->set_name ("BaseFrame");
+ filter_frame->set_label (_("Filter"));
+ filter_frame->add (*filter_table);
+
+ filter_frame->show_all ();
+
+ HBox* side_by_side = manage (new HBox);
+ VBox* right_side = manage (new VBox);
+
+ table->attach (scroller, 0, 7, 0, 5);
+ table->attach (*filter_frame, 0, 7, 6, 7, FILL|EXPAND, FILL, 5, 5);
+
+ right_side->pack_start (ascroller);
+
+ HBox* add_remove = manage (new HBox);
+ add_remove->pack_start (*btn_add, true, true);
+ add_remove->pack_start (*btn_remove, true, true);
+
+ right_side->pack_start (*add_remove, false, false);
+ right_side->set_size_request (200, -1);
+
+ side_by_side->pack_start (*table);
+ side_by_side->pack_start (*right_side);
+
+ add_button (Stock::CLOSE, RESPONSE_CLOSE);
+ add_button (_("Insert Plugin(s)"), RESPONSE_APPLY);
+ set_default_response (RESPONSE_APPLY);
+ set_response_sensitive (RESPONSE_APPLY, false);
+ get_vbox()->pack_start (*side_by_side);