diff --git a/launcher/ui/InstanceWindow.cpp b/launcher/ui/InstanceWindow.cpp index 0742fa51d..d0b51cb35 100644 --- a/launcher/ui/InstanceWindow.cpp +++ b/launcher/ui/InstanceWindow.cpp @@ -76,7 +76,7 @@ InstanceWindow::InstanceWindow(InstancePtr instance, QWidget* parent) : QMainWin { auto horizontalLayout = new QHBoxLayout(this); horizontalLayout->setObjectName(QStringLiteral("horizontalLayout")); - horizontalLayout->setContentsMargins(6, -1, 6, -1); + horizontalLayout->setContentsMargins(0, 0, 6, 6); auto btnHelp = new QPushButton(this); btnHelp->setText(tr("Help")); diff --git a/launcher/ui/dialogs/InstallLoaderDialog.cpp b/launcher/ui/dialogs/InstallLoaderDialog.cpp index 552b83776..c811e01eb 100644 --- a/launcher/ui/dialogs/InstallLoaderDialog.cpp +++ b/launcher/ui/dialogs/InstallLoaderDialog.cpp @@ -92,11 +92,13 @@ InstallLoaderDialog::InstallLoaderDialog(std::shared_ptr profile, c : QDialog(parent), profile(std::move(profile)), container(new PageContainer(this, QString(), this)), buttons(new QDialogButtonBox(this)) { auto layout = new QVBoxLayout(this); + layout->setContentsMargins(0, 0, 0, 0); container->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); layout->addWidget(container); auto buttonLayout = new QHBoxLayout(this); + buttonLayout->setContentsMargins(0, 0, 6, 6); auto refreshButton = new QPushButton(tr("&Refresh"), this); connect(refreshButton, &QPushButton::clicked, this, [this] { pageCast(container->selectedPage())->loadList(); }); @@ -110,7 +112,7 @@ InstallLoaderDialog::InstallLoaderDialog(std::shared_ptr profile, c connect(buttons, &QDialogButtonBox::rejected, this, &QDialog::reject); buttonLayout->addWidget(buttons); - layout->addLayout(buttonLayout); + container->addButtons(buttonLayout); setWindowTitle(dialogTitle()); setWindowModality(Qt::WindowModal); @@ -167,4 +169,4 @@ void InstallLoaderDialog::done(int result) QDialog::done(result); } -#include "InstallLoaderDialog.moc" \ No newline at end of file +#include "InstallLoaderDialog.moc" diff --git a/launcher/ui/dialogs/NewInstanceDialog.cpp b/launcher/ui/dialogs/NewInstanceDialog.cpp index 5542f6986..8d80966ac 100644 --- a/launcher/ui/dialogs/NewInstanceDialog.cpp +++ b/launcher/ui/dialogs/NewInstanceDialog.cpp @@ -95,6 +95,7 @@ NewInstanceDialog::NewInstanceDialog(const QString& initialGroup, m_buttons = new QDialogButtonBox(QDialogButtonBox::Help | QDialogButtonBox::Ok | QDialogButtonBox::Cancel); m_container = new PageContainer(this, {}, this); + m_container->useSidebarStyle(false); m_container->setSizePolicy(QSizePolicy::Policy::Preferred, QSizePolicy::Policy::Expanding); m_container->layout()->setContentsMargins(0, 0, 0, 0); ui->verticalLayout->insertWidget(2, m_container); diff --git a/launcher/ui/dialogs/ResourceDownloadDialog.cpp b/launcher/ui/dialogs/ResourceDownloadDialog.cpp index 4bd9b7051..2fd0b8c7c 100644 --- a/launcher/ui/dialogs/ResourceDownloadDialog.cpp +++ b/launcher/ui/dialogs/ResourceDownloadDialog.cpp @@ -61,6 +61,8 @@ ResourceDownloadDialog::ResourceDownloadDialog(QWidget* parent, const std::share setWindowIcon(QIcon::fromTheme("new")); + m_buttons.setContentsMargins(0, 0, 6, 6); + // Bonk Qt over its stupid head and make sure it understands which button is the default one... // See: https://stackoverflow.com/questions/24556831/qbuttonbox-set-default-button auto OkButton = m_buttons.button(QDialogButtonBox::Ok); @@ -114,6 +116,8 @@ void ResourceDownloadDialog::reject() // won't work with subclasses if we put it in this ctor. void ResourceDownloadDialog::initializeContainer() { + layout()->setContentsMargins(0, 0, 0, 0); + m_container = new PageContainer(this, {}, this); m_container->setSizePolicy(QSizePolicy::Policy::Preferred, QSizePolicy::Policy::Expanding); m_container->layout()->setContentsMargins(0, 0, 0, 0); diff --git a/launcher/ui/java/InstallJavaDialog.cpp b/launcher/ui/java/InstallJavaDialog.cpp index 1db4971f4..b004045cb 100644 --- a/launcher/ui/java/InstallJavaDialog.cpp +++ b/launcher/ui/java/InstallJavaDialog.cpp @@ -187,11 +187,14 @@ InstallDialog::InstallDialog(const QString& uid, BaseInstance* instance, QWidget : QDialog(parent), container(new PageContainer(this, QString(), this)), buttons(new QDialogButtonBox(this)) { auto layout = new QVBoxLayout(this); + layout->setContentsMargins(0, 0, 0, 0); container->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); layout->addWidget(container); auto buttonLayout = new QHBoxLayout(this); + buttonLayout->setContentsMargins(0, 0, 6, 6); + auto refreshLayout = new QHBoxLayout(this); auto refreshButton = new QPushButton(tr("&Refresh"), this); @@ -217,7 +220,7 @@ InstallDialog::InstallDialog(const QString& uid, BaseInstance* instance, QWidget connect(buttons, &QDialogButtonBox::rejected, this, &QDialog::reject); buttonLayout->addWidget(buttons); - layout->addLayout(buttonLayout); + container->addButtons(buttonLayout); setWindowTitle(dialogTitle()); setWindowModality(Qt::WindowModal); diff --git a/launcher/ui/pagedialog/PageDialog.cpp b/launcher/ui/pagedialog/PageDialog.cpp index c333b3dd7..7e52b5f65 100644 --- a/launcher/ui/pagedialog/PageDialog.cpp +++ b/launcher/ui/pagedialog/PageDialog.cpp @@ -46,7 +46,7 @@ PageDialog::PageDialog(BasePageProvider* pageProvider, QString defaultId, QWidge buttons->button(QDialogButtonBox::Ok)->setText(tr("&OK")); buttons->button(QDialogButtonBox::Cancel)->setText(tr("&Cancel")); buttons->button(QDialogButtonBox::Help)->setText(tr("Help")); - buttons->setContentsMargins(6, 0, 6, 0); + buttons->setContentsMargins(0, 0, 6, 6); m_container->addButtons(buttons); connect(buttons->button(QDialogButtonBox::Ok), &QPushButton::clicked, this, &PageDialog::accept); diff --git a/launcher/ui/widgets/PageContainer.cpp b/launcher/ui/widgets/PageContainer.cpp index 2e4533a6b..4fd8ceb9b 100644 --- a/launcher/ui/widgets/PageContainer.cpp +++ b/launcher/ui/widgets/PageContainer.cpp @@ -77,6 +77,8 @@ class PageEntryFilterModel : public QSortFilterProxyModel { PageContainer::PageContainer(BasePageProvider* pageProvider, QString defaultId, QWidget* parent) : QWidget(parent) { createUI(); + useSidebarStyle(true); + m_model = new PageModel(this); m_proxyModel = new PageEntryFilterModel(this); int counter = 0; @@ -179,10 +181,10 @@ void PageContainer::createUI() m_layout = new QGridLayout; m_layout->addLayout(headerHLayout, 0, 1, 1, 1); - m_layout->addWidget(m_pageList, 0, 0, 2, 1); + m_layout->addWidget(m_pageList, 0, 0, 3, 1); m_layout->addLayout(m_pageStack, 1, 1, 1, 1); m_layout->setColumnStretch(1, 4); - m_layout->setContentsMargins(0, 0, 0, 6); + m_layout->setContentsMargins(0, 0, 0, 0); setLayout(m_layout); } @@ -197,12 +199,16 @@ void PageContainer::retranslate() void PageContainer::addButtons(QWidget* buttons) { - m_layout->addWidget(buttons, 2, 0, 1, 2); + m_layout->addWidget(buttons, 2, 1, 1, 2); } void PageContainer::addButtons(QLayout* buttons) { - m_layout->addLayout(buttons, 2, 0, 1, 2); + m_layout->addLayout(buttons, 2, 1, 1, 2); +} + +void PageContainer::useSidebarStyle(bool sidebar) { + m_pageList->setProperty("_kde_side_panel_view", sidebar); } void PageContainer::showPage(int row) diff --git a/launcher/ui/widgets/PageContainer.h b/launcher/ui/widgets/PageContainer.h index 34970d0cd..2c7ca9e39 100644 --- a/launcher/ui/widgets/PageContainer.h +++ b/launcher/ui/widgets/PageContainer.h @@ -61,6 +61,9 @@ class PageContainer : public QWidget, public BasePageContainer { void addButtons(QWidget* buttons); void addButtons(QLayout* buttons); + + void useSidebarStyle(bool sidebar); + /* * Save any unsaved state and prepare to be closed. * @return true if everything can be saved, false if there is something that requires attention diff --git a/launcher/ui/widgets/PageContainer_p.h b/launcher/ui/widgets/PageContainer_p.h index e61f6e154..9a7651c75 100644 --- a/launcher/ui/widgets/PageContainer_p.h +++ b/launcher/ui/widgets/PageContainer_p.h @@ -89,8 +89,6 @@ class PageView : public QListView { setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Expanding); setItemDelegate(new PageViewDelegate(this)); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - // Adjust margins when using Breeze theme - setProperty("_kde_side_panel_view", true); } virtual QSize sizeHint() const