From 1a293bb480a3019f5ee0e4e3608a540727b82c9e Mon Sep 17 00:00:00 2001 From: Ben Loftis Date: Mon, 19 Feb 2018 08:05:55 -0600 Subject: [PATCH] Add drop-shadow decorators to menu bar and transport toolbar. Allow status bar to fill available width. --- gtk2_ardour/ardour_ui2.cc | 2 +- gtk2_ardour/ardour_ui_dependents.cc | 5 ++++ gtk2_ardour/ardour_ui_ed.cc | 7 +++-- gtk2_ardour/editor.cc | 42 +++++++++++++++++++++++++---- gtk2_ardour/editor.h | 3 +++ 5 files changed, 49 insertions(+), 10 deletions(-) diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc index 60b951f4bf..b200f82a83 100644 --- a/gtk2_ardour/ardour_ui2.cc +++ b/gtk2_ardour/ardour_ui2.cc @@ -374,7 +374,7 @@ ARDOUR_UI::setup_transport () /* top level packing */ transport_table.set_spacings (0); transport_table.set_row_spacings (4); - transport_table.set_border_width (2); + transport_table.set_border_width (0); transport_frame.set_name ("TransportFrame"); transport_frame.set_shadow_type (Gtk::SHADOW_NONE); diff --git a/gtk2_ardour/ardour_ui_dependents.cc b/gtk2_ardour/ardour_ui_dependents.cc index 0918e69538..9253fcad71 100644 --- a/gtk2_ardour/ardour_ui_dependents.cc +++ b/gtk2_ardour/ardour_ui_dependents.cc @@ -280,8 +280,13 @@ ARDOUR_UI::setup_windows () main_vpacker.pack_start (top_packer, false, false); + ArdourWidgets::ArdourDropShadow *spacer = manage (new (ArdourWidgets::ArdourDropShadow)); + spacer->set_size_request( -1, 4 ); + spacer->show(); + /* now add the transport sample to the top of main window */ + main_vpacker.pack_start ( *spacer, false, false); main_vpacker.pack_start (transport_frame, false, false); main_vpacker.pack_start (_tabs, true, true); diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index d799ce0a25..39da067fd1 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -670,11 +670,10 @@ ARDOUR_UI::build_menu_bar () EventBox* ev = manage (new EventBox); ev->show (); - CairoHPacker* hbox = manage (new CairoHPacker); - hbox->set_name (X_("StatusBarBox")); + + Gtk::HBox* hbox = manage (new Gtk::HBox); hbox->show (); hbox->set_border_width (2); - ev->add (*hbox); wall_clock_label.set_name ("WallClock"); @@ -706,7 +705,7 @@ ARDOUR_UI::build_menu_bar () hbox->pack_end (peak_thread_work_label, false, false, 4); hbox->pack_end (wall_clock_label, false, false, 2); - menu_hbox.pack_end (*ev, false, false, 2); + menu_hbox.pack_end (*ev, true, true, 2); menu_bar_base.set_name ("MainMenuBar"); menu_bar_base.add (menu_hbox); diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index be2e6b719d..7c62740aec 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -624,12 +624,19 @@ Editor::Editor () time_bars_event_box.set_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK); time_bars_event_box.signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::ruler_label_button_release)); + ArdourWidgets::ArdourDropShadow *axis_view_shadow = manage (new (ArdourWidgets::ArdourDropShadow)); + axis_view_shadow->set_size_request( 4, -1 ); + axis_view_shadow->set_name("EditorWindow"); + axis_view_shadow->show(); + + edit_packer.attach (*axis_view_shadow, 0, 1, 0, 2, FILL, FILL|EXPAND, 0, 0); + /* labels for the time bars */ - edit_packer.attach (time_bars_event_box, 0, 1, 0, 1, FILL, SHRINK, 0, 0); + edit_packer.attach (time_bars_event_box, 1, 2, 0, 1, FILL, SHRINK, 0, 0); /* track controls */ - edit_packer.attach (controls_layout, 0, 1, 1, 2, FILL, FILL|EXPAND, 0, 0); + edit_packer.attach (controls_layout, 1, 2, 1, 2, FILL, FILL|EXPAND, 0, 0); /* canvas */ - edit_packer.attach (*_track_canvas_viewport, 1, 2, 0, 2, FILL|EXPAND, FILL|EXPAND, 0, 0); + edit_packer.attach (*_track_canvas_viewport, 2, 3, 0, 2, FILL|EXPAND, FILL|EXPAND, 0, 0); bottom_hbox.set_border_width (2); bottom_hbox.set_spacing (3); @@ -730,14 +737,14 @@ Editor::Editor () } editor_summary_pane.set_divider (0, fract); - global_vpacker.set_spacing (2); + global_vpacker.set_spacing (0); global_vpacker.set_border_width (0); //the next three EventBoxes provide the ability for their child widgets to have a background color. That is all. Gtk::EventBox* ebox = manage (new Gtk::EventBox); //a themeable box ebox->set_name("EditorWindow"); - ebox->add (toolbar_hbox); + ebox->add (ebox_hpacker); Gtk::EventBox* epane_box = manage (new EventBoxExt); //a themeable box epane_box->set_name("EditorWindow"); @@ -747,6 +754,13 @@ Editor::Editor () epane_box2->set_name("EditorWindow"); epane_box2->add (global_vpacker); + ArdourWidgets::ArdourDropShadow *toolbar_shadow = manage (new (ArdourWidgets::ArdourDropShadow)); + toolbar_shadow->set_size_request( -1, 4 ); + toolbar_shadow->set_mode(ArdourWidgets::ArdourDropShadow::DropShadowBoth); + toolbar_shadow->set_name("EditorWindow"); + toolbar_shadow->show(); + + global_vpacker.pack_start (*toolbar_shadow, false, false); global_vpacker.pack_start (*ebox, false, false); global_vpacker.pack_start (*epane_box, true, true); global_hpacker.pack_start (*epane_box2, true, true); @@ -755,6 +769,8 @@ Editor::Editor () */ global_hpacker.show (); + ebox_hpacker.show(); + ebox->show(); /* register actions now so that set_state() can find them and set toggles/checks etc */ @@ -3064,6 +3080,22 @@ Editor::setup_toolbar () toolbar_hbox.set_spacing (2); toolbar_hbox.set_border_width (2); + ArdourWidgets::ArdourDropShadow *tool_shadow = manage (new (ArdourWidgets::ArdourDropShadow)); + tool_shadow->set_size_request( 4, -1 ); + tool_shadow->show(); + + ebox_hpacker.pack_start (*tool_shadow, false, false); + ebox_hpacker.pack_start(ebox_vpacker, true, true); + + Gtk::EventBox* spacer = manage (new Gtk::EventBox); //extra space under the mouse toolbar, for aesthetics + spacer->set_name("EditorWindow"); + spacer->set_size_request(-1,4); + spacer->show(); + + ebox_vpacker.pack_start(toolbar_hbox, false, false); + ebox_vpacker.pack_start(*spacer, false, false); + ebox_vpacker.show(); + toolbar_hbox.pack_start (*mode_box, false, false); if (!ARDOUR::Profile->get_trx()) { diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 8f6730f045..dbe49a0913 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -1824,6 +1824,9 @@ private: Gtk::HBox snap_box; + Gtk::HBox ebox_hpacker; + Gtk::VBox ebox_vpacker; + Gtk::HBox _box; std::vector grid_type_strings;