diff --git a/src/app/qgsoptions.cpp b/src/app/qgsoptions.cpp index df3f221b7615..219dcae1dc8d 100644 --- a/src/app/qgsoptions.cpp +++ b/src/app/qgsoptions.cpp @@ -96,6 +96,8 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl, const QList( &QComboBox::currentIndexChanged ), [ = ]( int ) { updateSampleLocaleText( ); } ); + connect( cbOmitGroupSeparator, &QCheckBox::toggled, this, [ = ]( bool ) { updateSampleLocaleText(); } ); // QgsOptionsDialogBase handles saving/restoring of geometry, splitter and current tab states, // switching vertical tabs between icon/text to icon-only modes (splitter collapsed to left), @@ -2365,6 +2367,24 @@ void QgsOptions::refreshSchemeComboBox() mColorSchemesComboBox->blockSignals( false ); } +void QgsOptions::updateSampleLocaleText() +{ + QLocale locale( cboGlobalLocale->currentData( ).toString() ); + if ( cbOmitGroupSeparator->isChecked( ) ) + { + locale.setNumberOptions( locale.numberOptions() |= QLocale::NumberOption::OmitGroupSeparator ); + } + else + { + locale.setNumberOptions( locale.numberOptions() &= ! QLocale::NumberOption::OmitGroupSeparator ); + } + lblLocaleSample->setText( tr( "Sample date: %1 money: %2 int: %3 float: %4" ).arg( + QDate::currentDate().toString( locale.dateFormat( QLocale::FormatType::ShortFormat ) ), + locale.toCurrencyString( 1000.00 ), + locale.toString( 1000 ), + locale.toString( 1000.00, 'f', 2 ) ) ); +} + void QgsOptions::updateActionsForCurrentColorScheme( QgsColorScheme *scheme ) { if ( !scheme ) diff --git a/src/app/qgsoptions.h b/src/app/qgsoptions.h index 557a7a8db220..48731510b6cc 100644 --- a/src/app/qgsoptions.h +++ b/src/app/qgsoptions.h @@ -255,6 +255,8 @@ class APP_EXPORT QgsOptions : public QgsOptionsDialogBase, private Ui::QgsOption void refreshSchemeComboBox(); + void updateSampleLocaleText(); + protected: QgisAppStyleSheet *mStyleSheetBuilder = nullptr; QMap mStyleSheetNewOpts; diff --git a/src/ui/qgsoptionsbase.ui b/src/ui/qgsoptionsbase.ui index c61ce02198c5..b463a32249a5 100644 --- a/src/ui/qgsoptionsbase.ui +++ b/src/ui/qgsoptionsbase.ui @@ -350,7 +350,7 @@ 0 0 843 - 855 + 885 @@ -381,7 +381,7 @@ - Locale (affects numbers representation) + Locale (numbers, date and currency formats) @@ -417,6 +417,16 @@ + + + + QLabel {background-color: #ffffff; } + + + Sample text for locale formatting + + + @@ -1061,7 +1071,7 @@ 0 0 544 - 1096 + 1094 @@ -3194,7 +3204,7 @@ 0 0 613 - 646 + 636