#include <dcp/encrypted_kdm.h>
#include <dcp/decrypted_kdm.h>
#include <dcp/exceptions.h>
+#include <dcp/filesystem.h>
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
#include <wx/dnd.h>
bool confirm_overwrite (boost::filesystem::path path)
{
- if (boost::filesystem::is_directory(path)) {
+ if (dcp::filesystem::is_directory(path)) {
return confirm_dialog (
this,
wxString::Format(_("Folder %s already exists. Do you want to overwrite it?"), std_to_wx(path.string()).data())
dcp::DecryptedKDM dkdm(ekdm, chain->key().get());
auto new_dkdm = make_shared<DKDM>(ekdm);
+
+ if (Config::instance()->dkdms()->contains(new_dkdm->dkdm().id())) {
+ error_dialog(
+ this,
+ wxString::Format(_("DKDM %s is already in the DKDM list and will not be added again."), std_to_wx(new_dkdm->dkdm().id()))
+ );
+ return;
+ }
+
auto group = dynamic_pointer_cast<DKDMGroup> (selected_dkdm());
if (!group) {
group = Config::instance()->dkdms ();
return;
}
- if (NagDialog::maybe_nag (
- this, Config::NAG_DELETE_DKDM,
- _("You are about to remove a DKDM. This will make it impossible to decrypt the DCP that the DKDM was made for, and it cannot be undone. "
- "Are you sure?"),
- true)) {
- return;
+ if (removed->contains_dkdm()) {
+ if (NagDialog::maybe_nag(
+ this, Config::NAG_DELETE_DKDM,
+ _("You are about to remove a DKDM. This will make it impossible to decrypt the DCP that the DKDM was made for, and it cannot be undone. "
+ "Are you sure?"),
+ true)) {
+ return;
+ }
}
_dkdm->Delete (dkdm_to_id (removed));