这是indexloc提供的服务,不要输入任何密码
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
2 changes: 2 additions & 0 deletions app/app.pro
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ HEADERS += \
src/generalpage.h \
src/shortcutspage.h \
src/timelinepage.h \
src/toolboxwidget.h \
src/toolspage.h \
src/basedockwidget.h \
src/colorbox.h \
Expand Down Expand Up @@ -142,6 +143,7 @@ SOURCES += \
src/generalpage.cpp \
src/shortcutspage.cpp \
src/timelinepage.cpp \
src/toolboxwidget.cpp \
src/toolspage.cpp \
src/basedockwidget.cpp \
src/colorbox.cpp \
Expand Down
7 changes: 7 additions & 0 deletions app/src/actioncommands.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ GNU General Public License for more details.
#include "viewmanager.h"
#include "layermanager.h"
#include "scribblearea.h"
#include "toolmanager.h"
#include "soundmanager.h"
#include "playbackmanager.h"
#include "colormanager.h"
Expand Down Expand Up @@ -942,6 +943,12 @@ void ActionCommands::changeallKeyframeLineColor()
}
}


void ActionCommands::resetAllTools()
{
mEditor->tools()->resetAllTools();
}

void ActionCommands::help()
{
QString url = "http://www.pencil2d.org/doc/";
Expand Down
2 changes: 2 additions & 0 deletions app/src/actioncommands.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ class ActionCommands : public QObject
void GotoPrevKeyFrame();
Status addNewKey();

void resetAllTools();

/** Will insert a keyframe at the current position and push connected frames to the right */
Status insertKeyFrameAtCurrentPosition();
void removeKey();
Expand Down
48 changes: 33 additions & 15 deletions app/src/mainwindow2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ void MainWindow2::createDockWidgets()
mToolOptions = new ToolOptionWidget(this);
mToolOptions->setObjectName("ToolOption");

mToolBox = new ToolBoxWidget(this);
mToolBox = new ToolBoxDockWidget(this);
mToolBox->setObjectName("ToolBox");

mDockWidgets
Expand Down Expand Up @@ -409,19 +409,37 @@ void MainWindow2::createMenus()
connect(ui->actionReverse_Frames_Order, &QAction::triggered, mCommands, &ActionCommands::reverseSelectedFrames);
connect(ui->actionRemove_Frames, &QAction::triggered, mCommands, &ActionCommands::removeSelectedFrames);

//--- Tool Menu ---
connect(ui->actionMove, &QAction::triggered, mToolBox, &ToolBoxWidget::moveOn);
connect(ui->actionSelect, &QAction::triggered, mToolBox, &ToolBoxWidget::selectOn);
connect(ui->actionBrush, &QAction::triggered, mToolBox, &ToolBoxWidget::brushOn);
connect(ui->actionPolyline, &QAction::triggered, mToolBox, &ToolBoxWidget::polylineOn);
connect(ui->actionSmudge, &QAction::triggered, mToolBox, &ToolBoxWidget::smudgeOn);
connect(ui->actionPen, &QAction::triggered, mToolBox, &ToolBoxWidget::penOn);
connect(ui->actionHand, &QAction::triggered, mToolBox, &ToolBoxWidget::handOn);
connect(ui->actionPencil, &QAction::triggered, mToolBox, &ToolBoxWidget::pencilOn);
connect(ui->actionBucket, &QAction::triggered, mToolBox, &ToolBoxWidget::bucketOn);
connect(ui->actionEyedropper, &QAction::triggered, mToolBox, &ToolBoxWidget::eyedropperOn);
connect(ui->actionEraser, &QAction::triggered, mToolBox, &ToolBoxWidget::eraserOn);
connect(ui->actionResetToolsDefault, &QAction::triggered, mEditor->tools(), &ToolManager::resetAllTools);

auto toolsActionGroup = new QActionGroup(this);
toolsActionGroup->setExclusive(true);
toolsActionGroup->addAction(ui->actionMove);
toolsActionGroup->addAction(ui->actionSelect);
toolsActionGroup->addAction(ui->actionBrush);
toolsActionGroup->addAction(ui->actionPolyline);
toolsActionGroup->addAction(ui->actionSmudge);
toolsActionGroup->addAction(ui->actionPen);
toolsActionGroup->addAction(ui->actionHand);
toolsActionGroup->addAction(ui->actionPencil);
toolsActionGroup->addAction(ui->actionBucket);
toolsActionGroup->addAction(ui->actionEyedropper);
toolsActionGroup->addAction(ui->actionEraser);
toolsActionGroup->addAction(ui->actionResetToolsDefault);

connect(toolsActionGroup, &QActionGroup::triggered, this, [&](QAction* action) {
if (action == ui->actionMove) mToolBox->setActiveTool(MOVE);
else if (action == ui->actionSelect) mToolBox->setActiveTool(SELECT);
else if (action == ui->actionBrush) mToolBox->setActiveTool(BRUSH);
else if (action == ui->actionPolyline) mToolBox->setActiveTool(POLYLINE);
else if (action == ui->actionSmudge) mToolBox->setActiveTool(SMUDGE);
else if (action == ui->actionPen) mToolBox->setActiveTool(PEN);
else if (action == ui->actionHand) mToolBox->setActiveTool(HAND);
else if (action == ui->actionPencil) mToolBox->setActiveTool(PENCIL);
else if (action == ui->actionBucket) mToolBox->setActiveTool(BUCKET);
else if (action == ui->actionEyedropper) mToolBox->setActiveTool(EYEDROPPER);
else if (action == ui->actionEraser) mToolBox->setActiveTool(ERASER);
else if (action == ui->actionResetToolsDefault) mCommands->resetAllTools();
else Q_UNREACHABLE();
});

//--- Window Menu ---
QMenu* winMenu = ui->menuWindows;
Expand Down Expand Up @@ -1446,7 +1464,7 @@ void MainWindow2::makeConnections(Editor* editor, ColorInspector* colorInspector
void MainWindow2::makeConnections(Editor* editor, ScribbleArea* scribbleArea)
{
connect(editor->tools(), &ToolManager::toolChanged, scribbleArea, &ScribbleArea::updateToolCursor);
connect(editor->tools(), &ToolManager::toolChanged, mToolBox, &ToolBoxWidget::onToolSetActive);
connect(editor->tools(), &ToolManager::toolChanged, mToolBox, &ToolBoxDockWidget::setActiveTool);
connect(editor->tools(), &ToolManager::toolPropertyChanged, scribbleArea, &ScribbleArea::updateToolCursor);


Expand Down
4 changes: 2 additions & 2 deletions app/src/mainwindow2.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class ColorPaletteWidget;
class OnionSkinWidget;
class ToolOptionWidget;
class TimeLine;
class ToolBoxWidget;
class ToolBoxDockWidget;
class PreferencesDialog;
class PreviewWidget;
class ColorBox;
Expand Down Expand Up @@ -157,7 +157,7 @@ private slots:
ColorBox* mColorBox = nullptr;
ColorPaletteWidget* mColorPalette = nullptr;
ToolOptionWidget* mToolOptions = nullptr;
ToolBoxWidget* mToolBox = nullptr;
ToolBoxDockWidget* mToolBox = nullptr;
RecentFileMenu* mRecentFileMenu = nullptr;
PreferencesDialog* mPrefDialog = nullptr;
//PreviewWidget* mPreview = nullptr;
Expand Down
Loading
Loading