mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-23 13:31:49 +00:00
Clean up the unknown layout stuff some more. Please test to make sure this works with translated layout names, especially when one of them is "unknown". The use of "unknown" with RTL is also wrong, probably, as it will appear on the wrong side. But I'm not sure how to fix that.
BTW, to create a file with an "unknown" layout for testing, just take any LyX file, open it with vi, and replace something like: \begin_layout Section with \begin_layout BlubberStuff That's probably unknown. ;-) git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25671 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
741bd1221a
commit
97a9667f6e
@ -507,9 +507,13 @@ void GuiLayoutBox::set(docstring const & layout)
|
||||
return;
|
||||
|
||||
Layout const & lay = (*text_class_)[layout];
|
||||
QString const & name = toqstr(lay.name() + (lay.isUnknown() ? " (unknown)" : ""));
|
||||
if (name == currentText())
|
||||
return;
|
||||
QString const & name = toqstr(lay.name());
|
||||
// FIXME
|
||||
// Commenting this out for now. Not sure exactly how to do this test,
|
||||
// with all the different models that are flying around. As it is, it
|
||||
// won't work with translated or unknown layouts.
|
||||
// if (name == currentText())
|
||||
// return;
|
||||
|
||||
QList<QStandardItem *> r = model_->findItems(name, Qt::MatchExactly, 1);
|
||||
if (r.empty()) {
|
||||
@ -522,10 +526,12 @@ void GuiLayoutBox::set(docstring const & layout)
|
||||
|
||||
|
||||
void GuiLayoutBox::addItemSort(docstring const & item, docstring const & category,
|
||||
bool sorted, bool sortedByCat)
|
||||
bool sorted, bool sortedByCat, bool unknown)
|
||||
{
|
||||
QString qitem = toqstr(item);
|
||||
QString titem = toqstr(translateIfPossible(item));
|
||||
// FIXME This is wrong for RTL, I'd suppose.
|
||||
QString titem = toqstr(translateIfPossible(item) +
|
||||
(unknown ? _(" (unknown)") : from_ascii("")));
|
||||
QString qcat = toqstr(translateIfPossible(category));
|
||||
|
||||
QList<QStandardItem *> row;
|
||||
@ -616,8 +622,8 @@ void GuiLayoutBox::updateContents(bool reset)
|
||||
// if it doesn't require the empty layout, we skip it
|
||||
if (name == text_class_->emptyLayoutName() && inset_ && !useEmpty)
|
||||
continue;
|
||||
addItemSort(name + (lit->isUnknown() ? " (unknown)" : ""),
|
||||
lit->category(), lyxrc.sort_layouts, lyxrc.group_layouts);
|
||||
addItemSort(name, lit->category(), lyxrc.sort_layouts,
|
||||
lyxrc.group_layouts, lit->isUnknown());
|
||||
}
|
||||
|
||||
set(owner_.view()->cursor().innerParagraph().layout().name());
|
||||
@ -636,8 +642,6 @@ void GuiLayoutBox::selected(int index)
|
||||
// get selection
|
||||
QModelIndex mindex = filterModel_->mapToSource(filterModel_->index(index, 1));
|
||||
docstring layoutName = qstring_to_ucs4(model_->itemFromIndex(mindex)->text());
|
||||
if (suffixIs(layoutName, from_ascii(" (unknown)")))
|
||||
layoutName = layoutName.substr(0, layoutName.size() - 10); // = len(" (unknown)")
|
||||
owner_.setFocus();
|
||||
|
||||
if (!text_class_) {
|
||||
|
@ -54,7 +54,7 @@ public:
|
||||
void updateContents(bool reset);
|
||||
/// Add Item to Layout box according to sorting settings from preferences
|
||||
void addItemSort(docstring const & item, docstring const & category,
|
||||
bool sorted, bool sortedByCat);
|
||||
bool sorted, bool sortedByCat, bool unknown);
|
||||
|
||||
///
|
||||
void showPopup();
|
||||
|
Loading…
Reference in New Issue
Block a user