mirror of
https://gitlab.freedesktop.org/dabrain34/GstPipelineStudio.git
synced 2025-01-24 23:58:14 +00:00
Introduce CustomMenuAction
Allow to have a display name and a name.
This commit is contained in:
parent
6c515a7807
commit
e57555ca10
4 changed files with 58 additions and 15 deletions
|
@ -28,7 +28,8 @@ HEADERS += src/PluginsList.h \
|
||||||
src/PadProperties.h \
|
src/PadProperties.h \
|
||||||
src/PipelineIE.h \
|
src/PipelineIE.h \
|
||||||
src/CustomSettings.h \
|
src/CustomSettings.h \
|
||||||
src/SeekSlider.h
|
src/SeekSlider.h \
|
||||||
|
src/CustomMenuAction.h
|
||||||
|
|
||||||
SOURCES += src/main.cpp \
|
SOURCES += src/main.cpp \
|
||||||
src/PluginsList.cpp \
|
src/PluginsList.cpp \
|
||||||
|
@ -39,4 +40,5 @@ SOURCES += src/main.cpp \
|
||||||
src/PadProperties.cpp \
|
src/PadProperties.cpp \
|
||||||
src/PipelineIE.cpp \
|
src/PipelineIE.cpp \
|
||||||
src/CustomSettings.cpp \
|
src/CustomSettings.cpp \
|
||||||
src/SeekSlider.cpp
|
src/SeekSlider.cpp \
|
||||||
|
src/CustomMenuAction.cpp
|
||||||
|
|
13
src/CustomMenuAction.cpp
Normal file
13
src/CustomMenuAction.cpp
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#include "CustomMenuAction.h"
|
||||||
|
|
||||||
|
CustomMenuAction::CustomMenuAction(const QString& displayName, QObject * parent)
|
||||||
|
:QAction(displayName, parent)
|
||||||
|
, m_name(displayName)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
CustomMenuAction::CustomMenuAction(const QString& displayName, const QString& name, QObject * parent)
|
||||||
|
:QAction(displayName, parent)
|
||||||
|
, m_name(name)
|
||||||
|
{
|
||||||
|
}
|
22
src/CustomMenuAction.h
Normal file
22
src/CustomMenuAction.h
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
#ifndef CUSTOM_MENU_ACTION_H_
|
||||||
|
#define CUSTOM_MENU_ACTION_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <QAction>
|
||||||
|
|
||||||
|
class CustomMenuAction: public QAction
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CustomMenuAction(const QString& displayName, QObject * parent);
|
||||||
|
|
||||||
|
CustomMenuAction(const QString& displayName, const QString& name, QObject * parent);
|
||||||
|
|
||||||
|
QString getName() { return m_name;}
|
||||||
|
|
||||||
|
private:
|
||||||
|
QString m_name;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif //CUSTOM_MENU_ACTION_H_
|
|
@ -15,6 +15,7 @@
|
||||||
|
|
||||||
#include "ElementProperties.h"
|
#include "ElementProperties.h"
|
||||||
#include "PadProperties.h"
|
#include "PadProperties.h"
|
||||||
|
#include "CustomMenuAction.h"
|
||||||
|
|
||||||
#define PAD_SIZE 8
|
#define PAD_SIZE 8
|
||||||
#define PAD_SIZE_ACTION 16
|
#define PAD_SIZE_ACTION 16
|
||||||
|
@ -542,22 +543,25 @@ void GraphDisplay::showContextMenu(QMouseEvent *event)
|
||||||
|
|
||||||
if(selectedCount > 1)
|
if(selectedCount > 1)
|
||||||
{
|
{
|
||||||
QAction *pact = menu.addAction("Remove selected");
|
CustomMenuAction *pact = new CustomMenuAction("Remove selected", &menu);
|
||||||
|
menu.addAction(pact);
|
||||||
if(isActive)
|
if(isActive)
|
||||||
pact -> setDisabled(true);
|
pact -> setDisabled(true);
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(padId != ((size_t)-1))
|
else if(padId != ((size_t)-1))
|
||||||
menu.addAction("Pad properties");
|
menu.addAction(new CustomMenuAction("Pad properties", &menu));
|
||||||
else if(elementId != ((size_t)-1))
|
else if(elementId != ((size_t)-1))
|
||||||
{
|
{
|
||||||
menu.addAction("Element properties");
|
menu.addAction(new CustomMenuAction("Element properties", &menu));
|
||||||
QAction *pact = menu.addAction("Remove");
|
QAction *pact = new CustomMenuAction("Remove", &menu);
|
||||||
|
menu.addAction(pact);
|
||||||
|
|
||||||
if(isActive)
|
if(isActive)
|
||||||
pact -> setDisabled(true);
|
pact -> setDisabled(true);
|
||||||
|
|
||||||
pact = menu.addAction("Request pad...");
|
pact = new CustomMenuAction("Request pad...", &menu);
|
||||||
|
menu.addAction(pact);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -595,7 +599,9 @@ void GraphDisplay::showContextMenu(QMouseEvent *event)
|
||||||
elementId = m_info[i].m_id;
|
elementId = m_info[i].m_id;
|
||||||
padId = m_info[i].m_pads[j].m_id;
|
padId = m_info[i].m_pads[j].m_id;
|
||||||
|
|
||||||
QAction *pact = menu.addAction("Disconnect");
|
QAction *pact = new CustomMenuAction("Disconnect", &menu);
|
||||||
|
menu.addAction(pact);
|
||||||
|
|
||||||
|
|
||||||
if(isActive)
|
if(isActive)
|
||||||
pact -> setDisabled(true);
|
pact -> setDisabled(true);
|
||||||
|
@ -610,20 +616,20 @@ void GraphDisplay::showContextMenu(QMouseEvent *event)
|
||||||
|
|
||||||
if(!menu.isEmpty())
|
if(!menu.isEmpty())
|
||||||
{
|
{
|
||||||
QAction *pact = menu.exec(event -> globalPos());
|
CustomMenuAction *pact = (CustomMenuAction*)menu.exec(event -> globalPos());
|
||||||
if(pact)
|
if(pact)
|
||||||
{
|
{
|
||||||
if(pact -> text() == "Remove")
|
if(pact -> getName() == "Remove")
|
||||||
removePlugin(elementId);
|
removePlugin(elementId);
|
||||||
else if(pact -> text() == "Element properties")
|
else if(pact -> getName() == "Element properties")
|
||||||
showElementProperties(elementId);
|
showElementProperties(elementId);
|
||||||
else if(pact -> text() == "Pad properties")
|
else if(pact -> getName() == "Pad properties")
|
||||||
showPadProperties(elementId, padId);
|
showPadProperties(elementId, padId);
|
||||||
else if(pact -> text() == "Disconnect")
|
else if(pact -> getName() == "Disconnect")
|
||||||
disconnect(elementId, padId);
|
disconnect(elementId, padId);
|
||||||
else if(pact -> text() == "Request pad...")
|
else if(pact -> getName() == "Request pad...")
|
||||||
requestPad(elementId);
|
requestPad(elementId);
|
||||||
else if(pact -> text() == "Remove selected")
|
else if(pact -> getName() == "Remove selected")
|
||||||
removeSelected();
|
removeSelected();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue