*/
#include <unistd.h>
+#include <cstdlib>
#include <cstdio> /* for snprintf, grrr */
#include <glibmm/miscutils.h>
#include "pbd/file_utils.h"
#include "pbd/error.h"
+#include "gtkmm2ext/rgb_macros.h"
+
#include "ardour/ardour.h"
#include "ardour/filesystem_paths.h"
#include "canvas_vars.h"
#undef UI_CONFIG_VARIABLE
#undef CANVAS_VARIABLE
- hack(true)
+ _dirty (false)
{
load_state();
}
}
if (find_file_in_search_path (ardour_search_path() + system_config_search_path(),
- rcfile, default_ui_rc_file) )
- {
+ rcfile, default_ui_rc_file) ) {
XMLTree tree;
found = 1;
error << string_compose(_("default ui configuration file \"%1\" not loaded successfully."), rcfile) << endmsg;
return -1;
}
+
+ _dirty = false;
}
return found;
sys::path default_ui_rc_file;
if ( find_file_in_search_path (ardour_search_path() + system_config_search_path(),
- "ardour3_ui_default.conf", default_ui_rc_file) )
- {
+ "ardour3_ui_default.conf", default_ui_rc_file) ) {
XMLTree tree;
found = true;
sys::path user_ui_rc_file;
if (find_file_in_search_path (ardour_search_path() + user_config_directory(),
- "ardour3_ui.conf", user_ui_rc_file))
- {
+ "ardour3_ui.conf", user_ui_rc_file)) {
XMLTree tree;
found = true;
error << string_compose(_("user ui configuration file \"%1\" not loaded successfully."), rcfile) << endmsg;
return -1;
}
+
+ _dirty = false;
}
if (!found)
error << _("could not find any ui configuration file, canvas will look broken.") << endmsg;
pack_canvasvars();
+
return 0;
}
}
}
+ _dirty = false;
+
return 0;
}
}
}
+
return 0;
}
UIConfiguration::pack_canvasvars ()
{
#undef CANVAS_VARIABLE
-#define CANVAS_VARIABLE(var,name) canvas_colors.push_back(&var);
+#define CANVAS_VARIABLE(var,name) canvas_colors.insert (std::pair<std::string,UIConfigVariable<uint32_t>* >(name,&var));
#include "canvas_vars.h"
#undef CANVAS_VARIABLE
}
+uint32_t
+UIConfiguration::color_by_name (const std::string& name)
+{
+ map<std::string,UIConfigVariable<uint32_t>* >::iterator i = canvas_colors.find (name);
+
+ if (i != canvas_colors.end()) {
+ return i->second->get();
+ }
+ // cerr << string_compose (_("Color %1 not found"), name) << endl;
+ return RGBA_TO_UINT (random()%256,random()%256,random()%256,0xff);
+}
+
+void
+UIConfiguration::set_dirty ()
+{
+ _dirty = true;
+}
+
+bool
+UIConfiguration::dirty () const
+{
+ return _dirty;
+}