From d26d6b4c057a520521e1aa4de426e72cfac791e8 Mon Sep 17 00:00:00 2001 From: Jan Holthuis Date: Fri, 22 Nov 2019 11:51:38 +0100 Subject: widget: Rename CueMenu widget to WCueMenuPopup --- src/widget/wcuemenupopup.h | 67 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/widget/wcuemenupopup.h (limited to 'src/widget/wcuemenupopup.h') diff --git a/src/widget/wcuemenupopup.h b/src/widget/wcuemenupopup.h new file mode 100644 index 0000000000..04be43e085 --- /dev/null +++ b/src/widget/wcuemenupopup.h @@ -0,0 +1,67 @@ +#pragma once + +#include +#include +#include + +#include "track/cue.h" +#include "track/track.h" +#include "widget/wcolorpicker.h" + +class WCueMenuPopup : public QWidget { + Q_OBJECT + public: + WCueMenuPopup(QWidget* parent = nullptr); + + ~WCueMenuPopup() { + delete m_pCueNumber; + delete m_pCuePosition; + delete m_pEditLabel; + delete m_pColorPicker; + delete m_pRemoveCue; + } + + void setTrackAndCue(TrackPointer pTrack, CuePointer pCue); + + void useColorSet(PredefinedColorsRepresentation* pColorRepresentation) { + if (m_pColorPicker != nullptr) { + m_pColorPicker->useColorSet(pColorRepresentation); + } + } + + void popup(const QPoint& p, QAction* atAction = nullptr) { + Q_UNUSED(atAction); + qDebug() << "Showing menu at" << p; + move(p); + show(); + } + + void hide() { + emit(aboutToHide()); + QWidget::hide(); + } + + void show() { + emit(aboutToShow()); + QWidget::show(); + } + + signals: + void aboutToHide(); + void aboutToShow(); + + private slots: + void slotEditLabel(); + void slotRemoveCue(); + void slotChangeCueColor(PredefinedColorPointer pColor); + + private: + CuePointer m_pCue; + TrackPointer m_pTrack; + + QLabel* m_pCueNumber; + QLabel* m_pCuePosition; + QLineEdit* m_pEditLabel; + WColorPicker* m_pColorPicker; + QPushButton* m_pRemoveCue; +}; -- cgit v1.2.3