Skip to content
This repository has been archived by the owner on Feb 12, 2023. It is now read-only.

Commit

Permalink
feat(dateformat): Edit the date format string
Browse files Browse the repository at this point in the history
The edited date format string is saved in the qTox settings.
It is overwritten by selecting one of the default date format strings.
  • Loading branch information
antis81 authored and Diadlo committed Oct 7, 2016
1 parent 86a9c5f commit b308325
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 15 deletions.
37 changes: 26 additions & 11 deletions src/widget/form/settings/userinterfaceform.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,6 @@

static QStringList timeFormats = {"hh:mm AP", "hh:mm", "hh:mm:ss AP", "hh:mm:ss"};

// http://doc.qt.io/qt-4.8/qdate.html#fromString
static QStringList dateFormats = {"yyyy-MM-dd", "dd-MM-yyyy", "d-MM-yyyy", "dddd d-MM-yyyy", "dddd d-MM", "dddd dd MMMM"};

/**
* @brief Constructor of UserInterfaceForm.
* @param myParent Setting widget which will contain this form as tab.
Expand Down Expand Up @@ -128,18 +125,26 @@ UserInterfaceForm::UserInterfaceForm(SettingsWidget* myParent) :
bodyUI->timestamp->addItems(timestamps);

QLocale ql;
QStringList datestamps;
dateFormats.append(ql.dateFormat());
dateFormats.append(ql.dateFormat(QLocale::LongFormat));
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);
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));
for (QString format : dateFormats)
{
QString dateExample = QDate::currentDate().toString(format);
QString element = QString("%1 - %2").arg(format, dateExample);
bodyUI->dateFormats->addItem(element, format);
}

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())));

Expand Down Expand Up @@ -175,9 +180,19 @@ void UserInterfaceForm::on_timestamp_currentIndexChanged(int index)
Translator::translate();
}

void UserInterfaceForm::on_dateFormats_currentIndexChanged(int index)
void UserInterfaceForm::on_dateFormats_currentIndexChanged()
{
QString format = bodyUI->dateFormats->currentData().toString();
qDebug() << format;
Settings::getInstance().setDateFormat(format);
Translator::translate();
}

void UserInterfaceForm::on_dateFormats_editTextChanged()
{
Settings::getInstance().setDateFormat(dateFormats.at(index));
QString format = bodyUI->dateFormats->currentText();
qDebug() << format;
Settings::getInstance().setDateFormat(format);
Translator::translate();
}

Expand Down
3 changes: 2 additions & 1 deletion src/widget/form/settings/userinterfaceform.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ private slots:
void on_emoticonSize_editingFinished();
void on_styleBrowser_currentIndexChanged(QString style);
void on_timestamp_currentIndexChanged(int index);
void on_dateFormats_currentIndexChanged(int index);
void on_dateFormats_currentIndexChanged();
void on_dateFormats_editTextChanged();
void on_textStyleComboBox_currentTextChanged();
void on_useEmoticons_stateChanged();
void on_showWindow_stateChanged();
Expand Down
13 changes: 10 additions & 3 deletions src/widget/form/settings/userinterfacesettings.ui
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>1296</width>
<height>1009</height>
<width>1298</width>
<height>1011</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4" stretch="0,0,0,0,0,0">
Expand Down Expand Up @@ -490,7 +490,14 @@
</widget>
</item>
<item row="6" column="1">
<widget class="QComboBox" name="dateFormats"/>
<widget class="QComboBox" name="dateFormats">
<property name="editable">
<bool>true</bool>
</property>
<property name="insertPolicy">
<enum>QComboBox::NoInsert</enum>
</property>
</widget>
</item>
</layout>
</widget>
Expand Down

0 comments on commit b308325

Please sign in to comment.