TTKMusicPlayer
4.1.3.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
|
The class of the lrc maker widget. More...
#include <musiclrcmakerwidget.h>
Public Slots | |
void | positionChanged (qint64 position) |
void | durationChanged (qint64 duration) |
void | currentLineFinished () |
![]() | |
void | backgroundChanged () |
void | show () |
Public Member Functions | |
MusicLrcMakerWidget (QWidget *parent=nullptr) | |
~MusicLrcMakerWidget () | |
void | setCurrentSongName (const QString &name) |
![]() | |
MusicAbstractMoveWidget (QWidget *parent=nullptr) | |
MusicAbstractMoveWidget (bool transparent, QWidget *parent=nullptr) | |
~MusicAbstractMoveWidget () | |
![]() | |
TTKAbstractMoveWidget (QWidget *parent=nullptr) | |
TTKAbstractMoveWidget (bool transparent, QWidget *parent=nullptr) | |
void | drawWindowShadow (bool show) |
void | blockOption (bool block) |
Private Slots | |
void | timeSliderValueChanged (int value) |
void | saveButtonClicked () |
void | reMakeButtonClicked () |
void | backToMakeLrcWidget () |
void | firstWidgetStateButtonClicked () |
void | thirdWidgetStateButtonClicked () |
void | setCurrentMainWidget () |
void | setCurrentFirstWidget () |
void | setCurrentSecondWidget () |
void | setCurrentThirdWidget () |
void | updateAnimationLrc () |
void | lrcSpeedSlower () |
void | lrcSpeedFaster () |
Private Member Functions | |
virtual void | keyPressEvent (QKeyEvent *event) overridefinal |
virtual void | keyReleaseEvent (QKeyEvent *event) overridefinal |
void | createCurrentLine (int key) |
void | createMainWidget () |
void | createFirstWidget () |
void | createSecondWidget () |
void | createThirdWidget () |
bool | checkInputValid () |
void | setControlEnabled (bool enabled) const |
QString | translateTimeString (qint64 time) |
void | resetToOriginPlayMode () |
void | updateCurrentLrc (qint64 time) |
void | setItemStyleSheet (int index, int size, int transparent) |
Private Attributes | |
Ui::MusicLrcMakerWidget * | m_ui |
QStringList | m_plainText |
QMap< int, qint64 > | m_times |
int | m_currentLine |
TTK::PlayMode | m_playMode |
qint64 | m_intervalTime |
MusicLrcMakerWidgetItem * | m_lineItem |
MusicLrcAnalysis * | m_analysis |
QList< MusicLrcManagerForInterior * > | m_lrcContainer |
Additional Inherited Members | |
![]() | |
virtual void | paintEvent (QPaintEvent *event) override |
virtual void | mousePressEvent (QMouseEvent *event) override |
virtual void | mouseMoveEvent (QMouseEvent *event) override |
virtual void | mouseReleaseEvent (QMouseEvent *event) override |
![]() | |
void | setBackgroundPixmap (const QSize &size) |
MusicWidgetRenderer () | |
void | setBackgroundLabel (QLabel *label) |
![]() | |
QPoint | m_mousePressedAt |
bool | m_blockOption |
bool | m_shadowOption |
bool | m_mouseLeftPressed |
The class of the lrc maker widget.
Definition at line 95 of file musiclrcmakerwidget.h.
|
explicit |
Object constructor.
Definition at line 141 of file musiclrcmakerwidget.cpp.
References TTK::UI::BackgroundStyle10, createFirstWidget(), createMainWidget(), createSecondWidget(), createThirdWidget(), G_CONNECTION_PTR, MusicApplication::instance(), m_playMode, m_ui, MusicApplication::playMode(), MusicApplication::playOneLoop(), MusicWidgetRenderer::setBackgroundLabel(), and TTK::UI::ToolButtonStyle04.
MusicLrcMakerWidget::~MusicLrcMakerWidget | ( | ) |
Object destructor.
Definition at line 173 of file musiclrcmakerwidget.cpp.
References G_CONNECTION_PTR, m_analysis, m_lineItem, m_lrcContainer, m_ui, resetToOriginPlayMode(), and TTKRemoveSingleWidget.
|
privateslot |
Back to make lrc widget.
Definition at line 270 of file musiclrcmakerwidget.cpp.
References MusicAbstractMoveDialog::exec(), MusicApplication::instance(), MusicApplication::playAnyTimeAt(), setCurrentSecondWidget(), and MusicMessageBox::setText().
Referenced by createThirdWidget().
|
private |
Check input valid or not.
Definition at line 667 of file musiclrcmakerwidget.cpp.
References m_ui, and MusicToastLabel::popup().
Referenced by setCurrentSecondWidget().
|
private |
Create current line.
Definition at line 429 of file musiclrcmakerwidget.cpp.
References MusicLrcMakerWidgetItem::biggerThan(), MusicLrcMakerWidgetItem::done(), MusicApplication::instance(), m_currentLine, m_lineItem, m_plainText, m_times, m_ui, MusicLrcMakerWidgetItem::moveDown(), MusicLrcMakerWidgetItem::moveLeft(), MusicLrcMakerWidgetItem::moveRight(), MusicLrcMakerWidgetItem::moveUp(), MusicApplication::playAnyTimeAt(), and MusicLrcMakerWidgetItem::setText().
Referenced by currentLineFinished(), and keyReleaseEvent().
|
private |
Create current first widget.
Definition at line 542 of file musiclrcmakerwidget.cpp.
References firstWidgetStateButtonClicked(), MusicApplication::instance(), TTK::UI::LineEditStyle01, m_ui, TTK::UI::PushButtonStyle04, TTK::UI::ScrollBarStyle01, setCurrentMainWidget(), setCurrentSecondWidget(), TTK::UI::SliderStyle09, TTK::UI::TextEditStyle01, and timeSliderValueChanged().
Referenced by MusicLrcMakerWidget().
|
private |
Create current main widget.
Definition at line 492 of file musiclrcmakerwidget.cpp.
References m_ui, TTK::UI::PushButtonStyle04, and setCurrentFirstWidget().
Referenced by MusicLrcMakerWidget().
|
private |
Create current second widget.
Definition at line 583 of file musiclrcmakerwidget.cpp.
References m_lineItem, m_ui, TTK::UI::PushButtonStyle04, TTK::UI::ScrollBarStyle01, setCurrentFirstWidget(), setCurrentThirdWidget(), TTK::UI::SliderStyle09, TTK::UI::TextEditStyle01, and timeSliderValueChanged().
Referenced by MusicLrcMakerWidget().
|
private |
Create current third widget.
Definition at line 619 of file musiclrcmakerwidget.cpp.
References backToMakeLrcWidget(), MusicApplication::instance(), TTK::UI::InteriorMakeDown, TTK::UI::InteriorMakeUp, MusicLrcAnalysis::lineMax(), lrcSpeedFaster(), lrcSpeedSlower(), m_analysis, m_lrcContainer, m_ui, TTK::UI::PushButtonStyle04, reMakeButtonClicked(), saveButtonClicked(), MusicLrcAnalysis::setLineMax(), MusicLrcManagerForInterior::setLrcPerWidth(), TTK::UI::SliderStyle09, thirdWidgetStateButtonClicked(), and timeSliderValueChanged().
Referenced by MusicLrcMakerWidget().
|
slot |
Create current line finished.
Definition at line 237 of file musiclrcmakerwidget.cpp.
References createCurrentLine().
|
slot |
Set current player duration.
Definition at line 230 of file musiclrcmakerwidget.cpp.
References m_ui.
Referenced by MusicLrcContainer::showLrcMakedWidget().
|
privateslot |
First widget state changed.
Definition at line 281 of file musiclrcmakerwidget.cpp.
References MusicApplication::instance(), m_ui, and MusicApplication::switchToPlayState().
Referenced by createFirstWidget(), keyReleaseEvent(), and setCurrentSecondWidget().
|
finaloverrideprivatevirtual |
Override the widget event.
Definition at line 413 of file musiclrcmakerwidget.cpp.
|
finaloverrideprivatevirtual |
Definition at line 418 of file musiclrcmakerwidget.cpp.
References createCurrentLine(), and firstWidgetStateButtonClicked().
|
privateslot |
Set lrc time speed changed faster.
Definition at line 407 of file musiclrcmakerwidget.cpp.
References m_analysis, m_ui, MusicLrcAnalysis::revertTime(), MusicLrcAnalysis::setSongTimeSpeed(), TTK_DN_S2MS, and updateCurrentLrc().
Referenced by createThirdWidget().
|
privateslot |
Set lrc time speed changed slower.
Definition at line 401 of file musiclrcmakerwidget.cpp.
References m_analysis, m_ui, MusicLrcAnalysis::revertTime(), MusicLrcAnalysis::setSongTimeSpeed(), TTK_DN_S2MS, and updateCurrentLrc().
Referenced by createThirdWidget().
|
slot |
Set current player position.
Definition at line 192 of file musiclrcmakerwidget.cpp.
References MusicLrcAnalysis::findText(), TTKTime::formatDuration(), MusicLrcAnalysis::isEmpty(), MusicLrcAnalysis::lineMiddle(), m_analysis, m_intervalTime, m_lrcContainer, m_ui, and updateCurrentLrc().
|
privateslot |
Remake lrc button clicked.
Definition at line 259 of file musiclrcmakerwidget.cpp.
References MusicAbstractMoveDialog::exec(), MusicApplication::instance(), MusicApplication::playAnyTimeAt(), setCurrentFirstWidget(), and MusicMessageBox::setText().
Referenced by createThirdWidget().
|
private |
Reset to origin play mode.
Definition at line 712 of file musiclrcmakerwidget.cpp.
References MusicApplication::instance(), TTK::ListLoop, m_playMode, TTK::Once, TTK::OneLoop, TTK::Order, MusicApplication::playlistLoop(), MusicApplication::playOnce(), MusicApplication::playOneLoop(), MusicApplication::playOrder(), MusicApplication::playRandom(), and TTK::Random.
Referenced by ~MusicLrcMakerWidget().
|
privateslot |
Save lrc button clicked.
Definition at line 248 of file musiclrcmakerwidget.cpp.
References m_analysis, m_plainText, m_times, MusicToastLabel::popup(), and MusicLrcAnalysis::saveData().
Referenced by createThirdWidget().
|
private |
Set controller enable or disable.
Definition at line 697 of file musiclrcmakerwidget.cpp.
References m_ui.
|
privateslot |
Change current widget to first widget.
Definition at line 314 of file musiclrcmakerwidget.cpp.
References m_ui.
Referenced by createMainWidget(), createSecondWidget(), and reMakeButtonClicked().
|
privateslot |
Change current widget to main widget.
Definition at line 309 of file musiclrcmakerwidget.cpp.
References m_ui.
Referenced by createFirstWidget().
|
privateslot |
Change current widget to second widget.
Definition at line 319 of file musiclrcmakerwidget.cpp.
References checkInputValid(), firstWidgetStateButtonClicked(), MusicApplication::instance(), MusicApplication::isPlaying(), m_currentLine, m_lineItem, m_plainText, m_times, m_ui, MusicApplication::playAnyTimeAt(), MusicLrcMakerWidgetItem::reset(), MusicLrcMakerWidgetItem::setText(), and TTK_LINEFEED.
Referenced by backToMakeLrcWidget(), and createFirstWidget().
void MusicLrcMakerWidget::setCurrentSongName | ( | const QString & | name | ) |
Set current song name.
Definition at line 184 of file musiclrcmakerwidget.cpp.
References TTK::generateSongArtist(), TTK::generateSongTitle(), LRC_FILE, TTK::String::lrcDirPrefix(), m_analysis, m_plainText, m_ui, and MusicLrcAnalysis::setCurrentFilePath().
Referenced by MusicLrcContainer::showLrcMakedWidget().
|
privateslot |
Change current widget to third widget.
Definition at line 358 of file musiclrcmakerwidget.cpp.
References MusicApplication::instance(), MusicLrcAnalysis::lineMax(), m_analysis, m_lrcContainer, m_plainText, m_times, m_ui, MusicApplication::playAnyTimeAt(), MusicToastLabel::popup(), MusicLrcAnalysis::setData(), and setItemStyleSheet().
Referenced by createSecondWidget().
Set per lrc line style sheet.
Definition at line 735 of file musiclrcmakerwidget.cpp.
References G_SETTING_PTR, m_lrcContainer, TTK::mapIndexToColor(), TTK::readColorConfig(), MusicLrcManagerForInterior::setFontSize(), MusicLrcManager::setFontTransparent(), MusicLrcManager::setLinearGradientColor(), MusicLrcManagerForInterior::setTransparent(), TTK_RN_MAX, TTK_RN_MIN, and TTKStaticCast.
Referenced by setCurrentThirdWidget().
|
privateslot |
Third widget state changed.
Definition at line 290 of file musiclrcmakerwidget.cpp.
References MusicApplication::instance(), MusicLrcAnalysis::lineMiddle(), m_analysis, m_intervalTime, m_lrcContainer, m_ui, and MusicApplication::switchToPlayState().
Referenced by createThirdWidget().
|
privateslot |
Time slider value changed.
Definition at line 242 of file musiclrcmakerwidget.cpp.
References MusicApplication::instance(), m_analysis, MusicApplication::playAnyTimeAt(), and MusicLrcAnalysis::setSongTimeSpeed().
Referenced by createFirstWidget(), createSecondWidget(), and createThirdWidget().
|
private |
Translate current long time to string.
Definition at line 706 of file musiclrcmakerwidget.cpp.
References TTKTime::millionSecond(), and TTKTime::toString().
|
privateslot |
Animation finished.
Definition at line 390 of file musiclrcmakerwidget.cpp.
References MusicLrcAnalysis::currentIndex(), MusicLrcAnalysis::lineMax(), MusicLrcAnalysis::lineMiddle(), m_analysis, m_intervalTime, m_lrcContainer, MusicLrcAnalysis::setCurrentIndex(), and MusicLrcAnalysis::text().
|
private |
Update current lrc by given time.
Definition at line 726 of file musiclrcmakerwidget.cpp.
References MusicLrcAnalysis::isValid(), m_analysis, m_intervalTime, and m_ui.
Referenced by lrcSpeedFaster(), lrcSpeedSlower(), and positionChanged().
|
private |
Definition at line 241 of file musiclrcmakerwidget.h.
Referenced by createThirdWidget(), lrcSpeedFaster(), lrcSpeedSlower(), positionChanged(), saveButtonClicked(), setCurrentSongName(), setCurrentThirdWidget(), thirdWidgetStateButtonClicked(), timeSliderValueChanged(), updateAnimationLrc(), updateCurrentLrc(), and ~MusicLrcMakerWidget().
|
private |
Definition at line 237 of file musiclrcmakerwidget.h.
Referenced by createCurrentLine(), and setCurrentSecondWidget().
|
private |
Definition at line 239 of file musiclrcmakerwidget.h.
Referenced by positionChanged(), thirdWidgetStateButtonClicked(), updateAnimationLrc(), and updateCurrentLrc().
|
private |
Definition at line 240 of file musiclrcmakerwidget.h.
Referenced by createCurrentLine(), createSecondWidget(), setCurrentSecondWidget(), and ~MusicLrcMakerWidget().
|
private |
Definition at line 242 of file musiclrcmakerwidget.h.
Referenced by createThirdWidget(), positionChanged(), setCurrentThirdWidget(), setItemStyleSheet(), thirdWidgetStateButtonClicked(), updateAnimationLrc(), and ~MusicLrcMakerWidget().
|
private |
Definition at line 235 of file musiclrcmakerwidget.h.
Referenced by createCurrentLine(), saveButtonClicked(), setCurrentSecondWidget(), setCurrentSongName(), and setCurrentThirdWidget().
|
private |
Definition at line 238 of file musiclrcmakerwidget.h.
Referenced by MusicLrcMakerWidget(), and resetToOriginPlayMode().
|
private |
Definition at line 236 of file musiclrcmakerwidget.h.
Referenced by createCurrentLine(), saveButtonClicked(), setCurrentSecondWidget(), and setCurrentThirdWidget().
|
private |
Definition at line 234 of file musiclrcmakerwidget.h.
Referenced by checkInputValid(), createCurrentLine(), createFirstWidget(), createMainWidget(), createSecondWidget(), createThirdWidget(), durationChanged(), firstWidgetStateButtonClicked(), lrcSpeedFaster(), lrcSpeedSlower(), MusicLrcMakerWidget(), positionChanged(), setControlEnabled(), setCurrentFirstWidget(), setCurrentMainWidget(), setCurrentSecondWidget(), setCurrentSongName(), setCurrentThirdWidget(), thirdWidgetStateButtonClicked(), updateCurrentLrc(), and ~MusicLrcMakerWidget().