This commit is contained in:
Martin Rotter 2013-11-24 21:00:40 +01:00
parent 233832f496
commit a43b1742b0
9 changed files with 11 additions and 62 deletions

View File

@ -221,7 +221,6 @@ set(APP_SOURCES
src/core/debugging.cpp src/core/debugging.cpp
src/core/settings.cpp src/core/settings.cpp
src/core/systemfactory.cpp src/core/systemfactory.cpp
src/core/datetime.cpp
src/core/localization.cpp src/core/localization.cpp
src/core/dynamicshortcuts.cpp src/core/dynamicshortcuts.cpp
src/core/basenetworkaccessmanager.cpp src/core/basenetworkaccessmanager.cpp

View File

@ -92,8 +92,8 @@ QSqlDatabase DatabaseFactory::initialize(const QString &connection_name) {
QString::SkipEmptyParts); QString::SkipEmptyParts);
database.exec("BEGIN TRANSACTION"); database.exec("BEGIN TRANSACTION");
foreach(QString i, statements) { foreach(const QString &statement, statements) {
query = database.exec(i); query = database.exec(statement);
if (query.lastError().isValid()) { if (query.lastError().isValid()) {
qFatal("Database initialization failed. Initialization script '%s' is not correct.", qFatal("Database initialization failed. Initialization script '%s' is not correct.",
APP_DB_INIT_FILE); APP_DB_INIT_FILE);

View File

@ -1,33 +0,0 @@
#include <QLocale>
#include <QRegExp>
#include <QStringList>
#include "core/datetime.h"
DateTime::DateTime() {
}
QDateTime DateTime::fromString(const QString &date_time) {
QString date = date_time.simplified();
QDateTime dt;
QString temp;
QLocale locale(QLocale::C);
QStringList date_patterns;
date_patterns << "yyyy-MM-ddTHH:mm:ss" << "MMM dd yyyy hh:mm:ss" <<
"MMM hd yyyy hh:mm:ss" << "ddd, dd MMM yyyy HH:mm:ss" <<
"dd MMM yyyy" << "yyyy-MM-dd HH:mm:ss.z" << "yyyy-MM-dd";
// Iterate over patterns and check if input date/time matches the pattern.
foreach (QString pattern, date_patterns) {
temp = date.left(pattern.size());
dt = locale.toDateTime(temp, pattern);
if (dt.isValid()) {
return dt;
}
}
qWarning("Problem with parsing date '%s', returning invalid QDateTime instance.",
qPrintable(date));
return QDateTime();
}

View File

@ -1,18 +0,0 @@
#ifndef DATE_H
#define DATE_H
#include <QDateTime>
class DateTime {
private:
explicit DateTime();
public:
// Returns QDatetime instance from input QString.
// If parsing fails, then invalid QDateTime is returned.
// NOTE: Format of input date-time string is brute-force-determined.
static QDateTime fromString(const QString &date_time);
};
#endif // DATE_H

View File

@ -19,7 +19,7 @@ QList<Language> Localization::getInstalledLanguages() {
QDir::Name); QDir::Name);
QTranslator translator; QTranslator translator;
foreach (QFileInfo file, file_list) { foreach (const QFileInfo &file, file_list) {
if (translator.load(file.absoluteFilePath())) { if (translator.load(file.absoluteFilePath())) {
Language new_language; Language new_language;
new_language.m_name = translator.translate("QObject", "LANG_NAME"); new_language.m_name = translator.translate("QObject", "LANG_NAME");

View File

@ -5,7 +5,7 @@
#include "qtsingleapplication/qtsingleapplication.h" #include "qtsingleapplication/qtsingleapplication.h"
#include "core/defs.h" #include "core/defs.h"
#include "core/datetime.h" #include "core/textfactory.h"
#include "core/messagesmodel.h" #include "core/messagesmodel.h"
#include "core/databasefactory.h" #include "core/databasefactory.h"
#include "gui/iconthemefactory.h" #include "gui/iconthemefactory.h"
@ -82,7 +82,7 @@ Message MessagesModel::messageAt(int row_index) const {
message.m_contents = rec.value(MSG_DB_CONTENTS_INDEX).toString(); message.m_contents = rec.value(MSG_DB_CONTENTS_INDEX).toString();
message.m_title = rec.value(MSG_DB_TITLE_INDEX).toString(); message.m_title = rec.value(MSG_DB_TITLE_INDEX).toString();
message.m_url = rec.value(MSG_DB_URL_INDEX).toString(); message.m_url = rec.value(MSG_DB_URL_INDEX).toString();
message.m_updated = DateTime::fromString(rec.value(MSG_DB_DUPDATED_INDEX).toString()); message.m_updated = TextFactory::parseDateTime(rec.value(MSG_DB_DUPDATED_INDEX).toString());
return message; return message;
} }

View File

@ -1,6 +1,5 @@
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <QDateTime>
#include <QLocale> #include <QLocale>
#include <QRegExp> #include <QRegExp>
@ -27,7 +26,7 @@ QDateTime TextFactory::parseDateTime(const QString &date_time) {
"YYYY-MM-DDThh:mm:ssTZD"; "YYYY-MM-DDThh:mm:ssTZD";
// Iterate over patterns and check if input date/time matches the pattern. // Iterate over patterns and check if input date/time matches the pattern.
foreach (QString pattern, date_patterns) { foreach (const QString &pattern, date_patterns) {
temp = date.left(pattern.size()); temp = date.left(pattern.size());
dt = locale.toDateTime(temp, pattern); dt = locale.toDateTime(temp, pattern);
if (dt.isValid()) { if (dt.isValid()) {

View File

@ -1,6 +1,8 @@
#ifndef TEXTFACTORY_H #ifndef TEXTFACTORY_H
#define TEXTFACTORY_H #define TEXTFACTORY_H
#include <QDateTime>
#include "core/defs.h" #include "core/defs.h"

View File

@ -1,7 +1,7 @@
#include <QFile> #include <QFile>
#include <QTextStream> #include <QTextStream>
#include "core/datetime.h" #include "core/textfactory.h"
#include "gui/formabout.h" #include "gui/formabout.h"
#include "gui/iconthemefactory.h" #include "gui/iconthemefactory.h"
@ -64,8 +64,8 @@ FormAbout::FormAbout(QWidget *parent) : QDialog(parent), m_ui(new Ui::FormAbout)
CMAKE_SYSTEM, CMAKE_SYSTEM,
CMAKE_VERSION, CMAKE_VERSION,
APP_REVISION, APP_REVISION,
DateTime::fromString(QString("%1 %2").arg(__DATE__, TextFactory::parseDateTime(QString("%1 %2").arg(__DATE__,
__TIME__)).toString(Qt::DefaultLocaleShortDate), __TIME__)).toString(Qt::DefaultLocaleShortDate),
QT_VERSION_STR, QT_VERSION_STR,
qVersion(), qVersion(),
APP_NAME)); APP_NAME));