forked from qt-creator/qt-creator
Git: improve "The commit subject is very short."
- Hide it when commit subject is empty (initial state) - Delay the check 500ms for commiter to focus writing commit message Change-Id: Ia111bb01d2819750e053e06875d529a14d1ac07d Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -107,6 +107,7 @@ struct SubmitEditorWidgetPrivate
|
|||||||
QShortcut *m_submitShortcut = nullptr;
|
QShortcut *m_submitShortcut = nullptr;
|
||||||
QActionPushButton *m_submitButton = nullptr;
|
QActionPushButton *m_submitButton = nullptr;
|
||||||
QString m_description;
|
QString m_description;
|
||||||
|
QTimer delayedVerifyDescriptionTimer;
|
||||||
|
|
||||||
int m_lineWidth = defaultLineWidth;
|
int m_lineWidth = defaultLineWidth;
|
||||||
int m_activatedRow = -1;
|
int m_activatedRow = -1;
|
||||||
@@ -149,6 +150,11 @@ SubmitEditorWidget::SubmitEditorWidget() :
|
|||||||
|
|
||||||
d->descriptionLayout->addWidget(d->description);
|
d->descriptionLayout->addWidget(d->description);
|
||||||
|
|
||||||
|
d->delayedVerifyDescriptionTimer.setSingleShot(true);
|
||||||
|
d->delayedVerifyDescriptionTimer.setInterval(500);
|
||||||
|
connect(&d->delayedVerifyDescriptionTimer, &QTimer::timeout,
|
||||||
|
this, &SubmitEditorWidget::verifyDescription);
|
||||||
|
|
||||||
auto groupBox = new QGroupBox(tr("F&iles"));
|
auto groupBox = new QGroupBox(tr("F&iles"));
|
||||||
groupBox->setObjectName("groupBox");
|
groupBox->setObjectName("groupBox");
|
||||||
groupBox->setFlat(true);
|
groupBox->setFlat(true);
|
||||||
@@ -589,7 +595,7 @@ void SubmitEditorWidget::verifyDescription()
|
|||||||
|
|
||||||
enum { MinSubjectLength = 20, MaxSubjectLength = 72, WarningSubjectLength = 55 };
|
enum { MinSubjectLength = 20, MaxSubjectLength = 72, WarningSubjectLength = 55 };
|
||||||
QStringList hints;
|
QStringList hints;
|
||||||
if (subjectLength < MinSubjectLength)
|
if (0 < subjectLength && subjectLength < MinSubjectLength)
|
||||||
hints.append(warning + tr("Warning: The commit subject is very short."));
|
hints.append(warning + tr("Warning: The commit subject is very short."));
|
||||||
|
|
||||||
if (subjectLength > MaxSubjectLength)
|
if (subjectLength > MaxSubjectLength)
|
||||||
@@ -617,7 +623,7 @@ void SubmitEditorWidget::verifyDescription()
|
|||||||
void SubmitEditorWidget::descriptionTextChanged()
|
void SubmitEditorWidget::descriptionTextChanged()
|
||||||
{
|
{
|
||||||
d->m_description = cleanupDescription(d->description->toPlainText());
|
d->m_description = cleanupDescription(d->description->toPlainText());
|
||||||
verifyDescription();
|
d->delayedVerifyDescriptionTimer.start();
|
||||||
wrapDescription();
|
wrapDescription();
|
||||||
trimDescription();
|
trimDescription();
|
||||||
// append field entries
|
// append field entries
|
||||||
|
Reference in New Issue
Block a user