From af612206adc919e3c13b7856f9f7c020ef9c3a7b Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Wed, 13 May 2009 14:52:25 +0200 Subject: Fixed pImpl, the private object were not created. --- src/gui/widgets/qsoftkeyaction.cpp | 21 ++++++++++++++------- src/gui/widgets/qsoftkeyaction.h | 5 ++++- src/gui/widgets/qsoftkeystack.cpp | 2 +- src/gui/widgets/qsoftkeystack.h | 6 ++++-- src/gui/widgets/qsoftkeystack_p.h | 6 +++--- 5 files changed, 26 insertions(+), 14 deletions(-) diff --git a/src/gui/widgets/qsoftkeyaction.cpp b/src/gui/widgets/qsoftkeyaction.cpp index 51b80bc..583cf65 100644 --- a/src/gui/widgets/qsoftkeyaction.cpp +++ b/src/gui/widgets/qsoftkeyaction.cpp @@ -40,13 +40,14 @@ ****************************************************************************/ #include "qsoftkeyaction.h" +#include /*! \class QSoftKeyAction \brief The QSoftKeyAction class defines a special kind of QAction that may also be displayed in a QSoftKeyBar. */ -class QSoftKeyActionPrivate +class QSoftKeyActionPrivate : public QActionPrivate { public: QSoftKeyActionPrivate(QSoftKeyAction::StandardRole role = QSoftKeyAction::Custom) @@ -82,37 +83,43 @@ public: */ QSoftKeyAction::QSoftKeyAction(QObject *parent) - : QAction(parent) + : QAction(*new QSoftKeyActionPrivate(), parent) { } QSoftKeyAction::QSoftKeyAction(StandardRole role, QObject *parent) - : QAction(parent) + : QAction(*new QSoftKeyActionPrivate(), parent) { Q_D(QSoftKeyAction); d->role = role; } QSoftKeyAction::QSoftKeyAction(const QString &text, QObject* parent) - : QAction(text, parent) + : QAction(*new QSoftKeyActionPrivate(), parent) { + setText(text); } QSoftKeyAction::QSoftKeyAction(StandardRole role, const QString &text, QObject* parent) - : QAction(text, parent) + : QAction(*new QSoftKeyActionPrivate(), parent) { + setText(text); Q_D(QSoftKeyAction); d->role = role; } QSoftKeyAction::QSoftKeyAction(const QIcon &icon, const QString &text, QObject* parent) - : QAction(icon, text, parent) + : QAction(*new QSoftKeyActionPrivate(), parent) { + setIcon(icon); + setText(text); } QSoftKeyAction::QSoftKeyAction(StandardRole role, const QIcon &icon, const QString &text, QObject* parent) - : QAction(icon, text, parent) + : QAction(*new QSoftKeyActionPrivate(), parent) { + setIcon(icon); + setText(text); Q_D(QSoftKeyAction); d->role = role; } diff --git a/src/gui/widgets/qsoftkeyaction.h b/src/gui/widgets/qsoftkeyaction.h index fc5baf1..26fa601 100644 --- a/src/gui/widgets/qsoftkeyaction.h +++ b/src/gui/widgets/qsoftkeyaction.h @@ -54,7 +54,6 @@ class QSoftKeyActionPrivate; class Q_GUI_EXPORT QSoftKeyAction : public QAction { - Q_DECLARE_PRIVATE(QSoftKeyAction) public: enum StandardRole { Options, @@ -92,6 +91,10 @@ public: void setNativePosition(int position); int qtContextKey() const; void setQtContextKey(int position); + +private: + Q_DECLARE_PRIVATE(QSoftKeyAction) + Q_DISABLE_COPY(QSoftKeyAction) }; QT_END_NAMESPACE diff --git a/src/gui/widgets/qsoftkeystack.cpp b/src/gui/widgets/qsoftkeystack.cpp index 1054852..687b236 100644 --- a/src/gui/widgets/qsoftkeystack.cpp +++ b/src/gui/widgets/qsoftkeystack.cpp @@ -74,7 +74,7 @@ void QSoftKeyStackPrivate::pop() } QSoftKeyStack::QSoftKeyStack(QWidget *parent) - : QObject(parent) + : QObject(*new QSoftKeyStackPrivate, parent) { } diff --git a/src/gui/widgets/qsoftkeystack.h b/src/gui/widgets/qsoftkeystack.h index a9137d2..66edab0 100644 --- a/src/gui/widgets/qsoftkeystack.h +++ b/src/gui/widgets/qsoftkeystack.h @@ -57,15 +57,17 @@ class QSoftKeyAction; class Q_GUI_EXPORT QSoftKeyStack : public QObject { - Q_DECLARE_PRIVATE(QSoftKeyStack) public: QSoftKeyStack(QWidget *parent); ~QSoftKeyStack(); -public: void push(QSoftKeyAction *softKey); void push(const QList &softkeys); void pop(); + +private: + Q_DECLARE_PRIVATE(QSoftKeyStack) + Q_DISABLE_COPY(QSoftKeyStack) }; QT_END_NAMESPACE diff --git a/src/gui/widgets/qsoftkeystack_p.h b/src/gui/widgets/qsoftkeystack_p.h index 2e3fde1..1e8d0d1 100644 --- a/src/gui/widgets/qsoftkeystack_p.h +++ b/src/gui/widgets/qsoftkeystack_p.h @@ -53,9 +53,9 @@ // We mean it. // -#include "QtGui/qwidget.h" -#include "QtGui/qaction.h" + #include "qstack.h" +#include #include "qsoftkeyaction.h" @@ -63,7 +63,7 @@ QT_BEGIN_NAMESPACE #define QSoftkeySet QList -class QSoftKeyStackPrivate : public QObject +class QSoftKeyStackPrivate : public QObjectPrivate { public: QSoftKeyStackPrivate(); -- cgit v0.12