1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #include <QApplication>
- #include <QStyle>
- #include "TaskbarComponentWin.h"
- /////////////////////////////////////////////////////////////////////////////////////////
- void TaskbarComponentWin::setWindow(QQuickWindow* window)
- {
- TaskbarComponent::setWindow(window);
- m_button = new QWinTaskbarButton(m_window);
- m_button->setWindow(m_window);
- m_toolbar = new QWinThumbnailToolBar(m_window);
- m_toolbar->setWindow(m_window);
- m_prev = new QWinThumbnailToolButton(m_toolbar);
- connect(m_prev, &QWinThumbnailToolButton::clicked, this, &TaskbarComponentWin::onPrevClicked);
- m_pause = new QWinThumbnailToolButton(m_toolbar);
- connect(m_pause, &QWinThumbnailToolButton::clicked, this, &TaskbarComponentWin::onPauseClicked);
- m_next = new QWinThumbnailToolButton(m_toolbar);
- connect(m_next, &QWinThumbnailToolButton::clicked, this, &TaskbarComponentWin::onNextClicked);
- m_prev->setIcon(QApplication::style()->standardIcon(QStyle::SP_MediaSkipBackward));
- m_next->setIcon(QApplication::style()->standardIcon(QStyle::SP_MediaSkipForward));
- m_toolbar->addButton(m_prev);
- m_toolbar->addButton(m_pause);
- m_toolbar->addButton(m_next);
- connect(&PlayerComponent::Get(), &PlayerComponent::positionUpdate, this, &TaskbarComponentWin::setProgress);
- setControlsVisible(false);
- setPaused(false);
- }
- /////////////////////////////////////////////////////////////////////////////////////////
- void TaskbarComponentWin::onPauseClicked()
- {
- InputComponent::Get().sendAction("play_pause");
- }
- /////////////////////////////////////////////////////////////////////////////////////////
- void TaskbarComponentWin::onNextClicked()
- {
- InputComponent::Get().sendAction("next");
- }
- /////////////////////////////////////////////////////////////////////////////////////////
- void TaskbarComponentWin::onPrevClicked()
- {
- InputComponent::Get().sendAction("previous");
- }
- /////////////////////////////////////////////////////////////////////////////////////////
- void TaskbarComponentWin::setControlsVisible(bool value)
- {
- m_button->progress()->setVisible(value);
- for (auto& button : m_toolbar->buttons())
- {
- button->setVisible(value);
- }
- }
- /////////////////////////////////////////////////////////////////////////////////////////
- void TaskbarComponentWin::setProgress(quint64 value)
- {
- qint64 duration = PlayerComponent::Get().getDuration();
- int progress = 0;
- if (duration != 0) {
- progress = (int) (value * 100 / duration)
- }
- m_button->progress()->setValue(progress);
- }
- /////////////////////////////////////////////////////////////////////////////////////////
- void TaskbarComponentWin::setPaused(bool value)
- {
- if (value)
- {
- // m_pause->setToolTip("Resume");
- m_pause->setIcon(QApplication::style()->standardIcon(QStyle::SP_MediaPlay));
- }
- else
- {
- // m_pause->setToolTip("Pause");
- m_pause->setIcon(QApplication::style()->standardIcon(QStyle::SP_MediaPause));
- }
- m_button->progress()->setPaused(value);
- }
|