statuswidget.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #ifndef STATUSWIDGET_H
  2. #define STATUSWIDGET_H
  3. #include <QWidget>
  4. #include <QSettings>
  5. #include <QPropertyAnimation>
  6. #include <QMap>
  7. #include <QGraphicsOpacityEffect>
  8. #include "models/patchdownloader.h"
  9. namespace Ui {
  10. class StatusWidget;
  11. }
  12. class LotroDatManager;
  13. class StatusWidget : public QWidget
  14. {
  15. Q_OBJECT
  16. public:
  17. explicit StatusWidget(PatchDownloader* patch_downloader, LotroDatManager* lotro_dat_manager, QWidget *parent = 0);
  18. ~StatusWidget();
  19. public slots:
  20. void updateFontsSizes();
  21. protected:
  22. void resizeEvent(QResizeEvent *event) override;
  23. private slots:
  24. void onPatchDownloaderStarted();
  25. void onPatchDownloaderFinished();
  26. void onPatchDownloaderProgressChanged(QList<PatchDownloadData>);
  27. void updatePatchStatus(QString patch_name, QString status);
  28. void on_game_button_clicked();
  29. void setToolTipToWeeklyCodeHelp();
  30. void setToolTipToWeeklyCodeComplete();
  31. void setToolTipToNewsHelp();
  32. void setToolTipToServersStatus();
  33. void resetToolTip();
  34. void fadeBetweenToolTips(QWidget* next_tooltip);
  35. private:
  36. Ui::StatusWidget *ui;
  37. PatchDownloader* patch_updater;
  38. LotroDatManager* lotro_manager;
  39. QMap<QString, QGraphicsOpacityEffect*> tooltip_effects;
  40. QMap<QString, QPropertyAnimation*> tooltip_animations;
  41. QWidget* active_tooltip;
  42. QTime last_progress_update_time;
  43. };
  44. #endif // STATUSWIDGET_H