forked from qt-creator/qt-creator
Sort targets in miniprojecttargetselector
... based on their display names Reviewed-by: Daniel Molkentin
This commit is contained in:
@@ -101,9 +101,10 @@ void ProjectListWidget::setBuildComboPopup()
|
|||||||
|
|
||||||
void ProjectListWidget::setTarget(int index)
|
void ProjectListWidget::setTarget(int index)
|
||||||
{
|
{
|
||||||
QList<Target *> targets(m_project->targets());
|
MiniTargetWidget *mtw = qobject_cast<MiniTargetWidget *>(itemWidget(item(index)));
|
||||||
if (index >= 0 && index < targets.count())
|
if (!mtw)
|
||||||
m_project->setActiveTarget(targets.at(index));
|
return;
|
||||||
|
m_project->setActiveTarget(mtw->target());
|
||||||
}
|
}
|
||||||
|
|
||||||
MiniTargetWidget::MiniTargetWidget(Target *target, QWidget *parent) :
|
MiniTargetWidget::MiniTargetWidget(Target *target, QWidget *parent) :
|
||||||
@@ -406,7 +407,20 @@ void MiniProjectTargetSelector::addTarget(ProjectExplorer::Target *target, bool
|
|||||||
ProjectListWidget *plw = qobject_cast<ProjectListWidget*>(m_widgetStack->widget(index));
|
ProjectListWidget *plw = qobject_cast<ProjectListWidget*>(m_widgetStack->widget(index));
|
||||||
|
|
||||||
QListWidgetItem *lwi = new QListWidgetItem();
|
QListWidgetItem *lwi = new QListWidgetItem();
|
||||||
plw->addItem(lwi);
|
|
||||||
|
// Sort on insert:
|
||||||
|
for (int idx = 0; idx <= plw->count(); ++idx) {
|
||||||
|
QListWidgetItem *itm(plw->item(idx));
|
||||||
|
MiniTargetWidget *mtw(qobject_cast<MiniTargetWidget *>(plw->itemWidget(itm)));
|
||||||
|
if (!mtw && idx < plw->count())
|
||||||
|
continue;
|
||||||
|
if (idx == plw->count() ||
|
||||||
|
mtw->target()->displayName() > target->displayName()) {
|
||||||
|
plw->insertItem(idx, lwi);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MiniTargetWidget *targetWidget = new MiniTargetWidget(target);
|
MiniTargetWidget *targetWidget = new MiniTargetWidget(target);
|
||||||
connect(targetWidget, SIGNAL(changed()), this, SLOT(updateAction()));
|
connect(targetWidget, SIGNAL(changed()), this, SLOT(updateAction()));
|
||||||
targetWidget->installEventFilter(this);
|
targetWidget->installEventFilter(this);
|
||||||
|
|||||||
Reference in New Issue
Block a user