fix some packing issues in the monitor section when using high-channel-count master/monitor busses (eg. ambi)
git-svn-id: svn://localhost/ardour2/branches/3.0@11805 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
4089b0ed93
commit
4969266d06
@ -36,6 +36,8 @@ MonitorSection::MonitorSection (Session* s)
|
|||||||
: AxisView (s)
|
: AxisView (s)
|
||||||
, RouteUI (s)
|
, RouteUI (s)
|
||||||
, _tearoff (0)
|
, _tearoff (0)
|
||||||
|
, channel_table_viewport (*channel_table_scroller.get_hadjustment(),
|
||||||
|
*channel_table_scroller.get_vadjustment ())
|
||||||
, gain_control (0)
|
, gain_control (0)
|
||||||
, dim_control (0)
|
, dim_control (0)
|
||||||
, solo_boost_control (0)
|
, solo_boost_control (0)
|
||||||
@ -257,6 +259,7 @@ MonitorSection::MonitorSection (Session* s)
|
|||||||
channel_table_scroller.set_size_request (-1, 150);
|
channel_table_scroller.set_size_request (-1, 150);
|
||||||
channel_table_scroller.set_shadow_type (Gtk::SHADOW_NONE);
|
channel_table_scroller.set_shadow_type (Gtk::SHADOW_NONE);
|
||||||
channel_table_scroller.show ();
|
channel_table_scroller.show ();
|
||||||
|
channel_table_scroller.add (channel_table_viewport);
|
||||||
|
|
||||||
channel_size_group = SizeGroup::create (SIZE_GROUP_HORIZONTAL);
|
channel_size_group = SizeGroup::create (SIZE_GROUP_HORIZONTAL);
|
||||||
channel_size_group->add_widget (channel_table_header);
|
channel_size_group->add_widget (channel_table_header);
|
||||||
@ -357,23 +360,24 @@ MonitorSection::set_session (Session* s)
|
|||||||
if (channel_table_scroller.get_parent()) {
|
if (channel_table_scroller.get_parent()) {
|
||||||
/* scroller is packed, so remove it */
|
/* scroller is packed, so remove it */
|
||||||
channel_table_packer.remove (channel_table_scroller);
|
channel_table_packer.remove (channel_table_scroller);
|
||||||
/* remove the table_hpacker from the scroller */
|
|
||||||
channel_table_scroller.remove ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (table_hpacker.get_parent ()) {
|
if (table_hpacker.get_parent () == &channel_table_packer) {
|
||||||
/* this occurs when the table hpacker is directly
|
/* this occurs when the table hpacker is directly
|
||||||
packed, so remove it.
|
packed, so remove it.
|
||||||
*/
|
*/
|
||||||
channel_table_packer.remove (table_hpacker);
|
channel_table_packer.remove (table_hpacker);
|
||||||
|
} else if (table_hpacker.get_parent()) {
|
||||||
|
channel_table_viewport.remove ();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_monitor->output_streams().n_audio() > 7) {
|
if (_monitor->output_streams().n_audio() > 7) {
|
||||||
/* put the table into a scrolled window, and then put
|
/* put the table into a scrolled window, and then put
|
||||||
* that into the channel vpacker, after the table header
|
* that into the channel vpacker, after the table header
|
||||||
*/
|
*/
|
||||||
channel_table_scroller.add (table_hpacker);
|
channel_table_viewport.add (table_hpacker);
|
||||||
channel_table_packer.pack_start (channel_table_scroller, true, true);
|
channel_table_packer.pack_start (channel_table_scroller, true, true);
|
||||||
|
channel_table_viewport.show ();
|
||||||
channel_table_scroller.show ();
|
channel_table_scroller.show ();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -59,6 +59,7 @@ class MonitorSection : public RouteUI
|
|||||||
Gtk::Table channel_table;
|
Gtk::Table channel_table;
|
||||||
Gtk::Table channel_table_header;
|
Gtk::Table channel_table_header;
|
||||||
Gtk::ScrolledWindow channel_table_scroller;
|
Gtk::ScrolledWindow channel_table_scroller;
|
||||||
|
Gtk::Viewport channel_table_viewport;
|
||||||
Glib::RefPtr<Gtk::SizeGroup> channel_size_group;
|
Glib::RefPtr<Gtk::SizeGroup> channel_size_group;
|
||||||
|
|
||||||
struct ChannelButtonSet {
|
struct ChannelButtonSet {
|
||||||
|
Loading…
Reference in New Issue
Block a user