]> git.lyx.org Git - features.git/commitdiff
Fixup refs sorting
authorJuergen Spitzmueller <spitz@lyx.org>
Sun, 4 Dec 2022 15:21:14 +0000 (16:21 +0100)
committerJuergen Spitzmueller <spitz@lyx.org>
Sun, 4 Dec 2022 15:21:14 +0000 (16:21 +0100)
This has been broken at df59649a18f

src/frontends/qt/GuiRef.cpp

index 0e76f034edfb33597921ba8fc782170cfd994dab..eff09173d39cfa82b6312036dc48517d9cc82c9f 100644 (file)
@@ -435,7 +435,7 @@ void GuiRef::redoRefs()
        QString const oldSelection(referenceED->text());
 
        QStringList refsNames;
-       QStringList refsAsStrings;
+       QMap<QString, QString> refsAsStrings;
        QStringList refsCategories;
        vector<std::pair<docstring, docstring>>::const_iterator iter;
        bool noprefix = false;
@@ -444,7 +444,7 @@ void GuiRef::redoRefs()
                QString const lab = toqstr((*iter).first);
                refsNames.append(lab);
                // the label as gui string
-               refsAsStrings.append(toqstr((*iter).second));
+               refsAsStrings.insert(lab, toqstr((*iter).second));
                if (groupCB->isChecked()) {
                        if (lab.contains(":")) {
                                QString const pref = lab.split(':')[0];
@@ -487,7 +487,8 @@ void GuiRef::redoRefs()
                                       && (!ref.mid(1).contains(":") || ref.left(1).contains(":")))) {
                                                QTreeWidgetItem * child =
                                                        new QTreeWidgetItem(item);
-                                               child->setText(0, refsAsStrings.at(j));
+                                               QString const val = refsAsStrings.value(ref, ref);
+                                               child->setText(0, val);
                                                child->setData(0, Qt::UserRole, ref);
                                                item->addChild(child);
                                }
@@ -500,7 +501,8 @@ void GuiRef::redoRefs()
                for (int i = 0; i < refsNames.size(); ++i) {
                        QTreeWidgetItem * item = new QTreeWidgetItem(refsTW);
                        QString const & ref = refsNames.at(i);
-                       item->setText(0, refsAsStrings.at(i));
+                       QString const val = refsAsStrings.value(ref, ref);
+                       item->setText(0, val);
                        item->setData(0, Qt::UserRole, ref);
                        refsItems.append(item);
                }