projectexplorer: de-pimpl ToolChainConfigWidget

It contained only two pointers. Not worth the overhead.

Change-Id: I512ddfe588b8d072072b8155b4418a2b8e8c4da0
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
hjk
2012-07-17 14:03:45 +02:00
parent 28b5c1deec
commit 71bb045520
2 changed files with 28 additions and 57 deletions

View File

@@ -42,52 +42,23 @@
#include <QGridLayout> #include <QGridLayout>
#include <QLineEdit> #include <QLineEdit>
#include <QLabel> #include <QLabel>
#include <QPushButton>
namespace ProjectExplorer { namespace ProjectExplorer {
namespace Internal {
// --------------------------------------------------------------------------
// ToolChainConfigWidgetPrivate
// --------------------------------------------------------------------------
class ToolChainConfigWidgetPrivate
{
public:
ToolChainConfigWidgetPrivate(ToolChain *tc) :
m_toolChain(tc), m_errorLabel(0)
{
QTC_CHECK(tc);
}
ToolChain *m_toolChain;
QLabel *m_errorLabel;
};
} // namespace Internal
// --------------------------------------------------------------------------
// ToolChainConfigWidget
// --------------------------------------------------------------------------
ToolChainConfigWidget::ToolChainConfigWidget(ToolChain *tc) : ToolChainConfigWidget::ToolChainConfigWidget(ToolChain *tc) :
d(new Internal::ToolChainConfigWidgetPrivate(tc)) m_toolChain(tc), m_errorLabel(0)
{ {
} QTC_CHECK(tc);
ToolChainConfigWidget::~ToolChainConfigWidget()
{
delete d;
} }
void ToolChainConfigWidget::setDisplayName(const QString &name) void ToolChainConfigWidget::setDisplayName(const QString &name)
{ {
d->m_toolChain->setDisplayName(name); m_toolChain->setDisplayName(name);
} }
ToolChain *ToolChainConfigWidget::toolChain() const ToolChain *ToolChainConfigWidget::toolChain() const
{ {
return d->m_toolChain; return m_toolChain;
} }
void ToolChainConfigWidget::makeReadOnly() void ToolChainConfigWidget::makeReadOnly()
@@ -95,40 +66,40 @@ void ToolChainConfigWidget::makeReadOnly()
void ToolChainConfigWidget::addErrorLabel(QFormLayout *lt) void ToolChainConfigWidget::addErrorLabel(QFormLayout *lt)
{ {
if (!d->m_errorLabel) { if (!m_errorLabel) {
d->m_errorLabel = new QLabel; m_errorLabel = new QLabel;
d->m_errorLabel->setVisible(false); m_errorLabel->setVisible(false);
} }
lt->addRow(d->m_errorLabel); lt->addRow(m_errorLabel);
} }
void ToolChainConfigWidget::addErrorLabel(QGridLayout *lt, int row, int column, int colSpan) void ToolChainConfigWidget::addErrorLabel(QGridLayout *lt, int row, int column, int colSpan)
{ {
if (!d->m_errorLabel) { if (!m_errorLabel) {
d->m_errorLabel = new QLabel; m_errorLabel = new QLabel;
d->m_errorLabel->setVisible(false); m_errorLabel->setVisible(false);
} }
lt->addWidget(d->m_errorLabel, row, column, 1, colSpan); lt->addWidget(m_errorLabel, row, column, 1, colSpan);
} }
void ToolChainConfigWidget::setErrorMessage(const QString &m) void ToolChainConfigWidget::setErrorMessage(const QString &m)
{ {
QTC_ASSERT(d->m_errorLabel, return); QTC_ASSERT(m_errorLabel, return);
if (m.isEmpty()) { if (m.isEmpty()) {
clearErrorMessage(); clearErrorMessage();
} else { } else {
d->m_errorLabel->setText(m); m_errorLabel->setText(m);
d->m_errorLabel->setStyleSheet(QLatin1String("background-color: \"red\"")); m_errorLabel->setStyleSheet(QLatin1String("background-color: \"red\""));
d->m_errorLabel->setVisible(true); m_errorLabel->setVisible(true);
} }
} }
void ToolChainConfigWidget::clearErrorMessage() void ToolChainConfigWidget::clearErrorMessage()
{ {
QTC_ASSERT(d->m_errorLabel, return); QTC_ASSERT(m_errorLabel, return);
d->m_errorLabel->clear(); m_errorLabel->clear();
d->m_errorLabel->setStyleSheet(QString()); m_errorLabel->setStyleSheet(QString());
d->m_errorLabel->setVisible(false); m_errorLabel->setVisible(false);
} }
} // namespace ProjectExplorer } // namespace ProjectExplorer

View File

@@ -39,15 +39,14 @@
#include <QWidget> #include <QWidget>
QT_FORWARD_DECLARE_CLASS(QFormLayout) QT_BEGIN_NAMESPACE
QT_FORWARD_DECLARE_CLASS(QGridLayout) class QFormLayout;
class QGridLayout;
class QLabel;
QT_END_NAMESPACE
namespace ProjectExplorer { namespace ProjectExplorer {
namespace Internal {
class ToolChainConfigWidgetPrivate;
} // namespace Internal
class ToolChain; class ToolChain;
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
@@ -60,7 +59,7 @@ class PROJECTEXPLORER_EXPORT ToolChainConfigWidget : public QWidget
public: public:
ToolChainConfigWidget(ProjectExplorer::ToolChain *); ToolChainConfigWidget(ProjectExplorer::ToolChain *);
~ToolChainConfigWidget();
void setDisplayName(const QString &); void setDisplayName(const QString &);
virtual void apply() = 0; virtual void apply() = 0;
virtual void discard() = 0; virtual void discard() = 0;
@@ -82,7 +81,8 @@ protected:
void addErrorLabel(QGridLayout *lt, int row = 0, int column = 0, int colSpan = 1); void addErrorLabel(QGridLayout *lt, int row = 0, int column = 0, int colSpan = 1);
private: private:
Internal::ToolChainConfigWidgetPrivate *d; ToolChain *m_toolChain;
QLabel *m_errorLabel;
}; };
} // namespace ProjectExplorer } // namespace ProjectExplorer