Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions src/app/GUI/canvaswindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@

#include <QComboBox>
#include <QApplication>
#include <QTransform>

#include "mainwindow.h"
#include "GUI/BoxesList/boxscroller.h"
Expand Down Expand Up @@ -173,6 +174,10 @@ void CanvasWindow::renderSk(SkCanvas * const canvas)
{
qreal pixelRatio = this->devicePixelRatioF();
if (mCurrentCanvas) {
const QTransform worldToScreen(mViewTransform.m11(), mViewTransform.m12(), 0.0,
mViewTransform.m21(), mViewTransform.m22(), 0.0,
mViewTransform.dx(), mViewTransform.dy(), 1.0);
mCurrentCanvas->setWorldToScreen(worldToScreen, pixelRatio);
canvas->save();
mCurrentCanvas->renderSk(canvas,
rect(),
Expand Down
42 changes: 0 additions & 42 deletions src/app/GUI/extraactions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -647,48 +647,6 @@ void MainWindow::setupMenuExtras()
}
}

void MainWindow::setupMenuGizmo(QMenu *menu,
const Core::Gizmos::Interact &ti)
{
if (!menu) { return; }

const bool visible = mDocument.getGizmoVisibility(ti);
QString title;

switch (ti) {
case Core::Gizmos::Interact::Position:
title = tr("Position");
break;
case Core::Gizmos::Interact::Rotate:
title = tr("Rotate");
break;
case Core::Gizmos::Interact::Scale:
title = tr("Scale");
break;
case Core::Gizmos::Interact::Shear:
title = tr("Shear");
break;
default: return;
}

const auto act = menu->addAction(title);
act->setCheckable(true);
act->setChecked(visible);

connect(act, &QAction::toggled,
this, [this, ti]() {
mDocument.setGizmoVisibility(ti, !mDocument.getGizmoVisibility(ti));
});
connect(&mDocument, &Document::gizmoVisibilityChanged,
this, [ti, act](Core::Gizmos::Interact i,
bool enabled) {
if (ti != i) { return; }
act->blockSignals(true);
act->setChecked(enabled);
act->blockSignals(false);
});
}

void MainWindow::setupPropertiesActions()
{
mViewMenu->addSeparator();
Expand Down
7 changes: 6 additions & 1 deletion src/app/GUI/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -464,6 +464,7 @@ void MainWindow::updateSettingsForCurrentCanvas(Canvas* const scene)

void MainWindow::setupToolBar()
{
mToolBox = new Ui::ToolBox(mActions, mDocument, this);
mToolbar = new Ui::ToolBar(tr("Toolbar"),
"MainToolBar",
this);
Expand All @@ -474,7 +475,6 @@ void MainWindow::setupToolBar()
this, [this](const QString &msg){ statusBar()->showMessage(msg, 500); });
addToolBar(mColorToolBar);

mToolBox = new Ui::ToolBox(mActions, mDocument, this);
{
const auto toolbar = mToolBox->getToolBar(Ui::ToolBox::Main);
if (toolbar) { addToolBar(Qt::LeftToolBarArea, toolbar); }
Expand All @@ -496,6 +496,11 @@ void MainWindow::setupToolBar()

statusBar()->addPermanentWidget(mCanvasToolBar);

{
const auto toolbar = mToolBox->getToolBar(Ui::ToolBox::Interact);
if (toolbar) { statusBar()->addPermanentWidget(toolbar); }
}

connect(&mAudioHandler, &AudioHandler::deviceChanged,
this, [this]() {
statusBar()->showMessage(tr("Changed audio output: %1").arg(mAudioHandler.getDeviceName()),
Expand Down
3 changes: 0 additions & 3 deletions src/app/GUI/mainwindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@
#include "ekeyfilter.h"
#include "window.h"
#include "GUI/RenderWidgets/renderwidget.h"
#include "gizmos.h"

#include "widgets/fontswidget.h"
#include "widgets/toolbar.h"
Expand Down Expand Up @@ -314,8 +313,6 @@ class MainWindow : public QMainWindow
void setupMenuScene();
void setupMenuEffects();
void setupMenuExtras();
void setupMenuGizmo(QMenu *menu,
const Friction::Core::Gizmos::Interact &ti);
void setupPropertiesActions();

BoundingBox* getCurrentBox();
Expand Down
20 changes: 0 additions & 20 deletions src/app/GUI/menu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -638,26 +638,6 @@ void MainWindow::setupMenuBar()
mDynamicQuality->setCheckable(true);
mDynamicQuality->setChecked(eFilterSettings::sSmartDisplat());

const auto menuGizmo = mViewMenu->addMenu(QIcon::fromTheme("gizmos"),
tr("Transform Interacts"));
setupMenuGizmo(menuGizmo, Core::Gizmos::Interact::Position);
setupMenuGizmo(menuGizmo, Core::Gizmos::Interact::Rotate);
setupMenuGizmo(menuGizmo, Core::Gizmos::Interact::Scale);
setupMenuGizmo(menuGizmo, Core::Gizmos::Interact::Shear);
{
const auto controls = enve_cast<Ui::ToolControls*>(mToolBox->getToolBar(Ui::ToolBox::Controls));
if (controls) {
const auto act = menuGizmo->addAction(tr("Show in Controls"));
act->setCheckable(true);
act->setChecked(controls->getTransformInteractVisibility());
connect(act, &QAction::triggered,
this, [controls](bool checked) {
if (!controls) { return; }
controls->setTransformInteractVisibility(checked);
});
}
}

mClipViewToCanvas = mViewMenu->addAction(
tr("Clip to Scene", "MenuBar_View"));
mClipViewToCanvas->setCheckable(true);
Expand Down
22 changes: 20 additions & 2 deletions src/app/friction.qss
Original file line number Diff line number Diff line change
Expand Up @@ -668,15 +668,33 @@ ExpressionEditor {
background: %6;
}

#ToolBoxButton,
#ToolBoxGizmo {
#ToolBoxButton {
margin-top: .05em;
margin-bottom: .05em;
margin-left: .1em;
margin-right: .1em;
}

#ToolBoxGizmo {
margin-left: .1em;
margin-right: .1em;
}

#ToolBoxButton:disabled,
#ToolBoxGizmo:!checked {
background: transparent;
}

QToolButton#ToolBoxGizmo[popupMode="1"] {
padding-right: %10px;
}

QToolButton#ToolBoxGizmo[popupMode="1"]::menu-button {
width: %10px;
}

QToolButton#ToolBoxGizmo[popupMode="1"]::menu-arrow {
image: url(:/icons/hicolor/%11x%11/actions/go-down.png);
width: %10px;
height: %10px;
}
2 changes: 1 addition & 1 deletion src/app/icons
Submodule icons updated 157 files
3 changes: 3 additions & 0 deletions src/core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ include_directories(
set(
SOURCES
appsupport.cpp
grid.cpp
Boxes/nullobject.cpp
Expressions/expression.cpp
Expressions/expressionpresets.cpp
Expand Down Expand Up @@ -255,6 +256,7 @@ set(
canvasmouseevents.cpp
canvasmouseinteractions.cpp
canvasgizmos.cpp
canvasgrid.cpp
canvasselectedboxesactions.cpp
canvasselectedpointsactions.cpp
clipboardcontainer.cpp
Expand Down Expand Up @@ -359,6 +361,7 @@ set(
set(
HEADERS
appsupport.h
grid.h
Boxes/nullobject.h
Expressions/expression.h
Expressions/expressionpresets.h
Expand Down
5 changes: 3 additions & 2 deletions src/core/GUI/coloranimatorbutton.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,7 @@ void ColorAnimatorButton::openColorSettingsDialog()
mColorTarget);
} else {
const auto colOp = [this](const ColorSetting& setting) {
mColor = setting.getColor();
update();
setColor(setting.getColor());
};
colorWidget = eWidgets::sColorWidget(dialog,
mColor,
Expand All @@ -130,6 +129,8 @@ void ColorAnimatorButton::setColor(const QColor &color)
{
mColor = color;
update();

emit colorChanged(color);
}

QColor ColorAnimatorButton::color() const
Expand Down
11 changes: 10 additions & 1 deletion src/core/GUI/coloranimatorbutton.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,14 @@
#include "boxeslistactionbutton.h"
#include "smartPointers/selfref.h"
#include "conncontextptr.h"

class ColorAnimator;

class CORE_EXPORT ColorAnimatorButton : public BoxesListActionButton {
class CORE_EXPORT ColorAnimatorButton : public BoxesListActionButton
{
Q_OBJECT
ColorAnimatorButton(QWidget * const parent = nullptr);

public:
ColorAnimatorButton(ColorAnimator * const colorTarget,
QWidget * const parent = nullptr);
Expand All @@ -43,8 +47,13 @@ class CORE_EXPORT ColorAnimatorButton : public BoxesListActionButton {

void setColor(const QColor& color);
QColor color() const;

signals:
void colorChanged(const QColor &color);

protected:
void paintEvent(QPaintEvent *);

private:
QColor mColor;
ConnContextQPtr<ColorAnimator> mColorTarget;
Expand Down
Loading