From d674548040799515a33518e5dcef51c0796dd7cf Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Mon, 12 Oct 2020 08:54:17 +0200 Subject: [PATCH 1/4] qmldesigner: fix missing update after setFrameColor Change-Id: I9d809bb62bdd3b0d141e1cff39cbf4a9fca58c39 Reviewed-by: Tim Jenssen --- src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp index b621dacb4a0..4cc7c027b29 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp @@ -286,6 +286,7 @@ bool FormEditorItem::flowHitTest(const QPointF & ) const void FormEditorItem::setFrameColor(const QColor &color) { m_frameColor = color; + update(); } FormEditorItem::~FormEditorItem() From ddb078404ade5492a8683af4885b173263d447d8 Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Mon, 12 Oct 2020 09:10:39 +0200 Subject: [PATCH 2/4] qmlpreview: add test translation color settings Change-Id: I9b11fcf1fdae39b089887884a3d96cc8648a0c8a Reviewed-by: Tim Jenssen --- .../qmlpreview/qmldebugtranslationwidget.cpp | 62 ++++++++++++++++++- .../qmlpreview/qmldebugtranslationwidget.h | 7 +++ 2 files changed, 67 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmlpreview/qmldebugtranslationwidget.cpp b/src/plugins/qmlpreview/qmldebugtranslationwidget.cpp index 7c0cd3861f6..72842eb33de 100644 --- a/src/plugins/qmlpreview/qmldebugtranslationwidget.cpp +++ b/src/plugins/qmlpreview/qmldebugtranslationwidget.cpp @@ -38,6 +38,7 @@ #include #include #include +#include #include #include @@ -94,6 +95,11 @@ namespace QmlPreview { QmlDebugTranslationWidget::QmlDebugTranslationWidget(QWidget *parent, TestLanguageGetter languagesGetterMethod) : QWidget(parent) , m_testLanguagesGetter(languagesGetterMethod) + , m_warningColor(Qt::red) + //, m_foundTrColor(Qt::green) // invalid color -> init without the frame + , m_lastWarningColor(m_warningColor) + , m_lastfoundTrColor(Qt::green) + { auto mainLayout = new QVBoxLayout(this); @@ -121,12 +127,54 @@ QmlDebugTranslationWidget::QmlDebugTranslationWidget(QWidget *parent, TestLangua m_selectLanguageLayout = new QHBoxLayout; mainLayout->addLayout(m_selectLanguageLayout); + auto settingsLayout = new QHBoxLayout(); + mainLayout->addLayout(settingsLayout); + auto elideWarningCheckBox = new QCheckBox(tr("Enable elide warning")); - layout()->addWidget(elideWarningCheckBox); connect(elideWarningCheckBox, &QCheckBox::stateChanged, [this] (int state) { m_elideWarning = (state == Qt::Checked); - }); + settingsLayout->addWidget(elideWarningCheckBox); + + auto warningColorCheckbox = new QCheckBox(tr("select Warning color: ")); + settingsLayout->addWidget(warningColorCheckbox); + auto warningColorButton = new Utils::QtColorButton(); + connect(warningColorCheckbox, &QCheckBox::stateChanged, [warningColorButton, this] (int state) { + if (state == Qt::Checked) { + warningColorButton->setColor(m_lastWarningColor); + warningColorButton->setEnabled(true); + } else { + m_lastWarningColor = warningColorButton->color(); + warningColorButton->setColor({}); + warningColorButton->setEnabled(false); + } + }); + connect(warningColorButton, &Utils::QtColorButton::colorChanged, [this](const QColor &color) { + m_warningColor = color; + }); + warningColorCheckbox->setCheckState(Qt::Checked); + settingsLayout->addWidget(warningColorButton); + + auto foundTrColorCheckbox = new QCheckBox(tr("select found 'tr' color: ")); + settingsLayout->addWidget(foundTrColorCheckbox); + auto foundTrColorButton = new Utils::QtColorButton(); + foundTrColorButton->setDisabled(true); + connect(foundTrColorCheckbox, &QCheckBox::stateChanged, [foundTrColorButton, this] (int state) { + if (state == Qt::Checked) { + foundTrColorButton->setColor(m_lastfoundTrColor); + foundTrColorButton->setEnabled(true); + } else { + m_lastfoundTrColor = foundTrColorButton->color(); + foundTrColorButton->setColor({}); + foundTrColorButton->setEnabled(false); + } + }); + connect(foundTrColorButton, &Utils::QtColorButton::colorChanged, [this](const QColor &color) { + m_foundTrColor = color; + }); + settingsLayout->addWidget(foundTrColorButton); + + settingsLayout->addItem(new QSpacerItem(0, 0, QSizePolicy::Expanding)); auto controlLayout = new QHBoxLayout; mainLayout->addLayout(controlLayout); @@ -232,6 +280,16 @@ void QmlDebugTranslationWidget::updateStartupProjectTranslations() updateCurrentTranslations(ProjectExplorer::SessionManager::startupProject()); } +QColor QmlDebugTranslationWidget::warningColor() +{ + return m_warningColor; +} + +QColor QmlDebugTranslationWidget::foundTrColor() +{ + return m_foundTrColor; +} + void QmlDebugTranslationWidget::updateCurrentTranslations(ProjectExplorer::Project *project) { m_testLanguages.clear(); diff --git a/src/plugins/qmlpreview/qmldebugtranslationwidget.h b/src/plugins/qmlpreview/qmldebugtranslationwidget.h index 7ea0760ac0f..de0c7ba3624 100644 --- a/src/plugins/qmlpreview/qmldebugtranslationwidget.h +++ b/src/plugins/qmlpreview/qmldebugtranslationwidget.h @@ -63,6 +63,9 @@ public: void setCurrentFile(const Utils::FilePath &filepath); void setFiles(const Utils::FilePaths &filePathes); void updateStartupProjectTranslations(); + + QColor warningColor(); + QColor foundTrColor(); private: void updateCurrentEditor(const Core::IEditor *editor); void updateCurrentTranslations(ProjectExplorer::Project *project); @@ -98,6 +101,10 @@ private: QHBoxLayout *m_selectLanguageLayout; TestLanguageGetter m_testLanguagesGetter; + QColor m_warningColor; + QColor m_foundTrColor; + QColor m_lastWarningColor; + QColor m_lastfoundTrColor; }; } // namespace QmlPreview From e76d294c00d633db3a5e20b231dbc7852b9b89e4 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 9 Oct 2020 11:29:01 +0200 Subject: [PATCH 3/4] ProjectExplorer: Fix small visual glitch when rebuilding All but the first build would insert an extra newline at the top of the compile output window. Change-Id: Ief88acfb6226ec2d1de9865f041e9f07c48f6c49 Reviewed-by: Orgad Shaneh --- src/plugins/projectexplorer/buildmanager.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp index 16ae265bca4..0842424558c 100644 --- a/src/plugins/projectexplorer/buildmanager.cpp +++ b/src/plugins/projectexplorer/buildmanager.cpp @@ -477,6 +477,7 @@ void BuildManager::finish() { const QString elapsedTime = Utils::formatElapsedTime(d->m_elapsed.elapsed()); m_instance->addToOutputWindow(elapsedTime, BuildStep::OutputFormat::NormalMessage); + d->m_outputWindow->flush(); QApplication::alert(ICore::dialogParent(), 3000); } From 996ed6e378be40a16dbb7b7aad6c993879d64214 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 9 Oct 2020 13:46:09 +0200 Subject: [PATCH 4/4] ProjectExplorer: Fix compile output window scroll issue Flushing the formatter directly from the build manager interferes with the scrolling logic in OutputWindow. Fixes: QTCREATORBUG-24728 Change-Id: I018944a44bcc3115c17ba83708da8f155b496f39 Reviewed-by: Orgad Shaneh --- src/plugins/projectexplorer/buildmanager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp index 0842424558c..9b257c00f0e 100644 --- a/src/plugins/projectexplorer/buildmanager.cpp +++ b/src/plugins/projectexplorer/buildmanager.cpp @@ -697,7 +697,7 @@ void BuildManager::nextStep() } static const auto finishedHandler = [](bool success) { - d->m_outputWindow->outputFormatter()->flush(); + d->m_outputWindow->flush(); d->m_lastStepSucceeded = success; disconnect(d->m_currentBuildStep, nullptr, instance(), nullptr); BuildManager::nextBuildQueue();