diff options
author | Colin Fletcher <colin.m.fletcher@googlemail.com> | 2014-05-31 14:47:11 +0100 |
---|---|---|
committer | Colin Fletcher <colin.m.fletcher@googlemail.com> | 2014-06-12 23:20:06 +0100 |
commit | 60349bcee6abd86a58dbbacbfe9afbff4204f8d6 (patch) | |
tree | ff5e0119f8347c5ea155a53e90ed2cfb06030e0c /gtk2_ardour/export_file_notebook.cc | |
parent | 5abf3624f46fdff1daca8498ea04d89428fae25d (diff) |
Show Soundcloud credentials and upload options only when required
A slightly hacky patch to make the Soundcloud username & password and the
upload options only become visible when at least one export format is
chosen for upload to Soundcloud.
I think that changing ExportDialog::soundcloud_selector to a
boost::shared_ptr is the right thing to do, but I must confess to having
only a hazy understanding of what boost::scoped_ptr was doing in the first
place.
Also it feels a bit wrong to be passing a pointer to ExportDialog's
SoundcloudExportSelector around, but I can't (for the moment, at least)
think of any better way to affect its visibility from inside
ExportFileNotebook.
Diffstat (limited to 'gtk2_ardour/export_file_notebook.cc')
-rw-r--r-- | gtk2_ardour/export_file_notebook.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gtk2_ardour/export_file_notebook.cc b/gtk2_ardour/export_file_notebook.cc index b90aa463bc..c313038e05 100644 --- a/gtk2_ardour/export_file_notebook.cc +++ b/gtk2_ardour/export_file_notebook.cc @@ -94,15 +94,23 @@ void ExportFileNotebook::update_soundcloud_upload () { int i; + bool show_credentials_entry = false; ExportProfileManager::FormatStateList const & formats = profile_manager->get_formats (); ExportProfileManager::FormatStateList::const_iterator format_it; for (i = 0, format_it = formats.begin(); format_it != formats.end(); ++i, ++format_it) { FilePage * page; if ((page = dynamic_cast<FilePage *> (get_nth_page (i)))) { - (*format_it)->format->set_soundcloud_upload (page->get_soundcloud_upload ()); + bool this_soundcloud_upload = page->get_soundcloud_upload (); + (*format_it)->format->set_soundcloud_upload (this_soundcloud_upload); + if (this_soundcloud_upload) { + show_credentials_entry = true; + } } } + + soundcloud_export_selector->set_visible (show_credentials_entry); + } void |