diff --git a/plugins/appwizard/appwizardplugin.cpp b/plugins/appwizard/appwizardplugin.cpp --- a/plugins/appwizard/appwizardplugin.cpp +++ b/plugins/appwizard/appwizardplugin.cpp @@ -160,7 +160,7 @@ vcsError(i18n("Could not add files to the DVCS repository"), scratchArea, dest); return false; } - job = dvcs->commit(QStringLiteral("initial project import from KDevelop"), {dest}, + job = dvcs->commit(info.importCommitMessage, {dest}, KDevelop::IBasicVersionControl::Recursive); if (!job || !job->exec() || job->status() != VcsJob::JobSucceeded) { diff --git a/plugins/appwizard/projectvcspage.cpp b/plugins/appwizard/projectvcspage.cpp --- a/plugins/appwizard/projectvcspage.cpp +++ b/plugins/appwizard/projectvcspage.cpp @@ -51,6 +51,9 @@ m_ui->vcsImportOptions ); if( widget ) { + // untranslated on purpose, as English might be lingua franca at most target users + // perhaps make default string configurable if people request it + widget->setMessage(QStringLiteral("Initial import")); widget->setSourceLocationEditable( false ); widget->setUseSourceDirForDestination( true ); m_ui->vcsTypes->insertItem( idx, iface->name() ); diff --git a/plugins/cvs/importmetadatawidget.h b/plugins/cvs/importmetadatawidget.h --- a/plugins/cvs/importmetadatawidget.h +++ b/plugins/cvs/importmetadatawidget.h @@ -40,6 +40,7 @@ QString message() const override; void setSourceLocation( const KDevelop::VcsLocation& ) override; void setSourceLocationEditable( bool ) override; + void setMessage(const QString& message) override; bool hasValidData() const override; private: diff --git a/plugins/cvs/importmetadatawidget.cpp b/plugins/cvs/importmetadatawidget.cpp --- a/plugins/cvs/importmetadatawidget.cpp +++ b/plugins/cvs/importmetadatawidget.cpp @@ -68,6 +68,11 @@ m_ui->sourceLoc->setEnabled( enable ); } +void ImportMetadataWidget::setMessage(const QString& message) +{ + m_ui->comment->setText(message); +} + bool ImportMetadataWidget::hasValidData() const { return !m_ui->comment->toPlainText().isEmpty() && !m_ui->sourceLoc->text().isEmpty() diff --git a/plugins/subversion/svnimportmetadatawidget.h b/plugins/subversion/svnimportmetadatawidget.h --- a/plugins/subversion/svnimportmetadatawidget.h +++ b/plugins/subversion/svnimportmetadatawidget.h @@ -32,6 +32,7 @@ KDevelop::VcsLocation destination() const override; QString message() const override; void setUseSourceDirForDestination( bool ) override; + void setMessage(const QString& message) override; bool hasValidData() const override; private: Ui::SvnImportMetadataWidget *m_ui; diff --git a/plugins/subversion/svnimportmetadatawidget.cpp b/plugins/subversion/svnimportmetadatawidget.cpp --- a/plugins/subversion/svnimportmetadatawidget.cpp +++ b/plugins/subversion/svnimportmetadatawidget.cpp @@ -62,6 +62,11 @@ m_ui->srcEdit->setEnabled( enable ); } +void SvnImportMetadataWidget::setMessage(const QString& message) +{ + m_ui->message->setText(message); +} + QString SvnImportMetadataWidget::message() const { return m_ui->message->toPlainText(); diff --git a/vcs/dvcs/ui/dvcsimportmetadatawidget.h b/vcs/dvcs/ui/dvcsimportmetadatawidget.h --- a/vcs/dvcs/ui/dvcsimportmetadatawidget.h +++ b/vcs/dvcs/ui/dvcsimportmetadatawidget.h @@ -55,6 +55,7 @@ QString message() const override; //Is not used, it returns an empty string void setSourceLocation( const KDevelop::VcsLocation& ) override; void setSourceLocationEditable( bool ) override; + void setMessage(const QString& message) override; bool hasValidData() const override; private: diff --git a/vcs/dvcs/ui/dvcsimportmetadatawidget.cpp b/vcs/dvcs/ui/dvcsimportmetadatawidget.cpp --- a/vcs/dvcs/ui/dvcsimportmetadatawidget.cpp +++ b/vcs/dvcs/ui/dvcsimportmetadatawidget.cpp @@ -51,6 +51,7 @@ d->m_ui->sourceLoc->setMode( KFile::Directory ); connect( d->m_ui->sourceLoc, &KUrlRequester::textChanged, this, &DvcsImportMetadataWidget::changed ); connect( d->m_ui->sourceLoc, &KUrlRequester::urlSelected, this, &DvcsImportMetadataWidget::changed ); + connect(d->m_ui->message, &QTextEdit::textChanged, this, &DvcsImportMetadataWidget::changed); } DvcsImportMetadataWidget::~DvcsImportMetadataWidget() @@ -75,7 +76,8 @@ QString DvcsImportMetadataWidget::message( ) const { - return QString(); + Q_D(const DvcsImportMetadataWidget); + return d->m_ui->message->toPlainText(); } void DvcsImportMetadataWidget::setSourceLocation( const KDevelop::VcsLocation& url ) @@ -90,9 +92,15 @@ d->m_ui->sourceLoc->setEnabled( enable ); } +void DvcsImportMetadataWidget::setMessage(const QString& message) +{ + Q_D(DvcsImportMetadataWidget); + d->m_ui->message->setText(message); +} + bool DvcsImportMetadataWidget::hasValidData() const { Q_D(const DvcsImportMetadataWidget); - return !d->m_ui->sourceLoc->text().isEmpty(); + return !d->m_ui->message->toPlainText().isEmpty() && !d->m_ui->sourceLoc->text().isEmpty(); } diff --git a/vcs/dvcs/ui/dvcsimportmetadatawidget.ui b/vcs/dvcs/ui/dvcsimportmetadatawidget.ui --- a/vcs/dvcs/ui/dvcsimportmetadatawidget.ui +++ b/vcs/dvcs/ui/dvcsimportmetadatawidget.ui @@ -12,7 +12,10 @@ Import - + + + 0 + @@ -23,6 +26,23 @@ + + + + Commit Message: + + + + + + + + 0 + 1 + + + + @@ -32,6 +52,11 @@
kurlrequester.h
1 + + KTextEdit + QTextEdit +
ktextedit.h
+
diff --git a/vcs/widgets/vcsimportmetadatawidget.h b/vcs/widgets/vcsimportmetadatawidget.h --- a/vcs/widgets/vcsimportmetadatawidget.h +++ b/vcs/widgets/vcsimportmetadatawidget.h @@ -58,6 +58,7 @@ public Q_SLOTS: virtual void setSourceLocation( const VcsLocation& ) = 0; virtual void setSourceLocationEditable( bool ) = 0; + virtual void setMessage(const QString& message) = 0; }; }