right align button while still centering the main toolbar

This commit is contained in:
RickyRister 2024-12-27 20:37:20 -08:00
parent ebe44dbc5a
commit ba19e37620

View file

@ -49,13 +49,26 @@ TabDeckStorage::TabDeckStorage(TabSupervisor *_tabSupervisor, AbstractClient *_c
connect(localDirView, &QTreeView::doubleClicked, this, &TabDeckStorage::actLocalDoubleClick); connect(localDirView, &QTreeView::doubleClicked, this, &TabDeckStorage::actLocalDoubleClick);
// Left side layout // Left side layout
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->setOrientation(Qt::Horizontal);
leftToolBar->setIconSize(QSize(32, 32)); leftToolBar->setIconSize(QSize(32, 32));
QHBoxLayout *leftToolBarLayout = new QHBoxLayout;
leftToolBarLayout->addStretch(); QToolBar *leftRightmostToolBar = new QToolBar(this);
leftToolBarLayout->addWidget(leftToolBar); leftRightmostToolBar->setOrientation(Qt::Horizontal);
leftToolBarLayout->addStretch(); 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; QVBoxLayout *leftVbox = new QVBoxLayout;
leftVbox->addWidget(localDirView); leftVbox->addWidget(localDirView);
@ -125,7 +138,7 @@ TabDeckStorage::TabDeckStorage(TabSupervisor *_tabSupervisor, AbstractClient *_c
leftToolBar->addAction(aNewLocalFolder); leftToolBar->addAction(aNewLocalFolder);
leftToolBar->addAction(aDeleteLocalDeck); leftToolBar->addAction(aDeleteLocalDeck);
leftToolBar->addAction(aOpenDecksFolder); leftRightmostToolBar->addAction(aOpenDecksFolder);
rightToolBar->addAction(aOpenRemoteDeck); rightToolBar->addAction(aOpenRemoteDeck);
rightToolBar->addAction(aDownload); rightToolBar->addAction(aDownload);