diff --git a/profiler_gui/blocks_graphics_view.cpp b/profiler_gui/blocks_graphics_view.cpp
index 2f9814e..8ea248a 100644
--- a/profiler_gui/blocks_graphics_view.cpp
+++ b/profiler_gui/blocks_graphics_view.cpp
@@ -1522,6 +1522,7 @@ void EasyGraphicsView::onIdleTimeout()
if (widget == nullptr)
return;
+ widget->setObjectName(QStringLiteral("DiagramPopup"));
widget->setAttribute(Qt::WA_ShowWithoutActivating, true);
widget->setFocusPolicy(Qt::NoFocus);
@@ -1529,6 +1530,8 @@ void EasyGraphicsView::onIdleTimeout()
if (lay == nullptr)
return;
+ lay->setSpacing(2);
+
int row = 0;
switch (itemDesc.type())
{
@@ -2326,6 +2329,7 @@ void EasyThreadNamesWidget::onIdleTimeout()
if (widget == nullptr)
return;
+ widget->setObjectName(QStringLiteral("ThreadsPopup"));
widget->setAttribute(Qt::WA_ShowWithoutActivating, true);
widget->setFocusPolicy(Qt::NoFocus);
@@ -2335,6 +2339,7 @@ void EasyThreadNamesWidget::onIdleTimeout()
int row = 0;
+ lay->setSpacing(2);
lay->addWidget(new EasyBoldLabel(intersectingItem->threadName(), widget), row, 0, 1, 2, Qt::AlignHCenter);
++row;
diff --git a/profiler_gui/default.css b/profiler_gui/default.css
new file mode 100644
index 0000000..07cf8ef
--- /dev/null
+++ b/profiler_gui/default.css
@@ -0,0 +1,187 @@
+/**********************************
+* *
+* Light theme for EasyProfiler. *
+* *
+***********************************/
+
+
+/* ****************************************************************************************************************** */
+* {
+ font-family: "DejaVu Sans";
+ font-size: 13px;
+ color: #606070;
+}
+
+*:disabled {
+ color: #b0b0c0;
+}
+
+
+
+
+
+/* ****************************************************************************************************************** */
+QLineEdit, QPushButton {
+ height: 24px;
+ border: 1px solid #cccccc;
+ background-color: white;
+}
+
+QPushButton {
+ padding: 2px 5px 2px 5px;
+}
+
+QPushButton:hover {
+ border: 1px solid #f4a386;
+ color: #806070;
+}
+
+QPushButton:pressed {
+ border: 1px solid #d47366;
+ color: #705060;
+}
+
+/* ****************************************************************************************************************** */
+QMenu {
+ background-color: white;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+
+QMenu::item {
+ height: 22px;
+ padding: 0 16px 0 25px;
+ border: 1px solid transparent; /* reserve space for selection border */
+}
+
+QMenu::item:selected {
+ border-color: rgba(96, 112, 208, 128);
+ background: rgba(96, 112, 208, 64);
+}
+
+QMenu::icon {
+ width: 12px;
+ height: 12px;
+ background: none;
+ border: 1px inset transparent;
+ padding: 1px;
+ margin-left: 2px;
+}
+
+QMenu::icon:checked { /* appearance of a 'checked' icon */
+ background-color: #dddddd;
+ border: 1px inset #aaaaaa;
+}
+
+QMenu::separator {
+ height: 1px;
+ background: #cccccc;
+ margin-left: 5px;
+ margin-right: 5px;
+}
+
+QMenu::indicator {
+ width: 14px;
+ height: 14px;
+ background-color: white;
+ border: 1px solid #cccccc;
+ margin-left: 2px;
+ padding: 1px;
+}
+
+QMenu::indicator:non-exclusive:checked { image: url(":/CheckIndicator"); }
+QMenu::indicator:non-exclusive:checked:disabled { image: url(":/CheckIndicatorDisabled"); }
+
+QMenu::indicator:exclusive { border-radius: 8px; }
+QMenu::indicator:exclusive:checked { image: url(":/RadioIndicator"); }
+QMenu::indicator:exclusive:checked:disabled { image: url(":/RadioIndicatorDisabled"); }
+
+
+
+
+/* ****************************************************************************************************************** */
+/*QToolButton {
+ border: 1px solid transparent;
+ background: none;
+ padding: 2px;
+}
+
+QToolButton:hover {
+ border: 1px solid #cccccc;
+}
+
+QToolButton[popupMode="1"] {
+ padding-right: 13px;
+}
+
+QToolButton:pressed {
+ background-color: #808080;
+}
+
+QToolButton::menu-button {
+ border: none;
+ border-left: 1px solid transparent;
+ width: 12px;
+}
+
+QToolButton::menu-button:hover {
+ border-left: 1px solid #cccccc;
+ background-color: #bbbbbb;
+}
+
+QToolButton::menu-button:pressed {
+ border-left: 1px solid #cccccc;
+ background-color: #808080;
+}*/
+
+
+
+
+
+
+/* ****************************************************************************************************************** */
+QHeaderView::section {
+ height: 28px;
+ width: 96px;
+ min-width: 64px;
+ background: #eeeeee;
+}
+
+
+
+
+
+/* ****************************************************************************************************************** */
+QDockWidget QWidget#EasyDockWidgetTitle {
+ background-color: #666666;
+}
+
+QDockWidget QWidget#EasyDockWidgetTitle QLabel {
+ color: white;
+ margin-left: 4px;
+}
+
+QDockWidget QWidget#EasyDockWidgetTitle QPushButton {
+ background: none;
+ border: none;
+ max-height: 12px;
+ max-width: 12px;
+ margin-right: 4px;
+ padding: 0;
+}
+
+QDockWidget QWidget#EasyDockWidgetTitle QPushButton#EasyDockWidgetFloatButton { image: url(":/DockMaximizeWhite"); }
+QDockWidget QWidget#EasyDockWidgetTitle QPushButton#EasyDockWidgetFloatButton:hover { image: url(":/DockMaximizeWhiteHover"); }
+QDockWidget QWidget#EasyDockWidgetTitle QPushButton#EasyDockWidgetCloseButton { image: url(":/DockCloseWhite"); }
+QDockWidget QWidget#EasyDockWidgetTitle QPushButton#EasyDockWidgetCloseButton:hover { image: url(":/DockCloseWhiteHover"); }
+
+
+
+/* ****************************************************************************************************************** */
+QWidget#DiagramPopup, QWidget#ThreadsPopup {
+ background-color: white;
+ border: 1px solid #cccccc;
+}
+
+
+
diff --git a/profiler_gui/easy_frame_rate_viewer.cpp b/profiler_gui/easy_frame_rate_viewer.cpp
index 43e3367..3c07af8 100644
--- a/profiler_gui/easy_frame_rate_viewer.cpp
+++ b/profiler_gui/easy_frame_rate_viewer.cpp
@@ -269,7 +269,7 @@ EasyFrameRateViewer::EasyFrameRateViewer(QWidget* _parent) : Parent(_parent), m_
// Dirty hack for QDockWidget stupid initial size policy :(
setFixedHeight(10); // Set very small height to enable appropriate minimum height on the application startup
- QTimer::singleShot(100, [this]()
+ QTimer::singleShot(100, [this]
{
// Now set appropriate minimum height
setMinimumHeight((QFontMetrics(scene()->font()).height() + 3) * 6);
diff --git a/profiler_gui/globals.cpp b/profiler_gui/globals.cpp
index 9963452..3d73907 100644
--- a/profiler_gui/globals.cpp
+++ b/profiler_gui/globals.cpp
@@ -104,10 +104,10 @@ namespace profiler_gui {
, auto_adjust_histogram_height(true)
, display_only_frames_on_histogram(false)
, bind_scene_and_tree_expand_status(true)
- , bg_font(::profiler_gui::EFont("Helvetica", 10, QFont::Bold))
- , chronometer_font(::profiler_gui::EFont("Helvetica", 16, QFont::Bold))
- , items_font(::profiler_gui::EFont("Helvetica", 10, QFont::Medium))
- , selected_item_font(::profiler_gui::EFont("Helvetica", 10, QFont::Medium))
+ , bg_font(::profiler_gui::EFont("DejaVu Sans", 10, QFont::Bold))
+ , chronometer_font(::profiler_gui::EFont("DejaVu Sans", 16, QFont::Bold))
+ , items_font(::profiler_gui::EFont("DejaVu Sans", 10, QFont::Medium))
+ , selected_item_font(::profiler_gui::EFont("DejaVu Sans", 10, QFont::Medium))
{
}
diff --git a/profiler_gui/icons/attribution.txt b/profiler_gui/icons/attribution.txt
index 88e12b1..00c05b6 100644
--- a/profiler_gui/icons/attribution.txt
+++ b/profiler_gui/icons/attribution.txt
@@ -1,24 +1,31 @@
-logo.svg - Icon made by Freepik from www.flaticon.com
-off.svg - Icon made by Freepik from www.flaticon.com
-open-folder.svg - Icon made by Freepik from www.flaticon.com
-open-folder2.svg - Icon made by Freepik from www.flaticon.com
-reload-folder2.svg - Icon made by Freepik from www.flaticon.com
-reload.svg - Icon made by Freepik from www.flaticon.com
-expand.svg - Icon made by Freepik from www.flaticon.com
-collapse.svg - Icon made by Freepik from www.flaticon.com
-colors.svg - Icon made by Freepik from www.flaticon.com
-colors-black.svg - Icon made by Freepik from www.flaticon.com
-save.svg - Icon made by Freepik from www.flaticon.com
-statistics.svg - Icon made by Freepik from www.flaticon.com
-statistics2.svg - Icon made by Freepik from www.flaticon.com
-lan.svg - Icon made by Freepik from www.flaticon.com
-lan_on.svg - Icon made by Freepik from www.flaticon.com
-wifi.svg - Icon made by Freepik from www.flaticon.com
-wifi_on.svg - Icon made by Freepik from www.flaticon.com
-play.svg - Icon made by Google from www.flaticon.com
-stop.svg - Icon made by Google from www.flaticon.com
-delete.svg - Icon made by Google from www.flaticon.com
-list.svg - Icon made by Freepik from www.flaticon.com
-search-prev.svg - Icon made by Freepik from www.flaticon.com
-search-next.svg - Icon made by Freepik from www.flaticon.com
-settings.svg - Icon made by Freepik from www.flaticon.com
\ No newline at end of file
+logo.svg - Icon made by Freepik from www.flaticon.com
+off.svg - Icon made by Freepik from www.flaticon.com
+open-folder.svg - Icon made by Freepik from www.flaticon.com
+open-folder2.svg - Icon made by Freepik from www.flaticon.com
+reload-folder2.svg - Icon made by Freepik from www.flaticon.com
+reload.svg - Icon made by Freepik from www.flaticon.com
+expand.svg - Icon made by Freepik from www.flaticon.com
+collapse.svg - Icon made by Freepik from www.flaticon.com
+colors.svg - Icon made by Freepik from www.flaticon.com
+colors-black.svg - Icon made by Freepik from www.flaticon.com
+save.svg - Icon made by Freepik from www.flaticon.com
+statistics.svg - Icon made by Freepik from www.flaticon.com
+statistics2.svg - Icon made by Freepik from www.flaticon.com
+lan.svg - Icon made by Freepik from www.flaticon.com
+lan_on.svg - Icon made by Freepik from www.flaticon.com
+wifi.svg - Icon made by Freepik from www.flaticon.com
+wifi_on.svg - Icon made by Freepik from www.flaticon.com
+play.svg - Icon made by Google from www.flaticon.com
+stop.svg - Icon made by Google from www.flaticon.com
+delete.svg - Icon made by Google from www.flaticon.com
+list.svg - Icon made by Freepik from www.flaticon.com
+search-prev.svg - Icon made by Freepik from www.flaticon.com
+search-next.svg - Icon made by Freepik from www.flaticon.com
+settings.svg - Icon made by Freepik from www.flaticon.com
+check.svg - Icon made by Kirill Kazachek from www.flaticon.com
+check-disabled.svg - Icon made by Kirill Kazachek from www.flaticon.com
+close-white.svg - Icon made by Cole Bemis from www.flaticon.com
+close-white-disabled.svg - Icon made by Cole Bemis from www.flaticon.com
+maximize-white.svg - Icon made by Google from www.flaticon.com
+maximize-white-disabled.svg - Icon made by Google from www.flaticon.com
+
diff --git a/profiler_gui/icons/check-disabled.svg b/profiler_gui/icons/check-disabled.svg
new file mode 100644
index 0000000..d6d7f1c
--- /dev/null
+++ b/profiler_gui/icons/check-disabled.svg
@@ -0,0 +1,8 @@
+
+
+
diff --git a/profiler_gui/icons/check.svg b/profiler_gui/icons/check.svg
new file mode 100644
index 0000000..2d88e97
--- /dev/null
+++ b/profiler_gui/icons/check.svg
@@ -0,0 +1,8 @@
+
+
+
diff --git a/profiler_gui/icons/close-white-hover.svg b/profiler_gui/icons/close-white-hover.svg
new file mode 100644
index 0000000..2dcade2
--- /dev/null
+++ b/profiler_gui/icons/close-white-hover.svg
@@ -0,0 +1,12 @@
+
+
+
diff --git a/profiler_gui/icons/close-white.svg b/profiler_gui/icons/close-white.svg
new file mode 100644
index 0000000..cec4875
--- /dev/null
+++ b/profiler_gui/icons/close-white.svg
@@ -0,0 +1,12 @@
+
+
+
diff --git a/profiler_gui/icons/maximize-white-hover.svg b/profiler_gui/icons/maximize-white-hover.svg
new file mode 100644
index 0000000..b294f37
--- /dev/null
+++ b/profiler_gui/icons/maximize-white-hover.svg
@@ -0,0 +1,10 @@
+
+
diff --git a/profiler_gui/icons/maximize-white.svg b/profiler_gui/icons/maximize-white.svg
new file mode 100644
index 0000000..5c299a9
--- /dev/null
+++ b/profiler_gui/icons/maximize-white.svg
@@ -0,0 +1,10 @@
+
+
diff --git a/profiler_gui/icons/radio-indicator-disabled.svg b/profiler_gui/icons/radio-indicator-disabled.svg
new file mode 100644
index 0000000..f667d5d
--- /dev/null
+++ b/profiler_gui/icons/radio-indicator-disabled.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/profiler_gui/icons/radio-indicator.svg b/profiler_gui/icons/radio-indicator.svg
new file mode 100644
index 0000000..52ba580
--- /dev/null
+++ b/profiler_gui/icons/radio-indicator.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/profiler_gui/main.cpp b/profiler_gui/main.cpp
index e8f7ac2..cad8ac5 100644
--- a/profiler_gui/main.cpp
+++ b/profiler_gui/main.cpp
@@ -50,6 +50,8 @@
#include
#include
+#include
+#include
#include "main_window.h"
#include "globals.h"
@@ -61,6 +63,15 @@ int main(int argc, char **argv)
{
QApplication app(argc, argv);
+ QFile file(":/DefaultTheme");
+ if (file.open(QFile::ReadOnly | QFile::Text))
+ {
+ QTextStream in(&file);
+ QString style = in.readAll();
+ if (!style.isEmpty())
+ app.setStyleSheet(style);
+ }
+
//Instanciate easy globals after QApplication to allow creation of global fonts, and on the main thread to avoid data races
EASY_GLOBALS;
diff --git a/profiler_gui/main_window.cpp b/profiler_gui/main_window.cpp
index f0f164b..dc25cb4 100644
--- a/profiler_gui/main_window.cpp
+++ b/profiler_gui/main_window.cpp
@@ -64,11 +64,11 @@
#include
#include
#include
-#include
#include
#include
#include
#include
+#include
#include
#include
#include
@@ -134,6 +134,38 @@ inline void clear_stream(std::stringstream& _stream)
//////////////////////////////////////////////////////////////////////////
+EasyDockWidget::EasyDockWidget(const QString& title, QWidget* parent) : QDockWidget(title, parent)
+{
+ auto floatingButton = new QPushButton();
+ floatingButton->setObjectName("EasyDockWidgetFloatButton");
+ connect(floatingButton, &QPushButton::clicked, [this] {
+ setFloating(!isFloating());
+ });
+
+ auto closeButton = new QPushButton();
+ closeButton->setObjectName("EasyDockWidgetCloseButton");
+ connect(closeButton, &QPushButton::clicked, [this] {
+ close();
+ });
+
+ auto caption = new QWidget(this);
+ caption->setObjectName("EasyDockWidgetTitle");
+
+ auto lay = new QHBoxLayout(caption);
+ lay->setContentsMargins(0, 0, 0, 0);
+ lay->setSpacing(2);
+ lay->addWidget(new QLabel(title));
+ lay->addStretch(100);
+ lay->addWidget(floatingButton);
+ lay->addWidget(closeButton);
+
+ setTitleBarWidget(caption);
+}
+
+EasyDockWidget::~EasyDockWidget()
+{
+}
+
EasyMainWindow::EasyMainWindow() : Parent(), m_lastAddress("localhost"), m_lastPort(::profiler::DEFAULT_PORT)
{
{ QIcon icon(":/logo"); if (!icon.isNull()) QApplication::setWindowIcon(icon); }
@@ -146,7 +178,7 @@ EasyMainWindow::EasyMainWindow() : Parent(), m_lastAddress("localhost"), m_lastP
setStatusBar(nullptr);
- m_graphicsView = new QDockWidget("Diagram", this);
+ m_graphicsView = new EasyDockWidget("Diagram", this);
m_graphicsView->setObjectName("ProfilerGUI_Diagram");
m_graphicsView->setMinimumHeight(50);
m_graphicsView->setAllowedAreas(Qt::AllDockWidgetAreas);
@@ -154,7 +186,7 @@ EasyMainWindow::EasyMainWindow() : Parent(), m_lastAddress("localhost"), m_lastP
auto graphicsView = new EasyGraphicsViewWidget(this);
m_graphicsView->setWidget(graphicsView);
- m_treeWidget = new QDockWidget("Hierarchy", this);
+ m_treeWidget = new EasyDockWidget("Hierarchy", this);
m_treeWidget->setObjectName("ProfilerGUI_Hierarchy");
m_treeWidget->setMinimumHeight(50);
m_treeWidget->setAllowedAreas(Qt::AllDockWidgetAreas);
@@ -162,7 +194,7 @@ EasyMainWindow::EasyMainWindow() : Parent(), m_lastAddress("localhost"), m_lastP
auto treeWidget = new EasyHierarchyWidget(this);
m_treeWidget->setWidget(treeWidget);
- m_fpsViewer = new QDockWidget("FPS Monitor", this);
+ m_fpsViewer = new EasyDockWidget("FPS Monitor", this);
m_fpsViewer->setObjectName("ProfilerGUI_FPS");
m_fpsViewer->setWidget(new EasyFrameRateViewer(this));
m_fpsViewer->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);
@@ -173,7 +205,7 @@ EasyMainWindow::EasyMainWindow() : Parent(), m_lastAddress("localhost"), m_lastP
#if EASY_GUI_USE_DESCRIPTORS_DOCK_WINDOW != 0
auto descTree = new EasyDescWidget();
- m_descTreeWidget = new QDockWidget("Blocks");
+ m_descTreeWidget = new EasyDockWidget("Blocks");
m_descTreeWidget->setObjectName("ProfilerGUI_Blocks");
m_descTreeWidget->setMinimumHeight(50);
m_descTreeWidget->setAllowedAreas(Qt::AllDockWidgetAreas);
@@ -443,12 +475,12 @@ EasyMainWindow::EasyMainWindow() : Parent(), m_lastAddress("localhost"), m_lastP
submenu->addSeparator();
auto w = new QWidget(submenu);
auto l = new QHBoxLayout(w);
- l->setContentsMargins(33, 1, 1, 1);
+ l->setContentsMargins(26, 1, 16, 1);
l->addWidget(new QLabel("Min blocks spacing, px", w), 0, Qt::AlignLeft);
auto spinbox = new QSpinBox(w);
spinbox->setRange(0, 400);
spinbox->setValue(EASY_GLOBALS.blocks_spacing);
- spinbox->setFixedWidth(50);
+ spinbox->setFixedWidth(70);
connect(spinbox, SIGNAL(valueChanged(int)), this, SLOT(onSpacingChange(int)));
l->addWidget(spinbox);
w->setLayout(l);
@@ -458,12 +490,12 @@ EasyMainWindow::EasyMainWindow() : Parent(), m_lastAddress("localhost"), m_lastP
w = new QWidget(submenu);
l = new QHBoxLayout(w);
- l->setContentsMargins(33, 1, 1, 1);
+ l->setContentsMargins(26, 1, 16, 1);
l->addWidget(new QLabel("Min blocks size, px", w), 0, Qt::AlignLeft);
spinbox = new QSpinBox(w);
spinbox->setRange(1, 400);
spinbox->setValue(EASY_GLOBALS.blocks_size_min);
- spinbox->setFixedWidth(50);
+ spinbox->setFixedWidth(70);
connect(spinbox, SIGNAL(valueChanged(int)), this, SLOT(onMinSizeChange(int)));
l->addWidget(spinbox);
w->setLayout(l);
@@ -473,12 +505,12 @@ EasyMainWindow::EasyMainWindow() : Parent(), m_lastAddress("localhost"), m_lastP
w = new QWidget(submenu);
l = new QHBoxLayout(w);
- l->setContentsMargins(33, 1, 1, 1);
+ l->setContentsMargins(26, 1, 16, 1);
l->addWidget(new QLabel("Blocks narrow size, px", w), 0, Qt::AlignLeft);
spinbox = new QSpinBox(w);
spinbox->setRange(1, 400);
spinbox->setValue(EASY_GLOBALS.blocks_narrow_size);
- spinbox->setFixedWidth(50);
+ spinbox->setFixedWidth(70);
connect(spinbox, SIGNAL(valueChanged(int)), this, SLOT(onNarrowSizeChange(int)));
l->addWidget(spinbox);
w->setLayout(l);
@@ -492,12 +524,12 @@ EasyMainWindow::EasyMainWindow() : Parent(), m_lastAddress("localhost"), m_lastP
submenu = menu->addMenu("FPS Monitor");
w = new QWidget(submenu);
l = new QHBoxLayout(w);
- l->setContentsMargins(33, 1, 1, 1);
+ l->setContentsMargins(26, 1, 16, 1);
l->addWidget(new QLabel("Request interval, ms", w), 0, Qt::AlignLeft);
spinbox = new QSpinBox(w);
spinbox->setRange(1, 600000);
spinbox->setValue(EASY_GLOBALS.fps_timer_interval);
- spinbox->setFixedWidth(50);
+ spinbox->setFixedWidth(70);
connect(spinbox, SIGNAL(valueChanged(int)), this, SLOT(onFpsIntervalChange(int)));
l->addWidget(spinbox);
w->setLayout(l);
@@ -507,12 +539,12 @@ EasyMainWindow::EasyMainWindow() : Parent(), m_lastAddress("localhost"), m_lastP
w = new QWidget(submenu);
l = new QHBoxLayout(w);
- l->setContentsMargins(33, 1, 1, 1);
+ l->setContentsMargins(26, 1, 16, 1);
l->addWidget(new QLabel("Max history size", w), 0, Qt::AlignLeft);
spinbox = new QSpinBox(w);
spinbox->setRange(2, 200);
spinbox->setValue(EASY_GLOBALS.max_fps_history);
- spinbox->setFixedWidth(50);
+ spinbox->setFixedWidth(70);
connect(spinbox, SIGNAL(valueChanged(int)), this, SLOT(onFpsHistoryChange(int)));
l->addWidget(spinbox);
w->setLayout(l);
@@ -522,12 +554,12 @@ EasyMainWindow::EasyMainWindow() : Parent(), m_lastAddress("localhost"), m_lastP
w = new QWidget(submenu);
l = new QHBoxLayout(w);
- l->setContentsMargins(33, 1, 1, 1);
+ l->setContentsMargins(26, 1, 16, 1);
l->addWidget(new QLabel("Line width, px", w), 0, Qt::AlignLeft);
spinbox = new QSpinBox(w);
spinbox->setRange(1, 6);
spinbox->setValue(EASY_GLOBALS.fps_widget_line_width);
- spinbox->setFixedWidth(50);
+ spinbox->setFixedWidth(70);
connect(spinbox, SIGNAL(valueChanged(int)), this, SLOT(onFpsMonitorLineWidthChange(int)));
l->addWidget(spinbox);
w->setLayout(l);
diff --git a/profiler_gui/main_window.h b/profiler_gui/main_window.h
index cb769b8..ff8663b 100644
--- a/profiler_gui/main_window.h
+++ b/profiler_gui/main_window.h
@@ -60,6 +60,7 @@
#include
#include
+#include
#include
#include
@@ -78,8 +79,6 @@
#define EASY_GUI_USE_DESCRIPTORS_DOCK_WINDOW 0
-class QDockWidget;
-
namespace profiler { namespace net { struct EasyProfilerStatus; } }
//////////////////////////////////////////////////////////////////////////
@@ -195,6 +194,12 @@ private:
//////////////////////////////////////////////////////////////////////////
+struct EasyDockWidget : public QDockWidget
+{
+ EasyDockWidget(const QString& title, QWidget* parent = nullptr);
+ virtual ~EasyDockWidget();
+};
+
class EasyMainWindow : public QMainWindow
{
Q_OBJECT
diff --git a/profiler_gui/resources.qrc b/profiler_gui/resources.qrc
index 5f6fd8a..cde0f98 100644
--- a/profiler_gui/resources.qrc
+++ b/profiler_gui/resources.qrc
@@ -1,5 +1,6 @@
+ default.css
icons/logo.svg
icons/off.svg
icons/open-folder2.svg
@@ -24,6 +25,14 @@
icons/list.svg
icons/search-next.svg
icons/search-prev.svg
- icons/settings.svg
+ icons/settings.svg
+ icons/check.svg
+ icons/check-disabled.svg
+ icons/radio-indicator.svg
+ icons/radio-indicator-disabled.svg
+ icons/maximize-white.svg
+ icons/maximize-white-hover.svg
+ icons/close-white.svg
+ icons/close-white-hover.svg