Patch from lincoln to add track resize buttons to the top-left corner of the editor...
authorCarl Hetherington <carl@carlh.net>
Mon, 24 Aug 2009 22:28:00 +0000 (22:28 +0000)
committerCarl Hetherington <carl@carlh.net>
Mon, 24 Aug 2009 22:28:00 +0000 (22:28 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@5587 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/editor.cc
gtk2_ardour/editor.h
gtk2_ardour/editor_ops.cc
gtk2_ardour/icons/tav_exp.png [new file with mode: 0755]
gtk2_ardour/icons/tav_shrink.png [new file with mode: 0755]
gtk2_ardour/time_axis_view.cc

index 97635935ea57c90a514022e3c01d672dfc0e36f4..c18d70868b1a081bc0b1f22b7a4247acf87f81f7 100644 (file)
@@ -2915,11 +2915,31 @@ Editor::setup_toolbar ()
        zoom_box.pack_start (zoom_out_button, false, false);
        zoom_box.pack_start (zoom_in_button, false, false);
        zoom_box.pack_start (zoom_out_full_button, false, false);
+       
+       /* Track zoom buttons */
+       tav_expand_button.set_name ("TrackHeightButton");
+       tav_expand_button.set_size_request(-1,20);
+       tav_expand_button.add (*(manage (new Image (::get_icon("tav_exp")))));
+       tav_expand_button.signal_clicked().connect (bind (mem_fun(*this, &Editor::tav_zoom_step), true));
+       ARDOUR_UI::instance()->tooltips().set_tip (tav_expand_button, _("Expand Tracks"));
+       
+       tav_shrink_button.set_name ("TrackHeightButton");
+       tav_shrink_button.set_size_request(-1,20);
+       tav_shrink_button.add (*(manage (new Image (::get_icon("tav_shrink")))));
+       tav_shrink_button.signal_clicked().connect (bind (mem_fun(*this, &Editor::tav_zoom_step), false));
+       ARDOUR_UI::instance()->tooltips().set_tip (tav_shrink_button, _("Shrink Tracks"));
 
+       track_zoom_box.set_spacing (1);
+       track_zoom_box.set_border_width (0);
+
+       track_zoom_box.pack_start (tav_shrink_button, false, false);    
+       track_zoom_box.pack_start (tav_expand_button, false, false);
+       
        HBox* zbc = manage (new HBox);
        zbc->pack_start (zoom_focus_selector, PACK_SHRINK);
        zoom_vbox.pack_start (*zbc, PACK_SHRINK);
        zoom_vbox.pack_start (zoom_box, PACK_SHRINK);
+       zoom_vbox.pack_start (track_zoom_box, PACK_SHRINK);
 
        snap_box.set_spacing (1);
        snap_box.set_border_width (2);
index 729211ed9d351948bc3cef8c52dbf330dde520c8..5f5147a677f56e57a900c2104039d95947a75870 100644 (file)
@@ -308,6 +308,7 @@ class Editor : public PublicEditor
        double             get_current_zoom () const { return frames_per_unit; }
 
        void temporal_zoom_step (bool coarser);
+       void tav_zoom_step (bool coarser);
 
        /* stuff that AudioTimeAxisView and related classes use */
 
@@ -1510,6 +1511,9 @@ public:
        Gtk::Button              zoom_out_full_button;
        Gtk::Button              zoom_onetoone_button;
 
+       Gtk::Button              tav_expand_button;
+       Gtk::Button              tav_shrink_button;
+       
        Gtk::VBox                toolbar_clock_vbox;
        Gtk::VBox                toolbar_selection_clock_vbox; 
        Gtk::Table               toolbar_selection_clock_table;
@@ -1569,6 +1573,7 @@ public:
        Glib::RefPtr<Gtk::RadioAction> zoom_focus_action (Editing::ZoomFocus);
 
        Gtk::HBox           zoom_box;
+       Gtk::HBox           track_zoom_box;
        Gtk::VBox           zoom_vbox;
 
        void                zoom_adjustment_changed();
index 8d68a323059581fff8b3f0aefd869a235ce57e18..d9491a21b0fde3ab5646ca9d09fad74fad765582 100644 (file)
@@ -1515,6 +1515,21 @@ Editor::scroll_tracks_up_line ()
 
 /* ZOOM */
 
+void
+Editor::tav_zoom_step (bool coarser)
+{
+       ENSURE_GUI_THREAD (bind (mem_fun (*this, &Editor::temporal_zoom_step), coarser));
+       
+       _routes->suspend_redisplay ();
+
+       for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
+               TimeAxisView *tv = (static_cast<TimeAxisView*>(*i));
+                       tv->step_height (coarser);
+       }
+
+       _routes->resume_redisplay ();
+}      
+
 void
 Editor::temporal_zoom_step (bool coarser)
 {
diff --git a/gtk2_ardour/icons/tav_exp.png b/gtk2_ardour/icons/tav_exp.png
new file mode 100755 (executable)
index 0000000..7f8d487
Binary files /dev/null and b/gtk2_ardour/icons/tav_exp.png differ
diff --git a/gtk2_ardour/icons/tav_shrink.png b/gtk2_ardour/icons/tav_shrink.png
new file mode 100755 (executable)
index 0000000..47b3751
Binary files /dev/null and b/gtk2_ardour/icons/tav_shrink.png differ
index b0618fdb028f7ec91c126531a27d91779d1fe386..921d0424d60c0def16389cd0e97f7bd0f55637df 100644 (file)
@@ -133,6 +133,7 @@ TimeAxisView::TimeAxisView (ARDOUR::Session& sess, PublicEditor& ed, TimeAxisVie
 
        name_hbox.show ();
 
+       controls_table.set_size_request (200);
        controls_table.set_border_width (2);
        controls_table.set_row_spacings (0);
        controls_table.set_col_spacings (0);