From dcffdac76f91dbd9c51bc95a92a43cb09c25982b Mon Sep 17 00:00:00 2001 From: Jakob Gahde Date: Tue, 25 Oct 2022 18:57:56 +0200 Subject: [PATCH 1/3] Move display options to toolbars --- app/app.pro | 3 - app/data/app.qrc | 1 - app/data/icons/{ => unused}/clear.png | Bin app/src/displayoptionwidget.cpp | 359 ------------------- app/src/displayoptionwidget.h | 83 ----- app/src/mainwindow2.cpp | 91 +++-- app/src/mainwindow2.h | 3 - app/src/toolbox.cpp | 7 - app/src/toolbox.h | 3 - app/ui/displayoption.ui | 491 -------------------------- app/ui/mainwindow2.ui | 222 +++++++++++- app/ui/toolboxwidget.ui | 29 -- 12 files changed, 287 insertions(+), 1005 deletions(-) rename app/data/icons/{ => unused}/clear.png (100%) delete mode 100644 app/src/displayoptionwidget.cpp delete mode 100644 app/src/displayoptionwidget.h delete mode 100644 app/ui/displayoption.ui diff --git a/app/app.pro b/app/app.pro index 09497d4f43..3923eea35a 100644 --- a/app/app.pro +++ b/app/app.pro @@ -89,7 +89,6 @@ HEADERS += \ src/colorpalettewidget.h \ src/colorwheel.h \ src/filedialog.h \ - src/displayoptionwidget.h \ src/pencil2d.h \ src/exportmoviedialog.h \ src/app_util.h \ @@ -138,7 +137,6 @@ SOURCES += \ src/colorpalettewidget.cpp \ src/colorwheel.cpp \ src/filedialog.cpp \ - src/displayoptionwidget.cpp \ src/pencil2d.cpp \ src/exportmoviedialog.cpp \ src/errordialog.cpp \ @@ -176,7 +174,6 @@ FORMS += \ ui/shortcutspage.ui \ ui/colorinspector.ui \ ui/colorpalette.ui \ - ui/displayoption.ui \ ui/errordialog.ui \ ui/importexportdialog.ui \ ui/exportmovieoptions.ui \ diff --git a/app/data/app.qrc b/app/data/app.qrc index c7cfca78fc..1c78e052b8 100644 --- a/app/data/app.qrc +++ b/app/data/app.qrc @@ -1,6 +1,5 @@ - icons/clear.png icons/remove.png icons/add.png icons/magnify.png diff --git a/app/data/icons/clear.png b/app/data/icons/unused/clear.png similarity index 100% rename from app/data/icons/clear.png rename to app/data/icons/unused/clear.png diff --git a/app/src/displayoptionwidget.cpp b/app/src/displayoptionwidget.cpp deleted file mode 100644 index 2c3238b0a2..0000000000 --- a/app/src/displayoptionwidget.cpp +++ /dev/null @@ -1,359 +0,0 @@ -/* - -Pencil2D - Traditional Animation Software -Copyright (C) 2012-2020 Matthew Chiawen Chang - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; version 2 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -*/ - -#include "displayoptionwidget.h" -#include "ui_displayoption.h" - -#include -#include -#include - -#include "preferencemanager.h" -#include "viewmanager.h" -#include "overlaymanager.h" -#include "layermanager.h" -#include "editor.h" -#include "util.h" -#include "movemode.h" - -#include "flowlayout.h" - - -DisplayOptionWidget::DisplayOptionWidget(QWidget *parent) : - BaseDockWidget(parent), - ui(new Ui::DisplayOption) -{ - ui->setupUi(this); -} - -DisplayOptionWidget::~DisplayOptionWidget() -{ - delete ui; -} - -void DisplayOptionWidget::initUI() -{ - updateUI(); - anglePreferences(); - makeConnections(); - - FlowLayout* layout = new FlowLayout; - layout->addWidget(ui->mirrorButton); - layout->addWidget(ui->mirrorVButton); - layout->addWidget(ui->thinLinesButton); - layout->addWidget(ui->outLinesButton); - layout->addWidget(ui->overlayCenterButton); - layout->addWidget(ui->overlayThirdsButton); - layout->addWidget(ui->overlayGoldenRatioButton); - layout->addWidget(ui->overlaySafeAreaButton); - layout->addWidget(ui->overlayPerspective1Button); - layout->addWidget(ui->overlayPerspective2Button); - layout->addWidget(ui->overlayPerspective3Button); - layout->addWidget(ui->overlayChooseAngle); - - delete ui->scrollAreaWidgetContents->layout(); - ui->scrollAreaWidgetContents->setLayout(layout); - - prepareOverlayManager(); - -#ifdef __APPLE__ - // Mac only style. ToolButtons are naturally borderless on Win/Linux. - QString stylesheet = - "QToolButton { border: 0px; } " - "QToolButton:pressed{ border: 1px solid #FFADAD; border-radius: 2px; background-color: #D5D5D5; }" - "QToolButton:checked{ border: 1px solid #ADADAD; border-radius: 2px; background-color: #D5D5D5; }"; - - ui->mirrorButton->setStyleSheet(stylesheet); - ui->mirrorVButton->setStyleSheet(stylesheet); - ui->thinLinesButton->setStyleSheet(stylesheet); - ui->outLinesButton->setStyleSheet(stylesheet); - ui->overlayCenterButton->setStyleSheet(stylesheet); - ui->overlayThirdsButton->setStyleSheet(stylesheet); - ui->overlayGoldenRatioButton->setStyleSheet(stylesheet); - ui->overlaySafeAreaButton->setStyleSheet(stylesheet); - ui->overlayPerspective1Button->setStyleSheet(stylesheet); - ui->overlayPerspective2Button->setStyleSheet(stylesheet); - ui->overlayPerspective3Button->setStyleSheet(stylesheet); - ui->overlayChooseAngle->setStyleSheet(stylesheet); -#endif -} - -void DisplayOptionWidget::makeConnections() -{ - connect(ui->mirrorButton, &QToolButton::clicked, this, &DisplayOptionWidget::toggleMirror); - connect(ui->mirrorVButton, &QToolButton::clicked, this, &DisplayOptionWidget::toggleMirrorV); - connect(ui->overlayCenterButton, &QToolButton::clicked, this, &DisplayOptionWidget::toggleOverlayCenter); - connect(ui->overlayThirdsButton, &QToolButton::clicked, this, &DisplayOptionWidget::toggleOverlayThirds); - connect(ui->overlayGoldenRatioButton, &QToolButton::clicked, this, &DisplayOptionWidget::toggleOverlayGoldenRatio); - connect(ui->overlaySafeAreaButton, &QToolButton::clicked, this, &DisplayOptionWidget::toggleOverlaySafeAreas); - connect(ui->overlayPerspective1Button, &QToolButton::clicked, this, &DisplayOptionWidget::toggleOverlayPerspective1); - connect(ui->overlayPerspective2Button, &QToolButton::clicked, this, &DisplayOptionWidget::toggleOverlayPerspective2); - connect(ui->overlayPerspective3Button, &QToolButton::clicked, this, &DisplayOptionWidget::toggleOverlayPerspective3); - connect(ui->thinLinesButton, &QToolButton::clicked, this, &DisplayOptionWidget::toggleThinLines); - connect(ui->outLinesButton, &QToolButton::clicked, this, &DisplayOptionWidget::toggleOutlines); - - connect(editor()->preference(), &PreferenceManager::optionChanged, this, &DisplayOptionWidget::updateUI); - connect(editor()->view(), &ViewManager::viewFlipped, this, &DisplayOptionWidget::updateUI); -} - -void DisplayOptionWidget::prepareOverlayManager() -{ - if (ui->overlayPerspective1Button->isChecked()) - { - editor()->overlays()->setOnePointPerspectiveEnabled(true); - editor()->overlays()->updatePerspective(1); - } - if (ui->overlayPerspective2Button->isChecked()) - { - editor()->overlays()->setTwoPointPerspectiveEnabled(true); - editor()->overlays()->updatePerspective(2); - } - if (ui->overlayPerspective3Button->isChecked()) - { - editor()->overlays()->setThreePointPerspectiveEnabled(true); - editor()->overlays()->updatePerspective(3); - } -} - -void DisplayOptionWidget::clearPreviousAngle(int angle) -{ - switch (angle) - { - case 2: ui->action2_degrees->setChecked(false); break; - case 3: ui->action3_degrees->setChecked(false); break; - case 5: ui->action5_degrees->setChecked(false); break; - case 7: ui->action7_5_degrees->setChecked(false); break; - case 10: ui->action10_degrees->setChecked(false); break; - case 15: ui->action15_degrees->setChecked(false); break; - case 20: ui->action20_degrees->setChecked(false); break; - case 30: ui->action30_degrees->setChecked(false); break; - default: ui->action15_degrees->setChecked(false); - } -} - -void DisplayOptionWidget::changeAngle(int angle) -{ - clearPreviousAngle(mOverlayAngle); - mOverlayAngle = angle; - editor()->preference()->set(SETTING::OVERLAY_ANGLE, angle); - emit editor()->view()->viewChanged(); -} - -void DisplayOptionWidget::updateUI() -{ - PreferenceManager* prefs = editor()->preference(); - - bool canEnableVectorButtons = editor()->layers()->currentLayer()->type() == Layer::VECTOR; - ui->thinLinesButton->setEnabled(canEnableVectorButtons); - ui->outLinesButton->setEnabled(canEnableVectorButtons); - - QSignalBlocker b1(ui->thinLinesButton); - ui->thinLinesButton->setChecked(prefs->isOn(SETTING::INVISIBLE_LINES)); - - QSignalBlocker b2(ui->outLinesButton); - ui->outLinesButton->setChecked(prefs->isOn(SETTING::OUTLINES)); - - QSignalBlocker b9(ui->overlayCenterButton); - ui->overlayCenterButton->setChecked(prefs->isOn(SETTING::OVERLAY_CENTER)); - - QSignalBlocker b10(ui->overlayThirdsButton); - ui->overlayThirdsButton->setChecked(prefs->isOn(SETTING::OVERLAY_THIRDS)); - - QSignalBlocker b11(ui->overlayGoldenRatioButton); - ui->overlayGoldenRatioButton->setChecked(prefs->isOn(SETTING::OVERLAY_GOLDEN)); - - QSignalBlocker b12(ui->overlaySafeAreaButton); - ui->overlaySafeAreaButton->setChecked(prefs->isOn(SETTING::OVERLAY_SAFE)); - - QSignalBlocker b13(ui->overlayPerspective1Button); - ui->overlayPerspective1Button->setChecked(prefs->isOn(SETTING::OVERLAY_PERSPECTIVE1)); - - QSignalBlocker b14(ui->overlayPerspective2Button); - ui->overlayPerspective2Button->setChecked(prefs->isOn(SETTING::OVERLAY_PERSPECTIVE2)); - - QSignalBlocker b15(ui->overlayPerspective3Button); - ui->overlayPerspective3Button->setChecked(prefs->isOn(SETTING::OVERLAY_PERSPECTIVE3)); - - bool enableSafeArea = (prefs->isOn(SETTING::ACTION_SAFE_ON) || prefs->isOn(SETTING::TITLE_SAFE_ON)); - ui->overlaySafeAreaButton->setEnabled(enableSafeArea); - - const ViewManager* view = editor()->view(); - - QSignalBlocker b3(ui->mirrorButton); - ui->mirrorButton->setChecked(view->isFlipHorizontal()); - - QSignalBlocker b4(ui->mirrorVButton); - ui->mirrorVButton->setChecked(view->isFlipVertical()); -} - -int DisplayOptionWidget::getMinHeightForWidth(int width) -{ - return ui->innerWidget->layout()->heightForWidth(width); -} - -void DisplayOptionWidget::toggleThinLines(bool isOn) -{ - editor()->preference()->set(SETTING::INVISIBLE_LINES, isOn); -} - -void DisplayOptionWidget::toggleOutlines(bool isOn) -{ - editor()->preference()->set(SETTING::OUTLINES, isOn); -} - -void DisplayOptionWidget::toggleMirror(bool isOn) -{ - editor()->view()->flipHorizontal(isOn); -} - -void DisplayOptionWidget::toggleMirrorV(bool isOn) -{ - editor()->view()->flipVertical(isOn); -} - -void DisplayOptionWidget::toggleOverlayCenter(bool isOn) -{ - editor()->overlays()->setCenterEnabled(isOn); - editor()->preference()->set(SETTING::OVERLAY_CENTER, isOn); - emit editor()->view()->viewChanged(); -} - -void DisplayOptionWidget::toggleOverlayThirds(bool isOn) -{ - editor()->overlays()->setThirdsEnabled(isOn); - editor()->preference()->set(SETTING::OVERLAY_THIRDS, isOn); - emit editor()->view()->viewChanged(); -} - -void DisplayOptionWidget::toggleOverlayGoldenRatio(bool isOn) -{ - editor()->overlays()->setGoldenRatioEnabled(isOn); - editor()->preference()->set(SETTING::OVERLAY_GOLDEN, isOn); - emit editor()->view()->viewChanged(); -} - -void DisplayOptionWidget::toggleOverlaySafeAreas(bool isOn) -{ - editor()->overlays()->setSafeAreasEnabled(isOn); - editor()->preference()->set(SETTING::OVERLAY_SAFE, isOn); - emit editor()->view()->viewChanged(); -} - -void DisplayOptionWidget::toggleOverlayPerspective1(bool isOn) -{ - editor()->overlays()->setOnePointPerspectiveEnabled(isOn); - editor()->preference()->set(SETTING::OVERLAY_PERSPECTIVE1, isOn); - emit editor()->view()->viewChanged(); -} - -void DisplayOptionWidget::toggleOverlayPerspective2(bool isOn) -{ - editor()->overlays()->setTwoPointPerspectiveEnabled(isOn); - editor()->preference()->set(SETTING::OVERLAY_PERSPECTIVE2, isOn); - emit editor()->view()->viewChanged(); -} - -void DisplayOptionWidget::toggleOverlayPerspective3(bool isOn) -{ - editor()->overlays()->setThreePointPerspectiveEnabled(isOn); - editor()->preference()->set(SETTING::OVERLAY_PERSPECTIVE3, isOn); - emit editor()->view()->viewChanged(); -} - -void DisplayOptionWidget::anglePreferences() -{ - buttonStylesheet = "::menu-indicator{ image: none; }" - "QToolButton { border: 0px; }" - "QToolButton:pressed { border: 1px solid #ADADAD; border-radius: 2px; background-color: #D5D5D5; }" - "QToolButton:checked { border: 1px solid #ADADAD; border-radius: 2px; background-color: #D5D5D5; }"; - - ui->overlayChooseAngle->setArrowType(Qt::ArrowType::NoArrow); - ui->overlayChooseAngle->setStyleSheet(buttonStylesheet); - - ui->overlayChooseAngle->addAction(ui->action2_degrees); - ui->overlayChooseAngle->addAction(ui->action3_degrees); - ui->overlayChooseAngle->addAction(ui->action5_degrees); - ui->overlayChooseAngle->addAction(ui->action7_5_degrees); - ui->overlayChooseAngle->addAction(ui->action10_degrees); - ui->overlayChooseAngle->addAction(ui->action15_degrees); - ui->overlayChooseAngle->addAction(ui->action20_degrees); - ui->overlayChooseAngle->addAction(ui->action30_degrees); - - QSettings settings(PENCIL2D, PENCIL2D); - mOverlayAngle = settings.value("OverlayAngle").toInt(); - - switch (mOverlayAngle) - { - case 2: ui->action2_degrees->setChecked(true); break; - case 3: ui->action3_degrees->setChecked(true); break; - case 5: ui->action5_degrees->setChecked(true); break; - case 7: ui->action7_5_degrees->setChecked(true); break; - case 10: ui->action10_degrees->setChecked(true); break; - case 15: ui->action15_degrees->setChecked(true); break; - case 20: ui->action20_degrees->setChecked(true); break; - case 30: ui->action30_degrees->setChecked(true); break; - default: ui->action15_degrees->setChecked(true); - } - - connect(ui->action2_degrees, &QAction::triggered, this, &DisplayOptionWidget::angle2degrees); - connect(ui->action3_degrees, &QAction::triggered, this, &DisplayOptionWidget::angle3degrees); - connect(ui->action5_degrees, &QAction::triggered, this, &DisplayOptionWidget::angle5degrees); - connect(ui->action7_5_degrees, &QAction::triggered, this, &DisplayOptionWidget::angle7_5degrees); - connect(ui->action10_degrees, &QAction::triggered, this, &DisplayOptionWidget::angle10degrees); - connect(ui->action15_degrees, &QAction::triggered, this, &DisplayOptionWidget::angle15degrees); - connect(ui->action20_degrees, &QAction::triggered, this, &DisplayOptionWidget::angle20degrees); - connect(ui->action30_degrees, &QAction::triggered, this, &DisplayOptionWidget::angle30degrees); -} - -void DisplayOptionWidget::angle2degrees(bool) -{ - changeAngle(2); -} - -void DisplayOptionWidget::angle3degrees(bool) -{ - changeAngle(3); -} - -void DisplayOptionWidget::angle5degrees(bool) -{ - changeAngle(5); -} - -void DisplayOptionWidget::angle7_5degrees(bool) -{ - changeAngle(7); -} - -void DisplayOptionWidget::angle10degrees(bool) -{ - changeAngle(10); -} - -void DisplayOptionWidget::angle15degrees(bool) -{ - changeAngle(15); -} - -void DisplayOptionWidget::angle20degrees(bool) -{ - changeAngle(20); -} - -void DisplayOptionWidget::angle30degrees(bool) -{ - changeAngle(30); -} diff --git a/app/src/displayoptionwidget.h b/app/src/displayoptionwidget.h deleted file mode 100644 index a980e62611..0000000000 --- a/app/src/displayoptionwidget.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - -Pencil2D - Traditional Animation Software -Copyright (C) 2012-2020 Matthew Chiawen Chang - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; version 2 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -*/ - -#ifndef DISPLAYOPTIONDOCKWIDGET_H -#define DISPLAYOPTIONDOCKWIDGET_H - -#include "basedockwidget.h" - -namespace Ui -{ - class DisplayOption; -} -class Editor; -class QToolButton; -class ViewManager; -class QTimer; - -class DisplayOptionWidget : public BaseDockWidget -{ - Q_OBJECT -public: - explicit DisplayOptionWidget(QWidget* parent); - virtual ~DisplayOptionWidget() override; - - void initUI() override; - void updateUI() override; - -public slots: - void prepareOverlayManager(); - -protected: - int getMinHeightForWidth(int width) override; - -private slots: - void toggleThinLines(bool); - void toggleOutlines(bool); - void toggleMirror(bool); - void toggleMirrorV(bool); - void toggleOverlayCenter(bool isOn); - void toggleOverlayThirds(bool isOn); - void toggleOverlayGoldenRatio(bool isOn); - void toggleOverlaySafeAreas(bool isOn); - void toggleOverlayPerspective1(bool isOn); - void toggleOverlayPerspective2(bool isOn); - void toggleOverlayPerspective3(bool isOn); - void anglePreferences(); - void angle2degrees(bool); - void angle3degrees(bool); - void angle5degrees(bool); - void angle7_5degrees(bool); - void angle10degrees(bool); - void angle15degrees(bool); - void angle20degrees(bool); - void angle30degrees(bool); - -private: - void makeConnections(); - void clearPreviousAngle(int angle); - void changeAngle(int angle); - Ui::DisplayOption* ui = nullptr; - - QString buttonStylesheet; - - // vars for perspective overlays - int mOverlayAngle = 15; - int mPerspectiveX = -1; - int mPerspectiveY = 1; -}; - -#endif // DISPLAYOPTIONDOCKWIDGET_H diff --git a/app/src/mainwindow2.cpp b/app/src/mainwindow2.cpp index 0ef8633ee6..c629321cb4 100644 --- a/app/src/mainwindow2.cpp +++ b/app/src/mainwindow2.cpp @@ -32,6 +32,7 @@ GNU General Public License for more details. #include #include #include +#include // core_lib headers #include "pencildef.h" @@ -58,7 +59,6 @@ GNU General Public License for more details. #include "colorbox.h" #include "colorinspector.h" #include "colorpalettewidget.h" -#include "displayoptionwidget.h" #include "tooloptionwidget.h" #include "preferencesdialog.h" #include "timeline.h" @@ -130,9 +130,9 @@ MainWindow2::MainWindow2(QWidget* parent) : readSettings(); selectionChanged(); + currentLayerChanged(); connect(mEditor, &Editor::needSave, this, &MainWindow2::autoSave); - connect(mToolBox, &ToolBoxWidget::clearButtonClicked, mEditor, &Editor::clearCurrentFrame); mEditor->tools()->setDefaultTool(); ui->background->init(mEditor->preference()); @@ -162,9 +162,6 @@ void MainWindow2::createDockWidgets() mColorPalette->setCore(mEditor); mColorPalette->setObjectName("ColorPalette"); - mDisplayOptionWidget = new DisplayOptionWidget(this); - mDisplayOptionWidget->setObjectName("DisplayOption"); - mOnionSkinWidget = new OnionSkinWidget(this); mOnionSkinWidget->setObjectName("Onion Skin"); @@ -185,7 +182,6 @@ void MainWindow2::createDockWidgets() << mColorBox << mColorInspector << mColorPalette - << mDisplayOptionWidget << mOnionSkinWidget << mToolOptions << mToolBox; @@ -210,7 +206,6 @@ void MainWindow2::createDockWidgets() addDockWidget(Qt::RightDockWidgetArea, mColorPalette); addDockWidget(Qt::LeftDockWidgetArea, mToolBox); addDockWidget(Qt::LeftDockWidgetArea, mToolOptions); - addDockWidget(Qt::LeftDockWidgetArea, mDisplayOptionWidget); addDockWidget(Qt::LeftDockWidgetArea, mOnionSkinWidget); addDockWidget(Qt::BottomDockWidgetArea, mTimeLine); setDockNestingEnabled(true); @@ -230,7 +225,6 @@ void MainWindow2::createDockWidgets() makeConnections(mEditor, mColorInspector); makeConnections(mEditor, mColorPalette); makeConnections(mEditor, mToolOptions); - makeConnections(mEditor, mDisplayOptionWidget); makeConnections(mEditor, ui->statusBar); for (BaseDockWidget* w : mDockWidgets) @@ -337,10 +331,56 @@ void MainWindow2::createMenus() PreferenceManager* prefs = mEditor->preference(); connect(ui->actionStatusBar, &QAction::triggered, ui->statusBar, &QStatusBar::setVisible); bindPreferenceSetting(ui->actionStatusBar, prefs, SETTING::SHOW_STATUS_BAR); + bindPreferenceSetting(ui->actionThreePointPerspective, prefs, SETTING::OVERLAY_PERSPECTIVE3); + bindPreferenceSetting(ui->actionTwoPointPerspective, prefs, SETTING::OVERLAY_PERSPECTIVE2); + bindPreferenceSetting(ui->actionOnePointPerspective, prefs, SETTING::OVERLAY_PERSPECTIVE1); + bindPreferenceSetting(ui->actionSafeAreas, prefs, SETTING::OVERLAY_SAFE); + bindPreferenceSetting(ui->actionGoldenRatio, prefs, SETTING::OVERLAY_GOLDEN); + bindPreferenceSetting(ui->actionThirds, prefs, SETTING::OVERLAY_THIRDS); + bindPreferenceSetting(ui->actionCenter, prefs, SETTING::OVERLAY_CENTER); bindPreferenceSetting(ui->actionGrid, prefs, SETTING::GRID); + bindPreferenceSetting(ui->actionShowOutlinesOnly, prefs, SETTING::OUTLINES); + bindPreferenceSetting(ui->actionShowInvisibleLines, prefs, SETTING::INVISIBLE_LINES); bindPreferenceSetting(ui->actionOnionPrev, prefs, SETTING::PREV_ONION); bindPreferenceSetting(ui->actionOnionNext, prefs, SETTING::NEXT_ONION); + bool enableSafeArea = (prefs->isOn(SETTING::ACTION_SAFE_ON) || prefs->isOn(SETTING::TITLE_SAFE_ON)); + ui->actionSafeAreas->setEnabled(enableSafeArea); + + auto perspectiveLinesAngleGroup = new QActionGroup(this); + perspectiveLinesAngleGroup->setExclusive(true); + perspectiveLinesAngleGroup->addAction(ui->action2Degrees); + perspectiveLinesAngleGroup->addAction(ui->action3Degrees); + perspectiveLinesAngleGroup->addAction(ui->action5Degrees); + perspectiveLinesAngleGroup->addAction(ui->action7_5Degrees); + perspectiveLinesAngleGroup->addAction(ui->action10Degrees); + perspectiveLinesAngleGroup->addAction(ui->action15Degrees); + perspectiveLinesAngleGroup->addAction(ui->action20Degrees); + perspectiveLinesAngleGroup->addAction(ui->action30Degrees); + connect(perspectiveLinesAngleGroup, &QActionGroup::triggered, this, [&](QAction* action) { + if (action == ui->action2Degrees) mEditor->preference()->set(SETTING::OVERLAY_ANGLE, 2); + else if (action == ui->action3Degrees) mEditor->preference()->set(SETTING::OVERLAY_ANGLE, 3); + else if (action == ui->action5Degrees) mEditor->preference()->set(SETTING::OVERLAY_ANGLE, 5); + else if (action == ui->action7_5Degrees) mEditor->preference()->set(SETTING::OVERLAY_ANGLE, 7); + else if (action == ui->action10Degrees) mEditor->preference()->set(SETTING::OVERLAY_ANGLE, 10); + else if (action == ui->action15Degrees) mEditor->preference()->set(SETTING::OVERLAY_ANGLE, 15); + else if (action == ui->action20Degrees) mEditor->preference()->set(SETTING::OVERLAY_ANGLE, 20); + else if (action == ui->action30Degrees) mEditor->preference()->set(SETTING::OVERLAY_ANGLE, 30); + else Q_UNREACHABLE(); + emit mEditor->view()->viewChanged(); + }); + + switch (prefs->getInt(SETTING::OVERLAY_ANGLE)) { + case 2: ui->action2Degrees->setChecked(true); break; + case 3: ui->action3Degrees->setChecked(true); break; + case 5: ui->action5Degrees->setChecked(true); break; + case 7: ui->action7_5Degrees->setChecked(true); break; + case 10: ui->action10Degrees->setChecked(true); break; + case 15: ui->action15Degrees->setChecked(true); break; + case 20: ui->action20Degrees->setChecked(true); break; + case 30: ui->action30Degrees->setChecked(true); break; + } + //--- Animation Menu --- PlaybackManager* pPlaybackManager = mEditor->playback(); connect(ui->actionPlay, &QAction::triggered, mCommands, &ActionCommands::PlayStop); @@ -395,7 +435,6 @@ void MainWindow2::createMenus() mColorBox->toggleViewAction(), mColorPalette->toggleViewAction(), mTimeLine->toggleViewAction(), - mDisplayOptionWidget->toggleViewAction(), mColorInspector->toggleViewAction(), mOnionSkinWidget->toggleViewAction() }; @@ -403,8 +442,9 @@ void MainWindow2::createMenus() for (QAction* action : actions) { action->setMenuRole(QAction::NoRole); - winMenu->addAction(action); + winMenu->insertAction(ui->menuToolbars->menuAction(), action); } + winMenu->insertSeparator(ui->menuToolbars->menuAction()); connect(ui->actionResetWindows, &QAction::triggered, this, &MainWindow2::resetAndDockAllSubWidgets); connect(ui->actionLockWindows, &QAction::toggled, this, &MainWindow2::lockWidgets); bindPreferenceSetting(ui->actionLockWindows, prefs, SETTING::LAYOUT_LOCK); @@ -522,6 +562,10 @@ void MainWindow2::currentLayerChanged() { bool isBitmap = (mEditor->layers()->currentLayer()->type() == Layer::BITMAP); ui->menuChange_line_color->setEnabled(isBitmap); + + bool isVector = (mEditor->layers()->currentLayer()->type() == Layer::VECTOR); + ui->actionShowInvisibleLines->setEnabled(isVector); + ui->actionShowOutlinesOnly->setEnabled(isVector); } void MainWindow2::selectionChanged() @@ -1030,7 +1074,6 @@ void MainWindow2::resetAndDockAllSubWidgets() addDockWidget(Qt::RightDockWidgetArea, mColorPalette); addDockWidget(Qt::LeftDockWidgetArea, mToolBox); addDockWidget(Qt::LeftDockWidgetArea, mToolOptions); - addDockWidget(Qt::LeftDockWidgetArea, mDisplayOptionWidget); addDockWidget(Qt::LeftDockWidgetArea, mOnionSkinWidget); addDockWidget(Qt::BottomDockWidgetArea, mTimeLine); } @@ -1285,7 +1328,6 @@ void MainWindow2::setupKeyboardShortcuts() mColorBox->toggleViewAction()->setShortcut(cmdKeySeq(CMD_TOGGLE_COLOR_WHEEL)); mColorPalette->toggleViewAction()->setShortcut(cmdKeySeq(CMD_TOGGLE_COLOR_LIBRARY)); mTimeLine->toggleViewAction()->setShortcut(cmdKeySeq(CMD_TOGGLE_TIMELINE)); - mDisplayOptionWidget->toggleViewAction()->setShortcut(cmdKeySeq(CMD_TOGGLE_DISPLAY_OPTIONS)); mColorInspector->toggleViewAction()->setShortcut(cmdKeySeq(CMD_TOGGLE_COLOR_INSPECTOR)); mOnionSkinWidget->toggleViewAction()->setShortcut(cmdKeySeq(CMD_TOGGLE_ONION_SKIN)); @@ -1467,11 +1509,6 @@ void MainWindow2::makeConnections(Editor* pEditor, TimeLine* pTimeline) connect(pEditor->layers(), &LayerManager::currentLayerChanged, mToolOptions, &ToolOptionWidget::updateUI); } -void MainWindow2::makeConnections(Editor* editor, DisplayOptionWidget* displayWidget) -{ - connect(editor->layers(), &LayerManager::currentLayerChanged, displayWidget, &DisplayOptionWidget::updateUI); -} - void MainWindow2::makeConnections(Editor*, OnionSkinWidget*) { } @@ -1640,25 +1677,39 @@ void MainWindow2::createToolbars() mMainToolbar->addAction(ui->actionCut); mMainToolbar->addAction(ui->actionCopy); mMainToolbar->addAction(ui->actionPaste); + mMainToolbar->addAction(ui->actionClearFrame); mViewToolbar = addToolBar(tr("View Toolbar")); mViewToolbar->setObjectName("mViewToolbar"); mViewToolbar->addAction(ui->actionZoom_In); mViewToolbar->addAction(ui->actionZoom_Out); mViewToolbar->addAction(ui->actionReset_View); + mViewToolbar->addSeparator(); mViewToolbar->addAction(ui->actionHorizontal_Flip); mViewToolbar->addAction(ui->actionVertical_Flip); + mViewToolbar->addSeparator(); + mViewToolbar->addAction(ui->actionShowInvisibleLines); + mViewToolbar->addAction(ui->actionShowOutlinesOnly); mOverlayToolbar = addToolBar(tr("Overlay Toolbar")); mOverlayToolbar->setObjectName("mOverlayToolbar"); mOverlayToolbar->addAction(ui->actionGrid); + mOverlayToolbar->addAction(ui->actionCenter); + mOverlayToolbar->addAction(ui->actionThirds); + mOverlayToolbar->addAction(ui->actionGoldenRatio); + mOverlayToolbar->addAction(ui->actionSafeAreas); + mOverlayToolbar->addAction(ui->actionOnePointPerspective); + mOverlayToolbar->addAction(ui->actionTwoPointPerspective); + mOverlayToolbar->addAction(ui->actionThreePointPerspective); + QToolButton* perspectiveLinesAngleButton = new QToolButton(this); + perspectiveLinesAngleButton->setDefaultAction(ui->menuPerspectiveLinesAngle->menuAction()); + perspectiveLinesAngleButton->setPopupMode(QToolButton::InstantPopup); + mOverlayToolbar->addWidget(perspectiveLinesAngleButton); mToolbars = { mMainToolbar, mViewToolbar, mOverlayToolbar }; - ui->menuWindows->addSeparator(); - QMenu* toolbarMenu = ui->menuWindows->addMenu(tr("Toolbars")); for (QToolBar* tb : mToolbars) { - toolbarMenu->addAction(tb->toggleViewAction()); + ui->menuToolbars->addAction(tb->toggleViewAction()); } } diff --git a/app/src/mainwindow2.h b/app/src/mainwindow2.h index 4ed58cb2fc..178c437d5d 100644 --- a/app/src/mainwindow2.h +++ b/app/src/mainwindow2.h @@ -30,7 +30,6 @@ class Editor; class ScribbleArea; class BaseDockWidget; class ColorPaletteWidget; -class DisplayOptionWidget; class OnionSkinWidget; class ToolOptionWidget; class TimeLine; @@ -147,7 +146,6 @@ private slots: void makeConnections(Editor*, ScribbleArea*); void makeConnections(Editor*, ColorPaletteWidget*); void makeConnections(Editor*, TimeLine*); - void makeConnections(Editor*, DisplayOptionWidget*); void makeConnections(Editor*, ToolOptionWidget*); void makeConnections(Editor*, OnionSkinWidget*); void makeConnections(Editor*, StatusBar*); @@ -158,7 +156,6 @@ private slots: // UI: Dock widgets ColorBox* mColorBox = nullptr; ColorPaletteWidget* mColorPalette = nullptr; - DisplayOptionWidget* mDisplayOptionWidget = nullptr; ToolOptionWidget* mToolOptions = nullptr; ToolBoxWidget* mToolBox = nullptr; //Timeline2* mTimeline2 = nullptr; diff --git a/app/src/toolbox.cpp b/app/src/toolbox.cpp index 24173356ea..790deb5242 100644 --- a/app/src/toolbox.cpp +++ b/app/src/toolbox.cpp @@ -72,7 +72,6 @@ void ToolBoxWidget::initUI() ui->bucketButton->setStyleSheet(sStyle); ui->brushButton->setStyleSheet(sStyle); ui->eyedropperButton->setStyleSheet(sStyle); - ui->clearButton->setStyleSheet(sStyle); ui->smudgeButton->setStyleSheet(sStyle); #endif @@ -97,8 +96,6 @@ void ToolBoxWidget::initUI() ui->eyedropperButton->setToolTip( tr( "Eyedropper Tool (%1): " "Set color from the stage
[ALT] for instant access" ) .arg( GetToolTips( CMD_TOOL_EYEDROPPER ) ) ); - ui->clearButton->setToolTip( tr( "Clear Frame (%1): Erases content of selected frame" ) - .arg( GetToolTips( CMD_CLEAR_FRAME ) ) ); ui->smudgeButton->setToolTip( tr( "Smudge Tool (%1):
Edit polyline/curves
" "Liquify bitmap pixels
(%1)+[Alt]: Smooth" ) .arg( GetToolTips( CMD_TOOL_SMUDGE ) ) ); @@ -123,12 +120,9 @@ void ToolBoxWidget::initUI() .arg( GetToolTips( CMD_TOOL_BRUSH ) ) ); ui->eyedropperButton->setWhatsThis( tr( "Eyedropper Tool (%1)" ) .arg( GetToolTips( CMD_TOOL_EYEDROPPER ) ) ); - ui->clearButton->setWhatsThis( tr( "Clear Tool (%1)" ) - .arg( GetToolTips( CMD_CLEAR_FRAME ) ) ); ui->smudgeButton->setWhatsThis( tr( "Smudge Tool (%1)" ) .arg( GetToolTips( CMD_TOOL_SMUDGE ) ) ); - connect(ui->clearButton, &QToolButton::clicked, this, &ToolBoxWidget::clearButtonClicked); connect(ui->pencilButton, &QToolButton::clicked, this, &ToolBoxWidget::pencilOn); connect(ui->eraserButton, &QToolButton::clicked, this, &ToolBoxWidget::eraserOn); connect(ui->selectButton, &QToolButton::clicked, this, &ToolBoxWidget::selectOn); @@ -146,7 +140,6 @@ void ToolBoxWidget::initUI() FlowLayout* flowlayout = new FlowLayout; - flowlayout->addWidget(ui->clearButton); flowlayout->addWidget(ui->pencilButton); flowlayout->addWidget(ui->eraserButton); flowlayout->addWidget(ui->selectButton); diff --git a/app/src/toolbox.h b/app/src/toolbox.h index 23ca01c4f5..ef081bf566 100644 --- a/app/src/toolbox.h +++ b/app/src/toolbox.h @@ -61,9 +61,6 @@ public slots: protected: int getMinHeightForWidth(int width) override; -signals: - void clearButtonClicked(); - private: void deselectAllTools(); bool toolOn(ToolType toolType, QToolButton* toolButton); diff --git a/app/ui/displayoption.ui b/app/ui/displayoption.ui deleted file mode 100644 index a8b3b17b2d..0000000000 --- a/app/ui/displayoption.ui +++ /dev/null @@ -1,491 +0,0 @@ - - - DisplayOption - - - - 0 - 0 - 576 - 155 - - - - Display - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - QFrame::NoFrame - - - QFrame::Plain - - - true - - - - - 0 - 0 - 576 - 136 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - Horizontal flip - - - - - - - :/app/icons/mirror.png:/app/icons/mirror.png - - - - 24 - 24 - - - - true - - - QToolButton::DelayedPopup - - - Qt::ToolButtonIconOnly - - - true - - - - - - - Vertical flip - - - ... - - - - :/app/icons/mirrorV.png:/app/icons/mirrorV.png - - - - 24 - 24 - - - - true - - - true - - - - - - - false - - - true - - - Show invisible lines - - - ... - - - - :/app/icons/thinlines5.png:/app/icons/thinlines5.png - - - - 24 - 24 - - - - true - - - true - - - - - - - Show outlines only - - - ... - - - - :/app/icons/outlines5.png:/app/icons/outlines5.png - - - - 24 - 24 - - - - true - - - true - - - - - - - Overlay shows field center - - - ... - - - - :/icons/overlayCenter.png:/icons/overlayCenter.png - - - - 24 - 24 - - - - true - - - true - - - - - - - Overlay shows field in Golden Ratio - - - ... - - - - :/icons/overlayGoldenRatio.png:/icons/overlayGoldenRatio.png - - - - 24 - 24 - - - - true - - - true - - - - - - - Overlay shows field in thirds - - - ... - - - - :/icons/overlayThirds.png:/icons/overlayThirds.png - - - - 24 - 24 - - - - true - - - true - - - - - - - Overlay shows field safe areas - - - ... - - - - :/icons/overlaySafe.png:/icons/overlaySafe.png - - - - 24 - 24 - - - - true - - - true - - - - - - - ... - - - - :/icons/overlayPerspective1.png:/icons/overlayPerspective1.png - - - - 24 - 24 - - - - true - - - true - - - - - - - ... - - - - :/icons/overlayPerspective2.png:/icons/overlayPerspective2.png - - - - 24 - 24 - - - - true - - - true - - - - - - - ... - - - - :/icons/overlayPerspective3.png:/icons/overlayPerspective3.png - - - - 24 - 24 - - - - true - - - true - - - - - - - ... - - - - :/icons/overlayAngle.png:/icons/overlayAngle.png - - - - 24 - 24 - - - - false - - - QToolButton::InstantPopup - - - false - - - - - - - - - - - - true - - - 5 degrees - - - Angles = 5 degrees - - - - - true - - - 10 degrees - - - Angles = 10 degrees - - - - - true - - - 15 degrees - - - Angles = 15 degrees - - - - - true - - - 30 degrees - - - Angles = 30 degrees - - - - - true - - - 3 degrees - - - Angles = 3 degrees - - - - - true - - - 7.5 degrees - - - Angles = 7.5 degrees - - - - - true - - - 2 degrees - - - Angles = 2 degrees - - - - - true - - - 20 degrees - - - Angles = 20 degrees - - - - - - - - - onionPrevButtonClicked(bool) - onionNextButtonClicked(bool) - onionBlueButtonClicked(bool) - onionRedButtonClicked(bool) - toggleMirror(bool) - toggleMirrorV(bool) - - diff --git a/app/ui/mainwindow2.ui b/app/ui/mainwindow2.ui index 57905d5d22..e48db80181 100644 --- a/app/ui/mainwindow2.ui +++ b/app/ui/mainwindow2.ui @@ -156,6 +156,37 @@ + + + Overlays + + + + Perspective Lines Angle + + + + :/icons/overlayAngle.png:/icons/overlayAngle.png + + + + + + + + + + + + + + + + + + + + @@ -170,14 +201,14 @@ + - + + - - @@ -276,9 +307,16 @@ Windows + + + Toolbars + + + + @@ -459,7 +497,7 @@ - :/icons/clear.png:/icons/clear.png + :/icons/new/svg/trash_detailed.svg:/icons/new/svg/trash_detailed.svg Clear Frame @@ -1129,8 +1167,8 @@ Reposition Selected Frames - - + + Layer / Keyframe opacity @@ -1198,6 +1236,178 @@ Paste from Previous Keyframe + + + true + + + + :/app/icons/thinlines5.png:/app/icons/thinlines5.png + + + Show Invisible Lines + + + + + true + + + + :/app/icons/outlines5.png:/app/icons/outlines5.png + + + Show Outlines Only + + + + + true + + + + :/icons/overlayCenter.png:/icons/overlayCenter.png + + + Center + + + + + true + + + + :/icons/overlayThirds.png:/icons/overlayThirds.png + + + Thirds + + + + + true + + + + :/icons/overlayGoldenRatio.png:/icons/overlayGoldenRatio.png + + + Golden Ratio + + + + + true + + + + :/icons/overlaySafe.png:/icons/overlaySafe.png + + + Safe Areas + + + + + true + + + + :/icons/overlayPerspective1.png:/icons/overlayPerspective1.png + + + One Point Perspective + + + + + true + + + + :/icons/overlayPerspective2.png:/icons/overlayPerspective2.png + + + Two Point Perspective + + + + + true + + + + :/icons/overlayPerspective3.png:/icons/overlayPerspective3.png + + + Three Point Perspective + + + + + true + + + + + + + + true + + + + + + + + true + + + + + + + + true + + + 7.5° + + + + + true + + + 10° + + + + + true + + + 15° + + + + + true + + + 20° + + + + + true + + + 30° + + diff --git a/app/ui/toolboxwidget.ui b/app/ui/toolboxwidget.ui index 6140fbe8c6..80ead29212 100644 --- a/app/ui/toolboxwidget.ui +++ b/app/ui/toolboxwidget.ui @@ -75,35 +75,6 @@ 0 - - - - - 32 - 32 - - - - - 32 - 32 - - - - - :/icons/new/svg/trash_detailed.svg:/icons/new/svg/trash_detailed.svg - - - - 30 - 30 - - - - true - - - From 67e113ae648d8d3bacdd6c787c524634749377a9 Mon Sep 17 00:00:00 2001 From: Jakob Gahde Date: Sat, 29 Oct 2022 12:12:37 +0200 Subject: [PATCH 2/3] Adjust icon size --- app/data/icons/overlayAngle.png | Bin 798 -> 946 bytes app/data/icons/overlayCenter.png | Bin 699 -> 1518 bytes app/data/icons/overlayGoldenRatio.png | Bin 712 -> 1516 bytes app/data/icons/overlaySafe.png | Bin 715 -> 1603 bytes app/data/icons/overlayThirds.png | Bin 709 -> 1657 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/app/data/icons/overlayAngle.png b/app/data/icons/overlayAngle.png index 244ac3264e2f09a49df9a0e6ecde49e9c371f0bd..5c50c1da316bdb3de53dee8a3fe86f2c845f3fd2 100644 GIT binary patch literal 946 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>V_@iJ zU~pq#c*(% z$-;Awe{amslh1e~dwGI|jK=A;lOH|3e(>;-8{%?|I=oDbY7zof*6txH-a&3|!Me89 zxls<0(Z1#77Fy2sO8TM2Cg%Ri%uGy-|8yPYf%Y&adAqx$M_+!q8OY%*@Q5sCVBi)8 zVMc~ob0mO*>?NMQuI$gaWVtwWQ)W*q2MX=>ba4!kxSX8ez!Y=GW{*dVT^*yNVj@ep zONdX5lhCoLlcou}JUVsiq_&1u;lZ7!K7GQv9vNU(>5@$GB7yrz$b^IAvZrIGp!Q0hJCWz76CPAz-=hW%uOvWNz5%k=&=kj b1ey)B#}s0T0iWy{D6tAp#zM;|v}P3K}Bn@Gt-X03B&mSad^gZEa<4bN~PV002XBWnpw> zWFU8GbZ8()Nlj2>E@cM*00M$ZL_t(&-tCw@XcR#d$A5D<4e=vH2ni$}5mB%Z(gX#O zkj6rk7!U#?@Z*8j<$Rwz8GD-;V!}M6R$K@ zg(biQG*93HOb9!F7)TxnGWqzr3-K_sW{^Q_uoN-dUnQ&;5FtW@2oY?AOhLXUghVFe zAU|NL(ZWo;x((P1e1$~6g#y+M0Z+l)0hKJTKEEF%4fC4{249!1jLd=4SM+}st97u7)-ps7$|bO4{BPZxEb{)hQ4 zP%Y4#1<@dX0r)jf#xFppyQ*saTYTX8o!bN#tBgSAU#%Z znfDp!(-vJ7^cnXgTi6WxgnOc;J1r8B-Qng5Sq4dgb0E6^MTig#egOdP-iHn;wQv9c N002ovPDHLkV1g`bLAn3{ diff --git a/app/data/icons/overlayCenter.png b/app/data/icons/overlayCenter.png index 78c1f7b73ff5bf542f1e67f087162c25d6b6be19..33c9d95867338b24f0c4919e0abd457bfcbc137e 100644 GIT binary patch delta 1148 zcmdnZ`i@(tGr-TCmrII^fq{Y7)59eQNDF{42Q!e=(B%(iU|=lHbaoENOitctRlr#9 z<+U^fD5a3>5#-CjP^HGe(9pub@Czu^@PdJ%)PRBERRRNp)eHs(@q#(K0&Rd2MFBn` zu20w9xH0R(vvoJF&p3ai=E(J#=Z{n$d9~?Ien`fH`8Q6~p3qm)O|XrBw*JQR4L5Ht zJ#(nyFi^H8t|Tuw{q<&$viI8_6o!Rn9j!WkwCb3drctbAT&!hmhC}A|!X1Yzj_6A3 z##<-ETE(5LJ$T%n*SKP@vSRiUJ^AXNbv z6buX&y>o-3Hz_M}{4E#V%<|->-tyb-SKrh#Hz%b}3VG+QC+hvXp}=Osm+jZSq|XxZ zHQ;UCs+DQXw2U?La$b(ciDMlK?IMdhc0Ndw49kISN|iZ+uv# zxvAas(6@wdOPA_D)=w2x?sbyvYgnmXFCih--n_ke^-OIR^SGq%49}}~$Vl6l+gy86 zq$hd!;=lNcgTFr>cq=LY^;o*nw{t9^d!9Od;GX|c{?X+nSu1q+<@Zk9D|prAzU%({ zFwwV4oBno0zj-5)zWhi%`_ZM0$0Cn@f8?FOE51_S-z9Z^?Ly%NlDC5`t~1mfe84xG zWykNg6Bm8*S#UV==gmEfELZGX&HT#g{JX^7h{*}-H@$z=GnRUzlfSctJ4P>3Bzd%ewc= zEuI)PeLA>0dwSTf83Nt9`(?AwyB9lb?)R?aTKqe6g%#`PBNb5{3aPP6B=jwwR?Xag z{n|m#vtr7LyPuugy6!;GsVeDrOa@Dq)!Uu?AM0KH?i4VZ+dW+zLnJPTp1Ud3tiZz> zaOYLj%_Ux`fv5l1C#$NKopElfPV;b@SHE3J(sO-bkFCBJi&yeGIUPpvCg*()r#L^c zdR?8sXz_gg&dlAe%sn9m@237_J=Nk{nt(bKVLDP$i<65o3raHc^B9VQ+?^CWU7gJgEzQhyjr0t|*WPjm PDrWF>^>bP0l+XkK(=6(B delta 323 zcmV-J0lfb13%dn6iBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^Z)<>foVfS zP;*j8LLf;+LpCuvHa0CXE-|qzZ~+8bd6Za_Z~_>A;7LS5R9J<@)jbY^KoCIThp{uU zm)3^H!*Bu5;jOrX-obDIp*5kPpwJ3~%EJE5?357lJr=T?HC6p0(e&NWZc^fp`*W8h zV8nsFdcYJ1P!0ISRRiYm;DEd=$jibT4-T-IC0smU4Hpft!Nme>aghKQJbHjD9yP!R zj~3u|ivwh)i{X-DnJrn4Uonc12k|jY{gnQ%&dSW{uiK)e+8t#KLM$5fK5sq;0?~? V(x+ahjI;m%002ovPDHLkV1h&Yhjjn| diff --git a/app/data/icons/overlayGoldenRatio.png b/app/data/icons/overlayGoldenRatio.png index a207587b29d5cf22882cbcf0b968178ea0f3566f..931bce069e19bc53512ed316c6b2279ef6e31833 100644 GIT binary patch delta 1146 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 FV1h*zjxhiL diff --git a/app/data/icons/overlayThirds.png b/app/data/icons/overlayThirds.png index ccf9d026de5c88c487fb19bef62d2c93b65c90cd..42ffa5a6a2423ddf6207b39286460fca0e599afc 100644 GIT binary patch delta 1287 zcmX@g`jbbeGr-TCmrII^fq{Y7)59eQNDF{42Q!e=(B%(iU|=lGbaoENOitctRm52T zBmB)Vpp-(gN02WALzNl>LqiJ#!!Mvv!wUw6QUeBtR|yOZRx=nF#0%!^3bX-AoC)v= zaSh!1AY#FlpzV($=Uq;2Jm|6DSmc7MDGdjO)C~i>cc--+;}j6pG!0M>%T}`v4&M1R zdhyN3l68SwA4blW?aWMC;kdD*46-?|SApX}_qfc0}Q-z-uL#g_+9rX~1#6td zq&5Hl|Nm)0xG>OX@+Coj!GAvf{rnS%{sGbNzds-xAo=UpzrSDp{@my-vJR+}G0EHA z#X0=~Z_?xqj1u+iC7!;n?9aGlxj6NnbbjjrD%e>S5>XPASgue|l%JNFld4csS&*s# z40i?wi{81xk((YX@cel$Qp~bYv@dyc$l1U8223|+s!aVpak&=P9gZtoZoSOUetDj2 z<*Wo&uI%7Tc`QECm)0G=5ip@w(6KATQs4mFdSQm0zhi1GYwD*gi9C6tVRHk6`43m0 z^}8gVO226Nd+^O^kN9WvPieVHwHi%n$W*D9kdQjg7B7A0OpM}=k5Ze}E$%-miuqCa zG}&A4`7}ebU;ml)e`xUEnfLK#UQO(gdovewZI9uodtm&}xh^V%ckA)*YYjJm)X-koN*V)_y z`Vx0CyBT&XmM&YdNAJSRH8r_$7iB``Uu7&^82){O>pIU3;XBX0I_1y!X5+kY`Td82 zb)FxZU3k~q%ccKFLD^%5CH*^_0={j(`nT<-cFrH0PxF3w^fd@2&5oy;dyn4V?1s{r>=8tz$pxOVjr4d>*qPb626k7bBkojcgy9ZZu3& ziDq!RZE0oJTekeQ(u2yn0IF*^!2=yPEoIOeDh?}qL+_ddF+jZFX zXo>S=Jhhvxf5${qyX4Epm_(V@^Zzv(zrOCxZupqC`}c&~s}^Zq`saPU$c&5S+j=HH z9jOn@Kk9qb8SKx9*8rWXTH+c}l9E`GYL#4+3Zxi}42+C)4GnaSj6)18tV}Ge49v6* z46FPsvQH#I0eU?6yTf4H|G8N-}d(i%Sx73+fS?EJF-|hFe;hKy7)a zl4Jzbqz2LiO#D{K`303lnduoN41W0vaE^{bX>qDTT2X3hPUZ4hADVzV6k$42Qj3#| tG7CyF^Ya*rgWR1IJYAj53@y#fbdB^3!`I$&XJ7!9cb=|(F6*2UngGbiA%Fk? delta 331 zcmV-R0kr=448;XHiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^Z)<>gK0xU zP;*j8LLf;+LpCuvHa0CXE-|qzasdPdJhQ`--U1kZ=t)FDR9J=Wl`#^6Fc3u_Ogd-q z2%d%3jzf41D~_Reu%q=99)L!ADmty=C`us7vT6KvlJ_Rr`N^uLec;GtzXPCZTGz6m zeWo9}-0M`qn11NCxBDiEfQ4sJs0+Nq0aOLXa8-d{a5aG`xQc)at|H)q17v`+h}KTB zBC;`la~11b#rDn5by)x$j#uY;(Hoc>xK#y0;9>%ya1ntRc(gz)JW41lE}L#R8h}F9B`%hd>JWOCS{- dAWsPgcml#blXyIEW(oiR002ovPDHLkV1n}Yf Date: Sat, 29 Oct 2022 23:42:36 +0200 Subject: [PATCH 3/3] Toolbar icon resizing (#6) * Revert "Adjust icon size" This reverts commit 67e113ae648d8d3bacdd6c787c524634749377a9. * Change icon size of overlay toolbar icons * Set icon size to 22 pixels --- app/data/icons/overlayAngle.png | Bin 946 -> 798 bytes app/data/icons/overlayCenter.png | Bin 1518 -> 699 bytes app/data/icons/overlayGoldenRatio.png | Bin 1516 -> 712 bytes app/data/icons/overlaySafe.png | Bin 1603 -> 715 bytes app/data/icons/overlayThirds.png | Bin 1657 -> 709 bytes app/src/mainwindow2.cpp | 1 + 6 files changed, 1 insertion(+) diff --git a/app/data/icons/overlayAngle.png b/app/data/icons/overlayAngle.png index 5c50c1da316bdb3de53dee8a3fe86f2c845f3fd2..244ac3264e2f09a49df9a0e6ecde49e9c371f0bd 100644 GIT binary patch delta 783 zcmV+q1MvK^2c8BqiBL{Q4GJ0x0000DNk~Le0000m0000m2nGNE09OL}hX4Qo24YJ` zL;(K){{a7>y{D6tAp#zM;|v}P3K}Bn@Gt-X03B&mSad^gZEa<4bN~PV002XBWnpw> zWFU8GbZ8()Nlj2>E@cM*00M$ZL_t(&-tCw@XcR#d$A5D<4e=vH2ni$}5mB%Z(gX#O zkj6rk7!U#?@Z*8j<$Rwz8GD-;V!}M6R$K@ zg(biQG*93HOb9!F7)TxnGWqzr3-K_sW{^Q_uoN-dUnQ&;5FtW@2oY?AOhLXUghVFe zAU|NL(ZWo;x((P1e1$~6g#y+M0Z+l)0hKJTKEEF%4fC4{249!1jLd=4SM+}st97u7)-ps7$|bO4{BPZxEb{)hQ4 zP%Y4#1<@dX0r)jf#xFppyQ*saTYTX8o!bN#tBgSAU#%Z znfDp!(-vJ7^cnXgTi6WxgnOc;J1r8B-Qng5Sq4dgb0E6^MTig#egOdP-iHn;wQv9c N002ovPDHLkV1g`bLAn3{ literal 946 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>V_@iJ zU~pq#c*(% z$-;Awe{amslh1e~dwGI|jK=A;lOH|3e(>;-8{%?|I=oDbY7zof*6txH-a&3|!Me89 zxls<0(Z1#77Fy2sO8TM2Cg%Ri%uGy-|8yPYf%Y&adAqx$M_+!q8OY%*@Q5sCVBi)8 zVMc~ob0mO*>?NMQuI$gaWVtwWQ)W*q2MX=>ba4!kxSX8ez!Y=GW{*dVT^*yNVj@ep zONdX5lhCoLlcou}JUVsiq_&1u;lZ7!K7GQv9vNU(>5@$GB7yrz$b^IAvZrIGp!Q0hJCWz76CPAz-=hW%uOvWNz5%k=&=kj b1ey)B#}s0T0iWfoVfS zP;*j8LLf;+LpCuvHa0CXE-|qzZ~+8bd6Za_Z~_>A;7LS5R9J<@)jbY^KoCIThp{uU zm)3^H!*Bu5;jOrX-obDIp*5kPpwJ3~%EJE5?357lJr=T?HC6p0(e&NWZc^fp`*W8h zV8nsFdcYJ1P!0ISRRiYm;DEd=$jibT4-T-IC0smU4Hpft!Nme>aghKQJbHjD9yP!R zj~3u|ivwh)i{X-DnJrn4Uonc12k|jY{gnQ%&dSW{uiK)e+8t#KLM$5fK5sq;0?~? V(x+ahjI;m%002ovPDHLkV1h&Yhjjn| delta 1148 zcmdnZ`i@(tGr-TCmrII^fq{Y7)59eQNDF{42Q!e=(B%(iU|=lHbaoENOitctRlr#9 z<+U^fD5a3>5#-CjP^HGe(9pub@Czu^@PdJ%)PRBERRRNp)eHs(@q#(K0&Rd2MFBn` zu20w9xH0R(vvoJF&p3ai=E(J#=Z{n$d9~?Ien`fH`8Q6~p3qm)O|XrBw*JQR4L5Ht zJ#(nyFi^H8t|Tuw{q<&$viI8_6o!Rn9j!WkwCb3drctbAT&!hmhC}A|!X1Yzj_6A3 z##<-ETE(5LJ$T%n*SKP@vSRiUJ^AXNbv z6buX&y>o-3Hz_M}{4E#V%<|->-tyb-SKrh#Hz%b}3VG+QC+hvXp}=Osm+jZSq|XxZ zHQ;UCs+DQXw2U?La$b(ciDMlK?IMdhc0Ndw49kISN|iZ+uv# zxvAas(6@wdOPA_D)=w2x?sbyvYgnmXFCih--n_ke^-OIR^SGq%49}}~$Vl6l+gy86 zq$hd!;=lNcgTFr>cq=LY^;o*nw{t9^d!9Od;GX|c{?X+nSu1q+<@Zk9D|prAzU%({ zFwwV4oBno0zj-5)zWhi%`_ZM0$0Cn@f8?FOE51_S-z9Z^?Ly%NlDC5`t~1mfe84xG zWykNg6Bm8*S#UV==gmEfELZGX&HT#g{JX^7h{*}-H@$z=GnRUzlfSctJ4P>3Bzd%ewc= zEuI)PeLA>0dwSTf83Nt9`(?AwyB9lb?)R?aTKqe6g%#`PBNb5{3aPP6B=jwwR?Xag z{n|m#vtr7LyPuugy6!;GsVeDrOa@Dq)!Uu?AM0KH?i4VZ+dW+zLnJPTp1Ud3tiZz> zaOYLj%_Ux`fv5l1C#$NKopElfPV;b@SHE3J(sO-bkFCBJi&yeGIUPpvCg*()r#L^c zdR?8sXz_gg&dlAe%sn9m@237_J=Nk{nt(bKVLDP$i<65o3raHc^B9VQ+?^CWU7gJgEzQhyjr0t|*WPjm PDrWF>^>bP0l+XkK(=6(B diff --git a/app/data/icons/overlayGoldenRatio.png b/app/data/icons/overlayGoldenRatio.png index 931bce069e19bc53512ed316c6b2279ef6e31833..a207587b29d5cf22882cbcf0b968178ea0f3566f 100644 GIT binary patch delta 337 zcmV-X0j~b+3&;gJiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^Z)<>foVfS zP;*j8LLf;+LpCuvHa0CXE-|qzZ~+8bd6Za_Z2}m7?MXyIR9J=Wm9Y)NFc3vwB03~` zCSV0xMqr2(8G?!-C@ASzA}tjXC1QZIiIg6ypb!#sj_q^9Z%^`jI-k!;USv;%Ic$yq z2T&F0!&L=_;A#S6a1{X)Jh;Fwcu)Ze zJeYug6b_I8;#C|X(N=Mrne^iT^Jmjkb$QyJmjLVCN_?i54s`C^I?e(%1Ls}9749V9 z13p>67aab3z+w+b-uY#J$5bDRr~@wV+*!cqz*!4~h8qPm;G+Us@Ie7h_?Lh-{6ioH j{4Ed*4v@x#1H1rMuEEWUvi7C`00005#-CjP^HGe(9pub@Czu^@PdJ%)PRBERRRNp)eHs(@q#(K0&Rd2IRQQ) zt{MAM!j}31$`#mSNkfles@N z`*6BZjG;x1nlX^9RnI+^X&e`1XcA{+S+8zcuOXo$E~zUaZ6hRYBg`YiA#E#c)uhQQ z%lZHRe-`00T|kQkN`m}?|9t%W`RC`Ke}4k0U%&qT{J#0h4xk)klDE5yvQ|=#)#P=I z67}pQp1!W^&$wi{I8|6;9a(94R~9(YGoQT zEo05RoR_0<;#h}5yNIRW0ju5Czu$j(nm#AJ-h0;69v%yBj)K;OGrqyH*arVJyV;-JTB=w!}IDLGSc?tHrJjM=}8{G_%FWV z;O~zI-b%`UJ(jNY?Ho(!o~KS9xaWVAe{^|C)(YKy`MneO3SM=&@47!fO!TeNroSE0 zZ{CQcFF#Vxesn40vB;y}A9*M6im%l7cS)UJyHI$6kM@VAMnj)+41}B#6_Qc z795WJd2`Pq%N6@pGrw{=|1PmNVsgUzP48dz_%p6CogXe&->N=)GIxIS>&;7CzHs!M zTqo18#crA4sbAYR-7|=4Y>iKktG+#T#oBM-7v|X+UJy)nI^I#=vhMwIizh}+pAN3h zo*wpVhCsLOe%b8v?!^w9`@QS97XQv%Va59SNJUhKLTc<134M#FRWr9=zjn~`teA4* z?q}z=t~(HPs!IADlfjZ@^>!!!$9h-4I|Yp94o?@y5Q)p7rz82A4R~Awg*l9KC7hZx z)i(Thy(YGl%l}h*f62iQ^}iBdJnd;@ky~)-4WrldWR~EC-q{PEpFMYW^ZHk5jxCMP zuU-A=e>>Nuq749f*NiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^Z)<>foVfS zP;*j8LLf;+LpCuvHa0CXE-|qzZ~=c>d6ZZH000SaNLh0L07P&A07P&B39lCA0002+ zNkl{nj% zeR_A2-HByh(I`e~*|&s?&vzW`;C#JT6?ng%BY>${0{|uf82qVNW;UWxT3&x{kCQvA z)_~o)KMxwPp}q;bbAMj*1_C&6(11FJl4_gC!JFg<(z&C4W6-a@T3#7tH1#;kI z0=aM!ff9JJKqf7{E>g zMrpbChoer=0Qb)Q1PyTS+)pF(8|cI`ueED;)3<~Jzz>Enq{h1BC#C=Z002ovPDHLk FV1h*zjxhiL delta 1234 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 diff --git a/app/src/mainwindow2.cpp b/app/src/mainwindow2.cpp index c629321cb4..adcec627ca 100644 --- a/app/src/mainwindow2.cpp +++ b/app/src/mainwindow2.cpp @@ -1701,6 +1701,7 @@ void MainWindow2::createToolbars() mOverlayToolbar->addAction(ui->actionOnePointPerspective); mOverlayToolbar->addAction(ui->actionTwoPointPerspective); mOverlayToolbar->addAction(ui->actionThreePointPerspective); + mOverlayToolbar->setIconSize(QSize(22,22)); QToolButton* perspectiveLinesAngleButton = new QToolButton(this); perspectiveLinesAngleButton->setDefaultAction(ui->menuPerspectiveLinesAngle->menuAction()); perspectiveLinesAngleButton->setPopupMode(QToolButton::InstantPopup);