From e506bdba9307776ef062a72d9cce70be13c44c97 Mon Sep 17 00:00:00 2001
From: Tobias Hunger <tobias.hunger@nokia.com>
Date: Tue, 5 Oct 2010 16:31:26 +0200
Subject: [PATCH] Git: Improve handling of author information

Task-number: QTCREATORBUG-2610
Reviewed-by: Robert Loehning
---
 src/plugins/git/gitsubmiteditorwidget.cpp | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/plugins/git/gitsubmiteditorwidget.cpp b/src/plugins/git/gitsubmiteditorwidget.cpp
index d58a927fe2b..25e1a66693a 100644
--- a/src/plugins/git/gitsubmiteditorwidget.cpp
+++ b/src/plugins/git/gitsubmiteditorwidget.cpp
@@ -122,7 +122,6 @@ GitSubmitEditorWidget::GitSubmitEditorWidget(QWidget *parent) :
 
     m_emailValidator = new QRegExpValidator(QRegExp(QLatin1String("[^@ ]+@[^@ ]+\\.[a-zA-Z]+")), this);
 
-    m_gitSubmitPanelUi.emailLineEdit->setValidator(m_emailValidator);
     connect(m_gitSubmitPanelUi.authorLineEdit, SIGNAL(textChanged(QString)),
             this, SLOT(authorInformationChanged()));
     connect(m_gitSubmitPanelUi.emailLineEdit, SIGNAL(textChanged(QString)),
@@ -152,18 +151,21 @@ void GitSubmitEditorWidget::setPanelData(const GitSubmitEditorPanelData &data)
 
 bool GitSubmitEditorWidget::canSubmit() const
 {
-    if (m_gitSubmitPanelUi.authorLineEdit->text().isEmpty()
-        || !emailIsValid())
+    if (m_gitSubmitPanelUi.invalidAuthorLabel->isVisible()
+        || m_gitSubmitPanelUi.invalidEmailLabel->isVisible())
         return false;
     return SubmitEditorWidget::canSubmit();
 }
 
 void GitSubmitEditorWidget::authorInformationChanged()
 {
+    bool bothEmpty = m_gitSubmitPanelUi.authorLineEdit->text().isEmpty() &&
+            m_gitSubmitPanelUi.emailLineEdit->text().isEmpty();
+
     m_gitSubmitPanelUi.invalidAuthorLabel->
-            setVisible(m_gitSubmitPanelUi.authorLineEdit->text().isEmpty());
+            setVisible(m_gitSubmitPanelUi.authorLineEdit->text().isEmpty() && !bothEmpty);
     m_gitSubmitPanelUi.invalidEmailLabel->
-            setVisible(!emailIsValid());
+            setVisible(!emailIsValid() && !bothEmpty);
 
    updateSubmitAction();
 }
-- 
GitLab