chooseversiondialog.cpp 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #include "chooseversiondialog.h"
  2. #include "ui_chooseversiondialog.h"
  3. #include "models/lotrodatmanager.h"
  4. #include "models/patchdownloader.h"
  5. #include "models/settings.h"
  6. #include "widgets/mainwindow.h"
  7. #include "constants.h"
  8. ChooseVersionDialog::ChooseVersionDialog(PatchDownloader *patch_downloader, LotroDatManager *lotro_dat_manager, QWidget *parent) :
  9. QWidget(parent), lotro_manager(lotro_dat_manager),
  10. ui(new Ui::ChooseVersionDialog)
  11. {
  12. // setWindowModality(Qt::WindowModal);
  13. ui->setupUi(this);
  14. ui->wait_widget->hide();
  15. ui->cancel_widget->show();
  16. }
  17. ChooseVersionDialog::~ChooseVersionDialog()
  18. {
  19. delete ui;
  20. }
  21. void ChooseVersionDialog::updateFontsSizes()
  22. {
  23. ui->label_title->setFont(garamond_12pt);
  24. }
  25. void ChooseVersionDialog::resizeEvent(QResizeEvent *event)
  26. {
  27. updateFontsSizes();
  28. }
  29. void ChooseVersionDialog::show()
  30. {
  31. QString locale_prefix = Settings::getValue("Lotro/original_locale").toString();
  32. ui->start_original->setStyleSheet("QWidget#start_original{\n border: 0;\n border-image: url(:/buttons/run_" + locale_prefix + ".png);\n}\n\nQWidget#start_original:hover{\n border: 3px;\n border-image: url(:/buttons/run_" + locale_prefix + ".png);\n}");
  33. QWidget::show();
  34. }
  35. void ChooseVersionDialog::on_start_patched_clicked()
  36. {
  37. ui->wait_widget->show();
  38. ui->cancel_widget->hide();
  39. QMetaObject::invokeMethod(lotro_manager, "StartGame", Qt::QueuedConnection, Q_ARG(LOTRO_DAT::DatLocaleManager::LOCALE, LOTRO_DAT::DatLocaleManager::PATCHED));
  40. }
  41. void ChooseVersionDialog::on_start_original_clicked()
  42. {
  43. ui->wait_widget->show();
  44. ui->cancel_widget->hide();
  45. QMetaObject::invokeMethod(lotro_manager, "StartGame", Qt::QueuedConnection, Q_ARG(LOTRO_DAT::DatLocaleManager::LOCALE, LOTRO_DAT::DatLocaleManager::ORIGINAL));
  46. }
  47. void ChooseVersionDialog::on_cancel_clicked()
  48. {
  49. hide();
  50. emit cancelled();
  51. }