48class GUI_ControlsBase :
50 public InfoDialogContainer,
54 PIMPL(GUI_ControlsBase)
58 ~GUI_ControlsBase()
override;
61 [[nodiscard]]
virtual QLabel* labSayonara()
const = 0;
62 [[nodiscard]]
virtual QLabel* labTitle()
const = 0;
63 [[nodiscard]]
virtual QLabel* labVersion()
const = 0;
64 [[nodiscard]]
virtual QLabel* labAlbum()
const = 0;
65 [[nodiscard]]
virtual QLabel* labArtist()
const = 0;
66 [[nodiscard]]
virtual QLabel* labWrittenBy()
const = 0;
67 [[nodiscard]]
virtual QLabel* labBitrate()
const = 0;
68 [[nodiscard]]
virtual QLabel* labFilesize()
const = 0;
69 [[nodiscard]]
virtual QLabel* labCopyright()
const = 0;
70 [[nodiscard]]
virtual QLabel* labCurrentTime()
const = 0;
71 [[nodiscard]]
virtual QLabel* labMaxTime()
const = 0;
75 [[nodiscard]]
virtual QPushButton* btnMute()
const = 0;
76 [[nodiscard]]
virtual QPushButton* btnPlay()
const = 0;
77 [[nodiscard]]
virtual QPushButton* btnRecord()
const = 0;
78 [[nodiscard]]
virtual QPushButton* btnPrevious()
const = 0;
79 [[nodiscard]]
virtual QPushButton* btnNext()
const = 0;
80 [[nodiscard]]
virtual QPushButton* btnStop()
const = 0;
83 [[nodiscard]]
virtual bool isExternResizeAllowed()
const = 0;
90 void setCoverLocation(
const MetaData& track);
91 void setStandardCover();
94 void checkRecordButtonVisible();
96 void setupVolumeButton(
int percent);
97 void increaseVolume();
98 void decreaseVolume();
100 void refreshCurrentPosition(
int val);
101 void setTotalTimeLabel(MilliSeconds totalTimeMs);
103 void setupShortcuts();
104 void setupConnections();
106 void showTrackInfo(
bool b);
109 void changeVolumeByDelta(
int val);
110 void setCoverData(
const QByteArray& coverData,
const QString& mimeType)
override;
113 void playstateChanged(PlayState state);
115 void recordChanged(
bool b);
117 void buffering(
int progress);
119 void currentPositionChanged(MilliSeconds posMs);
120 void progressMoved(
int val);
121 void progressHovered(
int val,
const QPoint& globalPos);
123 void volumeChanged(
int val);
124 void muteChanged(
bool muted);
126 void currentTrackChanged(
const MetaData& track);
127 void metadataChanged();
129 void refreshLabels(
const MetaData& track);
130 void refreshCurrentTrack();
133 void coverClickRejected();
135 void streamRecorderActiveChanged();
138 [[nodiscard]]
bool isActive()
const override;
139 [[nodiscard]] MD::Interpretation metadataInterpretation()
const override;
140 [[nodiscard]]
MetaDataList infoDialogData()
const override;
141 QWidget* getParentWidget()
override;
143 virtual void showTrackInfoPage(
bool b) = 0;
144 void resizeEvent(QResizeEvent* e)
override;
145 void showEvent(QShowEvent* e)
override;
146 void contextMenuEvent(QContextMenuEvent* e)
override;
147 void skinChanged()
override;