From 137a0c4e596409a1d35f0f6ea1bd6e4fcd5a3831 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sun, 7 Jul 2002 21:16:35 +0000 Subject: allow style options in the rc file to override those found in the style --- src/Configuration.cc | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/Configuration.cc') diff --git a/src/Configuration.cc b/src/Configuration.cc index 5517790f..237b4a63 100644 --- a/src/Configuration.cc +++ b/src/Configuration.cc @@ -35,21 +35,21 @@ using std::string; bool Configuration::m_initialized = False; -Configuration::Configuration(const string &file) { +Configuration::Configuration(const string &file, bool autosave) { setFile(file); m_modified = False; m_database = NULL; - m_autosave = True; + m_autosave = autosave; if (! m_initialized) { XrmInitialize(); m_initialized = True; } } -Configuration::Configuration() { +Configuration::Configuration(bool autosave) { m_modified = False; m_database = NULL; - m_autosave = True; + m_autosave = autosave; if (! m_initialized) { XrmInitialize(); m_initialized = True; @@ -84,6 +84,15 @@ bool Configuration::load() { return True; } +bool Configuration::merge(const string &file, bool overwrite) { + if (XrmCombineFileDatabase(file.c_str(), &m_database, overwrite) == 0) + return False; + m_modified = True; + if (m_autosave) + save(); + return True; +} + void Configuration::create() { if (m_database != NULL) XrmDestroyDatabase(m_database); -- cgit v1.2.3