summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorSakari Bergen <sakari.bergen@beatwaves.net>2012-01-31 20:42:08 +0000
committerSakari Bergen <sakari.bergen@beatwaves.net>2012-01-31 20:42:08 +0000
commit8b1e5eca1d5a63baddec3abd38740aefecfaf419 (patch)
tree230f5c90ece82015c10fdc692b4b85f2e96aa6f7 /gtk2_ardour
parent3b5787c4617107cd7e5854877408f229e06dce25 (diff)
Improve usage of expanded window space in the export dialog + put the "advanced" stuff in a Gtk::VPaned
git-svn-id: svn://localhost/ardour2/branches/3.0@11400 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/export_dialog.cc26
-rw-r--r--gtk2_ardour/export_dialog.h8
2 files changed, 24 insertions, 10 deletions
diff --git a/gtk2_ardour/export_dialog.cc b/gtk2_ardour/export_dialog.cc
index 9155595b8c..451f0c2b9a 100644
--- a/gtk2_ardour/export_dialog.cc
+++ b/gtk2_ardour/export_dialog.cc
@@ -153,30 +153,38 @@ ExportDialog::init_gui ()
preset_align->set_padding (0, 12, 0, 0);
get_vbox()->pack_start (*preset_align, false, false, 0);
- Gtk::VBox* advanced_vbox = Gtk::manage (new Gtk::VBox());
- advanced_vbox->set_spacing (12);
- advanced_vbox->set_border_width (12);
+ Gtk::VPaned * advanced_paned = Gtk::manage (new Gtk::VPaned());
+
+ Gtk::VBox* timespan_vbox = Gtk::manage (new Gtk::VBox());
+ timespan_vbox->set_spacing (12);
+ timespan_vbox->set_border_width (12);
Gtk::Alignment * timespan_align = Gtk::manage (new Gtk::Alignment());
timespan_label = Gtk::manage (new Gtk::Label (_("Time Span"), Gtk::ALIGN_LEFT));
timespan_align->add (*timespan_selector);
- timespan_align->set_padding (0, 12, 18, 0);
- advanced_vbox->pack_start (*timespan_label, false, false, 0);
- advanced_vbox->pack_start (*timespan_align, true, true, 0);
+ timespan_align->set_padding (0, 0, 18, 0);
+ timespan_vbox->pack_start (*timespan_label, false, false, 0);
+ timespan_vbox->pack_start (*timespan_align, true, true, 0);
+ advanced_paned->pack1(*timespan_vbox, true, false);
+
+ Gtk::VBox* channels_vbox = Gtk::manage (new Gtk::VBox());
+ channels_vbox->set_spacing (12);
+ channels_vbox->set_border_width (12);
Gtk::Alignment * channels_align = Gtk::manage (new Gtk::Alignment());
channels_label = Gtk::manage (new Gtk::Label (_("Channels"), Gtk::ALIGN_LEFT));
channels_align->add (*channel_selector);
channels_align->set_padding (0, 12, 18, 0);
- advanced_vbox->pack_start (*channels_label, false, false, 0);
- advanced_vbox->pack_start (*channels_align, false, false, 0);
+ channels_vbox->pack_start (*channels_label, false, false, 0);
+ channels_vbox->pack_start (*channels_align, true, true, 0);
+ advanced_paned->pack2(*channels_vbox, channel_selector_is_expandable(), false);
get_vbox()->pack_start (*file_notebook, false, false, 0);
get_vbox()->pack_start (warning_widget, false, false, 0);
get_vbox()->pack_start (progress_widget, false, false, 0);
Gtk::Expander* advanced = Gtk::manage (new Gtk::Expander (_("Advanced options")));
- advanced->add (*advanced_vbox);
+ advanced->add (*advanced_paned);
get_vbox()->pack_start (*advanced, true, true);
diff --git a/gtk2_ardour/export_dialog.h b/gtk2_ardour/export_dialog.h
index ee0f7ce269..73d11ecffd 100644
--- a/gtk2_ardour/export_dialog.h
+++ b/gtk2_ardour/export_dialog.h
@@ -75,6 +75,9 @@ class ExportDialog : public ArdourDialog {
// Must initialize all the shared_ptrs below
virtual void init_components ();
+ // Override if the channel selector should not be grown
+ virtual bool channel_selector_is_expandable() { return true; }
+
boost::scoped_ptr<ExportPresetSelector> preset_selector;
boost::scoped_ptr<ExportTimespanSelector> timespan_selector;
boost::scoped_ptr<ExportChannelSelector> channel_selector;
@@ -148,7 +151,7 @@ class ExportRangeDialog : public ExportDialog
private:
void init_components ();
- std::string range_id;
+ std::string range_id;
};
class ExportSelectionDialog : public ExportDialog
@@ -165,6 +168,9 @@ class ExportRegionDialog : public ExportDialog
public:
ExportRegionDialog (PublicEditor & editor, ARDOUR::AudioRegion const & region, ARDOUR::AudioTrack & track);
+ protected:
+ virtual bool channel_selector_is_expandable() { return false; }
+
private:
void init_gui ();
void init_components ();