class FilmChangedClosingDialog : public boost::noncopyable
{
public:
- FilmChangedClosingDialog (string name)
+ explicit FilmChangedClosingDialog (string name)
{
_dialog = new wxMessageDialog (
0,
class FilmChangedDuplicatingDialog : public boost::noncopyable
{
public:
- FilmChangedDuplicatingDialog (string name)
+ explicit FilmChangedDuplicatingDialog (string name)
{
_dialog = new wxMessageDialog (
0,
#define NEEDS_SELECTED_CONTENT 0x10
#define NEEDS_SELECTED_VIDEO_CONTENT 0x20
#define NEEDS_CLIPBOARD 0x40
+#define NEEDS_ENCRYPTION 0x80
map<wxMenuItem*, int> menu_items;
class DOMFrame : public wxFrame
{
public:
- DOMFrame (wxString const & title)
+ explicit DOMFrame (wxString const & title)
: wxFrame (NULL, -1, title)
, _video_waveform_dialog (0)
, _hints_dialog (0)
if (_film->directory()) {
Config::instance()->add_to_history (_film->directory().get());
}
+ _film->Changed.connect (boost::bind (&DOMFrame::set_menu_sensitivity, this));
}
shared_ptr<Film> film () const {
d->cpl (),
dcp::LocalTime ("2012-01-01T01:00:00+00:00"),
dcp::LocalTime ("2112-01-01T01:00:00+00:00"),
- dcp::MODIFIED_TRANSITIONAL_1
+ dcp::MODIFIED_TRANSITIONAL_1,
+ true,
+ 0
);
} catch (dcp::NotEncryptedError& e) {
error_dialog (this, _("CPL's content is not encrypted."));
enabled = false;
}
+ if ((j->second & NEEDS_ENCRYPTION) && (!_film || !_film->encrypted())) {
+ enabled = false;
+ }
+
j->first->Enable (enabled);
}
}
add_item (jobs_menu, _("Make DCP in &batch converter\tCtrl-B"), ID_jobs_make_dcp_batch, NEEDS_FILM | NOT_DURING_DCP_CREATION);
jobs_menu->AppendSeparator ();
add_item (jobs_menu, _("Make &KDMs...\tCtrl-K"), ID_jobs_make_kdms, NEEDS_FILM);
- add_item (jobs_menu, _("Make DKDM for DCP-o-matic..."), ID_jobs_make_self_dkdm, NEEDS_FILM);
+ add_item (jobs_menu, _("Make DKDM for DCP-o-matic..."), ID_jobs_make_self_dkdm, NEEDS_FILM | NEEDS_ENCRYPTION);
jobs_menu->AppendSeparator ();
add_item (jobs_menu, _("Export...\tCtrl-E"), ID_jobs_export, NEEDS_FILM);
jobs_menu->AppendSeparator ();