mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 06:50:05 +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
	
	 Dan Paulat
						Dan Paulat