|
@@ -45,7 +45,7 @@ StatusWidget::StatusWidget(QWidget *parent)
|
|
connect(&random_tooltip_generator_timer_, &QTimer::timeout, this, &StatusWidget::generateRandomTooltipMessage);
|
|
connect(&random_tooltip_generator_timer_, &QTimer::timeout, this, &StatusWidget::generateRandomTooltipMessage);
|
|
random_tooltip_generator_timer_.start();
|
|
random_tooltip_generator_timer_.start();
|
|
|
|
|
|
- process_completed_tooltip_hide_timer_.setInterval(10 * 1000); // 10 seconds message "Installation completed" will be shown
|
|
|
|
|
|
+ process_completed_tooltip_hide_timer_.setInterval(4 * 1000); // 4 seconds message "Installation completed" will be shown
|
|
process_completed_tooltip_hide_timer_.stop();
|
|
process_completed_tooltip_hide_timer_.stop();
|
|
connect(&process_completed_tooltip_hide_timer_, &QTimer::timeout, this, [this](){unsetToolTipMessage(E_PROCESS); process_completed_tooltip_hide_timer_.stop();});
|
|
connect(&process_completed_tooltip_hide_timer_, &QTimer::timeout, this, [this](){unsetToolTipMessage(E_PROCESS); process_completed_tooltip_hide_timer_.stop();});
|
|
}
|
|
}
|
|
@@ -64,18 +64,21 @@ void StatusWidget::updateFontsSizes()
|
|
|
|
|
|
void StatusWidget::setToolTipMessage(QString message, StatusWidget::ToolTipState state)
|
|
void StatusWidget::setToolTipMessage(QString message, StatusWidget::ToolTipState state)
|
|
{
|
|
{
|
|
|
|
+ if (state == E_RANDOM) {
|
|
|
|
+ random_tooltip_generator_timer_.start();
|
|
|
|
+ } else {
|
|
|
|
+ random_tooltip_generator_timer_.stop();
|
|
|
|
+ }
|
|
|
|
+
|
|
tooltip_messages_[state] = message;
|
|
tooltip_messages_[state] = message;
|
|
tooltip_state_ = ToolTipState(int(tooltip_state_) | int(state));
|
|
tooltip_state_ = ToolTipState(int(tooltip_state_) | int(state));
|
|
|
|
|
|
- qDebug() << "Setting tooltip message " << message << " with state " << int(state) << ", new state = " << tooltip_state_;
|
|
|
|
QString message_id = message;
|
|
QString message_id = message;
|
|
if (state == E_PROCESS) {
|
|
if (state == E_PROCESS) {
|
|
message_id = "E_PROCESS";
|
|
message_id = "E_PROCESS";
|
|
}
|
|
}
|
|
|
|
|
|
if (tooltip_state_ < state * 2) {
|
|
if (tooltip_state_ < state * 2) {
|
|
- qDebug() << "FADING TOOLTIP to " << message_id;
|
|
|
|
-
|
|
|
|
if (!tooltip_widgets_.contains(message_id)) {
|
|
if (!tooltip_widgets_.contains(message_id)) {
|
|
createTooltipMessageWidget(message_id);
|
|
createTooltipMessageWidget(message_id);
|
|
}
|
|
}
|
|
@@ -103,11 +106,16 @@ void StatusWidget::unsetToolTipMessage(StatusWidget::ToolTipState state)
|
|
message_id = "E_PROCESS";
|
|
message_id = "E_PROCESS";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (showing_state == E_RANDOM) {
|
|
|
|
+ random_tooltip_generator_timer_.start();
|
|
|
|
+ } else {
|
|
|
|
+ random_tooltip_generator_timer_.stop();
|
|
|
|
+ }
|
|
|
|
+
|
|
if (!tooltip_widgets_.contains(message_id)) {
|
|
if (!tooltip_widgets_.contains(message_id)) {
|
|
createTooltipMessageWidget(message_id);
|
|
createTooltipMessageWidget(message_id);
|
|
}
|
|
}
|
|
tooltip_widgets_[message_id]->setText(tooltip_messages_[showing_state]);
|
|
tooltip_widgets_[message_id]->setText(tooltip_messages_[showing_state]);
|
|
- qDebug() << "UNSETTING TOOLTIP to " << message_id << ", deleting state " << state << ", showing state " << showing_state;
|
|
|
|
fadeBetweenToolTips(message_id);
|
|
fadeBetweenToolTips(message_id);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -206,7 +214,14 @@ void StatusWidget::resizeEvent(QResizeEvent *)
|
|
void StatusWidget::generateRandomTooltipMessage()
|
|
void StatusWidget::generateRandomTooltipMessage()
|
|
{
|
|
{
|
|
quint32 number = QRandomGenerator::system()->generate();
|
|
quint32 number = QRandomGenerator::system()->generate();
|
|
- setToolTipMessage("СЛУЧАЙНОЕ СООБЩЕНИЕ №" + QString::number(number), E_RANDOM);
|
|
|
|
|
|
+
|
|
|
|
+ QVector<QString> messages = {
|
|
|
|
+ "<p style=\"font-size: 22px; \">Atra du evarínya ono varda! Я видела тебя в своём зеркале...</p>",
|
|
|
|
+ "<p style=\"font-size: 22px; \">Опасно ходить в рейды в одиночку! Зачищать инсты лучше в хорошей компании :)</p>",
|
|
|
|
+ "<p style=\"font-size: 22px; \">Какое-то ещё мудрое высказывание в стиле эльфов...</p>",
|
|
|
|
+ "<p style=\"font-size: 22px; \">Мудрые сидят в дискорде Наследия, <a href=\"https://discord.gg/j25MdKR\" style=\"color: yellow\">присоединяйся</a>!</p>",
|
|
|
|
+ };
|
|
|
|
+ setToolTipMessage(messages[number % messages.size()], E_RANDOM);
|
|
}
|
|
}
|
|
|
|
|
|
void StatusWidget::fadeBetweenToolTips(QString tooltip_id)
|
|
void StatusWidget::fadeBetweenToolTips(QString tooltip_id)
|
|
@@ -275,14 +290,14 @@ void StatusWidget::onPatchInstallerStarted() {
|
|
all_patch_operations_finished_ = false;
|
|
all_patch_operations_finished_ = false;
|
|
ui->game_button->setEnabled(false);
|
|
ui->game_button->setEnabled(false);
|
|
ui->check_for_updates_button->setEnabled(false);
|
|
ui->check_for_updates_button->setEnabled(false);
|
|
- setToolTipMessage("Подготовка русификатора...", E_PROCESS);
|
|
|
|
|
|
+ setToolTipMessage("<p style=\"font-size: 22px; \">Подготовка русификатора...</p>", E_PROCESS);
|
|
}
|
|
}
|
|
|
|
|
|
void StatusWidget::onPatchInstallerFinished() {
|
|
void StatusWidget::onPatchInstallerFinished() {
|
|
all_patch_operations_finished_ = true;
|
|
all_patch_operations_finished_ = true;
|
|
ui->game_button->setEnabled(true);
|
|
ui->game_button->setEnabled(true);
|
|
ui->check_for_updates_button->setEnabled(true);
|
|
ui->check_for_updates_button->setEnabled(true);
|
|
- setToolTipMessage("Все операции выполнены!", E_PROCESS);
|
|
|
|
|
|
+ setToolTipMessage("<p style=\"font-size: 22px; \">Все операции выполнены!</p>", E_PROCESS);
|
|
process_completed_tooltip_hide_timer_.start();
|
|
process_completed_tooltip_hide_timer_.start();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -324,6 +339,8 @@ void StatusWidget::createTooltipMessageWidget(QString tooltip_id)
|
|
tooltip_widgets_[tooltip_id]->setStyleSheet(ui->galadriel_tooltip_example->styleSheet());
|
|
tooltip_widgets_[tooltip_id]->setStyleSheet(ui->galadriel_tooltip_example->styleSheet());
|
|
tooltip_widgets_[tooltip_id]->setFont(ui->galadriel_tooltip_example->font());
|
|
tooltip_widgets_[tooltip_id]->setFont(ui->galadriel_tooltip_example->font());
|
|
tooltip_widgets_[tooltip_id]->setWordWrap(true);
|
|
tooltip_widgets_[tooltip_id]->setWordWrap(true);
|
|
|
|
+ tooltip_widgets_[tooltip_id]->setOpenExternalLinks(true);
|
|
|
|
+
|
|
tooltip_widgets_[tooltip_id]->setAlignment(Qt::AlignCenter);
|
|
tooltip_widgets_[tooltip_id]->setAlignment(Qt::AlignCenter);
|
|
|
|
|
|
tooltip_effects_[tooltip_id] = new QGraphicsOpacityEffect(tooltip_widgets_[tooltip_id]);
|
|
tooltip_effects_[tooltip_id] = new QGraphicsOpacityEffect(tooltip_widgets_[tooltip_id]);
|