summaryrefslogtreecommitdiff
path: root/gtk2_ardour/save_as_dialog.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-04-20 22:46:54 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-04-20 22:46:54 -0400
commit4141d2113f47c34d5b4282892fb50954ededbb03 (patch)
tree9cef9bdb874d1c3aaa293c308c41e8b918726581 /gtk2_ardour/save_as_dialog.cc
parent63ac1b1464bf5adb2813a6a1b5cb1657ecdf2c53 (diff)
tuning the save-as dialog
Diffstat (limited to 'gtk2_ardour/save_as_dialog.cc')
-rw-r--r--gtk2_ardour/save_as_dialog.cc47
1 files changed, 41 insertions, 6 deletions
diff --git a/gtk2_ardour/save_as_dialog.cc b/gtk2_ardour/save_as_dialog.cc
index b9fc50396d..504d479e72 100644
--- a/gtk2_ardour/save_as_dialog.cc
+++ b/gtk2_ardour/save_as_dialog.cc
@@ -31,32 +31,67 @@ using namespace ARDOUR;
SaveAsDialog::SaveAsDialog ()
: ArdourDialog (_("Save As"))
+ , switch_to_button (_("Switch to newly-saved version"))
+ , copy_media_button (_("Copy media to new session"))
+ , copy_external_button (_("Copy external media into new session"))
{
VBox* vbox = get_vbox();
- add_button (Stock::CANCEL, RESPONSE_CANCEL);
- add_button (Stock::OK, RESPONSE_OK);
+ vbox->set_spacing (6);
- vbox->pack_start (new_name_entry, false, false);
- vbox->pack_start (new_parent_folder_selector, false, false);
+ HBox* hbox;
+ Label* label;
+
+ hbox = manage (new HBox);
+ hbox->set_spacing (6);
+ label = manage (new Label (_("Save as session name")));
+ hbox->pack_start (*label, false, false);
+ hbox->pack_start (new_name_entry, true, true);
+ vbox->pack_start (*hbox, false, false);
+
+ hbox = manage (new HBox);
+ hbox->set_spacing (6);
+ label = manage (new Label (_("Parent directory/folder")));
+ hbox->pack_start (*label, false, false);
+ hbox->pack_start (new_parent_folder_selector, true, true);
+ vbox->pack_start (*hbox, false, false);
+
vbox->pack_start (switch_to_button, false, false);
vbox->pack_start (copy_media_button, false, false);
vbox->pack_start (copy_external_button, false, false);
switch_to_button.set_active (true);
+ copy_media_button.set_active (true);
+
vbox->show_all ();
+
+ add_button (Stock::CANCEL, RESPONSE_CANCEL);
+ add_button (Stock::OK, RESPONSE_OK);
+
+ new_parent_folder_selector.set_action (FILE_CHOOSER_ACTION_SELECT_FOLDER);
+ new_parent_folder_selector.set_current_folder (Glib::get_home_dir());
+ new_name_entry.signal_changed().connect (sigc::mem_fun (*this, &SaveAsDialog::name_entry_changed));
+ set_response_sensitive (RESPONSE_OK, false);
+}
+
+void
+SaveAsDialog::name_entry_changed ()
+{
+ if (!new_name_entry.get_text().empty()) {
+ set_response_sensitive (RESPONSE_OK);
+ }
}
string
SaveAsDialog::new_parent_folder () const
{
- return string();
+ return new_parent_folder_selector.get_current_folder ();
}
string
SaveAsDialog::new_name () const
{
- return string ();
+ return new_name_entry.get_text ();
}
bool