vcsbase: simplify mapping of toggle buttons in EditorParameterWidget

Change-Id: I9fee337731999f9ed4820cd2b449e1d3db661f65
Merge-request: 331
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/254
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
This commit is contained in:
cerf
2011-05-31 08:31:25 +00:00
committed by Tobias Hunger
parent 6adf2c82a4
commit 05c0c2f4d8
2 changed files with 62 additions and 74 deletions

View File

@@ -38,6 +38,10 @@
#include <QtGui/QWidget>
#include <QtCore/QStringList>
QT_BEGIN_NAMESPACE
class QToolButton;
QT_END_NAMESPACE
namespace VCSBase {
class VCSBaseEditorParameterWidgetPrivate;
@@ -52,13 +56,13 @@ public:
QStringList baseArguments() const;
void setBaseArguments(const QStringList &);
void addToggleButton(const QString &option, const QString &label,
const QString &tooltip = QString());
void addIgnoreWhiteSpaceButton(const QString &option);
void addIgnoreBlankLinesButton(const QString &option);
QToolButton *addToggleButton(const QString &option, const QString &label,
const QString &tooltip = QString());
QToolButton *addIgnoreWhiteSpaceButton(const QString &option);
QToolButton *addIgnoreBlankLinesButton(const QString &option);
// Return the effective arguments according to setting.
QStringList arguments() const;
virtual QStringList arguments() const;
// Standard texts
static QString msgIgnoreWhiteSpaceLabel();
@@ -74,7 +78,20 @@ signals:
// Trigger a re-run to show changed output according to new argument list.
void argumentsChanged();
protected:
struct OptionMapping
{
OptionMapping();
OptionMapping(const QString &optName, QWidget *w);
QString optionName;
QWidget *widget;
};
const QList<OptionMapping> &optionMappings() const;
virtual QStringList argumentsForOption(const OptionMapping &mapping) const;
private:
friend class VCSBaseEditorParameterWidgetPrivate;
QScopedPointer<VCSBaseEditorParameterWidgetPrivate> d;
};