]> git.lyx.org Git - features.git/commitdiff
Sort debug options in the message pane by string. This makes it
authorRichard Heck <rgheck@lyx.org>
Fri, 28 Mar 2014 16:51:55 +0000 (12:51 -0400)
committerRichard Heck <rgheck@lyx.org>
Sun, 26 Oct 2014 22:00:29 +0000 (18:00 -0400)
much easier to find what you need, especially when we're trying
to help users. Previously, they were sorted by their enum values.

(cherry picked from commit de3daf040b09dfa719f7465b0eb29d276c75edcc)

src/frontends/qt4/GuiProgressView.cpp
status.21x

index a22ea60d01b76bee5d34dd61925bb39c1a68b5af..b5ee7dd1174abd5e356a24a8a381f708dedf3083 100644 (file)
@@ -48,6 +48,17 @@ GuiProgressView::~GuiProgressView()
 }
 
 
+namespace{
+typedef pair<int, QString> DebugMap;
+typedef vector<DebugMap> DebugVector;
+
+bool DebugSorter(DebugMap const & a, DebugMap const & b)
+{
+       return a.second < b.second;
+}
+}
+
+
 GuiProgressView::GuiProgressView(GuiView & parent, Qt::DockWidgetArea area, 
        Qt::WindowFlags flags)
        : DockView(parent, "progress", qt_("Progress/Debug Messages"), area, flags)
@@ -78,15 +89,25 @@ GuiProgressView::GuiProgressView(GuiView & parent, Qt::DockWidgetArea area,
 
        // ignore Debug::NONE and Debug::ANY
        int const level_count = Debug::levelCount() - 1;
+       DebugVector dmap;
+       for (int i = 1 ; i < level_count; i++) {
+               Debug::Type const level = Debug::value(i);
+               QString const desc = qt_(Debug::description(level));
+               dmap.push_back(DebugMap(level, desc));
+       }
+       sort(dmap.begin(), dmap.end(), DebugSorter);
+
        QTreeWidgetItem * item = 0;
        widget_->debugMessagesTW->setColumnCount(2);
        widget_->debugMessagesTW->headerItem()->setText(0, qt_("Debug Level"));
        widget_->debugMessagesTW->headerItem()->setText(1, qt_("Set"));
-       for (int i = 1 ; i < level_count; i++) {
+
+       DebugVector::const_iterator dit = dmap.begin();
+       DebugVector::const_iterator const den = dmap.end();
+       for (; dit != den; ++dit) {
                item = new QTreeWidgetItem(widget_->debugMessagesTW);
-               Debug::Type const level = Debug::value(i);
-               item->setText(0, qt_(Debug::description(level)));
-               item->setData(0, Qt::UserRole, int(level));
+               item->setText(0, dit->second);
+               item->setData(0, Qt::UserRole, int(dit->first));
                item->setText(1, qt_("No"));
        }
        widget_->debugMessagesTW->resizeColumnToContents(0);
index 1765c44d0c234b5c8c301b9ddea70767e33b6f39..44b6aecdf27ed4030c302ec1cc8475dea0f419ad 100644 (file)
@@ -42,6 +42,7 @@ What's new
 
 * USER INTERFACE
 
+- Debug options in message pane are now sorted alphabetically.
 
 
 * DOCUMENTATION AND LOCALIZATION