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:
Tasuku Suzuki
2023-01-16 10:46:18 +09:00
parent 7ecc507b75
commit b7efb22aa9

View File

@@ -107,6 +107,7 @@ struct SubmitEditorWidgetPrivate
QShortcut *m_submitShortcut = nullptr;
QActionPushButton *m_submitButton = nullptr;
QString m_description;
QTimer delayedVerifyDescriptionTimer;
int m_lineWidth = defaultLineWidth;
int m_activatedRow = -1;
@@ -149,6 +150,11 @@ SubmitEditorWidget::SubmitEditorWidget() :
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"));
groupBox->setObjectName("groupBox");
groupBox->setFlat(true);
@@ -589,7 +595,7 @@ void SubmitEditorWidget::verifyDescription()
enum { MinSubjectLength = 20, MaxSubjectLength = 72, WarningSubjectLength = 55 };
QStringList hints;
if (subjectLength < MinSubjectLength)
if (0 < subjectLength && subjectLength < MinSubjectLength)
hints.append(warning + tr("Warning: The commit subject is very short."));
if (subjectLength > MaxSubjectLength)
@@ -617,7 +623,7 @@ void SubmitEditorWidget::verifyDescription()
void SubmitEditorWidget::descriptionTextChanged()
{
d->m_description = cleanupDescription(d->description->toPlainText());
verifyDescription();
d->delayedVerifyDescriptionTimer.start();
wrapDescription();
trimDescription();
// append field entries