Files
peony/plugin/menuplugin.cpp
Yue-Lan 057d349cef improve the menu plugin test.
this test tell you about how to implement a menu plugin.
2019-10-15 11:17:28 +08:00

40 lines
1.0 KiB
C++

#include "menuplugin.h"
#include <QDebug>
#include <QMenu>
using namespace Peony;
QString MenuPluginTest1::testPlugin()
{
qDebug()<<"menu test plugin1";
return QString("MenuPluginTest1");
}
QList<QAction *> MenuPluginTest1::menuActions(Types types, const QString &uri, const QStringList &selectionUris)
{
Q_UNUSED(types);
Q_UNUSED(uri);
Q_UNUSED(selectionUris);
QList<QAction *> actions;
QAction *action = new QAction(QIcon::fromTheme("search"), tr("test"));
actions<<action;
QMenu *menu = new QMenu(action->parentWidget());
connect(action, &QAction::destroyed, [=](){
qDebug()<<"delete sub menu";
menu->deleteLater();
});
menu->addAction("sub test1");
menu->addSeparator();
menu->addAction("sub test2");
action->setMenu(menu);
QAction *action2 = new QAction(QIcon::fromTheme("media-eject"), tr("test-volume"));
connect(action2, &QAction::triggered, [=](){
qDebug()<<"action triggered";
});
actions<<action2;
return actions;
}