[UI] Make completer length font size relative

This commit is contained in:
Klaus Basan
2020-04-16 23:50:54 +02:00
committed by Mat Sutcliffe
parent 668659248e
commit 70c88f0982
7 changed files with 21 additions and 11 deletions

View File

@@ -104,19 +104,22 @@ namespace BlackGui
{
ui->le_Icao->completer()->setCaseSensitivity(Qt::CaseInsensitive);
ui->le_Icao->completer()->popup()->setObjectName("AirportCompleter.Icao");
ui->le_Icao->completer()->popup()->setMinimumWidth(75);
const int w5chars = ui->le_Icao->completer()->popup()->fontMetrics().size(Qt::TextSingleLine, "FooBa").width();
ui->le_Icao->completer()->popup()->setMinimumWidth(w5chars * 5);
}
if (ui->le_Name->completer()->popup())
{
ui->le_Name->completer()->setCaseSensitivity(Qt::CaseInsensitive);
ui->le_Name->completer()->popup()->setObjectName("AirportCompleter.Name");
ui->le_Name->completer()->popup()->setMinimumWidth(150);
const int w5chars = ui->le_Name->completer()->popup()->fontMetrics().size(Qt::TextSingleLine, "FooBa").width();
ui->le_Name->completer()->popup()->setMinimumWidth(w5chars * 10);
}
if (ui->le_Location->completer()->popup())
{
ui->le_Location->completer()->setCaseSensitivity(Qt::CaseInsensitive);
ui->le_Location->completer()->popup()->setObjectName("AirportCompleter.Location");
ui->le_Location->completer()->popup()->setMinimumWidth(150);
const int w5chars = ui->le_Location->completer()->popup()->fontMetrics().size(Qt::TextSingleLine, "FooBa").width();
ui->le_Location->completer()->popup()->setMinimumWidth(w5chars * 10);
}
// turn into airport when it was not possible before

View File

@@ -457,7 +457,8 @@ namespace BlackGui
if (!airports.isEmpty())
{
QCompleter *airportCompleter = new QCompleter(airports, this);
airportCompleter->popup()->setMinimumWidth(75);
const int w5chars = airportCompleter->popup()->fontMetrics().size(Qt::TextSingleLine, "FooBa").width();
airportCompleter->popup()->setMinimumWidth(w5chars * 5);
ui->le_AtcStationsOnlineMetar->setCompleter(airportCompleter);
}
}

View File

@@ -200,7 +200,9 @@ namespace BlackGui
c->setCaseSensitivity(Qt::CaseInsensitive);
c->setCompletionMode(QCompleter::PopupCompletion);
c->setMaxVisibleItems(10);
c->popup()->setMinimumWidth(175);
const int w5chars = c->popup()->fontMetrics().size(Qt::TextSingleLine, "FooBa").width();
c->popup()->setMinimumWidth(w5chars * 10);
connect(c, qOverload<const QString &>(&QCompleter::activated), this, &CDbAircraftIcaoSelectorComponent::onCompleterActivated);
ui->le_Aircraft->setCompleter(c);

View File

@@ -91,7 +91,8 @@ namespace BlackGui
c->setCaseSensitivity(Qt::CaseInsensitive);
c->setCompletionMode(QCompleter::PopupCompletion);
c->setMaxVisibleItems(10);
c->popup()->setMinimumWidth(175);
const int w5chars = c->popup()->fontMetrics().size(Qt::TextSingleLine, "FooBa").width();
c->popup()->setMinimumWidth(w5chars * 10);
ui->le_Airline->setCompleter(c);
return c;
}

View File

@@ -66,7 +66,8 @@ namespace BlackGui
c->setCaseSensitivity(Qt::CaseInsensitive);
c->setCompletionMode(QCompleter::PopupCompletion);
c->setMaxVisibleItems(10);
c->popup()->setMinimumWidth(175);
const int w5chars = c->popup()->fontMetrics().size(Qt::TextSingleLine, "FooBa").width();
c->popup()->setMinimumWidth(w5chars * 10);
ui->le_AirlineName->setCompleter(c);
return c;
}

View File

@@ -1133,7 +1133,8 @@ namespace BlackGui
const QStringList aircraft(sGui->getWebDataServices()->getAircraftIcaoCodes().allDesignators().values());
QCompleter *aircraftCompleter = new QCompleter(aircraft, this);
aircraftCompleter->setMaxVisibleItems(10);
aircraftCompleter->popup()->setMinimumWidth(75);
const int w5chars1 = aircraftCompleter->popup()->fontMetrics().size(Qt::TextSingleLine, "FooBa").width();
aircraftCompleter->popup()->setMinimumWidth(w5chars1 * 5);
aircraftCompleter->setCaseSensitivity(Qt::CaseInsensitive);
aircraftCompleter->setCompletionMode(QCompleter::PopupCompletion);
ui->le_AircraftType->setCompleter(aircraftCompleter);
@@ -1141,7 +1142,8 @@ namespace BlackGui
const QStringList airports = sGui->getWebDataServices()->getAirports().allIcaoCodes(true);
QCompleter *airportCompleter = new QCompleter(airports, this);
airportCompleter->setMaxVisibleItems(10);
airportCompleter->popup()->setMinimumWidth(75);
const int w5chars2 = airportCompleter->popup()->fontMetrics().size(Qt::TextSingleLine, "FooBa").width();
airportCompleter->popup()->setMinimumWidth(w5chars2 * 5);
airportCompleter->setCaseSensitivity(Qt::CaseInsensitive);
airportCompleter->setCompletionMode(QCompleter::PopupCompletion);
ui->le_AlternateAirport->setCompleter(airportCompleter);

View File

@@ -89,8 +89,8 @@ namespace BlackGui
this->setLogoffCountdown();
connect(&m_logoffCountdownTimer, &QTimer::timeout, this, &CLoginComponent::logoffCountdown);
connect(ui->comp_OtherServers, &CServerListSelector::serverChanged, this, &CLoginComponent::onSelectedServerChanged);
connect(ui->comp_VatsimServers, &CServerListSelector::serverChanged, this, &CLoginComponent::onSelectedServerChanged);
connect(ui->comp_OtherServers, &CServerListSelector::serverChanged, this, &CLoginComponent::onSelectedServerChanged);
connect(ui->comp_VatsimServers, &CServerListSelector::serverChanged, this, &CLoginComponent::onSelectedServerChanged);
connect(ui->pb_RefreshOtherServers, &QToolButton::clicked, this, &CLoginComponent::reloadOtherServersSetup);
connect(ui->tw_Network, &QTabWidget::currentChanged, this, &CLoginComponent::onServerTabWidgetChanged);
connect(ui->pb_Cancel, &QPushButton::clicked, this, &CLoginComponent::loginCancelled, Qt::QueuedConnection);