diff --git a/sources/ui/elementselectorwidget.cpp b/sources/ui/elementselectorwidget.cpp index 3eb8be985..108361c61 100644 --- a/sources/ui/elementselectorwidget.cpp +++ b/sources/ui/elementselectorwidget.cpp @@ -152,6 +152,9 @@ void ElementSelectorWidget::buildInterface() { * we add this text to the button label and provide it through the filter */ if (elmt -> linkType() & Element::AllReport) { + //Add empty string to keep the same index with content_list + //see how work filtered for more detail why we need this + in_filter << ""; //Report have one terminal, but we check it to prevent assert. if (!elmt -> terminals().isEmpty()) { //We must to have at least one conductor @@ -166,6 +169,8 @@ void ElementSelectorWidget::buildInterface() { if (QET::eachStrIsEqual(str_list)) { button_text = tr("N\260 fil : ") + str_list.first() + "\n"; + //Replace the last empty string by the conductor text + in_filter.pop_back(); in_filter << str_list.first(); out_filter << str_list.first(); } @@ -239,9 +244,10 @@ void ElementSelectorWidget::filtered(const QString &str) { foreach (QWidget *w, content_list) w->setHidden(false); } else { - for (int i =0; isetHidden(false); + } else content_list.at(i)->setHidden(true); } diff --git a/sources/ui/linksingleelementwidget.cpp b/sources/ui/linksingleelementwidget.cpp index 7eea68f25..463e08658 100644 --- a/sources/ui/linksingleelementwidget.cpp +++ b/sources/ui/linksingleelementwidget.cpp @@ -193,7 +193,9 @@ void LinkSingleElementWidget::setUpCompleter() { search_field -> clear(); delete search_field -> completer(); - QCompleter *comp = new QCompleter(esw_ -> filter(), search_field); + QStringList filter = esw_->filter(); + filter.sort(); + QCompleter *comp = new QCompleter(filter, search_field); comp -> setCaseSensitivity(Qt::CaseInsensitive); search_field -> setCompleter(comp); }