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-11-01 09:55:30 (GMT)
commit7558677fd8b77fbb62440e83578effc48bb1e392 (patch)
tree02bd6b09f37557b1b984794951dedfd19bb47044 /src/FbTk/LResource.cc
parentcbdc84bd064a1769410a2d5236e75ac323e79b1e (diff)
downloadfluxbox_pavel-7558677fd8b77fbb62440e83578effc48bb1e392.zip
fluxbox_pavel-7558677fd8b77fbb62440e83578effc48bb1e392.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);