diff options
author | hjk <hjk@qt.io> | 2024-02-01 18:24:00 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2024-02-02 06:21:51 +0000 |
commit | 4718dd5225b24536fe4453de25fcdda89f821662 (patch) | |
tree | 43a0ba4245b2f0a351c9a25c9b0d61daed8b41f9 /src/plugins/projectexplorer | |
parent | c6be4fd2d47b9d59725d367bc3829228e00a4f8c (diff) |
ProjectExplorer: Inline buildprogress.* into buildmanager.cpp
Change-Id: Id72467cb322110a20945adeaedd37ba4a510ae06
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer')
-rw-r--r-- | src/plugins/projectexplorer/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/projectexplorer/buildmanager.cpp | 98 | ||||
-rw-r--r-- | src/plugins/projectexplorer/buildprogress.cpp | 95 | ||||
-rw-r--r-- | src/plugins/projectexplorer/buildprogress.h | 35 | ||||
-rw-r--r-- | src/plugins/projectexplorer/projectexplorer.qbs | 1 |
5 files changed, 97 insertions, 133 deletions
diff --git a/src/plugins/projectexplorer/CMakeLists.txt b/src/plugins/projectexplorer/CMakeLists.txt index 35f9f77632..7459eb1656 100644 --- a/src/plugins/projectexplorer/CMakeLists.txt +++ b/src/plugins/projectexplorer/CMakeLists.txt @@ -16,7 +16,6 @@ add_qtc_plugin(ProjectExplorer buildconfiguration.cpp buildconfiguration.h buildinfo.cpp buildinfo.h buildmanager.cpp buildmanager.h - buildprogress.cpp buildprogress.h buildsettingspropertiespage.cpp buildsettingspropertiespage.h buildstep.cpp buildstep.h buildsteplist.cpp buildsteplist.h diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp index 1fd27fd026..2c4b279f9d 100644 --- a/src/plugins/projectexplorer/buildmanager.cpp +++ b/src/plugins/projectexplorer/buildmanager.cpp @@ -3,7 +3,6 @@ #include "buildmanager.h" -#include "buildprogress.h" #include "buildsteplist.h" #include "buildsystem.h" #include "compileoutputwindow.h" @@ -36,17 +35,25 @@ #include <utils/algorithm.h> #include <utils/outputformatter.h> #include <utils/stringutils.h> +#include <utils/stylehelper.h> +#include <utils/utilsicons.h> #include <QApplication> +#include <QBoxLayout> #include <QElapsedTimer> +#include <QFont> #include <QFutureWatcher> #include <QHash> +#include <QLabel> #include <QList> #include <QMessageBox> +#include <QPixmap> #include <QPointer> #include <QSet> #include <QTime> #include <QTimer> +#include <QVBoxLayout> +#include <QVariant> using namespace Core; using namespace Tasking; @@ -55,6 +62,95 @@ using namespace Utils; namespace ProjectExplorer { using namespace Internal; +class BuildProgress final : public QWidget +{ +public: + explicit BuildProgress(TaskWindow *taskWindow, Qt::Orientation orientation = Qt::Vertical) : + m_contentWidget(new QWidget), + m_errorIcon(new QLabel), + m_warningIcon(new QLabel), + m_errorLabel(new QLabel), + m_warningLabel(new QLabel), + m_taskWindow(taskWindow) + { + auto contentLayout = new QHBoxLayout; + contentLayout->setContentsMargins(0, 0, 0, 0); + contentLayout->setSpacing(0); + setLayout(contentLayout); + contentLayout->addWidget(m_contentWidget); + QBoxLayout *layout; + if (orientation == Qt::Horizontal) + layout = new QHBoxLayout; + else + layout = new QVBoxLayout; + layout->setContentsMargins(8, 2, 0, 2); + layout->setSpacing(2); + m_contentWidget->setLayout(layout); + auto errorLayout = new QHBoxLayout; + errorLayout->setSpacing(2); + layout->addLayout(errorLayout); + errorLayout->addWidget(m_errorIcon); + errorLayout->addWidget(m_errorLabel); + auto warningLayout = new QHBoxLayout; + warningLayout->setSpacing(2); + layout->addLayout(warningLayout); + warningLayout->addWidget(m_warningIcon); + warningLayout->addWidget(m_warningLabel); + + const QFont f = StyleHelper::uiFont(StyleHelper::UiElementCaptionStrong); + m_errorLabel->setFont(f); + m_warningLabel->setFont(f); + m_errorLabel->setPalette(StyleHelper::sidebarFontPalette(m_errorLabel->palette())); + m_warningLabel->setPalette(StyleHelper::sidebarFontPalette(m_warningLabel->palette())); + m_errorLabel->setProperty("_q_custom_style_disabled", QVariant(true)); + m_warningLabel->setProperty("_q_custom_style_disabled", QVariant(true)); + + m_errorIcon->setAlignment(Qt::AlignRight | Qt::AlignVCenter); + m_warningIcon->setAlignment(Qt::AlignRight | Qt::AlignVCenter); + m_errorIcon->setPixmap(Icons::CRITICAL_TOOLBAR.pixmap()); + m_warningIcon->setPixmap(Icons::WARNING_TOOLBAR.pixmap()); + + m_contentWidget->hide(); + + connect(m_taskWindow.data(), &TaskWindow::tasksChanged, this, &BuildProgress::updateState); + } + +private: + void updateState() + { + if (!m_taskWindow) + return; + int errors = m_taskWindow->errorTaskCount(Constants::TASK_CATEGORY_BUILDSYSTEM) + + m_taskWindow->errorTaskCount(Constants::TASK_CATEGORY_COMPILE) + + m_taskWindow->errorTaskCount(Constants::TASK_CATEGORY_DEPLOYMENT); + bool haveErrors = (errors > 0); + m_errorIcon->setEnabled(haveErrors); + m_errorLabel->setEnabled(haveErrors); + m_errorLabel->setText(QString::number(errors)); + int warnings = m_taskWindow->warningTaskCount(Constants::TASK_CATEGORY_BUILDSYSTEM) + + m_taskWindow->warningTaskCount(Constants::TASK_CATEGORY_COMPILE) + + m_taskWindow->warningTaskCount(Constants::TASK_CATEGORY_DEPLOYMENT); + bool haveWarnings = (warnings > 0); + m_warningIcon->setEnabled(haveWarnings); + m_warningLabel->setEnabled(haveWarnings); + m_warningLabel->setText(QString::number(warnings)); + + // Hide warnings and errors unless you need them + m_warningIcon->setVisible(haveWarnings); + m_warningLabel->setVisible(haveWarnings); + m_errorIcon->setVisible(haveErrors); + m_errorLabel->setVisible(haveErrors); + m_contentWidget->setVisible(haveWarnings || haveErrors); + } + + QWidget *m_contentWidget; + QLabel *m_errorIcon; + QLabel *m_warningIcon; + QLabel *m_errorLabel; + QLabel *m_warningLabel; + QPointer<TaskWindow> m_taskWindow; +}; + class ParserAwaiterTaskAdapter : public TaskAdapter<QSet<BuildSystem *>> { private: diff --git a/src/plugins/projectexplorer/buildprogress.cpp b/src/plugins/projectexplorer/buildprogress.cpp deleted file mode 100644 index ec4059e8c0..0000000000 --- a/src/plugins/projectexplorer/buildprogress.cpp +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -#include "buildprogress.h" -#include "projectexplorerconstants.h" - -#include <utils/utilsicons.h> -#include <utils/stylehelper.h> - -#include <QFont> -#include <QLabel> -#include <QHBoxLayout> -#include <QPixmap> -#include <QVariant> -#include <QVBoxLayout> - -using namespace ProjectExplorer; -using namespace ProjectExplorer::Internal; - -BuildProgress::BuildProgress(TaskWindow *taskWindow, Qt::Orientation orientation) : - m_contentWidget(new QWidget), - m_errorIcon(new QLabel), - m_warningIcon(new QLabel), - m_errorLabel(new QLabel), - m_warningLabel(new QLabel), - m_taskWindow(taskWindow) -{ - auto contentLayout = new QHBoxLayout; - contentLayout->setContentsMargins(0, 0, 0, 0); - contentLayout->setSpacing(0); - setLayout(contentLayout); - contentLayout->addWidget(m_contentWidget); - QBoxLayout *layout; - if (orientation == Qt::Horizontal) - layout = new QHBoxLayout; - else - layout = new QVBoxLayout; - layout->setContentsMargins(8, 2, 0, 2); - layout->setSpacing(2); - m_contentWidget->setLayout(layout); - auto errorLayout = new QHBoxLayout; - errorLayout->setSpacing(2); - layout->addLayout(errorLayout); - errorLayout->addWidget(m_errorIcon); - errorLayout->addWidget(m_errorLabel); - auto warningLayout = new QHBoxLayout; - warningLayout->setSpacing(2); - layout->addLayout(warningLayout); - warningLayout->addWidget(m_warningIcon); - warningLayout->addWidget(m_warningLabel); - - const QFont f = Utils::StyleHelper::uiFont(Utils::StyleHelper::UiElementCaptionStrong); - m_errorLabel->setFont(f); - m_warningLabel->setFont(f); - m_errorLabel->setPalette(Utils::StyleHelper::sidebarFontPalette(m_errorLabel->palette())); - m_warningLabel->setPalette(Utils::StyleHelper::sidebarFontPalette(m_warningLabel->palette())); - m_errorLabel->setProperty("_q_custom_style_disabled", QVariant(true)); - m_warningLabel->setProperty("_q_custom_style_disabled", QVariant(true)); - - m_errorIcon->setAlignment(Qt::AlignRight | Qt::AlignVCenter); - m_warningIcon->setAlignment(Qt::AlignRight | Qt::AlignVCenter); - m_errorIcon->setPixmap(Utils::Icons::CRITICAL_TOOLBAR.pixmap()); - m_warningIcon->setPixmap(Utils::Icons::WARNING_TOOLBAR.pixmap()); - - m_contentWidget->hide(); - - connect(m_taskWindow.data(), &TaskWindow::tasksChanged, this, &BuildProgress::updateState); -} - -void BuildProgress::updateState() -{ - if (!m_taskWindow) - return; - int errors = m_taskWindow->errorTaskCount(Constants::TASK_CATEGORY_BUILDSYSTEM) - + m_taskWindow->errorTaskCount(Constants::TASK_CATEGORY_COMPILE) - + m_taskWindow->errorTaskCount(Constants::TASK_CATEGORY_DEPLOYMENT); - bool haveErrors = (errors > 0); - m_errorIcon->setEnabled(haveErrors); - m_errorLabel->setEnabled(haveErrors); - m_errorLabel->setText(QString::number(errors)); - int warnings = m_taskWindow->warningTaskCount(Constants::TASK_CATEGORY_BUILDSYSTEM) - + m_taskWindow->warningTaskCount(Constants::TASK_CATEGORY_COMPILE) - + m_taskWindow->warningTaskCount(Constants::TASK_CATEGORY_DEPLOYMENT); - bool haveWarnings = (warnings > 0); - m_warningIcon->setEnabled(haveWarnings); - m_warningLabel->setEnabled(haveWarnings); - m_warningLabel->setText(QString::number(warnings)); - - // Hide warnings and errors unless you need them - m_warningIcon->setVisible(haveWarnings); - m_warningLabel->setVisible(haveWarnings); - m_errorIcon->setVisible(haveErrors); - m_errorLabel->setVisible(haveErrors); - m_contentWidget->setVisible(haveWarnings || haveErrors); -} diff --git a/src/plugins/projectexplorer/buildprogress.h b/src/plugins/projectexplorer/buildprogress.h deleted file mode 100644 index 1e993dc385..0000000000 --- a/src/plugins/projectexplorer/buildprogress.h +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -#pragma once - -#include "taskwindow.h" - -#include <QPointer> -#include <QWidget> - -QT_FORWARD_DECLARE_CLASS(QLabel) - -namespace ProjectExplorer { -namespace Internal { - -class BuildProgress : public QWidget -{ - Q_OBJECT - -public: - explicit BuildProgress(TaskWindow *taskWindow, Qt::Orientation orientation = Qt::Vertical); - -private: - void updateState(); - - QWidget *m_contentWidget; - QLabel *m_errorIcon; - QLabel *m_warningIcon; - QLabel *m_errorLabel; - QLabel *m_warningLabel; - QPointer<TaskWindow> m_taskWindow; -}; - -} // namespace Internal -} // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/projectexplorer.qbs b/src/plugins/projectexplorer/projectexplorer.qbs index b4b97f9cd4..5d05a9f98b 100644 --- a/src/plugins/projectexplorer/projectexplorer.qbs +++ b/src/plugins/projectexplorer/projectexplorer.qbs @@ -28,7 +28,6 @@ QtcPlugin { "buildconfiguration.cpp", "buildconfiguration.h", "buildinfo.cpp", "buildinfo.h", "buildmanager.cpp", "buildmanager.h", - "buildprogress.cpp", "buildprogress.h", "buildpropertiessettings.cpp", "buildpropertiessettings.h", "buildsettingspropertiespage.cpp", "buildsettingspropertiespage.h", "buildstep.cpp", "buildstep.h", |