chooseversiondialog.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include "chooseversiondialog.h"
  2. #include "ui_chooseversiondialog.h"
  3. #include "models/lotrodatmanager.h"
  4. #include "models/patchdownloader.h"
  5. #include "widgets/mainwindow.h"
  6. ChooseVersionDialog::ChooseVersionDialog(QSettings *settings, PatchDownloader *patch_downloader, LotroDatManager *lotro_dat_manager, QWidget *parent) :
  7. QWidget(parent), app_settings(settings), lotro_manager(lotro_dat_manager),
  8. ui(new Ui::ChooseVersionDialog)
  9. {
  10. // setWindowModality(Qt::WindowModal);
  11. ui->setupUi(this);
  12. ui->wait_widget->hide();
  13. ui->cancel_widget->show();
  14. }
  15. ChooseVersionDialog::~ChooseVersionDialog()
  16. {
  17. delete ui;
  18. }
  19. void ChooseVersionDialog::show()
  20. {
  21. QString locale_prefix = app_settings->value("General/original_locale", "English").toString();
  22. 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}");
  23. QWidget::show();
  24. }
  25. void ChooseVersionDialog::on_start_patched_clicked()
  26. {
  27. ui->wait_widget->show();
  28. ui->cancel_widget->hide();
  29. QMetaObject::invokeMethod(lotro_manager, "StartGame", Qt::QueuedConnection, Q_ARG(LOTRO_DAT::DatLocaleManager::LOCALE, LOTRO_DAT::DatLocaleManager::PATCHED));
  30. }
  31. void ChooseVersionDialog::on_start_original_clicked()
  32. {
  33. ui->wait_widget->show();
  34. ui->cancel_widget->hide();
  35. QMetaObject::invokeMethod(lotro_manager, "StartGame", Qt::QueuedConnection, Q_ARG(LOTRO_DAT::DatLocaleManager::LOCALE, LOTRO_DAT::DatLocaleManager::ORIGINAL));
  36. }
  37. void ChooseVersionDialog::on_cancel_clicked()
  38. {
  39. hide();
  40. emit cancelled();
  41. }