diff --git a/app/data/app.qrc b/app/data/app.qrc index fa15cf527f..eb8f845844 100644 --- a/app/data/app.qrc +++ b/app/data/app.qrc @@ -35,6 +35,10 @@ icons/exit.png icons/cut.png icons/prefs-shortcuts.png + icons/grid.png + icons/zoom-in.png + icons/zoom-out.png + icons/zoom-reset.png background/checkerboard.png icons/controls/stop.png icons/controls/sound-disabled.png diff --git a/app/data/icons/unused/grid-a.png b/app/data/icons/grid.png similarity index 100% rename from app/data/icons/unused/grid-a.png rename to app/data/icons/grid.png diff --git a/app/data/icons/zoom-in.png b/app/data/icons/zoom-in.png new file mode 100644 index 0000000000..6c6f684eb2 Binary files /dev/null and b/app/data/icons/zoom-in.png differ diff --git a/app/data/icons/zoom-out.png b/app/data/icons/zoom-out.png new file mode 100644 index 0000000000..b4b529bad5 Binary files /dev/null and b/app/data/icons/zoom-out.png differ diff --git a/app/data/icons/zoom-reset.png b/app/data/icons/zoom-reset.png new file mode 100644 index 0000000000..8f998eb083 Binary files /dev/null and b/app/data/icons/zoom-reset.png differ diff --git a/app/src/mainwindow2.cpp b/app/src/mainwindow2.cpp index 663f004d7a..272ebef216 100644 --- a/app/src/mainwindow2.cpp +++ b/app/src/mainwindow2.cpp @@ -31,6 +31,7 @@ GNU General Public License for more details. #include #include #include +#include // core_lib headers #include "pencildef.h" @@ -120,6 +121,7 @@ MainWindow2::MainWindow2(QWidget* parent) : createDockWidgets(); createMenus(); + createToolbars(); setupKeyboardShortcuts(); readSettings(); @@ -1587,3 +1589,37 @@ void MainWindow2::startProjectRecovery(int result) const QString text = tr("Please save your work immediately to prevent loss of data"); QMessageBox::information(this, title, QString("

%1

%2").arg(title, text)); } + +void MainWindow2::createToolbars() +{ + mMainToolbar = addToolBar(tr("Main Toolbar")); + mMainToolbar->addAction(ui->actionNew); + mMainToolbar->addAction(ui->actionOpen); + mMainToolbar->addAction(ui->actionSave); + mMainToolbar->addSeparator(); + mMainToolbar->addAction(ui->actionUndo); + mMainToolbar->addAction(ui->actionRedo); + mMainToolbar->addSeparator(); + mMainToolbar->addAction(ui->actionCut); + mMainToolbar->addAction(ui->actionCopy); + mMainToolbar->addAction(ui->actionPaste); + + mViewToolbar = addToolBar(tr("View Toolbar")); + mViewToolbar->addAction(ui->actionZoom_In); + mViewToolbar->addAction(ui->actionZoom_Out); + mViewToolbar->addAction(ui->actionReset_View); + mViewToolbar->addAction(ui->actionHorizontal_Flip); + mViewToolbar->addAction(ui->actionVertical_Flip); + + mOverlayToolbar = addToolBar(tr("Overlay Toolbar")); + mOverlayToolbar->addAction(ui->actionGrid); + + mToolbars = { mMainToolbar, mViewToolbar, mOverlayToolbar }; + + ui->menuWindows->addSeparator(); + QMenu* toolbarMenu = ui->menuWindows->addMenu(tr("Toolbars")); + for (QToolBar* tb : mToolbars) + { + toolbarMenu->addAction(tb->toggleViewAction()); + } +} diff --git a/app/src/mainwindow2.h b/app/src/mainwindow2.h index a8572b977e..8585fb6d1c 100644 --- a/app/src/mainwindow2.h +++ b/app/src/mainwindow2.h @@ -22,6 +22,7 @@ GNU General Public License for more details. template class QList; class QActionGroup; +class QToolBar; class Object; class Editor; class ScribbleArea; @@ -164,6 +165,9 @@ private slots: TimeLine* mTimeLine = nullptr; ColorInspector* mColorInspector = nullptr; OnionSkinWidget* mOnionSkinWidget = nullptr; + QToolBar* mMainToolbar = nullptr; + QToolBar* mViewToolbar = nullptr; + QToolBar* mOverlayToolbar = nullptr; // backup BackupElement* mBackupAtSave = nullptr; @@ -171,8 +175,11 @@ private slots: PegBarAlignmentDialog* mPegAlign = nullptr; LayerOpacityDialog* mLayerOpacityDialog = nullptr; + void createToolbars(); +private: ActionCommands* mCommands = nullptr; QList mDockWidgets; + QList mToolbars; QIcon mStartIcon; QIcon mStopIcon; diff --git a/app/ui/mainwindow2.ui b/app/ui/mainwindow2.ui index 3a9842d2b4..7e27ec7885 100644 --- a/app/ui/mainwindow2.ui +++ b/app/ui/mainwindow2.ui @@ -479,7 +479,7 @@ - :/icons/magnify.png:/icons/magnify.png + :/icons/zoom-in.png:/icons/zoom-in.png Zoom In @@ -488,7 +488,7 @@ - :/icons/magnify.png:/icons/magnify.png + :/icons/zoom-out.png:/icons/zoom-out.png Zoom Out @@ -505,6 +505,10 @@ + + + :/icons/zoom-reset.png:/icons/zoom-reset.png + Reset @@ -545,6 +549,10 @@ true + + + :/icons/grid.png:/icons/grid.png + Grid