From 27718d63937053e0ce06b68c48c640fb885671fd Mon Sep 17 00:00:00 2001 From: RickyRister Date: Fri, 27 Dec 2024 18:43:10 -0800 Subject: [PATCH] right align button while still centering the main toolbar --- cockatrice/src/client/tabs/tab_replays.cpp | 27 +++++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/cockatrice/src/client/tabs/tab_replays.cpp b/cockatrice/src/client/tabs/tab_replays.cpp index de31846cd..15918e1e6 100644 --- a/cockatrice/src/client/tabs/tab_replays.cpp +++ b/cockatrice/src/client/tabs/tab_replays.cpp @@ -41,13 +41,26 @@ TabReplays::TabReplays(TabSupervisor *_tabSupervisor, AbstractClient *_client) : localDirView->header()->setSectionResizeMode(QHeaderView::ResizeToContents); localDirView->header()->setSortIndicator(0, Qt::AscendingOrder); - leftToolBar = new QToolBar; + /* put an invisible dummy QToolBar in the leftmost column so that the main toolbar is centered. + * Really ugly workaround, but I couldn't figure out the proper way to make it centered */ + QToolBar *dummyToolBar = new QToolBar(this); + QSizePolicy sizePolicy = dummyToolBar->sizePolicy(); + sizePolicy.setRetainSizeWhenHidden(true); + dummyToolBar->setSizePolicy(sizePolicy); + dummyToolBar->setVisible(false); + + leftToolBar = new QToolBar(this); leftToolBar->setOrientation(Qt::Horizontal); leftToolBar->setIconSize(QSize(32, 32)); - QHBoxLayout *leftToolBarLayout = new QHBoxLayout; - leftToolBarLayout->addStretch(); - leftToolBarLayout->addWidget(leftToolBar); - leftToolBarLayout->addStretch(); + + QToolBar *leftRightmostToolBar = new QToolBar(this); + leftRightmostToolBar->setOrientation(Qt::Horizontal); + leftRightmostToolBar->setIconSize(QSize(32, 32)); + + QGridLayout *leftToolBarLayout = new QGridLayout; + leftToolBarLayout->addWidget(dummyToolBar, 0, 0, Qt::AlignLeft); + leftToolBarLayout->addWidget(leftToolBar, 0, 1, Qt::AlignHCenter); + leftToolBarLayout->addWidget(leftRightmostToolBar, 0, 2, Qt::AlignRight); QVBoxLayout *leftVbox = new QVBoxLayout; leftVbox->addWidget(localDirView); @@ -111,7 +124,9 @@ TabReplays::TabReplays(TabSupervisor *_tabSupervisor, AbstractClient *_client) : leftToolBar->addAction(aRenameLocal); leftToolBar->addAction(aNewLocalFolder); leftToolBar->addAction(aDeleteLocalReplay); - leftToolBar->addAction(aOpenReplaysFolder); + + leftRightmostToolBar->addAction(aOpenReplaysFolder); + rightToolBar->addAction(aOpenRemoteReplay); rightToolBar->addAction(aDownload); rightToolBar->addAction(aKeep);