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