+ void set_cinemas_file (boost::filesystem::path file);
+
+ void set_show_hints_before_make_dcp (bool s) {
+ maybe_set (_show_hints_before_make_dcp, s);
+ }
+
+ void set_kdm_filename_format (KDMNameFormat n) {
+ maybe_set (_kdm_filename_format, n);
+ }
+
+ void set_dcp_filename_format (dcp::FilenameFormat n) {
+ maybe_set (_dcp_filename_format, n);
+ }
+
+ void clear_history () {
+ _history.clear ();
+ changed ();
+ }
+
+ void add_to_history (boost::filesystem::path p);
+
+ void changed (Property p = OTHER);
+ boost::signals2::signal<void (Property)> Changed;
+ /** Emitted if ::read() failed on an existing Config file. There is nothing
+ a listener can do about it: this is just for information.
+ */
+ static boost::signals2::signal<void ()> FailedToLoad;
+
+ void write () const;