mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 19:10:06 +00:00
Merge pull request #285 from AdenKoperczak/trim_whitespace_from_inputs
Trim white space from inputs
This commit is contained in:
commit
620a0dba25
4 changed files with 34 additions and 4 deletions
|
|
@ -56,6 +56,8 @@ public:
|
||||||
double unitScale_ {1};
|
double unitScale_ {1};
|
||||||
std::optional<std::string> unitAbbreviation_ {};
|
std::optional<std::string> unitAbbreviation_ {};
|
||||||
bool unitEnabled_ {false};
|
bool unitEnabled_ {false};
|
||||||
|
|
||||||
|
bool trimmingEnabled_ {false};
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
|
|
@ -191,8 +193,11 @@ void SettingsInterface<T>::SetEditWidget(QWidget* widget)
|
||||||
p->context_.get(),
|
p->context_.get(),
|
||||||
[this](const QString& text)
|
[this](const QString& text)
|
||||||
{
|
{
|
||||||
|
QString trimmedText =
|
||||||
|
p->trimmingEnabled_ ? text.trimmed() : text;
|
||||||
|
|
||||||
// Map to value if required
|
// Map to value if required
|
||||||
std::string value {text.toStdString()};
|
std::string value {trimmedText.toStdString()};
|
||||||
if (p->mapToValue_ != nullptr)
|
if (p->mapToValue_ != nullptr)
|
||||||
{
|
{
|
||||||
value = p->mapToValue_(value);
|
value = p->mapToValue_(value);
|
||||||
|
|
@ -488,6 +493,12 @@ void SettingsInterface<T>::SetUnit(const double& scale,
|
||||||
p->UpdateUnitLabel();
|
p->UpdateUnitLabel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<class T>
|
||||||
|
void SettingsInterface<T>::EnableTrimming(bool trimmingEnabled)
|
||||||
|
{
|
||||||
|
p->trimmingEnabled_ = trimmingEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
template<class U>
|
template<class U>
|
||||||
void SettingsInterface<T>::Impl::SetWidgetText(U* widget, const T& currentValue)
|
void SettingsInterface<T>::Impl::SetWidgetText(U* widget, const T& currentValue)
|
||||||
|
|
|
||||||
|
|
@ -121,11 +121,20 @@ public:
|
||||||
/**
|
/**
|
||||||
* Sets the unit to be used by this setting.
|
* Sets the unit to be used by this setting.
|
||||||
*
|
*
|
||||||
* @param scale The radio of the current unit to the base unit
|
* @param scale The ratio of the current unit to the base unit
|
||||||
* @param abbreviation The abreviation to be displayed
|
* @param abbreviation The abbreviation to be displayed
|
||||||
*/
|
*/
|
||||||
void SetUnit(const double& scale, const std::string& abbreviation);
|
void SetUnit(const double& scale, const std::string& abbreviation);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables or disables whitespace trimming of text input.
|
||||||
|
* Removes whitespace ('\t', '\n', '\v', '\f', '\r', and ' ') at the
|
||||||
|
* beginning and end of the string from a QLineEdit.
|
||||||
|
*
|
||||||
|
* @param trimmingEnabled If trimming should be enabled.
|
||||||
|
*/
|
||||||
|
void EnableTrimming(bool trimmingEnabled = true);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class Impl;
|
class Impl;
|
||||||
std::unique_ptr<Impl> p;
|
std::unique_ptr<Impl> p;
|
||||||
|
|
|
||||||
|
|
@ -603,14 +603,17 @@ void SettingsDialogImpl::SetupGeneralTab()
|
||||||
mapboxApiKey_.SetSettingsVariable(generalSettings.mapbox_api_key());
|
mapboxApiKey_.SetSettingsVariable(generalSettings.mapbox_api_key());
|
||||||
mapboxApiKey_.SetEditWidget(self_->ui->mapboxApiKeyLineEdit);
|
mapboxApiKey_.SetEditWidget(self_->ui->mapboxApiKeyLineEdit);
|
||||||
mapboxApiKey_.SetResetButton(self_->ui->resetMapboxApiKeyButton);
|
mapboxApiKey_.SetResetButton(self_->ui->resetMapboxApiKeyButton);
|
||||||
|
mapboxApiKey_.EnableTrimming();
|
||||||
|
|
||||||
mapTilerApiKey_.SetSettingsVariable(generalSettings.maptiler_api_key());
|
mapTilerApiKey_.SetSettingsVariable(generalSettings.maptiler_api_key());
|
||||||
mapTilerApiKey_.SetEditWidget(self_->ui->mapTilerApiKeyLineEdit);
|
mapTilerApiKey_.SetEditWidget(self_->ui->mapTilerApiKeyLineEdit);
|
||||||
mapTilerApiKey_.SetResetButton(self_->ui->resetMapTilerApiKeyButton);
|
mapTilerApiKey_.SetResetButton(self_->ui->resetMapTilerApiKeyButton);
|
||||||
|
mapTilerApiKey_.EnableTrimming();
|
||||||
|
|
||||||
customStyleUrl_.SetSettingsVariable(generalSettings.custom_style_url());
|
customStyleUrl_.SetSettingsVariable(generalSettings.custom_style_url());
|
||||||
customStyleUrl_.SetEditWidget(self_->ui->customMapUrlLineEdit);
|
customStyleUrl_.SetEditWidget(self_->ui->customMapUrlLineEdit);
|
||||||
customStyleUrl_.SetResetButton(self_->ui->resetCustomMapUrlButton);
|
customStyleUrl_.SetResetButton(self_->ui->resetCustomMapUrlButton);
|
||||||
|
customStyleUrl_.EnableTrimming();
|
||||||
|
|
||||||
customStyleDrawLayer_.SetSettingsVariable(
|
customStyleDrawLayer_.SetSettingsVariable(
|
||||||
generalSettings.custom_style_draw_layer());
|
generalSettings.custom_style_draw_layer());
|
||||||
|
|
@ -672,10 +675,12 @@ void SettingsDialogImpl::SetupGeneralTab()
|
||||||
nmeaSource_.SetSettingsVariable(generalSettings.nmea_source());
|
nmeaSource_.SetSettingsVariable(generalSettings.nmea_source());
|
||||||
nmeaSource_.SetEditWidget(self_->ui->nmeaSourceLineEdit);
|
nmeaSource_.SetEditWidget(self_->ui->nmeaSourceLineEdit);
|
||||||
nmeaSource_.SetResetButton(self_->ui->resetNmeaSourceButton);
|
nmeaSource_.SetResetButton(self_->ui->resetNmeaSourceButton);
|
||||||
|
nmeaSource_.EnableTrimming();
|
||||||
|
|
||||||
warningsProvider_.SetSettingsVariable(generalSettings.warnings_provider());
|
warningsProvider_.SetSettingsVariable(generalSettings.warnings_provider());
|
||||||
warningsProvider_.SetEditWidget(self_->ui->warningsProviderLineEdit);
|
warningsProvider_.SetEditWidget(self_->ui->warningsProviderLineEdit);
|
||||||
warningsProvider_.SetResetButton(self_->ui->resetWarningsProviderButton);
|
warningsProvider_.SetResetButton(self_->ui->resetWarningsProviderButton);
|
||||||
|
warningsProvider_.EnableTrimming();
|
||||||
|
|
||||||
antiAliasingEnabled_.SetSettingsVariable(
|
antiAliasingEnabled_.SetSettingsVariable(
|
||||||
generalSettings.anti_aliasing_enabled());
|
generalSettings.anti_aliasing_enabled());
|
||||||
|
|
@ -750,6 +755,7 @@ void SettingsDialogImpl::SetupPalettesColorTablesTab()
|
||||||
colorTable.SetSettingsVariable(colorTableVariable);
|
colorTable.SetSettingsVariable(colorTableVariable);
|
||||||
colorTable.SetEditWidget(lineEdit);
|
colorTable.SetEditWidget(lineEdit);
|
||||||
colorTable.SetResetButton(resetButton);
|
colorTable.SetResetButton(resetButton);
|
||||||
|
colorTable.EnableTrimming();
|
||||||
|
|
||||||
colorTableVariable.RegisterValueStagedCallback(
|
colorTableVariable.RegisterValueStagedCallback(
|
||||||
[colorTableType, imageLabel](const std::string& value)
|
[colorTableType, imageLabel](const std::string& value)
|
||||||
|
|
@ -873,6 +879,7 @@ void SettingsDialogImpl::SetupAudioTab()
|
||||||
alertAudioSoundFile_.SetSettingsVariable(audioSettings.alert_sound_file());
|
alertAudioSoundFile_.SetSettingsVariable(audioSettings.alert_sound_file());
|
||||||
alertAudioSoundFile_.SetEditWidget(self_->ui->alertAudioSoundLineEdit);
|
alertAudioSoundFile_.SetEditWidget(self_->ui->alertAudioSoundLineEdit);
|
||||||
alertAudioSoundFile_.SetResetButton(self_->ui->resetAlertAudioSoundButton);
|
alertAudioSoundFile_.SetResetButton(self_->ui->resetAlertAudioSoundButton);
|
||||||
|
alertAudioSoundFile_.EnableTrimming();
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
self_->ui->alertAudioSoundSelectButton,
|
self_->ui->alertAudioSoundSelectButton,
|
||||||
|
|
@ -1085,6 +1092,7 @@ void SettingsDialogImpl::SetupAudioTab()
|
||||||
alertAudioCounty_.SetSettingsVariable(audioSettings.alert_county());
|
alertAudioCounty_.SetSettingsVariable(audioSettings.alert_county());
|
||||||
alertAudioCounty_.SetEditWidget(self_->ui->alertAudioCountyLineEdit);
|
alertAudioCounty_.SetEditWidget(self_->ui->alertAudioCountyLineEdit);
|
||||||
alertAudioCounty_.SetResetButton(self_->ui->resetAlertAudioCountyButton);
|
alertAudioCounty_.SetResetButton(self_->ui->resetAlertAudioCountyButton);
|
||||||
|
alertAudioCounty_.EnableTrimming();
|
||||||
|
|
||||||
QObject::connect(self_->ui->alertAudioWFOSelectButton,
|
QObject::connect(self_->ui->alertAudioWFOSelectButton,
|
||||||
&QAbstractButton::clicked,
|
&QAbstractButton::clicked,
|
||||||
|
|
@ -1117,6 +1125,7 @@ void SettingsDialogImpl::SetupAudioTab()
|
||||||
alertAudioWFO_.SetSettingsVariable(audioSettings.alert_wfo());
|
alertAudioWFO_.SetSettingsVariable(audioSettings.alert_wfo());
|
||||||
alertAudioWFO_.SetEditWidget(self_->ui->alertAudioWFOLineEdit);
|
alertAudioWFO_.SetEditWidget(self_->ui->alertAudioWFOLineEdit);
|
||||||
alertAudioWFO_.SetResetButton(self_->ui->resetAlertAudioWFOButton);
|
alertAudioWFO_.SetResetButton(self_->ui->resetAlertAudioWFOButton);
|
||||||
|
alertAudioWFO_.EnableTrimming();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsDialogImpl::SetupTextTab()
|
void SettingsDialogImpl::SetupTextTab()
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,8 @@ std::string NormalizeUrl(const std::string& urlString)
|
||||||
std::string normalizedUrl;
|
std::string normalizedUrl;
|
||||||
|
|
||||||
// Normalize URL string
|
// Normalize URL string
|
||||||
QUrl url = QUrl::fromUserInput(QString::fromStdString(urlString));
|
QString trimmedUrlString = QString::fromStdString(urlString).trimmed();
|
||||||
|
QUrl url = QUrl::fromUserInput(trimmedUrlString);
|
||||||
if (url.isLocalFile())
|
if (url.isLocalFile())
|
||||||
{
|
{
|
||||||
normalizedUrl = QDir::toNativeSeparators(url.toLocalFile()).toStdString();
|
normalizedUrl = QDir::toNativeSeparators(url.toLocalFile()).toStdString();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue