refs #768, improved selectors

* added focus proxy
* using &QLineEdit::editingFinished as signal (changes value also when focus is lost)
* use enum to set how values are displayed
* search for DB values by leveraging the smart selector functions
* added isSet functions
* minor renamings/formatting
This commit is contained in:
Klaus Basan
2016-10-17 02:39:26 +02:00
parent ac331d1d4f
commit 93f0e6582b
10 changed files with 139 additions and 49 deletions

View File

@@ -33,7 +33,8 @@ namespace BlackGui
ui(new Ui::CDbAirlineNameSelectorComponent)
{
ui->setupUi(this);
connect(ui->le_AirlineName, &QLineEdit::returnPressed, this, &CDbAirlineNameSelectorComponent::ps_dataChanged);
this->setFocusProxy(ui->le_AirlineName);
connect(ui->le_AirlineName, &QLineEdit::editingFinished, this, &CDbAirlineNameSelectorComponent::ps_dataChanged);
}
CDbAirlineNameSelectorComponent::~CDbAirlineNameSelectorComponent()
@@ -44,7 +45,7 @@ namespace BlackGui
bool CDbAirlineNameSelectorComponent::setAirlineIcao(const CAirlineIcaoCode &icao)
{
if (!CDbAirlineIcaoSelectorBase::setAirlineIcao(icao)) { return false; }
QString name(icao.getName());
const QString name(icao.getName());
ui->le_AirlineName->setText(name);
return true;
}
@@ -65,6 +66,7 @@ namespace BlackGui
c->setCaseSensitivity(Qt::CaseInsensitive);
c->setCompletionMode(QCompleter::PopupCompletion);
c->setMaxVisibleItems(10);
c->popup()->setMinimumWidth(175);
ui->le_AirlineName->setCompleter(c);
return c;
}
@@ -80,14 +82,6 @@ namespace BlackGui
CAirlineIcaoCode icao(sGui->getWebDataServices()->getAirlineIcaoCodeForDbKey(dbKey));
this->setAirlineIcao(icao);
}
else
{
// second choice, first object found by designator
// for name
// CAirlineIcaoCode icao(getAirlineIcao));
// this->setAirlineIcao(icao);
}
}
} // ns
} // ns