Skip to content

Commit

Permalink
Viewer/Toolbox UI/UX changes
Browse files Browse the repository at this point in the history
  • Loading branch information
rodlie committed Apr 9, 2024
1 parent e8bcec9 commit eea2623
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 28 deletions.
21 changes: 16 additions & 5 deletions src/app/GUI/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,11 @@ MainWindow::MainWindow(Document& document,
, mTimeline(nullptr)
, mRenderWidget(nullptr)
, mToolBoxStack(nullptr)
, mToolBoxExtraStack(nullptr)
, mToolBoxMainIndex(0)
, mToolBoxNodesIndex(0)
, mToolBoxDrawIndex(0)
, mToolbar(nullptr)
, mToolBoxButton(nullptr)
, mToolBoxGroupMain(nullptr)
, mToolBoxGroupNodes(nullptr)
, mToolBoxMain(nullptr)
Expand Down Expand Up @@ -364,11 +364,20 @@ MainWindow::MainWindow(Document& document,
toolBoxLayout->setContentsMargins(0, 0, 0, 0);
toolBoxLayout->setSpacing(0);

toolBoxLayout->addWidget(mToolBoxButton);
const auto toolBoxExtraWidget = new QWidget(this);
toolBoxExtraWidget->setSizePolicy(QSizePolicy::Fixed,
QSizePolicy::Expanding);
toolBoxExtraWidget->setContentsMargins(0, 0, 0, 0);
const auto toolBoxExtraLayout = new QVBoxLayout(toolBoxExtraWidget);
toolBoxExtraLayout->setContentsMargins(0, 0, 0, 0);
toolBoxExtraLayout->setSpacing(0);

toolBoxLayout->addWidget(mToolBoxStack);
toolBoxExtraLayout->addWidget(mToolBoxExtraStack);

viewerLayout->addWidget(toolBoxWidget);
viewerLayout->addWidget(mStackWidget);
viewerLayout->addWidget(toolBoxExtraWidget);

// final layout
mUI = new UILayout(this);
Expand Down Expand Up @@ -1353,9 +1362,11 @@ void MainWindow::updateCanvasModeButtonsChecked()
const bool pointMode = mode == CanvasMode::pointTransform;
const bool drawMode = mode == CanvasMode::drawPath;

mToolBoxButton->setVisible(pointMode || drawMode);
mToolBoxStack->setCurrentIndex(drawMode ? mToolBoxDrawIndex : (pointMode ? mToolBoxNodesIndex : mToolBoxMainIndex));
mLocalPivotAct->setVisible(pointMode || boxMode);
//mToolBoxStack->setCurrentIndex(drawMode ? mToolBoxDrawIndex : (pointMode ? mToolBoxNodesIndex : mToolBoxMainIndex));
mToolBoxExtraStack->setCurrentIndex(drawMode ? mToolBoxDrawIndex : mToolBoxNodesIndex);
mToolBoxNodes->setEnabled(pointMode);
mToolBoxDraw->setEnabled(drawMode);
mLocalPivotAct->setEnabled(pointMode || boxMode);

//const bool paintMode = mode == CanvasMode::paint;
//mActionNewEmptyPaintFrameAct->setVisible(paintMode);
Expand Down
3 changes: 1 addition & 2 deletions src/app/GUI/mainwindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -263,14 +263,13 @@ class MainWindow : public QMainWindow
//UsageWidget* mUsageWidget = nullptr;

QStackedWidget *mToolBoxStack;
QStackedWidget *mToolBoxExtraStack;
int mToolBoxMainIndex;
int mToolBoxNodesIndex;
int mToolBoxDrawIndex;

QToolBar *mToolbar;

ToolButton *mToolBoxButton;

QActionGroup *mToolBoxGroupMain;
QActionGroup *mToolBoxGroupNodes;

Expand Down
26 changes: 7 additions & 19 deletions src/app/GUI/toolbox.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,40 +28,28 @@

void MainWindow::setupToolBox()
{
mToolBoxButton = new ToolButton(this, true);
mToolBoxButton->setPopupMode(QToolButton::InstantPopup);
mToolBoxButton->setIcon(QIcon::fromTheme("friction"));
mToolBoxButton->setToolTip(QString());
mToolBoxButton->setFocusPolicy(Qt::NoFocus);
mToolBoxButton->setObjectName(QString::fromUtf8("ToolButton"));
mToolBoxButton->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);

mToolBoxStack = new QStackedWidget(this);
mToolBoxStack->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);

mToolBoxExtraStack = new QStackedWidget(this);
mToolBoxExtraStack->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);

setupToolBoxMain();
setupToolBoxNodes();
setupToolBoxDraw();

eSizesUI::widget.add(mToolBoxMain, [this](const int size) {
mToolBoxButton->setIconSize(QSize(size, size));
mToolBoxMain->setIconSize(QSize(size, size));
mToolBoxNodes->setIconSize(QSize(size, size));
mToolBoxDraw->setIconSize(QSize(size, size));
});

mToolBoxMainIndex = mToolBoxStack->addWidget(mToolBoxMain);
mToolBoxNodesIndex = mToolBoxStack->addWidget(mToolBoxNodes);
mToolBoxDrawIndex = mToolBoxStack->addWidget(mToolBoxDraw);
mToolBoxStack->setCurrentIndex(mToolBoxMainIndex);
mToolBoxNodesIndex = mToolBoxExtraStack->addWidget(mToolBoxNodes);
mToolBoxDrawIndex = mToolBoxExtraStack->addWidget(mToolBoxDraw);

mToolBoxButton->addActions(mToolBoxGroupMain->actions());
for (const auto &toolAct : mToolBoxGroupMain->actions()) {
connect(toolAct, &QAction::triggered,
this, [this, toolAct](const auto &checked) {
if (checked) { mToolBoxButton->setDefaultAction(toolAct); }
});
}
mToolBoxStack->setCurrentIndex(mToolBoxMainIndex);
mToolBoxExtraStack->setCurrentIndex(mToolBoxNodesIndex);

// set default
mDocument.setCanvasMode(CanvasMode::boxTransform);
Expand Down
4 changes: 2 additions & 2 deletions src/app/friction.qss
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ QPushButton#QActionButton:checked
}

QToolBar#animationDockWidget,
QToolBar#ViewerNodeBar,
QToolBar#ViewerDrawBar,
/*QToolBar#ViewerNodeBar,
QToolBar#ViewerDrawBar,*/
#darkWidget
{
background-color: rgb(33, 33, 38);
Expand Down

0 comments on commit eea2623

Please sign in to comment.