From e67b6cf35f963dcc42c3a7d2e52f942e450a9c6d Mon Sep 17 00:00:00 2001 From: Zhang TingAn Date: Tue, 19 Nov 2024 17:28:00 +0800 Subject: [PATCH] feat: [mainwindow] optimized ui of mainWindow reduce width of separator between docks Log: as title --- src/plugins/core/uicontroller/controller.cpp | 2 +- src/plugins/core/uicontroller/mainwindow.cpp | 2 +- src/plugins/core/uicontroller/mainwindow.h | 14 ++++++++++++++ src/plugins/project/mainframe/projecttree.cpp | 1 + src/plugins/symbol/mainframe/symboltreeview.cpp | 1 + 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/plugins/core/uicontroller/controller.cpp b/src/plugins/core/uicontroller/controller.cpp index c71be109d..aef2477ef 100644 --- a/src/plugins/core/uicontroller/controller.cpp +++ b/src/plugins/core/uicontroller/controller.cpp @@ -945,7 +945,7 @@ void Controller::initNavigationBar() d->navigationToolBar->hide(); vLayout->addWidget(d->navigationBar); - vLayout->setContentsMargins(0, 0, 2, 0); + vLayout->setContentsMargins(0, 0, 1, 0); } void Controller::initContextWidget() diff --git a/src/plugins/core/uicontroller/mainwindow.cpp b/src/plugins/core/uicontroller/mainwindow.cpp index d42e6c717..39b2ffcf0 100644 --- a/src/plugins/core/uicontroller/mainwindow.cpp +++ b/src/plugins/core/uicontroller/mainwindow.cpp @@ -65,9 +65,9 @@ MainWindow::MainWindow(QWidget *parent) setWindowIcon(QIcon::fromTheme("ide")); setAttribute(Qt::WA_DeleteOnClose); + setStyle(new CustomStyle()); addTopToolBar(); setContextMenuPolicy(Qt::NoContextMenu); //donot show left toolbar`s contextmenu - //setStyleSheet("QMainWindow::separator { width: 2px; margin: 0px; padding: 0px; }"); setCorner(Qt::Corner::BottomLeftCorner, Qt::DockWidgetArea::LeftDockWidgetArea); setCorner(Qt::Corner::TopLeftCorner, Qt::DockWidgetArea::LeftDockWidgetArea); diff --git a/src/plugins/core/uicontroller/mainwindow.h b/src/plugins/core/uicontroller/mainwindow.h index a9501a6da..3f1f17a6f 100644 --- a/src/plugins/core/uicontroller/mainwindow.h +++ b/src/plugins/core/uicontroller/mainwindow.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -17,6 +18,19 @@ #include DWIDGET_USE_NAMESPACE + +class CustomStyle : public DStyle +{ +public: + explicit CustomStyle() : DStyle() { } + int pixelMetric(QStyle::PixelMetric m, const QStyleOption *opt = nullptr, const QWidget *widget = nullptr) const override + { + if (m == PM_DockWidgetSeparatorExtent) + return 2; + return DStyle::pixelMetric(m, opt, widget); + } +}; + using dpfservice::Position; class MainWindowPrivate; class MainWindow : public DMainWindow diff --git a/src/plugins/project/mainframe/projecttree.cpp b/src/plugins/project/mainframe/projecttree.cpp index 8a49a08d6..b6ac28666 100644 --- a/src/plugins/project/mainframe/projecttree.cpp +++ b/src/plugins/project/mainframe/projecttree.cpp @@ -58,6 +58,7 @@ ProjectTree::ProjectTree(QWidget *parent) { setLineWidth(0); setContentsMargins(0, 0, 0, 0); + setFrameShape(QFrame::NoFrame); DStyle::setFrameRadius(this, 0); setIconSize(QSize(16, 16)); diff --git a/src/plugins/symbol/mainframe/symboltreeview.cpp b/src/plugins/symbol/mainframe/symboltreeview.cpp index 0154cb5e6..8a6948a0c 100644 --- a/src/plugins/symbol/mainframe/symboltreeview.cpp +++ b/src/plugins/symbol/mainframe/symboltreeview.cpp @@ -33,6 +33,7 @@ SymbolTreeView::SymbolTreeView(DWidget *parent) : DTreeView(parent), d(new SymbolTreeViewPrivate(this)) { setLineWidth(0); + setFrameShape(QFrame::NoFrame); d->model = new SymbolModel(); DTreeView::setModel(d->model);