From 8cc973371d7e9d575161bdf330f32fb311b9432e Mon Sep 17 00:00:00 2001 From: Patryk Stachniak Date: Mon, 2 Dec 2024 12:33:14 +0100 Subject: [PATCH] Ensure UI tour starts with Icons and Text mode Changed runUiTour to set mode style to Icons and Text before starting the UI tour. This ensures a consistent user experience during the tour. After the tour, the previous mode style is restored to maintain user preferences. Task-number: QTCREATORBUG-31979 Pick-to: 15.0 Change-Id: I0e303cad9afd4fd99dc76a342ebc8408c3a1a5f7 Reviewed-by: Eike Ziller --- src/plugins/welcome/introductionwidget.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/plugins/welcome/introductionwidget.cpp b/src/plugins/welcome/introductionwidget.cpp index 1869947503f..bc9b80c3284 100644 --- a/src/plugins/welcome/introductionwidget.cpp +++ b/src/plugins/welcome/introductionwidget.cpp @@ -5,6 +5,7 @@ #include "welcometr.h" #include +#include #include #include @@ -40,7 +41,7 @@ struct Item class IntroductionWidget : public QWidget { public: - IntroductionWidget(); + IntroductionWidget(Core::ModeManager::Style previousModeStyle); protected: bool event(QEvent *e) override; @@ -63,12 +64,16 @@ private: std::vector m_items; QPointer m_stepPointerAnchor; uint m_step = 0; + Core::ModeManager::Style m_previousModeStyle; }; -IntroductionWidget::IntroductionWidget() +IntroductionWidget::IntroductionWidget(Core::ModeManager::Style previousModeStyle) : QWidget(ICore::dialogParent()), - m_borderImage(":/welcome/images/border.png") + m_borderImage(":/welcome/images/border.png"), + m_previousModeStyle(previousModeStyle) { + Core::ModeManager::setModeStyle(Core::ModeManager::Style::IconsAndText); + setFocusPolicy(Qt::StrongFocus); setFocus(); parentWidget()->installEventFilter(this); @@ -363,6 +368,7 @@ void IntroductionWidget::mouseReleaseEvent(QMouseEvent *me) void IntroductionWidget::finish() { + Core::ModeManager::setModeStyle(m_previousModeStyle); hide(); deleteLater(); } @@ -405,7 +411,7 @@ void IntroductionWidget::resizeToParent() void runUiTour() { - auto intro = new IntroductionWidget; + auto intro = new IntroductionWidget(Core::ModeManager::modeStyle()); intro->show(); }