use rt-click context menu instead of the -all- group, which was orphaned
authorBen Loftis <ben@glw.com>
Wed, 16 Sep 2009 14:30:35 +0000 (14:30 +0000)
committerBen Loftis <ben@glw.com>
Wed, 16 Sep 2009 14:30:35 +0000 (14:30 +0000)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@5666 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/editor.h
gtk2_ardour/editor_edit_groups.cc
gtk2_ardour/mixer_ui.cc
gtk2_ardour/mixer_ui.h

index 234680ebbc53cb8343bbf8b6138fa518375b8cd9..c1077b4f1b5c323648b4e7961b79d2d1eda802bd 100644 (file)
@@ -1819,6 +1819,8 @@ public:
        void build_edit_group_list_menu ();
        void activate_all_edit_groups ();
        void disable_all_edit_groups ();
+       void show_all_edit_groups ();
+       void hide_all_edit_groups ();
 
        bool in_edit_group_row_change;
        void edit_group_row_change (const Gtk::TreeModel::Path&,const Gtk::TreeModel::iterator&);
index 151d8043a677a9437837059b51a8bcec5545de52..3b21caca6cebdc39f52ff56f65eac57737e4506e 100644 (file)
@@ -52,6 +52,9 @@ Editor::build_edit_group_list_menu ()
        items.push_back (MenuElem (_("Activate All"), mem_fun(*this, &Editor::activate_all_edit_groups)));
        items.push_back (MenuElem (_("Disable All"), mem_fun(*this, &Editor::disable_all_edit_groups)));
        items.push_back (SeparatorElem());
+       items.push_back (MenuElem (_("Show All"), mem_fun(*this, &Editor::show_all_edit_groups)));
+       items.push_back (MenuElem (_("Hide All"), mem_fun(*this, &Editor::hide_all_edit_groups)));
+       items.push_back (SeparatorElem());
        items.push_back (MenuElem (_("Add group"), mem_fun(*this, &Editor::new_edit_group)));
        
 }
@@ -74,6 +77,24 @@ Editor::disable_all_edit_groups ()
        }
 }
 
+void
+Editor::show_all_edit_groups ()
+{
+        Gtk::TreeModel::Children children = group_model->children();
+       for(Gtk::TreeModel::Children::iterator iter = children.begin(); iter != children.end(); ++iter) {
+               (*iter)[group_columns.is_visible] = true;
+       }
+}
+
+void
+Editor::hide_all_edit_groups ()
+{
+        Gtk::TreeModel::Children children = group_model->children();
+       for(Gtk::TreeModel::Children::iterator iter = children.begin(); iter != children.end(); ++iter) {
+               (*iter)[group_columns.is_visible] = false;
+       }
+}
+
 void
 Editor::new_edit_group ()
 {
@@ -258,15 +279,6 @@ Editor::edit_groups_changed ()
 
        group_model->clear ();
 
-       {
-               TreeModel::Row row;
-               row = *(group_model->append());
-               row[group_columns.is_active] = false;
-               row[group_columns.is_visible] = true;
-               row[group_columns.text] = (_("-all-"));
-               row[group_columns.routegroup] = 0;
-       }
-
        session->foreach_edit_group (mem_fun (*this, &Editor::add_edit_group));
 }
 
index 56b11bfc2fc42a964f0b7b0d8daacebfd30422d6..b1357641317e7e11e41502d80a2b89f63a18af31 100644 (file)
@@ -987,6 +987,9 @@ Mixer_UI::build_mix_group_context_menu ()
        items.push_back (MenuElem (_("Activate All"), mem_fun(*this, &Mixer_UI::activate_all_mix_groups)));
        items.push_back (MenuElem (_("Disable All"), mem_fun(*this, &Mixer_UI::disable_all_mix_groups)));
        items.push_back (SeparatorElem());
+       items.push_back (MenuElem (_("Show All"), mem_fun(*this, &Mixer_UI::show_all_mix_groups)));
+       items.push_back (MenuElem (_("Hide All"), mem_fun(*this, &Mixer_UI::hide_all_mix_groups)));
+       items.push_back (SeparatorElem());
        items.push_back (MenuElem (_("Add group"), mem_fun(*this, &Mixer_UI::new_mix_group)));
        
 }
@@ -1068,6 +1071,8 @@ Mixer_UI::activate_all_mix_groups ()
        }
 }
 
+
+
 void
 Mixer_UI::disable_all_mix_groups ()
 {
@@ -1077,6 +1082,24 @@ Mixer_UI::disable_all_mix_groups ()
        }
 }
 
+void
+Mixer_UI::show_all_mix_groups ()
+{
+       Gtk::TreeModel::Children children = group_model->children();
+       for(Gtk::TreeModel::Children::iterator iter = children.begin(); iter != children.end(); ++iter) {
+               (*iter)[group_columns.visible] = true;
+       }
+}
+
+void
+Mixer_UI::hide_all_mix_groups ()
+{
+       Gtk::TreeModel::Children children = group_model->children();
+       for(Gtk::TreeModel::Children::iterator iter = children.begin(); iter != children.end(); ++iter) {
+               (*iter)[group_columns.visible] = false;
+       }
+}
+
 void
 Mixer_UI::mix_groups_changed ()
 {
@@ -1086,15 +1109,6 @@ Mixer_UI::mix_groups_changed ()
 
        group_model->clear ();
 
-       {
-               TreeModel::Row row;
-               row = *(group_model->append());
-               row[group_columns.active] = false;
-               row[group_columns.visible] = true;
-               row[group_columns.text] = (_("-all-"));
-               row[group_columns.group] = 0;
-       }
-
        session->foreach_mix_group (mem_fun (*this, &Mixer_UI::add_mix_group));
 }
 
index 99a2682f2ac11862ea70a3edf9ae9d77134921c7..1c5ecda8505a6e6e6924ea644a73622dbe9391b6 100644 (file)
@@ -184,6 +184,8 @@ class Mixer_UI : public Gtk::Window
        void build_mix_group_context_menu ();
        void activate_all_mix_groups ();
        void disable_all_mix_groups ();
+       void show_all_mix_groups ();
+       void hide_all_mix_groups ();
        void add_mix_group (ARDOUR::RouteGroup *);
        void mix_groups_changed ();
        void mix_group_name_edit (const Glib::ustring&, const Glib::ustring&);