Skip to content
Snippets Groups Projects
Commit e776c1f0 authored by cerf's avatar cerf Committed by Tobias Hunger
Browse files

Bazaar: support of log format options


Change-Id: I85c8e9fb72b1f0175669a7e6c8d2a42f52bbff2d
Merge-request: 351
Reviewed-by: default avatarTobias Hunger <tobias.hunger@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/2332


Reviewed-by: default avatarQt Sanity Bot <qt_sanity_bot@ovi.com>
parent c8178a5f
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment