diff options
author | Pavel Labath <pavelo@centrum.sk> | 2011-06-12 18:24:14 (GMT) |
---|---|---|
committer | Pavel Labath <pavelo@centrum.sk> | 2011-06-15 23:12:53 (GMT) |
commit | 0271b1421c8caf9eb929a64e073fa3f57f697ed9 (patch) | |
tree | dc8ac9b58fc962da455cf5db520f7c3fbfdd0e3b /src/FbTk/LResource.cc | |
parent | 2ab8a36685b20d830be53454a2a2375a370ae8aa (diff) | |
download | fluxbox_pavel-0271b1421c8caf9eb929a64e073fa3f57f697ed9.zip fluxbox_pavel-0271b1421c8caf9eb929a64e073fa3f57f697ed9.tar.bz2 |
Add a function for converting from XResources to lua ones
Diffstat (limited to 'src/FbTk/LResource.cc')
-rw-r--r-- | src/FbTk/LResource.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/FbTk/LResource.cc b/src/FbTk/LResource.cc index 78511eb..2e2a7c7 100644 --- a/src/FbTk/LResource.cc +++ b/src/FbTk/LResource.cc | |||
@@ -82,6 +82,22 @@ void LResourceManager::initState(lua::state &l) { | |||
82 | l.setfield(lua::REGISTRYINDEX, make_root); | 82 | l.setfield(lua::REGISTRYINDEX, make_root); |
83 | } | 83 | } |
84 | 84 | ||
85 | void LResourceManager::convert(ResourceManager &old, const std::string &new_file) { | ||
86 | lua::state l; | ||
87 | initState(l); | ||
88 | |||
89 | LResourceManager new_rm(old.root(), l); | ||
90 | for(ResourceList::const_iterator i = old.begin(); i != old.end(); ++i) { | ||
91 | // adding the resource to new_rm will set it to default value | ||
92 | // we save the value to a temp variable so we can restore it later | ||
93 | const std::string &t = (*i)->getString(); | ||
94 | new_rm.addResource(**i); | ||
95 | (*i)->setFromString(t.c_str()); | ||
96 | } | ||
97 | |||
98 | new_rm.save(new_file.c_str(), NULL); | ||
99 | } | ||
100 | |||
85 | LResourceManager::LResourceManager(const std::string &root, lua::state &l) | 101 | LResourceManager::LResourceManager(const std::string &root, lua::state &l) |
86 | : ResourceManager_base(root), m_l(&l) { | 102 | : ResourceManager_base(root), m_l(&l) { |
87 | l.checkstack(2); | 103 | l.checkstack(2); |