From f547c6218298dff294ca8c117a31632e3b6ad190 Mon Sep 17 00:00:00 2001 From: Victor Zarubkin Date: Tue, 22 Oct 2019 09:58:25 +0300 Subject: [PATCH] [ui] Use RoundProgressDialog instead of QProgressDialog --- profiler_gui/blocks_tree_widget.cpp | 20 +-- profiler_gui/common_functions.h | 23 ++- profiler_gui/globals.h | 1 + profiler_gui/main_window.cpp | 54 ++++--- profiler_gui/main_window.h | 4 +- profiler_gui/round_progress_widget.cpp | 188 +++++++++++++++++++++++-- profiler_gui/round_progress_widget.h | 45 +++++- profiler_gui/themes/default.css | 11 +- profiler_gui/themes/default.scss | 10 +- profiler_gui/window_header.cpp | 5 +- 10 files changed, 289 insertions(+), 72 deletions(-) diff --git a/profiler_gui/blocks_tree_widget.cpp b/profiler_gui/blocks_tree_widget.cpp index 5ae661d..8a7f933 100644 --- a/profiler_gui/blocks_tree_widget.cpp +++ b/profiler_gui/blocks_tree_widget.cpp @@ -61,7 +61,6 @@ * : limitations under the License. ************************************************************************/ -#include #include #include #include @@ -72,14 +71,15 @@ #include #include #include +#include #include -#include #include #include #include #include #include #include + #include "blocks_tree_widget.h" #include "arbitrary_value_tooltip.h" #include "round_progress_widget.h" @@ -370,8 +370,8 @@ BlocksTreeWidget::BlocksTreeWidget(QWidget* _parent) } m_hintLabel = new QLabel("Use Right Mouse Button on the Diagram to build a hierarchy...\n" - "1. Press the button >> Move mouse >> Release the button\n" - "2. Or just click the right mouse button on any block", this); + "Way 1: Press the button >> Move mouse >> Release the button\n" + "Way 2: Just click the right mouse button on any block", this); m_hintLabel->setObjectName(QStringLiteral("BlocksTreeWidget_HintLabel")); m_hintLabel->setProperty("hovered", false); m_hintLabel->setAlignment(Qt::AlignCenter); @@ -464,13 +464,7 @@ bool BlocksTreeWidget::eventFilter(QObject* _object, QEvent* _event) void BlocksTreeWidget::updateHintLabelOnHover(bool hover) { - m_hintLabel->setProperty("hovered", hover); - m_hintLabel->style()->unpolish(m_hintLabel); - m_hintLabel->style()->polish(m_hintLabel); - if (m_hintLabel->isVisible()) - { - m_hintLabel->update(); - } + profiler_gui::updateProperty(m_hintLabel, "hovered", hover); } void BlocksTreeWidget::onHeaderSectionResized(int logicalIndex, int /*oldSize*/, int newSize) @@ -1153,9 +1147,7 @@ void BlocksTreeWidget::createProgressDialog() { destroyProgressDialog(); - m_progress = new RoundProgressDialog("Building tree...", this); - m_progress->setWindowFlags(Qt::FramelessWindowHint); - m_progress->setAttribute(Qt::WA_TranslucentBackground); + m_progress = new RoundProgressDialog(QStringLiteral("Building tree..."), this); m_progress->setValue(0); m_progress->show(); diff --git a/profiler_gui/common_functions.h b/profiler_gui/common_functions.h index 9cdf7cd..4ed631b 100644 --- a/profiler_gui/common_functions.h +++ b/profiler_gui/common_functions.h @@ -55,11 +55,15 @@ #ifndef EASY_PROFILER_GUI_COMMON_FUNCTIONS_H #define EASY_PROFILER_GUI_COMMON_FUNCTIONS_H -#include -#include -#include #include #include + +#include +#include +#include +#include +#include + #include "common_types.h" ////////////////////////////////////////////////////////////////////////// @@ -220,6 +224,19 @@ double value2real(const ::profiler::ArbitraryValue& _serializedValue, int _index ////////////////////////////////////////////////////////////////////////// +template +void updateProperty(QWidget* widget, const char* name, T&& property) +{ + widget->setProperty(name, std::forward(property)); + widget->style()->unpolish(widget); + widget->style()->polish(widget); + + if (widget->isVisible()) + { + widget->update(); + } +} + } // END of namespace profiler_gui. ////////////////////////////////////////////////////////////////////////// diff --git a/profiler_gui/globals.h b/profiler_gui/globals.h index 63ce2b1..d5099a1 100644 --- a/profiler_gui/globals.h +++ b/profiler_gui/globals.h @@ -70,6 +70,7 @@ namespace profiler_gui { const QString ORGANAZATION_NAME = "EasyProfiler"; + const QString DEFAULT_WINDOW_TITLE = "EasyProfiler"; const QString APPLICATION_NAME = "Easy profiler gui application"; const QColor RULER_COLOR = QColor::fromRgba(0x40000000 | (::profiler::colors::RichBlue & 0x00ffffff));// 0x402020c0); diff --git a/profiler_gui/main_window.cpp b/profiler_gui/main_window.cpp index 1f16d54..f5fb889 100644 --- a/profiler_gui/main_window.cpp +++ b/profiler_gui/main_window.cpp @@ -85,7 +85,6 @@ #include #include #include -#include #include #include #include @@ -99,14 +98,16 @@ #include #include -#include "main_window.h" #include "arbitrary_value_inspector.h" -#include "blocks_tree_widget.h" #include "blocks_graphics_view.h" +#include "blocks_tree_widget.h" #include "descriptors_tree_widget.h" -#include "fps_widget.h" -#include "globals.h" #include "dialog.h" +#include "globals.h" +#include "fps_widget.h" +#include "round_progress_widget.h" + +#include "main_window.h" #include #include @@ -122,8 +123,6 @@ ////////////////////////////////////////////////////////////////////////// -#define EASY_DEFAULT_WINDOW_TITLE "EasyProfiler" - const int LOADER_TIMER_INTERVAL = 40; const auto NETWORK_CACHE_FILE = "easy_profiler_stream.cache"; @@ -280,10 +279,7 @@ void DockWidget::toggleState() void DockWidget::onTopLevelChanged() { - m_floatingButton->setProperty("floating", isFloating()); - m_floatingButton->style()->unpolish(m_floatingButton); - m_floatingButton->style()->polish(m_floatingButton); - m_floatingButton->update(); + profiler_gui::updateProperty(m_floatingButton, "floating", isFloating()); } void MainWindow::configureSizes() @@ -347,7 +343,7 @@ MainWindow::MainWindow() : Parent(), m_theme("default"), m_lastAddress("localhos { QIcon icon(":/images/logo"); if (!icon.isNull()) QApplication::setWindowIcon(icon); } setObjectName("ProfilerGUI_MainWindow"); - setWindowTitle(EASY_DEFAULT_WINDOW_TITLE); + setWindowTitle(profiler_gui::DEFAULT_WINDOW_TITLE); setDockNestingEnabled(true); setAcceptDrops(true); setStatusBar(nullptr); @@ -1093,9 +1089,9 @@ void MainWindow::addFileToList(const QString& filename, bool changeWindowTitle) if (changeWindowTitle) { if (m_bOpenedCacheFile) - setWindowTitle(QString(EASY_DEFAULT_WINDOW_TITLE " - [%1] - UNSAVED network cache file").arg(filename)); + setWindowTitle(QString("%1 - [%2] - UNSAVED network cache file").arg(profiler_gui::DEFAULT_WINDOW_TITLE).arg(filename)); else - setWindowTitle(QString(EASY_DEFAULT_WINDOW_TITLE " - [%1]").arg(filename)); + setWindowTitle(QString("%1 - [%2]").arg(profiler_gui::DEFAULT_WINDOW_TITLE).arg(filename)); } return; @@ -1125,9 +1121,9 @@ void MainWindow::addFileToList(const QString& filename, bool changeWindowTitle) if (changeWindowTitle) { if (m_bOpenedCacheFile) - setWindowTitle(QString(EASY_DEFAULT_WINDOW_TITLE " - [%1] - UNSAVED network cache file").arg(m_lastFiles.front())); + setWindowTitle(QString("%1 - [%2] - UNSAVED network cache file").arg(profiler_gui::DEFAULT_WINDOW_TITLE).arg(m_lastFiles.front())); else - setWindowTitle(QString(EASY_DEFAULT_WINDOW_TITLE " - [%1]").arg(m_lastFiles.front())); + setWindowTitle(QString("%1 - [%2]").arg(profiler_gui::DEFAULT_WINDOW_TITLE).arg(m_lastFiles.front())); } } @@ -1325,7 +1321,7 @@ void MainWindow::clear() m_bNetworkFileRegime = false; m_bOpenedCacheFile = false; - setWindowTitle(EASY_DEFAULT_WINDOW_TITLE); + setWindowTitle(profiler_gui::DEFAULT_WINDOW_TITLE); } ////////////////////////////////////////////////////////////////////////// @@ -1567,6 +1563,16 @@ void MainWindow::showEvent(QShowEvent* show_event) configureSizes(); } +void MainWindow::resizeEvent(QResizeEvent* event) +{ + Parent::resizeEvent(event); + if (m_progress != nullptr) + { + const auto pos = rect().center(); + m_progress->move(pos.x() - (m_progress->width() >> 1), pos.y() - (m_progress->height() >> 1)); + } +} + void MainWindow::closeEvent(QCloseEvent* close_event) { if (!m_bCloseAfterSave && (m_bNetworkFileRegime || EASY_GLOBALS.has_local_changes)) @@ -1875,14 +1881,16 @@ void MainWindow::createProgressDialog(const QString& text) { destroyProgressDialog(); - m_progress = new QProgressDialog(text, QStringLiteral("Cancel"), 0, 100, this); - connect(m_progress, &QProgressDialog::canceled, this, &This::onFileReaderCancel); + m_progress = new RoundProgressDialog(text, this); + m_progress->setCancelButtonEnabled(true); + connect(m_progress, &RoundProgressDialog::canceled, this, &This::onFileReaderCancel); - m_progress->setFixedWidth(px(300)); - m_progress->setWindowTitle(EASY_DEFAULT_WINDOW_TITLE); m_progress->setModal(true); m_progress->setValue(0); m_progress->show(); + + const auto pos = rect().center(); + m_progress->move(pos.x() - (m_progress->width() >> 1), pos.y() - (m_progress->height() >> 1)); } void MainWindow::setDisconnected(bool _showMessage) @@ -2145,7 +2153,7 @@ void MainWindow::onLoadingFinish(profiler::block_index_t& _nblocks) else { m_bOpenedCacheFile = false; - setWindowTitle(EASY_DEFAULT_WINDOW_TITLE " - UNSAVED network cache"); + setWindowTitle(QString("%1 - UNSAVED network cache").arg(profiler_gui::DEFAULT_WINDOW_TITLE)); } m_serializedBlocks = std::move(serialized_blocks); @@ -2878,7 +2886,7 @@ void MainWindow::onSelectValue(profiler::thread_id_t _thread_id, uint32_t _value void DialogWithGeometry::create(QWidget* content, QWidget* parent) { - ptr = new Dialog(parent, EASY_DEFAULT_WINDOW_TITLE, content, WindowHeader::AllButtons, QMessageBox::NoButton); + ptr = new Dialog(parent, profiler_gui::DEFAULT_WINDOW_TITLE, content, WindowHeader::AllButtons, QMessageBox::NoButton); ptr->setProperty("stayVisible", true); ptr->setAttribute(Qt::WA_DeleteOnClose, true); } diff --git a/profiler_gui/main_window.h b/profiler_gui/main_window.h index f4d4518..cd553bd 100644 --- a/profiler_gui/main_window.h +++ b/profiler_gui/main_window.h @@ -66,6 +66,7 @@ #include #include +#include "round_progress_widget.h" #ifdef max #undef max @@ -273,7 +274,7 @@ protected: QDockWidget* m_descTreeWidget = nullptr; #endif - class QProgressDialog* m_progress = nullptr; + class RoundProgressDialog* m_progress = nullptr; class BlockDescriptorsWidget* m_dialogDescTree = nullptr; class Dialog* m_listenerDialog = nullptr; QTimer m_readerTimer; @@ -312,6 +313,7 @@ public: // Public virtual methods void showEvent(QShowEvent* event) override; + void resizeEvent(QResizeEvent* event) override; void closeEvent(QCloseEvent* close_event) override; void changeEvent(QEvent* event) override; void dragEnterEvent(QDragEnterEvent* drag_event) override; diff --git a/profiler_gui/round_progress_widget.cpp b/profiler_gui/round_progress_widget.cpp index 06feff6..089178f 100644 --- a/profiler_gui/round_progress_widget.cpp +++ b/profiler_gui/round_progress_widget.cpp @@ -48,15 +48,23 @@ * : limitations under the License. ************************************************************************/ -#include "round_progress_widget.h" #include -#include + #include #include +#include #include #include +#include +#include #include +#include + +#include "common_functions.h" +#include "globals.h" +#include "round_progress_widget.h" + #ifdef max # undef max #endif @@ -67,9 +75,13 @@ RoundProgressIndicator::RoundProgressIndicator(QWidget* parent) , m_background(Qt::transparent) , m_color(Qt::green) , m_value(0) + , m_pressed(false) + , m_cancelButtonEnabled(false) { - setWindowFlags(Qt::FramelessWindowHint); + setWindowFlags(windowFlags() | Qt::FramelessWindowHint); setAttribute(Qt::WA_TranslucentBackground); + setAutoFillBackground(false); + setProperty("hover", false); } RoundProgressIndicator::~RoundProgressIndicator() @@ -77,6 +89,17 @@ RoundProgressIndicator::~RoundProgressIndicator() } +bool RoundProgressIndicator::cancelButtonEnabled() const +{ + return m_cancelButtonEnabled; +} + +void RoundProgressIndicator::setCancelButtonEnabled(bool enabled) +{ + m_cancelButtonEnabled = enabled; + update(); +} + int RoundProgressIndicator::value() const { return m_value; @@ -136,7 +159,7 @@ void RoundProgressIndicator::showEvent(QShowEvent* event) const QFontMetrics fm(font()); const QString text = QStringLiteral("100%"); - const int size = std::max(fm.width(text), fm.height()) + 4 * 4; + const int size = std::max(fm.width(text), fm.height()) + px(4 * 4); setFixedSize(size, size); } @@ -147,11 +170,12 @@ void RoundProgressIndicator::paintEvent(QPaintEvent* /*event*/) painter.setRenderHint(QPainter::Antialiasing); painter.setBrush(Qt::NoBrush); - const auto r = rect().adjusted(4, 4, -4, -4); + const auto px4 = px(4); + auto r = rect().adjusted(px4, px4, -px4, -px4); auto p = painter.pen(); // Draw circle - p.setWidth(4); + p.setWidth(px4); p.setColor(m_background); painter.setPen(p); painter.drawArc(r, 0, 360 * 16); @@ -160,11 +184,87 @@ void RoundProgressIndicator::paintEvent(QPaintEvent* /*event*/) painter.setPen(p); painter.drawArc(r, 90 * 16, -1 * static_cast(m_value) * 16 * 360 / 100); - // Draw text - p.setWidth(1); - p.setColor(palette().foreground().color()); - painter.setPen(p); - painter.drawText(r, Qt::AlignCenter, m_text); + const bool hover = property("hover").toBool(); + + if (hover && m_cancelButtonEnabled) + { + // Draw cancel button (red cross) + + const auto hquarter = px4 + (r.width() >> 2); + const auto vquarter = px4 + (r.height() >> 2); + r.adjust(hquarter, vquarter, -hquarter, -vquarter); + + p.setWidth(px(2)); + p.setColor(QColor::fromRgb(m_pressed ? profiler::colors::Red900 : profiler::colors::Red500)); + p.setCapStyle(Qt::SquareCap); + + painter.setPen(p); + painter.setBrush(Qt::NoBrush); + painter.drawLine(r.topLeft(), r.bottomRight()); + painter.drawLine(r.bottomLeft(), r.topRight()); + } + else + { + // Draw text + p.setWidth(px(1)); + p.setColor(palette().foreground().color()); + painter.setPen(p); + painter.drawText(r, Qt::AlignCenter, m_text); + } +} + +void RoundProgressIndicator::enterEvent(QEvent* event) { + Parent::enterEvent(event); + profiler_gui::updateProperty(this, "hover", true); +} + +void RoundProgressIndicator::leaveEvent(QEvent* event) { + Parent::leaveEvent(event); + profiler_gui::updateProperty(this, "hover", false); +} + +void RoundProgressIndicator::mousePressEvent(QMouseEvent* event) +{ + Parent::mousePressEvent(event); + m_pressed = true; + update(); +} + +void RoundProgressIndicator::mouseReleaseEvent(QMouseEvent* event) +{ + Parent::mouseReleaseEvent(event); + + const bool hover = property("hover").toBool(); + const bool pressed = m_pressed; + + m_pressed = false; + update(); + + if (pressed && hover && m_cancelButtonEnabled) + { + emit cancelButtonClicked(); + } +} + +void RoundProgressIndicator::mouseMoveEvent(QMouseEvent* event) +{ + if (m_pressed) + { + const bool hover = property("hover").toBool(); + if (rect().contains(event->pos())) + { + if (!hover) + { + profiler_gui::updateProperty(this, "hover", true); + } + } + else if (hover) + { + profiler_gui::updateProperty(this, "hover", false); + } + } + + Parent::mouseMoveEvent(event); } RoundProgressWidget::RoundProgressWidget(QWidget* parent) @@ -179,11 +279,9 @@ RoundProgressWidget::RoundProgressWidget(const QString& title, QWidget* parent) , m_indicator(new RoundProgressIndicator(this)) , m_titlePosition(RoundProgressWidget::Top) { - setWindowFlags(Qt::FramelessWindowHint); + setWindowFlags(windowFlags() | Qt::FramelessWindowHint); setAttribute(Qt::WA_TranslucentBackground); - - m_indicatorWrapper->setWindowFlags(Qt::FramelessWindowHint); - m_indicatorWrapper->setAttribute(Qt::WA_TranslucentBackground); + setAutoFillBackground(false); auto wlay = new QHBoxLayout(m_indicatorWrapper); wlay->setContentsMargins(0, 0, 0, 0); @@ -192,6 +290,8 @@ RoundProgressWidget::RoundProgressWidget(const QString& title, QWidget* parent) auto lay = new QVBoxLayout(this); lay->addWidget(m_title); lay->addWidget(m_indicatorWrapper); + + connect(m_indicator, &RoundProgressIndicator::cancelButtonClicked, this, &RoundProgressWidget::canceled); } RoundProgressWidget::~RoundProgressWidget() @@ -262,6 +362,8 @@ void RoundProgressWidget::setTitlePosition(TitlePosition pos) } emit titlePositionChanged(); + + update(); } bool RoundProgressWidget::isTopTitlePosition() const @@ -274,12 +376,32 @@ void RoundProgressWidget::setTopTitlePosition(bool isTop) setTitlePosition(isTop ? RoundProgressWidget::Top : RoundProgressWidget::Bottom); } +bool RoundProgressWidget::cancelButtonEnabled() const +{ + return m_indicator->cancelButtonEnabled(); +} + +void RoundProgressWidget::setCancelButtonEnabled(bool enabled) +{ + m_indicator->setCancelButtonEnabled(enabled); +} + RoundProgressDialog::RoundProgressDialog(const QString& title, QWidget* parent) : Parent(parent) , m_progress(new RoundProgressWidget(title, this)) + , m_background(Qt::transparent) { + setWindowTitle(profiler_gui::DEFAULT_WINDOW_TITLE); + setWindowFlags(windowFlags() | Qt::FramelessWindowHint); + setAttribute(Qt::WA_TranslucentBackground); + setAutoFillBackground(false); + auto lay = new QVBoxLayout(this); lay->addWidget(m_progress); + + connect(m_progress, &RoundProgressWidget::valueChanged, this, &RoundProgressDialog::valueChanged); + connect(m_progress, &RoundProgressWidget::finished, this, &RoundProgressDialog::finished); + connect(m_progress, &RoundProgressWidget::canceled, this, &RoundProgressDialog::canceled); } RoundProgressDialog::~RoundProgressDialog() @@ -287,6 +409,33 @@ RoundProgressDialog::~RoundProgressDialog() } +QColor RoundProgressDialog::background() const +{ + return m_background; +} + +void RoundProgressDialog::setBackground(QColor color) +{ + m_background = std::move(color); + update(); +} + +void RoundProgressDialog::setBackground(QString color) +{ + m_background.setNamedColor(color); + update(); +} + +bool RoundProgressDialog::cancelButtonEnabled() const +{ + return m_progress->cancelButtonEnabled(); +} + +void RoundProgressDialog::setCancelButtonEnabled(bool enabled) +{ + m_progress->setCancelButtonEnabled(enabled); +} + void RoundProgressDialog::showEvent(QShowEvent* event) { Parent::showEvent(event); @@ -299,3 +448,12 @@ void RoundProgressDialog::setValue(int value) if (value == 100) hide(); } + +void RoundProgressDialog::paintEvent(QPaintEvent*) +{ + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + painter.setPen(Qt::NoPen); + painter.setBrush(m_background); + painter.drawRect(0, 0, width(), height()); +} diff --git a/profiler_gui/round_progress_widget.h b/profiler_gui/round_progress_widget.h index 72b8ce1..0ed75fe 100644 --- a/profiler_gui/round_progress_widget.h +++ b/profiler_gui/round_progress_widget.h @@ -53,8 +53,8 @@ #include #include -#include #include +#include class RoundProgressIndicator : public QWidget { @@ -63,10 +63,12 @@ Q_OBJECT using Parent = QWidget; using This = RoundProgressIndicator; - QString m_text; - QColor m_background; - QColor m_color; - int8_t m_value; + QString m_text; + QColor m_background; + QColor m_color; + int8_t m_value; + bool m_pressed; + bool m_cancelButtonEnabled; public: @@ -83,6 +85,13 @@ public: QColor background() const; QColor color() const; + bool cancelButtonEnabled() const; + void setCancelButtonEnabled(bool enabled); + +signals: + + void cancelButtonClicked(); + public slots: void setBackground(QColor color); @@ -94,6 +103,11 @@ protected: void showEvent(QShowEvent* event) override; void paintEvent(QPaintEvent* event) override; + void enterEvent(QEvent* event) override; + void leaveEvent(QEvent* event) override; + void mousePressEvent(QMouseEvent* event) override; + void mouseReleaseEvent(QMouseEvent* event) override; + void mouseMoveEvent(QMouseEvent* event) override; }; // end of class RoundProgressIndicator. @@ -132,6 +146,9 @@ public: TitlePosition titlePosition() const; bool isTopTitlePosition() const; + bool cancelButtonEnabled() const; + void setCancelButtonEnabled(bool enabled); + public slots: void setValue(int value); @@ -144,6 +161,7 @@ signals: void valueChanged(int value); void finished(); void titlePositionChanged(); + void canceled(); }; // end of class RoundProgressWidget. @@ -155,20 +173,37 @@ class RoundProgressDialog : public QDialog using This = RoundProgressDialog; RoundProgressWidget* m_progress; + QColor m_background; public: + Q_PROPERTY(QColor background READ background WRITE setBackground); + explicit RoundProgressDialog(const QString& title, QWidget* parent = nullptr); ~RoundProgressDialog() override; + QColor background() const; + + bool cancelButtonEnabled() const; + void setCancelButtonEnabled(bool enabled); + protected: void showEvent(QShowEvent* event) override; + void paintEvent(QPaintEvent* event) override; public slots: + void setBackground(QColor color); + void setBackground(QString color); void setValue(int value); +signals: + + void valueChanged(int value); + void finished(); + void canceled(); + }; // end of RoundProgressDialog. #endif // ROUND_PROGRESS_WIDGET_H diff --git a/profiler_gui/themes/default.css b/profiler_gui/themes/default.css index 83f39d2..d9effc8 100644 --- a/profiler_gui/themes/default.css +++ b/profiler_gui/themes/default.css @@ -18,7 +18,10 @@ RoundProgressIndicator { qproperty-color: #3297FD; qproperty-background: #c4c4c4; background: transparent; } - + +RoundProgressDialog { + qproperty-background: rgba(255, 255, 255, 70%); } + MainWindow, QToolBar, QDialog { background-color: white; } @@ -305,9 +308,9 @@ QMenu::indicator:exclusive:checked:disabled { /* ****************************************************************************************************************** */ QHeaderView::section { - height: 15.3ex; - min-height: 15.3ex; - max-height: 15.3ex; + height: 15ex; + min-height: 15ex; + max-height: 15ex; background: #eeeeee; /*{lin}font-weight: bold;*/ } diff --git a/profiler_gui/themes/default.scss b/profiler_gui/themes/default.scss index c96aa56..608a5d7 100644 --- a/profiler_gui/themes/default.scss +++ b/profiler_gui/themes/default.scss @@ -64,6 +64,10 @@ RoundProgressIndicator { background: transparent; } +RoundProgressDialog { + qproperty-background: rgba(255, 255, 255, 70%); +} + MainWindow, QToolBar, QDialog { background-color: $BackgroundColor; } @@ -411,9 +415,9 @@ QMenu::indicator:exclusive:checked:disabled { /* ****************************************************************************************************************** */ QHeaderView::section { - height: 15.3ex; - min-height: 15.3ex; - max-height: 15.3ex; + height: $InputHeight; + min-height: $InputHeight; + max-height: $InputHeight; background: #eeeeee; /*{lin}font-weight: bold;*/ } diff --git a/profiler_gui/window_header.cpp b/profiler_gui/window_header.cpp index a67f3f8..3265222 100644 --- a/profiler_gui/window_header.cpp +++ b/profiler_gui/window_header.cpp @@ -195,10 +195,7 @@ void WindowHeader::onWindowStateChanged() { if (m_maximizeButton != nullptr) { - m_maximizeButton->setProperty("max", parentWidget()->isMaximized()); - m_maximizeButton->style()->unpolish(m_maximizeButton); - m_maximizeButton->style()->polish(m_maximizeButton); - m_maximizeButton->update(); + profiler_gui::updateProperty(m_maximizeButton, "max", parentWidget()->isMaximized()); setButtonSize(m_maximizeButton, height()); } }