fix: when dconfig no value, use system format

Log:
This commit is contained in:
chenhongtao 2024-01-19 16:06:27 +08:00 committed by deepin-bot[bot]
parent ee030a6505
commit ca4408c660

View File

@ -78,27 +78,38 @@ DateTimeDisplayer::DateTimeDisplayer(bool showMultiRow, QWidget *parent)
void DateTimeDisplayer::initDConfig()
{
QLocale currentLocale = QLocale::system();
if (!m_config->isValid())
return;
if (!m_config->isDefaultValue(localeName_key)) {
m_locale = QLocale(m_config->value(localeName_key).toString());
} else {
m_locale = currentLocale;
}
if (!m_config->isDefaultValue(shortDateFormat_key)) {
m_shortDateFormatStr = m_config->value(shortDateFormat_key).toString();
} else {
m_shortDateFormatStr = currentLocale.dateFormat(QLocale::ShortFormat);
}
if (!m_config->isDefaultValue(shortTimeFormat_key)) {
m_shortTimeFormatStr = m_config->value(shortTimeFormat_key).toString();
} else {
m_shortTimeFormatStr = currentLocale.timeFormat(QLocale::ShortFormat);
}
if (!m_config->isDefaultValue(longTimeFormat_key)) {
m_longTimeFormatStr = m_config->value(longTimeFormat_key).toString();
} else {
m_longTimeFormatStr = currentLocale.timeFormat(QLocale::LongFormat);
}
if (!m_config->isDefaultValue(longDateFormat_key)) {
m_longDateFormatStr = m_config->value(longDateFormat_key).toString();
} else {
m_longTimeFormatStr = currentLocale.dateFormat(QLocale::LongFormat);
}
connect(m_config, &DTK_CORE_NAMESPACE::DConfig::valueChanged, this, [this] (const QString &key) {