*/
#include <unistd.h>
+#include <cstdlib>
#include <cstdio> /* for snprintf, grrr */
#include <glibmm/miscutils.h>
#include "pbd/failed_constructor.h"
#include "pbd/xml++.h"
-#include "pbd/filesystem.h"
#include "pbd/file_utils.h"
#include "pbd/error.h"
-#include "ardour/ardour.h"
+#include "gtkmm2ext/rgb_macros.h"
+
#include "ardour/filesystem_paths.h"
#include "ui_config.h"
#include "canvas_vars.h"
#undef UI_CONFIG_VARIABLE
#undef CANVAS_VARIABLE
- hack(true)
+ _dirty (false)
{
load_state();
}
{
int found = 0;
- sys::path default_ui_rc_file;
+ std::string default_ui_rc_file;
std::string rcfile;
if (getenv ("ARDOUR_SAE")) {
rcfile = "ardour3_ui_default.conf";
}
- if (find_file_in_search_path (ardour_search_path() + system_config_search_path(),
- rcfile, default_ui_rc_file) )
- {
+ if (find_file_in_search_path (ardour_config_search_path(), rcfile, default_ui_rc_file) ) {
XMLTree tree;
found = 1;
- string rcfile = default_ui_rc_file.to_string();
+ string rcfile = default_ui_rc_file;
info << string_compose (_("Loading default ui configuration file %1"), rcfile) << endl;
error << string_compose(_("default ui configuration file \"%1\" not loaded successfully."), rcfile) << endmsg;
return -1;
}
+
+ _dirty = false;
}
return found;
{
bool found = false;
- sys::path default_ui_rc_file;
+ std::string 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) )
- {
+ if ( find_file_in_search_path (ardour_config_search_path(), "ardour3_ui_default.conf", default_ui_rc_file)) {
XMLTree tree;
found = true;
- string rcfile = default_ui_rc_file.to_string();
+ string rcfile = default_ui_rc_file;
info << string_compose (_("Loading default ui configuration file %1"), rcfile) << endl;
}
}
- sys::path user_ui_rc_file;
+ std::string user_ui_rc_file;
- if (find_file_in_search_path (ardour_search_path() + user_config_directory(),
- "ardour3_ui.conf", user_ui_rc_file))
- {
+ if (find_file_in_search_path (ardour_config_search_path(), "ardour3_ui.conf", user_ui_rc_file)) {
XMLTree tree;
found = true;
- string rcfile = user_ui_rc_file.to_string();
+ string rcfile = user_ui_rc_file;
info << string_compose (_("Loading user ui configuration file %1"), rcfile) << endmsg;
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;
}
{
XMLTree tree;
- try {
- sys::create_directories (user_config_directory ());
- }
- catch (const sys::filesystem_error& ex) {
- error << "Could not create user configuration directory" << endmsg;
- return -1;
- }
-
- sys::path rcfile_path(user_config_directory());
-
- rcfile_path /= "ardour3_ui.conf";
- const string rcfile = rcfile_path.to_string();
+ std::string rcfile(user_config_directory());
+ rcfile = Glib::build_filename (rcfile, "ardour3_ui.conf");
// this test seems bogus?
if (rcfile.length()) {
}
}
+ _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;
+}