From 0b1a6e6db51db68f13935c7135b8999f7be313b1 Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 <0xFEEDC0DE64@gmail.com> Date: Sun, 27 May 2018 19:24:21 +0200 Subject: [PATCH] Date and time formatting now uses QLocale --- plugins/absenceplugin/absencedialog.cpp | 3 +- plugins/lunchmealplugin/lunchmealdialog.cpp | 3 +- plugins/profileplugin/profiledialog.cpp | 4 +- plugins/profileplugin/profiledialog.ui | 68 ++++++++++++++++----- zeiterfassungguilib/stripswidget.cpp | 29 ++++----- zeiterfassungguilib/stripswidget.h | 2 - 6 files changed, 71 insertions(+), 38 deletions(-) diff --git a/plugins/absenceplugin/absencedialog.cpp b/plugins/absenceplugin/absencedialog.cpp index 3706455..40c66fa 100644 --- a/plugins/absenceplugin/absencedialog.cpp +++ b/plugins/absenceplugin/absencedialog.cpp @@ -2,6 +2,7 @@ #include "ui_absencedialog.h" #include +#include #include #include #include @@ -15,7 +16,7 @@ AbsenceDialog::AbsenceDialog(int userId, const QDate &date, ZeiterfassungApi &er { ui->setupUi(this); - ui->labelTitle->setText(tr("Absences for %0").arg(date.toString(tr("dd.MM.yyyy")))); + ui->labelTitle->setText(tr("Absences for %0").arg(QLocale().toString(date))); m_model = new AbsencesModel(userId, date, erfassung, this); connect(m_model, &AbsencesModel::errorOccured, this, &AbsenceDialog::errorOccured); diff --git a/plugins/lunchmealplugin/lunchmealdialog.cpp b/plugins/lunchmealplugin/lunchmealdialog.cpp index 972de57..2bed534 100644 --- a/plugins/lunchmealplugin/lunchmealdialog.cpp +++ b/plugins/lunchmealplugin/lunchmealdialog.cpp @@ -2,6 +2,7 @@ #include "ui_lunchmealdialog.h" #include +#include LunchMealDialog::LunchMealDialog(const QDate &date, const QString &content, QWidget *parent) : ZeiterfassungDialog(parent), @@ -9,7 +10,7 @@ LunchMealDialog::LunchMealDialog(const QDate &date, const QString &content, QWid { ui->setupUi(this); - ui->labelTitle->setText(tr("Lunch meal for %0").arg(date.toString(tr("dd.MM.yyyy")))); + ui->labelTitle->setText(tr("Lunch meal for %0").arg(QLocale().toString(date))); ui->labelLunchMeal->setText(content); } diff --git a/plugins/profileplugin/profiledialog.cpp b/plugins/profileplugin/profiledialog.cpp index 92bddae..38538be 100644 --- a/plugins/profileplugin/profiledialog.cpp +++ b/plugins/profileplugin/profiledialog.cpp @@ -14,8 +14,8 @@ ProfileDialog::ProfileDialog(const GetUserInfoReply::UserInfo &userInfo, QWidget ui->lineEditUsername->setText(userInfo.username); ui->lineEditStreet->setText(userInfo.street); ui->lineEditCity->setText(userInfo.city); - ui->lineEditEmployedSince->setText(userInfo.employedSince.toString(tr("dd.MM.yyyy"))); - ui->lineEditEmployedTill->setText(userInfo.employedTill.toString(tr("dd.MM.yyyy"))); + ui->dateEditEmployedSince->setDate(userInfo.employedSince); + ui->dateEditEmployedTill->setDate(userInfo.employedTill); ui->lineEditPlaceOfBirth->setText(userInfo.placeOfBirth); ui->lineEditZipcode->setText(userInfo.zipcode); ui->lineEditReligion->setText(userInfo.religion); diff --git a/plugins/profileplugin/profiledialog.ui b/plugins/profileplugin/profiledialog.ui index 3ce9181..252749c 100644 --- a/plugins/profileplugin/profiledialog.ui +++ b/plugins/profileplugin/profiledialog.ui @@ -13,7 +13,7 @@ Profile - + @@ -25,7 +25,7 @@ 0 0 420 - 540 + 610 @@ -122,6 +122,9 @@ Street: + + lineEditStreet + @@ -129,6 +132,9 @@ City: + + lineEditCity + @@ -136,6 +142,9 @@ Employed since: + + dateEditEmployedSince + @@ -143,6 +152,9 @@ Employed till: + + dateEditEmployedTill + @@ -150,6 +162,9 @@ Place of birth: + + lineEditPlaceOfBirth + @@ -157,6 +172,9 @@ Zipcode: + + lineEditZipcode + @@ -164,6 +182,9 @@ Religion: + + lineEditReligion + @@ -171,6 +192,9 @@ Department: + + lineEditDepartment + @@ -178,6 +202,9 @@ Verwendgr: + + lineEditVerwendgr + @@ -185,6 +212,9 @@ Taetig: + + lineEditTaetig + @@ -192,6 +222,9 @@ Arbverh: + + lineEditArbverh + @@ -199,6 +232,9 @@ Betriebsnr: + + lineEditBetriebsnr + @@ -215,20 +251,6 @@ - - - - true - - - - - - - true - - - @@ -285,6 +307,20 @@ + + + + true + + + + + + + true + + + diff --git a/zeiterfassungguilib/stripswidget.cpp b/zeiterfassungguilib/stripswidget.cpp index f4c74df..e2e9ec6 100644 --- a/zeiterfassungguilib/stripswidget.cpp +++ b/zeiterfassungguilib/stripswidget.cpp @@ -1,6 +1,7 @@ #include "stripswidget.h" #include +#include #include #include #include @@ -12,9 +13,6 @@ #include "timeutils.h" #include "stripfactory.h" -const QStringList StripsWidget::m_weekDays { tr("Monday"), tr("Tuesday"), - tr("Wednesday"), tr("Thursday"), tr("Friday"), tr("Saturday"), tr("Sunday") }; - StripsWidget::StripsWidget(MainWindow &mainWindow, QWidget *parent) : QFrame(parent), m_mainWindow(mainWindow), @@ -87,9 +85,7 @@ void StripsWidget::setDate(const QDate &date) Q_EMIT dateChanged(m_date = date); if(m_date.isValid()) - m_label[0]->setText(tr("%0 (%1)") - .arg(m_weekDays.at(m_date.dayOfWeek() - 1)) - .arg(m_date.toString(tr("dd.MM.yyyy")))); + m_label[0]->setText(QLocale().toString(m_date, QLocale::LongFormat)); else m_label[0]->setText(tr("Invalid")); @@ -313,7 +309,7 @@ bool StripsWidget::createStrips() if(lastBooking) { auto breakTime = timeBetween(lastBooking->time, startBooking.time); - auto label = new QLabel(tr("%0: %1").arg(tr("Break")).arg(tr("%0h").arg(breakTime.toString(tr("HH:mm")))), this); + auto label = new QLabel(tr("%0: %1").arg(tr("Break")).arg(tr("%0h").arg(QLocale().toString(breakTime, QLocale::ShortFormat))), this); m_stripsLayout->addWidget(label); } @@ -420,7 +416,7 @@ bool StripsWidget::createStrips() if(timeAssignmentsIter == m_timeAssignments.constEnd()) { errorMessage = tr("Missing time assignment! Missing: %0") - .arg(tr("%0h").arg(timeBetween(timeAssignmentTime, bookingTimespan).toString(tr("HH:mm:ss")))); + .arg(tr("%0h").arg(QLocale().toString(timeBetween(timeAssignmentTime, bookingTimespan), QLocale::ShortFormat))); appendBookingEndStrip(endBooking.id, endBooking.time, currBookingDuration); @@ -464,8 +460,8 @@ bool StripsWidget::createStrips() if(timeAssignmentTime > bookingTimespan) { errorMessage = tr("Time assignment time longer than booking time!\nTime assignment: %0\nBooking: %1") - .arg(timeAssignmentTime.toString(tr("HH:mm:ss"))) - .arg(bookingTimespan.toString(tr("HH:mm:ss"))); + .arg(QLocale().toString(timeAssignmentTime, QLocale::ShortFormat)) + .arg(QLocale().toString(bookingTimespan, QLocale::ShortFormat)); } appendBookingEndStrip(endBooking.id, endBooking.time, currBookingDuration); @@ -483,7 +479,7 @@ bool StripsWidget::createStrips() { auto label = new QLabel(tr("%0: %1") .arg(tr("Assigned time")) - .arg(tr("%0h").arg(timeAssignmentTime.toString(tr("HH:mm")))), this); + .arg(tr("%0h").arg(QLocale().toString(timeAssignmentTime, QLocale::ShortFormat))), this); m_stripsLayout->addWidget(label); } else @@ -532,7 +528,8 @@ void StripsWidget::getDayinfoFinished() { Q_EMIT dayinfoChanged(m_dayinfo = m_getDayinfoReply->dayinfos().first()); - m_label[1]->setText(QString("%0 - %1").arg(m_dayinfo.soll.toString("HH:mm")).arg(m_dayinfo.ist.toString("HH:mm"))); + m_label[1]->setText(QString("%0 - %1").arg(QLocale().toString(m_dayinfo.soll, QLocale::ShortFormat), + QLocale().toString(m_dayinfo.ist, QLocale::ShortFormat))); } void StripsWidget::getBookingsFinished() @@ -601,7 +598,7 @@ QWidget *StripsWidget::appendBookingStartStrip(int id, const QTime &time) auto widget = m_mainWindow.stripFactory().createBookingStartStrip(this).release(); if(auto labelTime = widget->findChild(QStringLiteral("labelTime"))) - labelTime->setProperty("text", time.toString(tr("HH:mm"))); + labelTime->setProperty("text", QLocale().toString(time, QLocale::ShortFormat)); else qWarning() << "no labelTime found!"; @@ -620,12 +617,12 @@ QWidget *StripsWidget::appendBookingEndStrip(int id, const QTime &time, const QT auto widget = m_mainWindow.stripFactory().createBookingEndStrip(this).release(); if(auto labelTime = widget->findChild(QStringLiteral("labelTime"))) - labelTime->setProperty("text", time.toString(tr("HH:mm"))); + labelTime->setProperty("text", QLocale().toString(time, QLocale::ShortFormat)); else qWarning() << "no labelTime found!"; if(auto labelDuration = widget->findChild(QStringLiteral("labelDuration"))) - labelDuration->setProperty("text", tr("%0h").arg(duration.toString(tr("HH:mm")))); + labelDuration->setProperty("text", tr("%0h").arg(QLocale().toString(duration, QLocale::ShortFormat))); else qWarning() << "no labelDuration found!"; @@ -644,7 +641,7 @@ QWidget *StripsWidget::appendTimeAssignmentStrip(int id, const QTime &duration, auto widget = m_mainWindow.stripFactory().createTimeAssignmentStrip(this).release(); if(auto labelTime = widget->findChild(QStringLiteral("labelTime"))) - labelTime->setProperty("text", duration == QTime(0, 0) ? tr("Open") : duration.toString(tr("HH:mm"))); + labelTime->setProperty("text", duration == QTime(0, 0) ? tr("Open") : QLocale().toString(duration, QLocale::ShortFormat)); else qWarning() << "no labelTime found!"; diff --git a/zeiterfassungguilib/stripswidget.h b/zeiterfassungguilib/stripswidget.h index ebeb961..f7c852f 100644 --- a/zeiterfassungguilib/stripswidget.h +++ b/zeiterfassungguilib/stripswidget.h @@ -117,6 +117,4 @@ private: std::unique_ptr m_getDayinfoReply; std::unique_ptr m_getBookingsReply; std::unique_ptr m_getTimeAssignmentsReply; - - static const QStringList m_weekDays; };