本文整理汇总了C++中QLocale::timeFormat方法的典型用法代码示例。如果您正苦于以下问题:C++ QLocale::timeFormat方法的具体用法?C++ QLocale::timeFormat怎么用?C++ QLocale::timeFormat使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QLocale
的用法示例。
在下文中一共展示了QLocale::timeFormat方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Ago
QString Ago(int seconds_since_epoch, const QLocale& locale) {
const QDateTime now = QDateTime::currentDateTime();
const QDateTime then = QDateTime::fromTime_t(seconds_since_epoch);
const int days_ago = then.date().daysTo(now.date());
const QString time =
then.time().toString(locale.timeFormat(QLocale::ShortFormat));
if (days_ago == 0) return tr("Today") + " " + time;
if (days_ago == 1) return tr("Yesterday") + " " + time;
if (days_ago <= 7) return tr("%1 days ago").arg(days_ago);
return then.date().toString(locale.dateFormat(QLocale::ShortFormat));
}
示例2: uiLanguage
QString uiLanguage(QLocale *callerLoc)
{
QSettings s;
s.beginGroup("Language");
if (!s.value("UseSystemLanguage", true).toBool()) {
loc = QLocale(s.value("UiLanguage", QLocale().uiLanguages().first()).toString());
} else {
loc = QLocale(QLocale().uiLanguages().first());
}
QString uiLang = loc.uiLanguages().first();
s.endGroup();
// there's a stupid Qt bug on MacOS where uiLanguages doesn't give us the country info
if (!uiLang.contains('-') && uiLang != loc.bcp47Name()) {
QLocale loc2(loc.bcp47Name());
loc = loc2;
uiLang = loc2.uiLanguages().first();
}
if (callerLoc)
*callerLoc = loc;
// the short format is fine
// the long format uses long weekday and month names, so replace those with the short ones
// for time we don't want the time zone designator and don't want leading zeroes on the hours
shortDateFormat = loc.dateFormat(QLocale::ShortFormat);
dateFormat = loc.dateFormat(QLocale::LongFormat);
dateFormat.replace("dddd,", "ddd").replace("dddd", "ddd").replace("MMMM", "MMM");
// special hack for Swedish as our switching from long weekday names to short weekday names
// messes things up there
dateFormat.replace("'en' 'den' d:'e'", " d");
timeFormat = loc.timeFormat();
timeFormat.replace("(t)", "").replace(" t", "").replace("t", "").replace("hh", "h").replace("HH", "H").replace("'kl'.", "");
timeFormat.replace(".ss", "").replace(":ss", "").replace("ss", "");
return uiLang;
}
示例3: sSave
//.........这里部分代码省略.........
QLocale sampleLocale = generateLocale();
if (_mode == cNew)
{
q.prepare( "INSERT INTO locale "
"( locale_id, locale_code, locale_descrip,"
" locale_lang_id, locale_country_id, "
" locale_dateformat, locale_timeformat, locale_timestampformat,"
" locale_intervalformat, locale_qtyformat,"
" locale_curr_scale,"
" locale_salesprice_scale, locale_purchprice_scale,"
" locale_extprice_scale, locale_cost_scale,"
" locale_qty_scale, locale_qtyper_scale,"
" locale_uomratio_scale, locale_percent_scale, "
" locale_comments, "
" locale_error_color, locale_warning_color,"
" locale_emphasis_color, locale_altemphasis_color,"
" locale_expired_color, locale_future_color) "
"VALUES "
"( :locale_id, :locale_code, :locale_descrip,"
" :locale_lang_id, :locale_country_id,"
" :locale_dateformat, :locale_timeformat, :locale_timestampformat,"
" :locale_intervalformat, :locale_qtyformat,"
" :locale_curr_scale,"
" :locale_salesprice_scale, :locale_purchprice_scale,"
" :locale_extprice_scale, :locale_cost_scale,"
" :locale_qty_scale, :locale_qtyper_scale,"
" :locale_uomratio_scale, :local_percent_scale, "
" :locale_comments,"
" :locale_error_color, :locale_warning_color,"
" :locale_emphasis_color, :locale_altemphasis_color,"
" :locale_expired_color, :locale_future_color);" );
}
else if ( (_mode == cEdit) || (_mode == cCopy) )
q.prepare( "UPDATE locale "
"SET locale_code=:locale_code,"
" locale_descrip=:locale_descrip,"
" locale_lang_id=:locale_lang_id,"
" locale_country_id=:locale_country_id,"
" locale_dateformat=:locale_dateformat,"
" locale_timeformat=:locale_timeformat,"
" locale_timestampformat=:locale_timestampformat,"
" locale_intervalformat=:locale_intervalformat,"
" locale_qtyformat=:locale_qtyformat,"
" locale_curr_scale=:locale_curr_scale,"
" locale_salesprice_scale=:locale_salesprice_scale,"
" locale_purchprice_scale=:locale_purchprice_scale,"
" locale_extprice_scale=:locale_extprice_scale,"
" locale_cost_scale=:locale_cost_scale,"
" locale_qty_scale=:locale_qty_scale,"
" locale_qtyper_scale=:locale_qtyper_scale,"
" locale_uomratio_scale=:locale_uomratio_scale,"
" locale_percent_scale=:locale_percent_scale,"
" locale_comments=:locale_comments,"
" locale_error_color=:locale_error_color,"
" locale_warning_color=:locale_warning_color,"
" locale_emphasis_color=:locale_emphasis_color,"
" locale_altemphasis_color=:locale_altemphasis_color,"
" locale_expired_color=:locale_expired_color,"
" locale_future_color=:locale_future_color "
"WHERE (locale_id=:locale_id);" );
q.bindValue(":locale_id", _localeid);
q.bindValue(":locale_code", _code->text());
q.bindValue(":locale_descrip", _description->text());
q.bindValue(":locale_lang_id", _language->id());
q.bindValue(":locale_country_id", _country->id());
q.bindValue(":locale_curr_scale", _currencyScale->text());
q.bindValue(":locale_salesprice_scale", _salesPriceScale->text());
q.bindValue(":locale_purchprice_scale", _purchPriceScale->text());
q.bindValue(":locale_extprice_scale", _extPriceScale->text());
q.bindValue(":locale_cost_scale", _costScale->text());
q.bindValue(":locale_qty_scale", _qtyScale->text());
q.bindValue(":locale_qtyper_scale", _qtyPerScale->text());
q.bindValue(":locale_uomratio_scale", _uomRatioScale->text());
q.bindValue(":locale_percent_scale", _percentScale->text());
q.bindValue(":locale_comments", _comments->toPlainText());
q.bindValue(":locale_error_color", _error->text());
q.bindValue(":locale_warning_color", _warning->text());
q.bindValue(":locale_emphasis_color", _emphasis->text());
q.bindValue(":locale_altemphasis_color", _alternate->text());
q.bindValue(":locale_expired_color", _expired->text());
q.bindValue(":locale_future_color", _future->text());
q.bindValue(":locale_dateformat", convert(sampleLocale.dateFormat(QLocale::ShortFormat)));
q.bindValue(":locale_timeformat", convert(sampleLocale.timeFormat(QLocale::ShortFormat)));
q.bindValue(":locale_timestampformat",convert(sampleLocale.dateFormat(QLocale::ShortFormat)) +
" " + convert(sampleLocale.timeFormat(QLocale::ShortFormat)));
q.bindValue(":locale_intervalformat", convert(sampleLocale.timeFormat(QLocale::ShortFormat).remove("ap", Qt::CaseInsensitive)));
q.bindValue(":locale_qtyformat", QString(sampleLocale.decimalPoint()) +
QString(sampleLocale.negativeSign()) +
QString(sampleLocale.groupSeparator()));
q.exec();
if (q.lastError().type() != QSqlError::NoError)
{
systemError(this, q.lastError().databaseText(), __FILE__, __LINE__);
return;
}
done(_localeid);
}
示例4: signalBlocker
/**
* @brief Constructor of UserInterfaceForm.
* @param myParent Setting widget which will contain this form as tab.
*
* Restores all controls from the settings.
*/
UserInterfaceForm::UserInterfaceForm(SettingsWidget* myParent)
: GenericForm(QPixmap(":/img/settings/general.png"))
{
parent = myParent;
bodyUI = new Ui::UserInterfaceSettings;
bodyUI->setupUi(this);
// block all child signals during initialization
const RecursiveSignalBlocker signalBlocker(this);
Settings& s = Settings::getInstance();
const QFont chatBaseFont = s.getChatMessageFont();
bodyUI->txtChatFontSize->setValue(QFontInfo(chatBaseFont).pixelSize());
bodyUI->txtChatFont->setCurrentFont(chatBaseFont);
int index = static_cast<int>(s.getStylePreference());
bodyUI->textStyleComboBox->setCurrentIndex(index);
bool showWindow = s.getShowWindow();
bodyUI->showWindow->setChecked(showWindow);
bodyUI->showInFront->setChecked(s.getShowInFront());
bodyUI->showInFront->setEnabled(showWindow);
bodyUI->groupAlwaysNotify->setChecked(s.getGroupAlwaysNotify());
bodyUI->cbGroupchatPosition->setChecked(s.getGroupchatPosition());
bodyUI->cbCompactLayout->setChecked(s.getCompactLayout());
bodyUI->cbSeparateWindow->setChecked(s.getSeparateWindow());
bodyUI->cbDontGroupWindows->setChecked(s.getDontGroupWindows());
bodyUI->cbDontGroupWindows->setEnabled(s.getSeparateWindow());
bodyUI->useEmoticons->setChecked(s.getUseEmoticons());
for (auto entry : SmileyPack::listSmileyPacks())
bodyUI->smileyPackBrowser->addItem(entry.first, entry.second);
smileLabels = {bodyUI->smile1, bodyUI->smile2, bodyUI->smile3, bodyUI->smile4, bodyUI->smile5};
int currentPack = bodyUI->smileyPackBrowser->findData(s.getSmileyPack());
bodyUI->smileyPackBrowser->setCurrentIndex(currentPack);
reloadSmileys();
bodyUI->smileyPackBrowser->setEnabled(bodyUI->useEmoticons->isChecked());
bodyUI->styleBrowser->addItem(tr("None"));
bodyUI->styleBrowser->addItems(QStyleFactory::keys());
QString style;
if (QStyleFactory::keys().contains(s.getStyle()))
style = s.getStyle();
else
style = tr("None");
bodyUI->styleBrowser->setCurrentText(style);
for (QString color : Style::getThemeColorNames())
bodyUI->themeColorCBox->addItem(color);
bodyUI->themeColorCBox->setCurrentIndex(s.getThemeColor());
bodyUI->emoticonSize->setValue(s.getEmojiFontPointSize());
QLocale ql;
QStringList timeFormats;
timeFormats << ql.timeFormat(QLocale::ShortFormat) << ql.timeFormat(QLocale::LongFormat)
<< "hh:mm AP"
<< "hh:mm:ss AP"
<< "hh:mm:ss";
timeFormats.removeDuplicates();
bodyUI->timestamp->addItems(timeFormats);
QRegularExpression re(QString("^[^\\n]{0,%0}$").arg(MAX_FORMAT_LENGTH));
QRegularExpressionValidator* validator = new QRegularExpressionValidator(re, this);
QString timeFormat = s.getTimestampFormat();
if (!re.match(timeFormat).hasMatch())
timeFormat = timeFormats[0];
bodyUI->timestamp->setCurrentText(timeFormat);
bodyUI->timestamp->setValidator(validator);
on_timestamp_editTextChanged(timeFormat);
QStringList dateFormats;
dateFormats << QStringLiteral("yyyy-MM-dd") // ISO 8601
// format strings from system locale
<< ql.dateFormat(QLocale::LongFormat) << ql.dateFormat(QLocale::ShortFormat)
<< ql.dateFormat(QLocale::NarrowFormat) << "dd-MM-yyyy"
<< "d-MM-yyyy"
<< "dddd dd-MM-yyyy"
<< "dddd d-MM";
dateFormats.removeDuplicates();
bodyUI->dateFormats->addItems(dateFormats);
QString dateFormat = s.getDateFormat();
if (!re.match(dateFormat).hasMatch())
dateFormat = dateFormats[0];
//.........这里部分代码省略.........
示例5: timeFormat
QString QtPropertyBrowserUtils::timeFormat()
{
QLocale loc;
// ShortFormat is missing seconds on UNIX.
return loc.timeFormat(QLocale::LongFormat);
}
示例6: signalBlocker
/**
* @brief Constructor of UserInterfaceForm.
* @param myParent Setting widget which will contain this form as tab.
*
* Restores all controls from the settings.
*/
UserInterfaceForm::UserInterfaceForm(SettingsWidget* myParent) :
GenericForm(QPixmap(":/img/settings/general.png"))
{
parent = myParent;
bodyUI = new Ui::UserInterfaceSettings;
bodyUI->setupUi(this);
// block all child signals during initialization
const RecursiveSignalBlocker signalBlocker(this);
Settings &s = Settings::getInstance();
const QFont chatBaseFont = s.getChatMessageFont();
bodyUI->txtChatFontSize->setValue(QFontInfo(chatBaseFont).pixelSize());
bodyUI->txtChatFont->setCurrentFont(chatBaseFont);
int index = static_cast<int>(s.getStylePreference());
bodyUI->textStyleComboBox->setCurrentIndex(index);
bool showWindow = s.getShowWindow();
bodyUI->showWindow->setChecked(showWindow);
bodyUI->showInFront->setChecked(s.getShowInFront());
bodyUI->showInFront->setEnabled(showWindow);
bodyUI->groupAlwaysNotify->setChecked(s.getGroupAlwaysNotify());
bodyUI->cbGroupchatPosition->setChecked(s.getGroupchatPosition());
bodyUI->cbCompactLayout->setChecked(s.getCompactLayout());
bodyUI->cbSeparateWindow->setChecked(s.getSeparateWindow());
bodyUI->cbDontGroupWindows->setChecked(s.getDontGroupWindows());
bodyUI->cbDontGroupWindows->setEnabled(s.getSeparateWindow());
bodyUI->useEmoticons->setChecked(s.getUseEmoticons());
for (auto entry : SmileyPack::listSmileyPacks())
bodyUI->smileyPackBrowser->addItem(entry.first, entry.second);
smileLabels = {bodyUI->smile1, bodyUI->smile2, bodyUI->smile3,
bodyUI->smile4, bodyUI->smile5};
int currentPack = bodyUI->smileyPackBrowser->findData(s.getSmileyPack());
bodyUI->smileyPackBrowser->setCurrentIndex(currentPack);
reloadSmileys();
bodyUI->smileyPackBrowser->setEnabled(bodyUI->useEmoticons->isChecked());
bodyUI->styleBrowser->addItem(tr("None"));
bodyUI->styleBrowser->addItems(QStyleFactory::keys());
QString style;
if (QStyleFactory::keys().contains(s.getStyle()))
style = s.getStyle();
else
style = tr("None");
bodyUI->styleBrowser->setCurrentText(style);
for (QString color : Style::getThemeColorNames())
bodyUI->themeColorCBox->addItem(color);
bodyUI->themeColorCBox->setCurrentIndex(s.getThemeColor());
bodyUI->emoticonSize->setValue(s.getEmojiFontPointSize());
QStringList timestamps;
for (QString timestamp : timeFormats)
timestamps << QString("%1 - %2").arg(timestamp, QTime::currentTime().toString(timestamp));
bodyUI->timestamp->addItems(timestamps);
QLocale ql;
QStringList datestamps;
dateFormats.append(ql.dateFormat());
dateFormats.append(ql.dateFormat(QLocale::LongFormat));
dateFormats.removeDuplicates();
timeFormats.append(ql.timeFormat());
timeFormats.append(ql.timeFormat(QLocale::LongFormat));
timeFormats.removeDuplicates();
for (QString datestamp : dateFormats)
datestamps << QString("%1 - %2").arg(datestamp, QDate::currentDate().toString(datestamp));
bodyUI->dateFormats->addItems(datestamps);
bodyUI->timestamp->setCurrentText(QString("%1 - %2").arg(s.getTimestampFormat(), QTime::currentTime().toString(s.getTimestampFormat())));
bodyUI->dateFormats->setCurrentText(QString("%1 - %2").arg(s.getDateFormat(), QDate::currentDate().toString(s.getDateFormat())));
eventsInit();
Translator::registerHandler(std::bind(&UserInterfaceForm::retranslateUi, this), this);
}
示例7: GenericForm
GeneralForm::GeneralForm(SettingsWidget *myParent) :
GenericForm(QPixmap(":/img/settings/general.png"))
{
parent = myParent;
bodyUI = new Ui::GeneralSettings;
bodyUI->setupUi(this);
bodyUI->checkUpdates->setVisible(AUTOUPDATE_ENABLED);
bodyUI->checkUpdates->setChecked(Settings::getInstance().getCheckUpdates());
bodyUI->cbEnableIPv6->setChecked(Settings::getInstance().getEnableIPv6());
for (int i = 0; i < langs.size(); i++)
bodyUI->transComboBox->insertItem(i, langs[i]);
bodyUI->transComboBox->setCurrentIndex(locales.indexOf(Settings::getInstance().getTranslation()));
bodyUI->cbAutorun->setChecked(Settings::getInstance().getAutorun());
#if defined(__APPLE__) && defined(__MACH__)
bodyUI->cbAutorun->setEnabled(false);
#endif
bool showSystemTray = Settings::getInstance().getShowSystemTray();
bodyUI->showSystemTray->setChecked(showSystemTray);
bodyUI->startInTray->setChecked(Settings::getInstance().getAutostartInTray());
bodyUI->startInTray->setEnabled(showSystemTray);
bodyUI->closeToTray->setChecked(Settings::getInstance().getCloseToTray());
bodyUI->closeToTray->setEnabled(showSystemTray);
bodyUI->minimizeToTray->setChecked(Settings::getInstance().getMinimizeToTray());
bodyUI->minimizeToTray->setEnabled(showSystemTray);
bodyUI->lightTrayIcon->setChecked(Settings::getInstance().getLightTrayIcon());
bodyUI->lightTrayIcon->setEnabled(showSystemTray);
bodyUI->statusChanges->setChecked(Settings::getInstance().getStatusChangeNotificationEnabled());
bodyUI->useEmoticons->setChecked(Settings::getInstance().getUseEmoticons());
bodyUI->autoacceptFiles->setChecked(Settings::getInstance().getAutoSaveEnabled());
bodyUI->autoSaveFilesDir->setText(Settings::getInstance().getGlobalAutoAcceptDir());
bodyUI->showWindow->setChecked(Settings::getInstance().getShowWindow());
bodyUI->showInFront->setChecked(Settings::getInstance().getShowInFront());
bodyUI->notifySound->setChecked(Settings::getInstance().getNotifySound());
bodyUI->groupAlwaysNotify->setChecked(Settings::getInstance().getGroupAlwaysNotify());
bodyUI->cbFauxOfflineMessaging->setChecked(Settings::getInstance().getFauxOfflineMessaging());
bodyUI->cbCompactLayout->setChecked(Settings::getInstance().getCompactLayout());
bodyUI->cbGroupchatPosition->setChecked(Settings::getInstance().getGroupchatPosition());
for (auto entry : SmileyPack::listSmileyPacks())
bodyUI->smileyPackBrowser->addItem(entry.first, entry.second);
bodyUI->smileyPackBrowser->setCurrentIndex(bodyUI->smileyPackBrowser->findData(Settings::getInstance().getSmileyPack()));
reloadSmiles();
bodyUI->smileyPackBrowser->setEnabled(bodyUI->useEmoticons->isChecked());
bodyUI->styleBrowser->addItem(tr("None"));
bodyUI->styleBrowser->addItems(QStyleFactory::keys());
if (QStyleFactory::keys().contains(Settings::getInstance().getStyle()))
bodyUI->styleBrowser->setCurrentText(Settings::getInstance().getStyle());
else
bodyUI->styleBrowser->setCurrentText(tr("None"));
for (QString color : Style::themeColorNames)
bodyUI->themeColorCBox->addItem(color);
bodyUI->themeColorCBox->setCurrentIndex(Settings::getInstance().getThemeColor());
bodyUI->emoticonSize->setValue(Settings::getInstance().getEmojiFontPointSize());
QStringList timestamps;
for (QString timestamp : timeFormats)
timestamps << QString("%1 - %2").arg(timestamp, QTime::currentTime().toString(timestamp));
bodyUI->timestamp->addItems(timestamps);
QLocale ql;
QStringList datestamps;
dateFormats.append(ql.dateFormat());
dateFormats.append(ql.dateFormat(QLocale::LongFormat));
dateFormats.removeDuplicates();
timeFormats.append(ql.timeFormat());
timeFormats.append(ql.timeFormat(QLocale::LongFormat));
timeFormats.removeDuplicates();
for (QString datestamp : dateFormats)
datestamps << QString("%1 - %2").arg(datestamp, QDate::currentDate().toString(datestamp));
bodyUI->dateFormats->addItems(datestamps);
bodyUI->timestamp->setCurrentText(QString("%1 - %2").arg(Settings::getInstance().getTimestampFormat(), QTime::currentTime().toString(Settings::getInstance().getTimestampFormat())));
bodyUI->dateFormats->setCurrentText(QString("%1 - %2").arg(Settings::getInstance().getDateFormat(), QDate::currentDate().toString(Settings::getInstance().getDateFormat())));
bodyUI->autoAwaySpinBox->setValue(Settings::getInstance().getAutoAwayTime());
bodyUI->cbEnableUDP->setChecked(!Settings::getInstance().getForceTCP());
bodyUI->proxyAddr->setText(Settings::getInstance().getProxyAddr());
int port = Settings::getInstance().getProxyPort();
if (port != -1)
bodyUI->proxyPort->setValue(port);
bodyUI->proxyType->setCurrentIndex(static_cast<int>(Settings::getInstance().getProxyType()));
onUseProxyUpdated();
//.........这里部分代码省略.........
示例8: settingsChanged
void LXQtWorldClock::settingsChanged()
{
PluginSettings *_settings = settings();
QString oldFormat = mFormat;
mTimeZones.clear();
QList<QMap<QString, QVariant> > array = _settings->readArray(QLatin1String("timeZones"));
for (const auto &map : array)
{
QString timeZoneName = map.value(QLatin1String("timeZone"), QString()).toString();
mTimeZones.append(timeZoneName);
mTimeZoneCustomNames[timeZoneName] = map.value(QLatin1String("customName"),
QString()).toString();
}
if (mTimeZones.isEmpty())
mTimeZones.append(QLatin1String("local"));
mDefaultTimeZone = _settings->value(QLatin1String("defaultTimeZone"), QString()).toString();
if (mDefaultTimeZone.isEmpty())
mDefaultTimeZone = mTimeZones[0];
mActiveTimeZone = mDefaultTimeZone;
bool longTimeFormatSelected = false;
QString formatType = _settings->value(QLatin1String("formatType"), QString()).toString();
QString dateFormatType = _settings->value(QLatin1String("dateFormatType"), QString()).toString();
bool advancedManual = _settings->value(QLatin1String("useAdvancedManualFormat"), false).toBool();
// backward compatibility
if (formatType == QLatin1String("custom"))
{
formatType = QLatin1String("short-timeonly");
dateFormatType = QLatin1String("short");
advancedManual = true;
}
else if (formatType == QLatin1String("short"))
{
formatType = QLatin1String("short-timeonly");
dateFormatType = QLatin1String("short");
advancedManual = false;
}
else if ((formatType == QLatin1String("full")) ||
(formatType == QLatin1String("long")) ||
(formatType == QLatin1String("medium")))
{
formatType = QLatin1String("long-timeonly");
dateFormatType = QLatin1String("long");
advancedManual = false;
}
if (formatType == QLatin1String("long-timeonly"))
longTimeFormatSelected = true;
bool timeShowSeconds = _settings->value(QLatin1String("timeShowSeconds"), false).toBool();
bool timePadHour = _settings->value(QLatin1String("timePadHour"), false).toBool();
bool timeAMPM = _settings->value(QLatin1String("timeAMPM"), false).toBool();
// timezone
bool showTimezone = _settings->value(QLatin1String("showTimezone"), false).toBool() && !longTimeFormatSelected;
QString timezonePosition = _settings->value(QLatin1String("timezonePosition"), QString()).toString();
QString timezoneFormatType = _settings->value(QLatin1String("timezoneFormatType"), QString()).toString();
// date
bool showDate = _settings->value(QLatin1String("showDate"), false).toBool();
QString datePosition = _settings->value(QLatin1String("datePosition"), QString()).toString();
bool dateShowYear = _settings->value(QLatin1String("dateShowYear"), false).toBool();
bool dateShowDoW = _settings->value(QLatin1String("dateShowDoW"), false).toBool();
bool datePadDay = _settings->value(QLatin1String("datePadDay"), false).toBool();
bool dateLongNames = _settings->value(QLatin1String("dateLongNames"), false).toBool();
// advanced
QString customFormat = _settings->value(QLatin1String("customFormat"), tr("'<b>'HH:mm:ss'</b><br/><font size=\"-2\">'ddd, d MMM yyyy'<br/>'TT'</font>'")).toString();
if (advancedManual)
mFormat = customFormat;
else
{
QLocale locale = QLocale(QLocale::AnyLanguage, QLocale().country());
if (formatType == QLatin1String("short-timeonly"))
mFormat = locale.timeFormat(QLocale::ShortFormat);
else if (formatType == QLatin1String("long-timeonly"))
mFormat = locale.timeFormat(QLocale::LongFormat);
else // if (formatType == QLatin1String("custom-timeonly"))
mFormat = QString(QLatin1String("%1:mm%2%3")).arg(timePadHour ? QLatin1String("hh") : QLatin1String("h")).arg(timeShowSeconds ? QLatin1String(":ss") : QLatin1String("")).arg(timeAMPM ? QLatin1String(" A") : QLatin1String(""));
if (showTimezone)
{
QString timezonePortion;
if (timezoneFormatType == QLatin1String("short"))
timezonePortion = QLatin1String("TTTT");
else if (timezoneFormatType == QLatin1String("long"))
timezonePortion = QLatin1String("TTTTT");
//.........这里部分代码省略.........
示例9: data
QVariant LocaleModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid()
|| role != Qt::DisplayRole && role != Qt::EditRole && role != Qt::ToolTipRole
|| index.column() >= g_model_cols
|| index.row() >= g_locale_list_count + 2)
return QVariant();
QVariant data;
if (index.column() < g_model_cols - 1)
data = m_data_list.at(index.column());
if (index.row() == 0) {
if (role == Qt::ToolTipRole)
return QVariant();
switch (index.column()) {
case 0:
return data.toDouble();
case 1:
return data.toDate();
case 2:
return data.toDate();
case 3:
return data.toTime();
case 4:
return data.toTime();
case 5:
return QVariant();
default:
break;
}
} else {
QLocale locale;
if (index.row() == 1) {
locale = QLocale::system();
} else {
LocaleListItem item = g_locale_list[index.row() - 2];
locale = QLocale((QLocale::Language)item.language, (QLocale::Country)item.country);
}
switch (index.column()) {
case 0:
if (role == Qt::ToolTipRole)
return QVariant();
return locale.toString(data.toDouble());
case 1:
if (role == Qt::ToolTipRole)
return locale.dateFormat(QLocale::LongFormat);
return locale.toString(data.toDate(), QLocale::LongFormat);
case 2:
if (role == Qt::ToolTipRole)
return locale.dateFormat(QLocale::ShortFormat);
return locale.toString(data.toDate(), QLocale::ShortFormat);
case 3:
if (role == Qt::ToolTipRole)
return locale.timeFormat(QLocale::LongFormat);
return locale.toString(data.toTime(), QLocale::LongFormat);
case 4:
if (role == Qt::ToolTipRole)
return locale.timeFormat(QLocale::ShortFormat);
return locale.toString(data.toTime(), QLocale::ShortFormat);
case 5:
if (role == Qt::ToolTipRole)
return QVariant();
return locale.name();
default:
break;
}
}
return QVariant();
}
示例10: localeChanged
void DateFormatsWidget::localeChanged(QLocale locale)
{
setLocale(locale);
QDateTime now = QDateTime::currentDateTime();
shortDateFormat->setText(locale.toString(now.date(), QLocale::ShortFormat));
shortDateFormat->setToolTip(locale.dateFormat(QLocale::ShortFormat));
longDateFormat->setText(locale.toString(now.date(), QLocale::LongFormat));
longDateFormat->setToolTip(locale.dateFormat(QLocale::LongFormat));
shortTimeFormat->setText(locale.toString(now.time(), QLocale::ShortFormat));
shortTimeFormat->setToolTip(locale.timeFormat(QLocale::ShortFormat));
longTimeFormat->setText(locale.toString(now.time(), QLocale::LongFormat));
longTimeFormat->setToolTip(locale.timeFormat(QLocale::LongFormat));
shortDateTimeFormat->setText(locale.toString(now, QLocale::ShortFormat));
shortDateTimeFormat->setToolTip(locale.dateTimeFormat(QLocale::ShortFormat));
longDateTimeFormat->setText(locale.toString(now, QLocale::LongFormat));
longDateTimeFormat->setToolTip(locale.dateTimeFormat(QLocale::LongFormat));
amText->setText(locale.amText());
pmText->setText(locale.pmText());
firstDayOfWeek->setText(toString(locale.firstDayOfWeek()));
int mns = monthNamesShort->currentIndex();
int mnl = monthNamesLong->currentIndex();
int smns = standaloneMonthNamesShort->currentIndex();
int smnl = standaloneMonthNamesLong->currentIndex();
int dnl = dayNamesLong->currentIndex();
int dns = dayNamesShort->currentIndex();
int sdnl = standaloneDayNamesLong->currentIndex();
int sdns = standaloneDayNamesShort->currentIndex();
monthNamesShort->clear();
monthNamesLong->clear();
standaloneMonthNamesShort->clear();
standaloneMonthNamesLong->clear();
dayNamesLong->clear();
dayNamesShort->clear();
standaloneDayNamesLong->clear();
standaloneDayNamesShort->clear();
for (int i = 1; i <= 12; ++i)
monthNamesShort->addItem(locale.monthName(i, QLocale::ShortFormat));
monthNamesShort->setCurrentIndex(mns >= 0 ? mns : 0);
for (int i = 1; i <= 12; ++i)
monthNamesLong->addItem(locale.monthName(i, QLocale::LongFormat));
monthNamesLong->setCurrentIndex(mnl >= 0 ? mnl : 0);
for (int i = 1; i <= 12; ++i)
standaloneMonthNamesShort->addItem(locale.standaloneMonthName(i, QLocale::ShortFormat));
standaloneMonthNamesShort->setCurrentIndex(smns >= 0 ? smns : 0);
for (int i = 1; i <= 12; ++i)
standaloneMonthNamesLong->addItem(locale.standaloneMonthName(i, QLocale::LongFormat));
standaloneMonthNamesLong->setCurrentIndex(smnl >= 0 ? smnl : 0);
for (int i = 1; i <= 7; ++i)
dayNamesLong->addItem(locale.dayName(i, QLocale::LongFormat));
dayNamesLong->setCurrentIndex(dnl >= 0 ? dnl : 0);
for (int i = 1; i <= 7; ++i)
dayNamesShort->addItem(locale.dayName(i, QLocale::ShortFormat));
dayNamesShort->setCurrentIndex(dns >= 0 ? dns : 0);
for (int i = 1; i <= 7; ++i)
standaloneDayNamesLong->addItem(locale.standaloneDayName(i, QLocale::LongFormat));
standaloneDayNamesLong->setCurrentIndex(sdnl >= 0 ? sdnl : 0);
for (int i = 1; i <= 7; ++i)
standaloneDayNamesShort->addItem(locale.standaloneDayName(i, QLocale::ShortFormat));
standaloneDayNamesShort->setCurrentIndex(sdns >= 0 ? sdns : 0);
}