From 44b520a8de240643568a905e40174155c994581b Mon Sep 17 00:00:00 2001 From: "U. Bruhin" Date: Tue, 12 Mar 2019 20:57:33 +0100 Subject: [PATCH] Device editor: Sort component signal dropdown by name --- .../libraryeditor/dev/padsignalmapeditorwidget.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libs/librepcb/libraryeditor/dev/padsignalmapeditorwidget.cpp b/libs/librepcb/libraryeditor/dev/padsignalmapeditorwidget.cpp index bf0079fd2d..19f7c4bbca 100644 --- a/libs/librepcb/libraryeditor/dev/padsignalmapeditorwidget.cpp +++ b/libs/librepcb/libraryeditor/dev/padsignalmapeditorwidget.cpp @@ -233,10 +233,16 @@ void PadSignalMapEditorWidget::setTableRowContent( signalComboBox->setStyleSheet( "padding: 0px 3px 0px 3px;"); // reduce required space signalComboBox->setFixedHeight(cbxHeight); - signalComboBox->addItem(tr("(not connected)")); for (const ComponentSignal& sig : mSignals) { signalComboBox->addItem(*sig.getName(), sig.getUuid().toStr()); + // Set display role to a QVariant to get numbers sorted by value and strings + // alphabetically. + signalComboBox->setItemData( + signalComboBox->count() - 1, + Toolbox::stringOrNumberToQVariant(*sig.getName()), Qt::DisplayRole); } + signalComboBox->model()->sort(0); + signalComboBox->insertItem(0, tr("(not connected)")); int currentIndex = signalUuid ? signalComboBox->findData(signalUuid->toStr(), Qt::UserRole) : -1;