TaskbarComponentWin.cpp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #include <QApplication>
  2. #include <QStyle>
  3. #include "TaskbarComponentWin.h"
  4. /////////////////////////////////////////////////////////////////////////////////////////
  5. void TaskbarComponentWin::setWindow(QQuickWindow* window)
  6. {
  7. TaskbarComponent::setWindow(window);
  8. m_button = new QWinTaskbarButton(m_window);
  9. m_button->setWindow(m_window);
  10. m_toolbar = new QWinThumbnailToolBar(m_window);
  11. m_toolbar->setWindow(m_window);
  12. m_pause = new QWinThumbnailToolButton(m_toolbar);
  13. connect(m_pause, &QWinThumbnailToolButton::clicked, this, &TaskbarComponentWin::onPauseClicked);
  14. m_toolbar->addButton(m_pause);
  15. setControlsVisible(false);
  16. setPaused(false);
  17. }
  18. /////////////////////////////////////////////////////////////////////////////////////////
  19. void TaskbarComponentWin::onPauseClicked()
  20. {
  21. emit pauseClicked();
  22. }
  23. /////////////////////////////////////////////////////////////////////////////////////////
  24. void TaskbarComponentWin::setControlsVisible(bool value)
  25. {
  26. m_button->progress()->setVisible(value);
  27. for (auto& button : m_toolbar->buttons())
  28. {
  29. button->setVisible(value);
  30. }
  31. }
  32. /////////////////////////////////////////////////////////////////////////////////////////
  33. void TaskbarComponentWin::setProgress(int value)
  34. {
  35. m_button->progress()->setValue(value);
  36. }
  37. /////////////////////////////////////////////////////////////////////////////////////////
  38. void TaskbarComponentWin::setPaused(bool value)
  39. {
  40. if (value)
  41. {
  42. // m_pause->setToolTip("Resume");
  43. m_pause->setIcon(QApplication::style()->standardIcon(QStyle::SP_MediaPlay));
  44. }
  45. else
  46. {
  47. // m_pause->setToolTip("Pause");
  48. m_pause->setIcon(QApplication::style()->standardIcon(QStyle::SP_MediaPause));
  49. }
  50. m_button->progress()->setPaused(value);
  51. }