diff options
| author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-12-23 15:37:37 +0100 |
|---|---|---|
| committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-12-23 15:37:37 +0100 |
| commit | f8d1f56c0759e273d0fad3bac8cd599fd1d16d92 (patch) | |
| tree | 0be24ba924822d1e106f92665c680c1aabed9b3e /src | |
| parent | 3ecc9044e95c93414b7649c68401ef9ed06a1507 (diff) | |
| parent | cd8eb15f5e37c843ed8b53f071b8ff11eba6986c (diff) | |
Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ic5df7eed17a305e6ebb7235d30467124269ea751
Diffstat (limited to 'src')
| -rw-r--r-- | src/controls/TableView.qml | 2 | ||||
| -rw-r--r-- | src/controls/qquickmenu.cpp | 2 | ||||
| -rw-r--r-- | src/controls/qquickmenu_p.h | 1 | ||||
| -rw-r--r-- | src/controls/qquickmenuitem.cpp | 25 | ||||
| -rw-r--r-- | src/controls/qquickmenuitem_p.h | 11 | ||||
| -rw-r--r-- | src/controls/qquickmenuitemcontainer_p.h | 2 |
6 files changed, 22 insertions, 21 deletions
diff --git a/src/controls/TableView.qml b/src/controls/TableView.qml index 736ac6e39..595c13cab 100644 --- a/src/controls/TableView.qml +++ b/src/controls/TableView.qml @@ -696,7 +696,7 @@ ScrollView { model: root.model function keySelect(shiftPressed, row) { - if (row < 0 || row === rowCount - 1) + if (row < 0 || row > rowCount - 1) return if (shiftPressed && (selectionMode >= SelectionMode.ExtendedSelection)) { selection.__ranges = new Array() diff --git a/src/controls/qquickmenu.cpp b/src/controls/qquickmenu.cpp index 361c4683f..7aa52d56a 100644 --- a/src/controls/qquickmenu.cpp +++ b/src/controls/qquickmenu.cpp @@ -236,7 +236,7 @@ QT_BEGIN_NAMESPACE */ QQuickMenu::QQuickMenu(QObject *parent) - : QQuickMenuText(parent), + : QQuickMenuText(parent, QQuickMenuItemType::Menu), m_itemsCount(0), m_selectedIndex(-1), m_parentWindow(0), diff --git a/src/controls/qquickmenu_p.h b/src/controls/qquickmenu_p.h index c1fab0b5a..c6bf24e29 100644 --- a/src/controls/qquickmenu_p.h +++ b/src/controls/qquickmenu_p.h @@ -132,7 +132,6 @@ public: QQuickItem *menuContentItem() const { return m_menuContentItem; } bool popupVisible() const { return m_popupVisible; } - QQuickMenuItemType::MenuItemType type() { return QQuickMenuItemType::Menu; } bool isNative() { return m_platformMenu != 0; } protected Q_SLOTS: diff --git a/src/controls/qquickmenuitem.cpp b/src/controls/qquickmenuitem.cpp index 60d882c41..105b66ac4 100644 --- a/src/controls/qquickmenuitem.cpp +++ b/src/controls/qquickmenuitem.cpp @@ -51,12 +51,15 @@ QT_BEGIN_NAMESPACE -QQuickMenuBase::QQuickMenuBase(QObject *parent) - : QObject(parent), m_visible(true), m_parentMenu(0), m_container(0), m_visualItem(0) -{ - m_platformItem = QGuiApplicationPrivate::platformTheme()->createPlatformMenuItem(); - if (m_platformItem) - m_platformItem->setRole(QPlatformMenuItem::TextHeuristicRole); +QQuickMenuBase::QQuickMenuBase(QObject *parent, int type) + : QObject(parent), m_visible(true), m_type(static_cast<QQuickMenuItemType::MenuItemType>(type)) + , m_parentMenu(0), m_container(0), m_platformItem(0), m_visualItem(0) +{ + if (type >= 0) { + m_platformItem = QGuiApplicationPrivate::platformTheme()->createPlatformMenuItem(); + if (m_platformItem) + m_platformItem->setRole(QPlatformMenuItem::TextHeuristicRole); + } } QQuickMenuBase::~QQuickMenuBase() @@ -98,7 +101,7 @@ QQuickMenu *QQuickMenuBase::parentMenu() const void QQuickMenuBase::setParentMenu(QQuickMenu *parentMenu) { - if (m_parentMenu && m_parentMenu->platformMenu()) + if (m_platformItem && m_parentMenu && m_parentMenu->platformMenu()) m_parentMenu->platformMenu()->removeMenuItem(m_platformItem); m_parentMenu = parentMenu; @@ -155,14 +158,14 @@ void QQuickMenuBase::setVisualItem(QQuickItem *item) */ QQuickMenuSeparator::QQuickMenuSeparator(QObject *parent) - : QQuickMenuBase(parent) + : QQuickMenuBase(parent, QQuickMenuItemType::Separator) { if (platformItem()) platformItem()->setIsSeparator(true); } -QQuickMenuText::QQuickMenuText(QObject *parent) - : QQuickMenuBase(parent), m_action(new QQuickAction(this)) +QQuickMenuText::QQuickMenuText(QObject *parent, QQuickMenuItemType::MenuItemType type) + : QQuickMenuBase(parent, type), m_action(new QQuickAction(this)) { connect(m_action, SIGNAL(enabledChanged()), this, SLOT(updateEnabled())); connect(m_action, SIGNAL(textChanged()), this, SLOT(updateText())); @@ -417,7 +420,7 @@ void QQuickMenuText::updateIcon() */ QQuickMenuItem::QQuickMenuItem(QObject *parent) - : QQuickMenuText(parent), m_boundAction(0) + : QQuickMenuText(parent, QQuickMenuItemType::Item), m_boundAction(0) { connect(this, SIGNAL(__textChanged()), this, SIGNAL(textChanged())); diff --git a/src/controls/qquickmenuitem_p.h b/src/controls/qquickmenuitem_p.h index a0c708329..3ba719f64 100644 --- a/src/controls/qquickmenuitem_p.h +++ b/src/controls/qquickmenuitem_p.h @@ -66,7 +66,7 @@ class QQuickMenuItemType public: enum MenuItemType { - Separator, + Separator = 0, Item, Menu }; @@ -86,7 +86,7 @@ Q_SIGNALS: void visibleChanged(); public: - QQuickMenuBase(QObject *parent = 0); + QQuickMenuBase(QObject *parent, int type); ~QQuickMenuBase(); bool visible() const { return m_visible; } @@ -105,11 +105,12 @@ public: QQuickItem *visualItem() const; void setVisualItem(QQuickItem *item); - virtual QQuickMenuItemType::MenuItemType type() { return QQuickMenuItemType::Item; } + QQuickMenuItemType::MenuItemType type() { return m_type; } virtual bool isNative() { return m_platformItem != 0; } private: bool m_visible; + QQuickMenuItemType::MenuItemType m_type; QQuickMenu *m_parentMenu; QQuickMenuItemContainer *m_container; QPlatformMenuItem *m_platformItem; @@ -121,8 +122,6 @@ class QQuickMenuSeparator : public QQuickMenuBase Q_OBJECT public: QQuickMenuSeparator(QObject *parent = 0); - - QQuickMenuItemType::MenuItemType type() { return QQuickMenuItemType::Separator; } }; class QQuickMenuText : public QQuickMenuBase @@ -143,7 +142,7 @@ Q_SIGNALS: void __iconChanged(); public: - QQuickMenuText(QObject *parent = 0); + QQuickMenuText(QObject *parent, QQuickMenuItemType::MenuItemType type); ~QQuickMenuText(); bool enabled() const; diff --git a/src/controls/qquickmenuitemcontainer_p.h b/src/controls/qquickmenuitemcontainer_p.h index 9602c3a7a..a845994e4 100644 --- a/src/controls/qquickmenuitemcontainer_p.h +++ b/src/controls/qquickmenuitemcontainer_p.h @@ -52,7 +52,7 @@ class QQuickMenuItemContainer : public QQuickMenuBase Q_OBJECT public: explicit QQuickMenuItemContainer(QObject *parent = 0) - : QQuickMenuBase(parent) + : QQuickMenuBase(parent, -1) { } ~QQuickMenuItemContainer() |
