aboutsummaryrefslogtreecommitdiff
path: root/src/FbTk/LResource.cc
diff options
context:
space:
mode:
authorPavel Labath <pavelo@centrum.sk>2011-06-12 18:24:14 (GMT)
committerPavel Labath <pavelo@centrum.sk>2011-06-15 23:12:53 (GMT)
commit0271b1421c8caf9eb929a64e073fa3f57f697ed9 (patch)
treedc8ac9b58fc962da455cf5db520f7c3fbfdd0e3b /src/FbTk/LResource.cc
parent2ab8a36685b20d830be53454a2a2375a370ae8aa (diff)
downloadfluxbox_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.cc16
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
85void 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
85LResourceManager::LResourceManager(const std::string &root, lua::state &l) 101LResourceManager::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);