diff options
author | Adriano Rezende <adriano.rezende@openbossa.org> | 2011-10-23 12:06:28 -0700 |
---|---|---|
committer | Jens Bache-Wiig <jens.bache-wiig@nokia.com> | 2011-10-23 12:06:28 -0700 |
commit | ffb3116f391074820be064bb3be785ec4c797242 (patch) | |
tree | 0620c990e2eb710080ee8435ae5a08b868328d88 | |
parent | ccb7b37449bbb2593ea9df30edeb117f956a74ba (diff) | |
download | qtquickcontrols-ffb3116f391074820be064bb3be785ec4c797242.tar.gz |
Fix uninitialized variable in QCursorArea and improve code path
Signed-off-by: Adriano Rezende <adriano.rezende@openbossa.org>
Merge-request: 6
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@nokia.com>
-rw-r--r-- | src/qcursorarea.cpp | 58 | ||||
-rw-r--r-- | src/qcursorarea.h | 9 |
2 files changed, 44 insertions, 23 deletions
diff --git a/src/qcursorarea.cpp b/src/qcursorarea.cpp index d19e1946..aee49227 100644 --- a/src/qcursorarea.cpp +++ b/src/qcursorarea.cpp @@ -1,28 +1,46 @@ #include "qcursorarea.h" -QCursorArea::QCursorArea(QDeclarativeItem *parent) : - QDeclarativeItem(parent) +QCursorArea::QCursorArea(QDeclarativeItem *parent) + : QDeclarativeItem(parent), + m_cursor(ArrowCursor) { + } -void QCursorArea::setCursor(Cursor str) +void QCursorArea::setCursor(Cursor cursor) { - if (m_cursor != str) { - m_cursor = str; - if (m_cursor == SizeHorCursor) - QDeclarativeItem::setCursor(Qt::SizeHorCursor); - else if (m_cursor == SizeVerCursor) - QDeclarativeItem::setCursor(Qt::SizeVerCursor); - else if (m_cursor == SizeAllCursor) - QDeclarativeItem::setCursor(Qt::SizeAllCursor); - else if (m_cursor == SplitHCursor) - QDeclarativeItem::setCursor(Qt::SplitHCursor); - else if (m_cursor == SplitVCursor) - QDeclarativeItem::setCursor(Qt::SplitVCursor); - else if (m_cursor == WaitCursor) - QDeclarativeItem::setCursor(Qt::WaitCursor); - else if (m_cursor == PointingHandCursor) - QDeclarativeItem::setCursor(Qt::PointingHandCursor); - emit cursorChanged(); + if (m_cursor == cursor) + return; + + switch (cursor) { + case ArrowCursor: + QDeclarativeItem::setCursor(Qt::ArrowCursor); + break; + case SizeHorCursor: + QDeclarativeItem::setCursor(Qt::SizeHorCursor); + break; + case SizeVerCursor: + QDeclarativeItem::setCursor(Qt::SizeVerCursor); + break; + case SizeAllCursor: + QDeclarativeItem::setCursor(Qt::SizeAllCursor); + break; + case SplitHCursor: + QDeclarativeItem::setCursor(Qt::SplitHCursor); + break; + case SplitVCursor: + QDeclarativeItem::setCursor(Qt::SplitVCursor); + break; + case WaitCursor: + QDeclarativeItem::setCursor(Qt::WaitCursor); + break; + case PointingHandCursor: + QDeclarativeItem::setCursor(Qt::PointingHandCursor); + break; + default: + return; } + + m_cursor = cursor; + emit cursorChanged(); } diff --git a/src/qcursorarea.h b/src/qcursorarea.h index 4ccb74b8..91629af0 100644 --- a/src/qcursorarea.h +++ b/src/qcursorarea.h @@ -7,9 +7,11 @@ class QCursorArea : public QDeclarativeItem { Q_OBJECT Q_ENUMS(Cursor) - Q_PROPERTY( Cursor cursor READ cursor WRITE setCursor NOTIFY cursorChanged) + Q_PROPERTY(Cursor cursor READ cursor WRITE setCursor NOTIFY cursorChanged) + public: enum Cursor { + ArrowCursor, SizeHorCursor, SizeVerCursor, SizeAllCursor, @@ -18,8 +20,10 @@ public: WaitCursor, PointingHandCursor }; + explicit QCursorArea(QDeclarativeItem *parent = 0); - void setCursor(Cursor str); + + void setCursor(Cursor cursor); Cursor cursor() const { return m_cursor; } signals: @@ -27,7 +31,6 @@ signals: private: Cursor m_cursor; - }; #endif // CURSORAREA_H |