|
@@ -22,15 +22,15 @@ StatusWidget::StatusWidget(QWidget *parent)
|
|
ui->galadriel_tooltip_example->hide();
|
|
ui->galadriel_tooltip_example->hide();
|
|
ui->c_progress_bar->setProgress(100);
|
|
ui->c_progress_bar->setProgress(100);
|
|
|
|
|
|
- connect(ui->weekly_code_widget, &WeeklyCodeWidget::showCompletedTooltip, this, [this](){setToolTipMessage("Еженедельный код скопирован в буфер обмена.", E_INFO);});
|
|
|
|
- connect(ui->weekly_code_widget, &WeeklyCodeWidget::showHelpTooltip, this, [this](){setToolTipMessage("Нажмите по еженедельному коду, чтобы скопировать его.", E_INFO);});
|
|
|
|
- connect(ui->weekly_code_widget, &WeeklyCodeWidget::showNoTooltip, this, [this](){unsetToolTipMessage(E_INFO);});
|
|
|
|
|
|
+ connect(ui->weekly_code_widget, &WeeklyCodeWidget::showCompletedTooltip, this, [this](){setToolTipMessage("Еженедельный код скопирован в буфер обмена.", E_HINT);});
|
|
|
|
+ connect(ui->weekly_code_widget, &WeeklyCodeWidget::showHelpTooltip, this, [this](){setToolTipMessage("Нажмите по еженедельному коду, чтобы скопировать его.", E_HINT);});
|
|
|
|
+ connect(ui->weekly_code_widget, &WeeklyCodeWidget::showNoTooltip, this, [this](){unsetToolTipMessage(E_HINT);});
|
|
|
|
|
|
- connect(ui->news_list, &NewsListWidget::showHelpToolTip, this, [this](){setToolTipMessage("Нажмите на заголовок новости, чтобы открыть её в браузере.", E_INFO);});
|
|
|
|
- connect(ui->news_list, &NewsListWidget::showNoToolTip, this, [this](){unsetToolTipMessage(E_INFO);});
|
|
|
|
|
|
+ connect(ui->news_list, &NewsListWidget::showHelpToolTip, this, [this](){setToolTipMessage("Нажмите на заголовок новости, чтобы открыть её в браузере.", E_HINT);});
|
|
|
|
+ connect(ui->news_list, &NewsListWidget::showNoToolTip, this, [this](){unsetToolTipMessage(E_HINT);});
|
|
|
|
|
|
- connect(ui->server_status_widget, &ServerStatusWidget::showServersTooltip, this, [this](QString message){setToolTipMessage(message, E_INFO);});
|
|
|
|
- connect(ui->server_status_widget, &ServerStatusWidget::showNoTooltip, this, [this](){unsetToolTipMessage(E_INFO);});
|
|
|
|
|
|
+ connect(ui->server_status_widget, &ServerStatusWidget::showServersTooltip, this, [this](QString message){setToolTipMessage(message, E_HINT);});
|
|
|
|
+ connect(ui->server_status_widget, &ServerStatusWidget::showNoTooltip, this, [this](){unsetToolTipMessage(E_HINT);});
|
|
|
|
|
|
connect(&PatchDownloader::instance(), &PatchDownloader::started, this, &StatusWidget::onPatchDownloaderStarted);
|
|
connect(&PatchDownloader::instance(), &PatchDownloader::started, this, &StatusWidget::onPatchDownloaderStarted);
|
|
connect(&PatchDownloader::instance(), &PatchDownloader::progressChanged, this, &StatusWidget::onPatchDownloaderProgressChanged);
|
|
connect(&PatchDownloader::instance(), &PatchDownloader::progressChanged, this, &StatusWidget::onPatchDownloaderProgressChanged);
|
|
@@ -49,7 +49,7 @@ StatusWidget::StatusWidget(QWidget *parent)
|
|
|
|
|
|
connect(ui->b_components_status, &TranslationComponents::needToPatch, this, &StatusWidget::onTranslationComponentsNeedToPatch);
|
|
connect(ui->b_components_status, &TranslationComponents::needToPatch, this, &StatusWidget::onTranslationComponentsNeedToPatch);
|
|
connect(ui->b_components_status, &TranslationComponents::noNeedToPatch, this, &StatusWidget::onTranslationComponentsNoNeedToPatch);
|
|
connect(ui->b_components_status, &TranslationComponents::noNeedToPatch, this, &StatusWidget::onTranslationComponentsNoNeedToPatch);
|
|
-
|
|
|
|
|
|
+ connect(&PatchDownloader::instance(), &PatchDownloader::checkForUpdatesStatusChanged, this, [this](bool need_update){_need_to_update = need_update; updateButtonStatus();});
|
|
ui->b_components_status->hide();
|
|
ui->b_components_status->hide();
|
|
|
|
|
|
_components_status_opacity_effect = new QGraphicsOpacityEffect();
|
|
_components_status_opacity_effect = new QGraphicsOpacityEffect();
|
|
@@ -103,10 +103,10 @@ void StatusWidget::unsetToolTipMessage(StatusWidget::ToolTipState state)
|
|
|
|
|
|
if (tooltip_state_ & E_INFO) {
|
|
if (tooltip_state_ & E_INFO) {
|
|
showing_state = E_INFO;
|
|
showing_state = E_INFO;
|
|
- } else if (tooltip_state_ & E_ERROR) {
|
|
|
|
- showing_state = E_ERROR;
|
|
|
|
} else if (tooltip_state_ & E_PROCESS) {
|
|
} else if (tooltip_state_ & E_PROCESS) {
|
|
showing_state = E_PROCESS;
|
|
showing_state = E_PROCESS;
|
|
|
|
+ } else if (tooltip_state_ & E_HINT) {
|
|
|
|
+ showing_state = E_HINT;
|
|
}
|
|
}
|
|
|
|
|
|
QString message_id = tooltip_messages_[showing_state];
|
|
QString message_id = tooltip_messages_[showing_state];
|
|
@@ -126,7 +126,7 @@ void StatusWidget::onErrorStatusChanged(AppErrorStatus status)
|
|
QString init_error_type_message;
|
|
QString init_error_type_message;
|
|
|
|
|
|
if (status == E_NO_ERRORS) {
|
|
if (status == E_NO_ERRORS) {
|
|
- setToolTipMessage("Инициализация Наследия прошла успешно!", E_ERROR);
|
|
|
|
|
|
+ setToolTipMessage("Инициализация Наследия прошла успешно!", E_INFO);
|
|
ui->news_list->updateNewsWidget();
|
|
ui->news_list->updateNewsWidget();
|
|
ui->server_status_widget->updateServerStatus();
|
|
ui->server_status_widget->updateServerStatus();
|
|
ui->weekly_code_widget->updateWeeklyCodeWidget();
|
|
ui->weekly_code_widget->updateWeeklyCodeWidget();
|
|
@@ -147,7 +147,7 @@ void StatusWidget::onErrorStatusChanged(AppErrorStatus status)
|
|
} else if (status == E_NO_SERVER_CONNECTION) {
|
|
} else if (status == E_NO_SERVER_CONNECTION) {
|
|
init_error_type_message = "Нет связи с серверами Наследия.\nПожалуйста, проверьте соединение с Интернетом.";
|
|
init_error_type_message = "Нет связи с серверами Наследия.\nПожалуйста, проверьте соединение с Интернетом.";
|
|
}
|
|
}
|
|
- setToolTipMessage(init_error_type_message, E_ERROR);
|
|
|
|
|
|
+ setToolTipMessage(init_error_type_message, E_INFO);
|
|
}
|
|
}
|
|
|
|
|
|
void StatusWidget::resizeEvent(QResizeEvent *)
|
|
void StatusWidget::resizeEvent(QResizeEvent *)
|
|
@@ -300,6 +300,10 @@ void StatusWidget::onPatchInstallerVideoProgressChanged(int finished_videos, int
|
|
|
|
|
|
void StatusWidget::on_game_button_clicked()
|
|
void StatusWidget::on_game_button_clicked()
|
|
{
|
|
{
|
|
|
|
+ if (_need_to_update || _need_to_install_patches) {
|
|
|
|
+ QMetaObject::invokeMethod(&PatchDownloader::instance(), &PatchDownloader::startPatchDownloaderChain, Qt::QueuedConnection);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
void StatusWidget::createTooltipMessageWidget(QString tooltip_id)
|
|
void StatusWidget::createTooltipMessageWidget(QString tooltip_id)
|
|
@@ -373,21 +377,15 @@ void StatusWidget::onTranslationComponentsNoNeedToPatch() {
|
|
|
|
|
|
void StatusWidget::updateButtonStatus() {
|
|
void StatusWidget::updateButtonStatus() {
|
|
if (_need_to_update) {
|
|
if (_need_to_update) {
|
|
- setToolTipMessage("Доступна новая версия русификации. Нажмите \"Обновить\", чтобы начать загрузку.", ToolTipState::E_INFO);
|
|
|
|
|
|
+ setToolTipMessage("Доступны обновления русификации.\nНажмите \"Обновить\", чтобы начать загрузку.", ToolTipState::E_INFO);
|
|
ui->game_button->setText("ОБНОВИТЬ");
|
|
ui->game_button->setText("ОБНОВИТЬ");
|
|
ui->game_button->setStyleSheet("QPushButton#game_button { \n color: white;\n border-image: url(:/buttons/button_big_yellow.png);\n}\n\nQPushButton#game_button:hover {\n color: white;\n border-image: url(:/buttons/button_big_yellow_over.png);\n}\n\nQPushButton#game_button:pressed {\n color: white;\n border-image: url(:/buttons/button_big_yellow_pressed.png);\n}\n\nQPushButton#game_button:disabled {\n color: white;\n border-image: url(:/buttons/button_big_disabled.png);\n}\n");
|
|
ui->game_button->setStyleSheet("QPushButton#game_button { \n color: white;\n border-image: url(:/buttons/button_big_yellow.png);\n}\n\nQPushButton#game_button:hover {\n color: white;\n border-image: url(:/buttons/button_big_yellow_over.png);\n}\n\nQPushButton#game_button:pressed {\n color: white;\n border-image: url(:/buttons/button_big_yellow_pressed.png);\n}\n\nQPushButton#game_button:disabled {\n color: white;\n border-image: url(:/buttons/button_big_disabled.png);\n}\n");
|
|
- } else {
|
|
|
|
- unsetToolTipMessage(ToolTipState::E_INFO);
|
|
|
|
- ui->game_button->setText("ИГРАТЬ");
|
|
|
|
- ui->game_button->setStyleSheet("QPushButton#game_button { \n color: white;\n border-image: url(:/buttons/button_big_normal.png);\n}\n\nQPushButton#game_button:hover {\n color: white;\n border-image: url(:/buttons/button_big_over.png);\n}\n\nQPushButton#game_button:pressed {\n color: white;\n border-image: url(:/buttons/button_big_pressed.png);\n}\n\nQPushButton#game_button:disabled {\n color: white;\n border-image: url(:/buttons/button_big_disabled.png);\n}\n");
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (_need_to_install_patches) {
|
|
|
|
- setToolTipMessage("Нажмите \"Установить\", чтобы начать процесс русификации.", ToolTipState::E_INFO);
|
|
|
|
|
|
+ } else if (_need_to_install_patches) {
|
|
|
|
+ setToolTipMessage("Выбранные компоненты требуют установки.\nНажмите \"Установить\", чтобы установить недостающие части русификации.", ToolTipState::E_INFO);
|
|
ui->game_button->setText("установить");
|
|
ui->game_button->setText("установить");
|
|
ui->game_button->setStyleSheet("QPushButton#game_button { \n color: white;\n border-image: url(:/buttons/button_big_yellow.png);\n}\n\nQPushButton#game_button:hover {\n color: white;\n border-image: url(:/buttons/button_big_yellow_over.png);\n}\n\nQPushButton#game_button:pressed {\n color: white;\n border-image: url(:/buttons/button_big_yellow_pressed.png);\n}\n\nQPushButton#game_button:disabled {\n color: white;\n border-image: url(:/buttons/button_big_disabled.png);\n}\n");
|
|
ui->game_button->setStyleSheet("QPushButton#game_button { \n color: white;\n border-image: url(:/buttons/button_big_yellow.png);\n}\n\nQPushButton#game_button:hover {\n color: white;\n border-image: url(:/buttons/button_big_yellow_over.png);\n}\n\nQPushButton#game_button:pressed {\n color: white;\n border-image: url(:/buttons/button_big_yellow_pressed.png);\n}\n\nQPushButton#game_button:disabled {\n color: white;\n border-image: url(:/buttons/button_big_disabled.png);\n}\n");
|
|
} else {
|
|
} else {
|
|
- unsetToolTipMessage(ToolTipState::E_INFO);
|
|
|
|
|
|
+ setToolTipMessage("Установлена последняя версия русификации.\nНажмите \"Играть\", чтобы запустить игру.", ToolTipState::E_INFO);
|
|
ui->game_button->setText("ИГРАТЬ");
|
|
ui->game_button->setText("ИГРАТЬ");
|
|
ui->game_button->setStyleSheet("QPushButton#game_button { \n color: white;\n border-image: url(:/buttons/button_big_normal.png);\n}\n\nQPushButton#game_button:hover {\n color: white;\n border-image: url(:/buttons/button_big_over.png);\n}\n\nQPushButton#game_button:pressed {\n color: white;\n border-image: url(:/buttons/button_big_pressed.png);\n}\n\nQPushButton#game_button:disabled {\n color: white;\n border-image: url(:/buttons/button_big_disabled.png);\n}\n");
|
|
ui->game_button->setStyleSheet("QPushButton#game_button { \n color: white;\n border-image: url(:/buttons/button_big_normal.png);\n}\n\nQPushButton#game_button:hover {\n color: white;\n border-image: url(:/buttons/button_big_over.png);\n}\n\nQPushButton#game_button:pressed {\n color: white;\n border-image: url(:/buttons/button_big_pressed.png);\n}\n\nQPushButton#game_button:disabled {\n color: white;\n border-image: url(:/buttons/button_big_disabled.png);\n}\n");
|
|
}
|
|
}
|