Rename QMenuItem to QMenuAction, QMenuItem was already defined. Add support for separators in QMenus
This commit is contained in:
parent
220cae4242
commit
e677aafcad
@ -8,6 +8,7 @@ set(qtextracomponents_SRCS
|
||||
qimageitem.cpp
|
||||
qiconitem.cpp
|
||||
qmenu.cpp
|
||||
qmenuaction.cpp
|
||||
)
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
|
@ -31,9 +31,9 @@ QMenuProxy::~QMenuProxy()
|
||||
delete m_menu;
|
||||
}
|
||||
|
||||
QDeclarativeListProperty<QMenuItem> QMenuProxy::actions()
|
||||
QDeclarativeListProperty<QMenuAction> QMenuProxy::actions()
|
||||
{
|
||||
return QDeclarativeListProperty<QMenuItem>(this, m_actions);
|
||||
return QDeclarativeListProperty<QMenuAction>(this, m_actions);
|
||||
}
|
||||
|
||||
int QMenuProxy::actionCount() const
|
||||
@ -41,7 +41,7 @@ int QMenuProxy::actionCount() const
|
||||
return m_actions.count();
|
||||
}
|
||||
|
||||
QMenuItem *QMenuProxy::action(int index) const
|
||||
QMenuAction *QMenuProxy::action(int index) const
|
||||
{
|
||||
return m_actions.at(index);
|
||||
}
|
||||
@ -49,7 +49,7 @@ QMenuItem *QMenuProxy::action(int index) const
|
||||
void QMenuProxy::showMenu(int x, int y)
|
||||
{
|
||||
m_menu->clear();
|
||||
foreach(QMenuItem* item, m_actions) {
|
||||
foreach(QMenuAction* item, m_actions) {
|
||||
m_menu->addAction (item);
|
||||
}
|
||||
|
||||
|
@ -20,32 +20,30 @@
|
||||
#ifndef QMENU_PROXY_H
|
||||
#define QMENU_PROXY_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QMenu>
|
||||
#include <QDeclarativeListProperty>
|
||||
#include "qmenuitem.h"
|
||||
#include "qmenuaction.h"
|
||||
|
||||
class QMenuProxy : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(QDeclarativeListProperty<QMenuItem> actions READ actions)
|
||||
Q_PROPERTY(QDeclarativeListProperty<QMenuAction> actions READ actions)
|
||||
Q_CLASSINFO("DefaultProperty", "actions")
|
||||
|
||||
public:
|
||||
QMenuProxy(QObject *parent = 0);
|
||||
~QMenuProxy();
|
||||
|
||||
QDeclarativeListProperty<QMenuItem> actions();
|
||||
QDeclarativeListProperty<QMenuAction> actions();
|
||||
int actionCount() const;
|
||||
QMenuItem *action(int) const;
|
||||
QMenuAction *action(int) const;
|
||||
|
||||
Q_INVOKABLE void showMenu(int x, int y);
|
||||
|
||||
Q_SIGNALS:
|
||||
void actionTriggered(QString itemName);
|
||||
|
||||
private:
|
||||
QList<QMenuItem*> m_actions;
|
||||
QList<QMenuAction*> m_actions;
|
||||
QMenu *m_menu;
|
||||
};
|
||||
|
||||
|
8
declarativeimports/qtextracomponents/qmenuaction.cpp
Normal file
8
declarativeimports/qtextracomponents/qmenuaction.cpp
Normal file
@ -0,0 +1,8 @@
|
||||
#include "qmenuaction.h"
|
||||
|
||||
QMenuAction::QMenuAction(QObject *parent) : QAction(parent)
|
||||
{
|
||||
}
|
||||
|
||||
#include "qmenuaction.moc"
|
||||
|
@ -21,18 +21,16 @@
|
||||
#define QMENUITEM_H
|
||||
|
||||
#include <QAction>
|
||||
#include <QObject>
|
||||
|
||||
class QMenuItem : public QAction
|
||||
class QMenuAction : public QAction
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(bool separator READ isSeparator WRITE setSeparator)
|
||||
|
||||
public:
|
||||
QMenuItem(QObject *parent = 0)
|
||||
: QAction(parent)
|
||||
{
|
||||
}
|
||||
QMenuAction(QObject *parent = 0);
|
||||
};
|
||||
|
||||
#endif // QMENUITEM_H
|
@ -27,7 +27,7 @@
|
||||
#include "qimageitem.h"
|
||||
#include "qiconitem.h"
|
||||
#include "qmenu.h"
|
||||
#include "qmenuitem.h"
|
||||
#include "qmenuaction.h"
|
||||
|
||||
void QtExtraComponentsPlugin::registerTypes(const char *uri)
|
||||
{
|
||||
@ -37,7 +37,7 @@ void QtExtraComponentsPlugin::registerTypes(const char *uri)
|
||||
qmlRegisterType<QImageItem>(uri, 0, 1, "QImageItem");
|
||||
qmlRegisterType<QIconItem>(uri, 0, 1, "QIconItem");
|
||||
qmlRegisterType<QMenuProxy>(uri, 0, 1, "QMenu");
|
||||
qmlRegisterType<QMenuItem>(uri, 0, 1, "QMenuItem");
|
||||
qmlRegisterType<QMenuAction>(uri, 0, 1, "QMenuAction");
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user