Layout::Type Container::getLayoutType(const char* layoutString) { if (!layoutString) { return Layout::LAYOUT_ABSOLUTE; } std::string layoutName(layoutString); std::transform(layoutName.begin(), layoutName.end(), layoutName.begin(), (int(*)(int))toupper); if (layoutName == "LAYOUT_ABSOLUTE") { return Layout::LAYOUT_ABSOLUTE; } else if (layoutName == "LAYOUT_VERTICAL") { return Layout::LAYOUT_VERTICAL; } else if (layoutName == "LAYOUT_FLOW") { return Layout::LAYOUT_FLOW; } else if (layoutName == "LAYOUT_SCROLL") { return Layout::LAYOUT_SCROLL; } else { // Default. return Layout::LAYOUT_ABSOLUTE; } }
void InsetFootlike::write(ostream & os) const { os << to_utf8(layoutName()) << "\n"; InsetCollapsable::write(os); }
RulesInfo* X11Helper::loadRules(const TQString& file, bool layoutsOnly) { XkbRF_RulesPtr xkbRules = XkbRF_Load(TQFile::encodeName(file).data(), "", true, true); if (xkbRules == NULL) { // throw Exception return NULL; } RulesInfo* rulesInfo = new RulesInfo(); for (int i = 0; i < xkbRules->layouts.num_desc; ++i) { TQString layoutName(xkbRules->layouts.desc[i].name); rulesInfo->layouts.replace( layoutName, tqstrdup( xkbRules->layouts.desc[i].desc ) ); if( m_layoutsClean == true && layoutName.find( NON_CLEAN_LAYOUT_REGEXP ) != -1 && layoutName.endsWith("/jp") == false ) { kdDebug() << "Layouts are not clean (Xorg < 6.9.0 or XFree86)" << endl; m_layoutsClean = false; } } if( layoutsOnly == true ) { XkbRF_Free(xkbRules, true); return rulesInfo; } for (int i = 0; i < xkbRules->models.num_desc; ++i) rulesInfo->models.replace(xkbRules->models.desc[i].name, tqstrdup( xkbRules->models.desc[i].desc ) ); for (int i = 0; i < xkbRules->options.num_desc; ++i) rulesInfo->options.replace(xkbRules->options.desc[i].name, tqstrdup( xkbRules->options.desc[i].desc ) ); XkbRF_Free(xkbRules, true); // workaround for empty 'compose' options group description if( rulesInfo->options.find("compose:menu") && !rulesInfo->options.find("compose") ) { rulesInfo->options.replace("compose", "Compose Key Position"); } for(TQDictIterator<char> it(rulesInfo->options) ; it.current() != NULL; ++it ) { TQString option(it.currentKey()); int columnPos = option.find(":"); if( columnPos != -1 ) { TQString group = option.mid(0, columnPos); if( rulesInfo->options.find(group) == NULL ) { rulesInfo->options.replace(group, group.latin1()); kdDebug() << "Added missing option group: " << group << endl; } } } // // workaround for empty misc options group description in XFree86 4.4.0 // if( rulesInfo->options.find("numpad:microsoft") && !rulesInfo->options.find("misc") ) { // rulesInfo->options.replace("misc", "Miscellaneous compatibility options" ); // } return rulesInfo; }
InsetLayout const & Inset::getLayout() const { if (!buffer_) return DocumentClass::plainInsetLayout(); return buffer().params().documentClass().insetLayout(layoutName()); }