- config.setValue(s.str(), placement);
- s.rdbuf()->freeze(0);
-}
-
-void Slit::setDirection(int d) {
- m_direction = d;
- ostrstream s;
- s << "session.screen" << screen.getScreenNumber() << ".slit.direction"
- << ends;
- config.setValue(s.str(),
- m_direction == Horizontal ? "Horizontal" : "Vertical");
- s.rdbuf()->freeze(0);
-}
-
-void Slit::save() {
- setOnTop(m_ontop);
- setAutoHide(m_autohide);
- setPlacement(m_placement);
- setDirection(m_direction);
-}
-
-void Slit::load() {
- ostrstream rscreen, rname, rclass;
- string s;
- bool b;
- rscreen << "session.screen" << screen.getScreenNumber() << '.' << ends;
-
- rname << rscreen.str() << "slit.placement" << ends;
- rclass << rscreen.str() << "Slit.Placement" << ends;
- if (config.getValue(rname.str(), rclass.str(), s)) {
- if (0 == strncasecmp(s.c_str(), "TopLeft", s.length()))
- m_placement = TopLeft;
- else if (0 == strncasecmp(s.c_str(), "CenterLeft", s.length()))
- m_placement = CenterLeft;
- else if (0 == strncasecmp(s.c_str(), "BottomLeft", s.length()))
- m_placement = BottomLeft;
- else if (0 == strncasecmp(s.c_str(), "TopCenter", s.length()))
- m_placement = TopCenter;
- else if (0 == strncasecmp(s.c_str(), "BottomCenter", s.length()))
- m_placement = BottomCenter;
- else if (0 == strncasecmp(s.c_str(), "TopRight", s.length()))
- m_placement = TopRight;
- else if (0 == strncasecmp(s.c_str(), "BottomRight", s.length()))
- m_placement = BottomRight;
- else if (0 == strncasecmp(s.c_str(), "CenterRight", s.length()))
- m_placement = CenterRight;
- } else
- m_placement = CenterRight;
-
- rname.seekp(0); rclass.seekp(0);
- rname << rscreen.str() << "slit.direction" << ends;
- rclass << rscreen.str() << "Slit.Direction" << ends;
- if (config.getValue(rname.str(), rclass.str(), s)) {
- if (0 == strncasecmp(s.c_str(), "Horizontal", s.length()))
- m_direction = Horizontal;
- else if (0 == strncasecmp(s.c_str(), "Vertical", s.length()))
- m_direction = Vertical;
- } else
- m_direction = Vertical;
-
- rname.seekp(0); rclass.seekp(0);
- rname << rscreen.str() << "slit.onTop" << ends;
- rclass << rscreen.str() << "Slit.OnTop" << ends;
- if (config.getValue(rname.str(), rclass.str(), b))
- m_ontop = b;
- else
- m_ontop = false;