From a4a8d9c49fb9568ab7bb679c71e809790f742e88 Mon Sep 17 00:00:00 2001
From: Orgad Shaneh <orgads@gmail.com>
Date: Fri, 15 Jun 2012 07:43:09 +0300
Subject: [PATCH] VCS: Replace isDescriptionMandatory() virtual function with a
 member

Change-Id: Id7be95e9d20450d57cfd4f2fcae0088e6b67c2ec
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
---
 src/libs/utils/submiteditorwidget.cpp       | 19 +++++++++++++------
 src/libs/utils/submiteditorwidget.h         |  5 ++++-
 src/plugins/vcsbase/vcsbasesubmiteditor.cpp | 10 ++++++++++
 src/plugins/vcsbase/vcsbasesubmiteditor.h   |  3 +++
 4 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/src/libs/utils/submiteditorwidget.cpp b/src/libs/utils/submiteditorwidget.cpp
index c3127f6b023..33426e918c3 100644
--- a/src/libs/utils/submiteditorwidget.cpp
+++ b/src/libs/utils/submiteditorwidget.cpp
@@ -178,6 +178,7 @@ struct SubmitEditorWidgetPrivate
 
     bool m_commitEnabled;
     bool m_ignoreChange;
+    bool m_descriptionMandatory;
 };
 
 SubmitEditorWidgetPrivate::SubmitEditorWidgetPrivate() :
@@ -189,7 +190,8 @@ SubmitEditorWidgetPrivate::SubmitEditorWidgetPrivate() :
     m_submitShortcut(0),
     m_lineWidth(defaultLineWidth),
     m_commitEnabled(false),
-    m_ignoreChange(false)
+    m_ignoreChange(false),
+    m_descriptionMandatory(true)
 {
 }
 
@@ -376,6 +378,16 @@ void SubmitEditorWidget::setLineWrapWidth(int v)
         d->m_ui.description->setLineWrapColumnOrWidth(v);
 }
 
+bool SubmitEditorWidget::isDescriptionMandatory() const
+{
+    return d->m_descriptionMandatory;
+}
+
+void SubmitEditorWidget::setDescriptionMandatory(bool v)
+{
+    d->m_descriptionMandatory = v;
+}
+
 int SubmitEditorWidget::fileNameColumn() const
 {
     return d->m_fileNameColumn;
@@ -554,11 +566,6 @@ int SubmitEditorWidget::checkedFilesCount() const
     return checkedCount;
 }
 
-bool SubmitEditorWidget::isDescriptionMandatory() const
-{
-    return true;
-}
-
 QString SubmitEditorWidget::cleanupDescription(const QString &input) const
 {
     return input;
diff --git a/src/libs/utils/submiteditorwidget.h b/src/libs/utils/submiteditorwidget.h
index 641cbfea67a..027b13b2fe4 100644
--- a/src/libs/utils/submiteditorwidget.h
+++ b/src/libs/utils/submiteditorwidget.h
@@ -60,6 +60,7 @@ class QTCREATOR_UTILS_EXPORT SubmitEditorWidget : public QWidget
     Q_PROPERTY(QAbstractItemView::SelectionMode fileListSelectionMode READ fileListSelectionMode WRITE setFileListSelectionMode DESIGNABLE true)
     Q_PROPERTY(bool lineWrap READ lineWrap WRITE setLineWrap DESIGNABLE true)
     Q_PROPERTY(int lineWrapWidth READ lineWrapWidth WRITE setLineWrapWidth DESIGNABLE true)
+    Q_PROPERTY(bool descriptionMandatory READ isDescriptionMandatory WRITE setDescriptionMandatory DESIGNABLE false)
     Q_PROPERTY(bool emptyFileListEnabled READ isEmptyFileListEnabled WRITE setEmptyFileListEnabled DESIGNABLE true)
 
 public:
@@ -90,6 +91,9 @@ public:
     int lineWrapWidth() const;
     void setLineWrapWidth(int);
 
+    bool isDescriptionMandatory() const;
+    void setDescriptionMandatory(bool);
+
     QAbstractItemView::SelectionMode fileListSelectionMode() const;
     void setFileListSelectionMode(QAbstractItemView::SelectionMode sm);
 
@@ -125,7 +129,6 @@ private slots:
     void uncheckAll();
 
 protected:
-    virtual bool isDescriptionMandatory() const;
     virtual QString cleanupDescription(const QString &) const;
     virtual void changeEvent(QEvent *e);
     virtual QString commitName() const;
diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
index c4e01a8be68..31429fef168 100644
--- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
+++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
@@ -570,6 +570,16 @@ bool VcsBaseSubmitEditor::setFileContents(const QString &contents)
     return true;
 }
 
+bool VcsBaseSubmitEditor::isDescriptionMandatory() const
+{
+    return d->m_widget->isDescriptionMandatory();
+}
+
+void VcsBaseSubmitEditor::setDescriptionMandatory(bool v)
+{
+    d->m_widget->setDescriptionMandatory(v);
+}
+
 enum { checkDialogMinimumWidth = 500 };
 
 VcsBaseSubmitEditor::PromptSubmitResult
diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.h b/src/plugins/vcsbase/vcsbasesubmiteditor.h
index e9536ed190d..c873850ac0f 100644
--- a/src/plugins/vcsbase/vcsbasesubmiteditor.h
+++ b/src/plugins/vcsbase/vcsbasesubmiteditor.h
@@ -172,6 +172,9 @@ protected:
     virtual QByteArray fileContents() const;
     virtual bool setFileContents(const QString &contents);
 
+    void setDescriptionMandatory(bool v);
+    bool isDescriptionMandatory() const;
+
 private:
     void createUserFields(const QString &fieldConfigFile);
     bool checkSubmitMessage(QString *errorMessage) const;
-- 
GitLab