From 537a8f57e5930b97ac975235f24a09ae237bfc51 Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sun, 4 Feb 2024 14:00:46 -0500 Subject: [PATCH] armoury: Improve styling on Breeze, add frame around gear view --- armoury/include/gearview.h | 4 ++-- armoury/src/gearlistwidget.cpp | 2 ++ armoury/src/gearview.cpp | 6 ++++-- armoury/src/mainwindow.cpp | 12 ++++++------ armoury/src/singlegearview.cpp | 2 +- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/armoury/include/gearview.h b/armoury/include/gearview.h index d170df8..0c3cc9c 100644 --- a/armoury/include/gearview.h +++ b/armoury/include/gearview.h @@ -6,7 +6,7 @@ #include "filecache.h" #include "mdlpart.h" #include -#include +#include #include struct ModelInfo { @@ -32,7 +32,7 @@ inline bool operator==(const GearInfo &a, const GearInfo &b) struct GameData; -class GearView : public QWidget +class GearView : public QFrame { Q_OBJECT diff --git a/armoury/src/gearlistwidget.cpp b/armoury/src/gearlistwidget.cpp index 0522245..1f7ab93 100644 --- a/armoury/src/gearlistwidget.cpp +++ b/armoury/src/gearlistwidget.cpp @@ -16,6 +16,7 @@ GearListWidget::GearListWidget(GameData *data, QWidget *parent) { auto layout = new QVBoxLayout(); layout->setContentsMargins(0, 0, 0, 0); + layout->setSpacing(0); setLayout(layout); auto searchModel = new QSortFilterProxyModel(); @@ -25,6 +26,7 @@ GearListWidget::GearListWidget(GameData *data, QWidget *parent) auto searchEdit = new QLineEdit(); searchEdit->setPlaceholderText(QStringLiteral("Search...")); searchEdit->setClearButtonEnabled(true); + searchEdit->setProperty("_breeze_borders_sides", QVariant::fromValue(QFlags{Qt::BottomEdge})); connect(searchEdit, &QLineEdit::textChanged, this, [=](const QString &text) { searchModel->setFilterRegularExpression(text); }); diff --git a/armoury/src/gearview.cpp b/armoury/src/gearview.cpp index 7c9a471..93bdba6 100644 --- a/armoury/src/gearview.cpp +++ b/armoury/src/gearview.cpp @@ -12,12 +12,14 @@ #include "magic_enum.hpp" GearView::GearView(GameData *data, FileCache &cache, QWidget *parent) - : QWidget(parent) + : QFrame(parent) , data(data) , cache(cache) { - mdlPart = new MDLPart(data, cache); + setFrameShape(QFrame::Shape::Panel); + setFrameShadow(QFrame::Shadow::Sunken); + mdlPart = new MDLPart(data, cache); reloadRaceDeforms(); auto layout = new QVBoxLayout(); diff --git a/armoury/src/mainwindow.cpp b/armoury/src/mainwindow.cpp index 6b2586d..72775d1 100644 --- a/armoury/src/mainwindow.cpp +++ b/armoury/src/mainwindow.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include "cmpeditor.h" @@ -30,18 +31,15 @@ MainWindow::MainWindow(GameData *in_data) setMinimumSize(QSize(800, 600)); setupMenubar(); - auto dummyWidget = new QWidget(); + auto dummyWidget = new QSplitter(); setCentralWidget(dummyWidget); - auto layout = new QHBoxLayout(); - dummyWidget->setLayout(layout); - auto gearListWidget = new GearListWidget(&data); gearListWidget->setMaximumWidth(350); connect(gearListWidget, &GearListWidget::gearSelected, this, [this](const GearInfo &gear) { gearView->setGear(gear); }); - layout->addWidget(gearListWidget); + dummyWidget->addWidget(gearListWidget); gearView = new SingleGearView(&data, cache); connect(gearView, &SingleGearView::addToFullModelViewer, this, [this](GearInfo &info) { @@ -51,7 +49,9 @@ MainWindow::MainWindow(GameData *in_data) auto tabWidget = new QTabWidget(); tabWidget->addTab(gearView, QStringLiteral("Models")); - layout->addWidget(tabWidget); + tabWidget->setDocumentMode(true); // Don't draw the borders + tabWidget->tabBar()->setExpanding(true); + dummyWidget->addWidget(tabWidget); fullModelViewer = new FullModelViewer(&data, cache); connect(fullModelViewer, &FullModelViewer::loadingChanged, this, [this](const bool loading) { diff --git a/armoury/src/singlegearview.cpp b/armoury/src/singlegearview.cpp index a0eebd8..b3efd64 100644 --- a/armoury/src/singlegearview.cpp +++ b/armoury/src/singlegearview.cpp @@ -29,7 +29,7 @@ SingleGearView::SingleGearView(GameData *data, FileCache &cache, QWidget *parent gearView->setFace(-1); auto layout = new QVBoxLayout(); - layout->setContentsMargins(0, 0, 0, 0); + // layout->setContentsMargins(0, 0, 0, 0); setLayout(layout); auto mdlPathEdit = new QLineEdit();