]> git.lyx.org Git - features.git/commitdiff
Clean up the unknown layout stuff some more. Please test to make sure this works...
authorRichard Heck <rgheck@comcast.net>
Wed, 16 Jul 2008 15:52:10 +0000 (15:52 +0000)
committerRichard Heck <rgheck@comcast.net>
Wed, 16 Jul 2008 15:52:10 +0000 (15:52 +0000)
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

src/frontends/qt4/GuiToolbar.cpp
src/frontends/qt4/GuiToolbar.h

index 060cd40c7056820fcac3887f7ea74348d8578a26..644b1742552cf5f9f37fedc0bc9c1cd900e1efa9 100644 (file)
@@ -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_) {
index ec0b4cec2872a030bf19567d3fabd432f581a316..5d4c310959f96a6ed5439ca1e9a823d4023637ef 100644 (file)
@@ -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();