From ce1f2f73db6a3e3a74033db5b8076a074206419d Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 24 Aug 2009 22:28:00 +0000 Subject: [PATCH] Patch from lincoln to add track resize buttons to the top-left corner of the editor (underneath the zoom buttons). Mantis 2768. git-svn-id: svn://localhost/ardour2/branches/3.0@5587 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/editor.cc | 20 ++++++++++++++++++++ gtk2_ardour/editor.h | 5 +++++ gtk2_ardour/editor_ops.cc | 15 +++++++++++++++ gtk2_ardour/icons/tav_exp.png | Bin 0 -> 259 bytes gtk2_ardour/icons/tav_shrink.png | Bin 0 -> 239 bytes gtk2_ardour/time_axis_view.cc | 1 + 6 files changed, 41 insertions(+) create mode 100755 gtk2_ardour/icons/tav_exp.png create mode 100755 gtk2_ardour/icons/tav_shrink.png diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 97635935ea..c18d70868b 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -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); diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 729211ed9d..5f5147a677 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -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 zoom_focus_action (Editing::ZoomFocus); Gtk::HBox zoom_box; + Gtk::HBox track_zoom_box; Gtk::VBox zoom_vbox; void zoom_adjustment_changed(); diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 8d68a32305..d9491a21b0 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -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(*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 index 0000000000000000000000000000000000000000..7f8d48729a87c742049d6e4ef6cd15b5dd48ec15 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;RN#5=* z4F5rJ!QSPQfg+p*9+AZi4BWyX%*Zfnjs#F}vZsq5<}A83 zAztYqPr}E^o>C_lecc>+zFYkU;}wnQ&#S)PPC0$qd-YNKEk{*OA8m5qFu^lUCu@%H z_ueIm4?~j9o^^dy^H^%n^M^{NQ!1W3RQk)$p2X?2^ZJ^kLZI^)JYD@<);T3K0RW}H BW}5&2 literal 0 HcmV?d00001 diff --git a/gtk2_ardour/icons/tav_shrink.png b/gtk2_ardour/icons/tav_shrink.png new file mode 100755 index 0000000000000000000000000000000000000000..47b375172fc464572ab471429d1acaae74909645 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;RN#5=* z4F5rJ!QSPQfg+p*9+AZi4BWyX%*Zfnjs#G!-qXb~#NzbTNe6iw40xE&uXudXGNQq7 z7en!Zx`)9_RxJrQ!aUJmzEjrPv?i8mTHnr#eKRbyp+VJ~t5eqRd){_U%FT9-fiBDH^<+gzRtz6*;Un|dRy7J>#x?|Cl eFYGVtw=yrOx5&DwRhk8K3WKMspUXO@geCy<-Bs8C literal 0 HcmV?d00001 diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc index b0618fdb02..921d0424d6 100644 --- a/gtk2_ardour/time_axis_view.cc +++ b/gtk2_ardour/time_axis_view.cc @@ -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);