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.
This commit is contained in:
Colin Fletcher 2014-05-31 14:47:11 +01:00
parent 5abf3624f4
commit 60349bcee6
4 changed files with 16 additions and 2 deletions

View file

@ -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