void Globalization::getFirstDayOfWeek(int scId, int ecId) { Q_UNUSED(ecId) QLocale locale; int res; if (locale.firstDayOfWeek() == Qt::Sunday) { res = 1; } else { res = (2 - Qt::Monday) + locale.firstDayOfWeek(); } QVariantMap obj; obj.insert("value", res); this->cb(scId, obj); }
void tst_QCalendarWidget::firstDayOfWeek() { // Ensure the default locale is chosen. QCalendarWidget calendar; QLocale locale; QCOMPARE(calendar.firstDayOfWeek(), locale.firstDayOfWeek()); QLocale germanLocale(QLocale::German); QLocale::setDefault(germanLocale); QCalendarWidget germanLocaleCalendar; QCOMPARE(germanLocaleCalendar.firstDayOfWeek(), germanLocale.firstDayOfWeek()); // Ensure calling setLocale works as well. QLocale frenchLocale(QLocale::French); calendar.setLocale(frenchLocale); QCOMPARE(calendar.firstDayOfWeek(), frenchLocale.firstDayOfWeek()); // Ensure that widget-specific locale takes precedence over default. QLocale::setDefault(QLocale::English); QCOMPARE(calendar.firstDayOfWeek(), frenchLocale.firstDayOfWeek()); // Ensure that setting the locale of parent widget has an effect. QWidget* parent = new QWidget; calendar.setParent(parent); QLocale hausaLocale(QLocale::Hausa); parent->setLocale(hausaLocale); QCOMPARE(calendar.firstDayOfWeek(), hausaLocale.firstDayOfWeek()); // Ensure that widget-specific locale takes precedence over parent. calendar.setLocale(germanLocale); // Sanity check... QCOMPARE(calendar.locale(), germanLocale); QCOMPARE(parent->locale(), hausaLocale); QCOMPARE(calendar.firstDayOfWeek(), germanLocale.firstDayOfWeek()); }
QV4::ReturnedValue QQmlLocaleData::method_get_firstDayOfWeek(QV4::CallContext *ctx) { QLocale *locale = getThisLocale(ctx); if (!locale) return QV4::Encode::undefined(); int fdow = int(locale->firstDayOfWeek()); if (fdow == 7) fdow = 0; // Qt::Sunday = 7, but Sunday is 0 in JS Date return QV4::Encode(fdow); }
bool QQuickMonthModelPrivate::populate(int m, int y, const QLocale &l, bool force) { Q_Q(QQuickMonthModel); if (!force && m == month && y == year && l.firstDayOfWeek() == locale.firstDayOfWeek()) return false; // The actual first (1st) day of the month. QDate firstDayOfMonthDate(y, m, 1); int difference = ((firstDayOfMonthDate.dayOfWeek() - l.firstDayOfWeek()) + 7) % 7; // The first day to display should never be the 1st of the month, as we want some days from // the previous month to be visible. if (difference == 0) difference += 7; QDate firstDateToDisplay = firstDayOfMonthDate.addDays(-difference); today = QDate::currentDate(); for (int i = 0; i < daysOnACalendarMonth; ++i) dates[i] = firstDateToDisplay.addDays(i); q->setTitle(l.standaloneMonthName(m) + QStringLiteral(" ") + QString::number(y)); return true; }
void CalendarWidget::localeChanged(QLocale locale) { calendar->setLocale(locale); firstDayCombo->setCurrentIndex(locale.firstDayOfWeek()-1); updateWeekendDays(); }
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); }