forked from qt-creator/qt-creator
Bazaar: support of log format options
Change-Id: I85c8e9fb72b1f0175669a7e6c8d2a42f52bbff2d Merge-request: 351 Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com> Reviewed-on: http://codereview.qt.nokia.com/2332 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
This commit is contained in:
@@ -339,6 +339,50 @@ VCSBase::VCSBaseEditorParameterWidget *BazaarClient::createDiffEditor(
|
||||
return new BazaarDiffParameterWidget(this, parameters);
|
||||
}
|
||||
|
||||
class BazaarLogParameterWidget : public VCSBase::VCSBaseEditorParameterWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
BazaarLogParameterWidget(BazaarClient *client,
|
||||
const BazaarCommandParameters &p, QWidget *parent = 0) :
|
||||
VCSBase::VCSBaseEditorParameterWidget(parent), m_client(client), m_params(p)
|
||||
{
|
||||
mapSetting(addToggleButton(QLatin1String("--verbose"), tr("Verbose"),
|
||||
tr("Show files changed in each revision")),
|
||||
&m_client->settings()->logVerbose);
|
||||
mapSetting(addToggleButton(QLatin1String("--forward"), tr("Forward"),
|
||||
tr("Show from oldest to newest")),
|
||||
&m_client->settings()->logForward);
|
||||
mapSetting(addToggleButton(QLatin1String("--include-merges"), tr("Include merges"),
|
||||
tr("Show merged revisions")),
|
||||
&m_client->settings()->logIncludeMerges);
|
||||
|
||||
QList<ComboBoxItem> logChoices;
|
||||
logChoices << ComboBoxItem(tr("Detailed"), QLatin1String("long"))
|
||||
<< ComboBoxItem(tr("Moderately short"), QLatin1String("short"))
|
||||
<< ComboBoxItem(tr("One line"), QLatin1String("line"))
|
||||
<< ComboBoxItem(tr("GNU ChangeLog"), QLatin1String("gnu-changelog"));
|
||||
mapSetting(addComboBox(QLatin1String("--log-format"), logChoices),
|
||||
&m_client->settings()->logFormat);
|
||||
}
|
||||
|
||||
void executeCommand()
|
||||
{
|
||||
m_client->log(m_params.workingDir, m_params.files, m_params.extraOptions);
|
||||
}
|
||||
|
||||
private:
|
||||
BazaarClient* m_client;
|
||||
const BazaarCommandParameters m_params;
|
||||
};
|
||||
|
||||
VCSBase::VCSBaseEditorParameterWidget *BazaarClient::createLogEditor(
|
||||
const QString &workingDir, const QStringList &files, const QStringList &extraOptions)
|
||||
{
|
||||
const BazaarCommandParameters parameters(workingDir, files, extraOptions);
|
||||
return new BazaarLogParameterWidget(this, parameters);
|
||||
}
|
||||
|
||||
} //namespace Internal
|
||||
} // namespace Bazaar
|
||||
|
||||
|
||||
@@ -80,6 +80,9 @@ protected:
|
||||
const QStringList &extraOptions);
|
||||
QStringList logArguments(const QStringList &files,
|
||||
const QStringList &extraOptions) const;
|
||||
VCSBase::VCSBaseEditorParameterWidget *createLogEditor(const QString &workingDir,
|
||||
const QStringList &files,
|
||||
const QStringList &extraOptions);
|
||||
QStringList statusArguments(const QString &file) const;
|
||||
QStringList viewArguments(const QString &revision) const;
|
||||
|
||||
|
||||
@@ -40,10 +40,18 @@ namespace Internal {
|
||||
|
||||
const QLatin1String diffIgnoreWhiteSpaceKey("diffIgnoreWhiteSpace");
|
||||
const QLatin1String diffIgnoreBlankLinesKey("diffIgnoreBlankLines");
|
||||
const QLatin1String logVerboseKey("logVerbose");
|
||||
const QLatin1String logForwardKey("logForward");
|
||||
const QLatin1String logIncludeMergesKey("logIncludeMerges");
|
||||
const QLatin1String logFormatKey("logFormat");
|
||||
|
||||
BazaarSettings::BazaarSettings() :
|
||||
diffIgnoreWhiteSpace(false),
|
||||
diffIgnoreBlankLines(false)
|
||||
diffIgnoreBlankLines(false),
|
||||
logVerbose(false),
|
||||
logForward(false),
|
||||
logIncludeMerges(false),
|
||||
logFormat(QLatin1String("long"))
|
||||
{
|
||||
setSettingsGroup(QLatin1String(Constants::BAZAAR));
|
||||
setBinary(QLatin1String(Constants::BAZAARDEFAULT));
|
||||
@@ -55,6 +63,10 @@ BazaarSettings& BazaarSettings::operator=(const BazaarSettings& other)
|
||||
if (this != &other) {
|
||||
diffIgnoreWhiteSpace = other.diffIgnoreWhiteSpace;
|
||||
diffIgnoreBlankLines = other.diffIgnoreBlankLines;
|
||||
logVerbose = other.logVerbose;
|
||||
logForward = other.logForward;
|
||||
logIncludeMerges = other.logIncludeMerges;
|
||||
logFormat = other.logFormat;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
@@ -70,6 +82,10 @@ void BazaarSettings::writeSettings(QSettings *settings) const
|
||||
settings->beginGroup(settingsGroup());
|
||||
settings->setValue(diffIgnoreWhiteSpaceKey, diffIgnoreWhiteSpace);
|
||||
settings->setValue(diffIgnoreBlankLinesKey, diffIgnoreBlankLines);
|
||||
settings->setValue(logVerboseKey, logVerbose);
|
||||
settings->setValue(logForwardKey, logForward);
|
||||
settings->setValue(logIncludeMergesKey, logIncludeMerges);
|
||||
settings->setValue(logFormatKey, logFormat);
|
||||
settings->endGroup();
|
||||
}
|
||||
|
||||
@@ -79,6 +95,10 @@ void BazaarSettings::readSettings(const QSettings *settings)
|
||||
const QString keyRoot = settingsGroup() + QLatin1Char('/');
|
||||
diffIgnoreWhiteSpace = settings->value(keyRoot + diffIgnoreWhiteSpaceKey, false).toBool();
|
||||
diffIgnoreBlankLines = settings->value(keyRoot + diffIgnoreBlankLinesKey, false).toBool();
|
||||
logVerbose = settings->value(keyRoot + logVerboseKey, false).toBool();
|
||||
logForward = settings->value(keyRoot + logForwardKey, false).toBool();
|
||||
logIncludeMerges = settings->value(keyRoot + logIncludeMergesKey, false).toBool();
|
||||
logFormat = settings->value(keyRoot + logFormatKey, QLatin1String("long")).toString();
|
||||
}
|
||||
|
||||
bool BazaarSettings::equals(const VCSBaseClientSettings &rhs) const
|
||||
@@ -88,7 +108,11 @@ bool BazaarSettings::equals(const VCSBaseClientSettings &rhs) const
|
||||
return false;
|
||||
return VCSBaseClientSettings::equals(rhs)
|
||||
&& diffIgnoreWhiteSpace == bzrRhs->diffIgnoreWhiteSpace
|
||||
&& diffIgnoreBlankLines == bzrRhs->diffIgnoreBlankLines;
|
||||
&& diffIgnoreBlankLines == bzrRhs->diffIgnoreBlankLines
|
||||
&& logVerbose == bzrRhs->logVerbose
|
||||
&& logForward == bzrRhs->logForward
|
||||
&& logIncludeMerges == bzrRhs->logIncludeMerges
|
||||
&& logFormat == bzrRhs->logFormat;
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
@@ -51,6 +51,11 @@ public:
|
||||
|
||||
bool diffIgnoreWhiteSpace;
|
||||
bool diffIgnoreBlankLines;
|
||||
|
||||
bool logVerbose;
|
||||
bool logForward;
|
||||
bool logIncludeMerges;
|
||||
QString logFormat;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
Reference in New Issue
Block a user