From d07b20fdf6042e71d8e3035bea8e32bb69a49d4e Mon Sep 17 00:00:00 2001 From: Jeremy Bullock Date: Sun, 5 Jun 2016 00:31:00 -0600 Subject: [PATCH 1/4] Maximize Pane where mouse is with ` --- toonz/sources/toonz/mainwindow.cpp | 15 +++++++++++++-- toonz/sources/toonz/mainwindow.h | 1 + toonz/sources/toonz/menubarcommandids.h | 2 +- toonz/sources/toonzqt/docklayout.h | 6 ++++-- toonz/sources/toonzqt/dockwidget.cpp | 9 +++++++++ 5 files changed, 28 insertions(+), 5 deletions(-) diff --git a/toonz/sources/toonz/mainwindow.cpp b/toonz/sources/toonz/mainwindow.cpp index bcd99e10..72c52ec8 100644 --- a/toonz/sources/toonz/mainwindow.cpp +++ b/toonz/sources/toonz/mainwindow.cpp @@ -442,6 +442,7 @@ MainWindow::MainWindow(const QString &argumentLayoutFileName, QWidget *parent, Q setCommandHandler(MI_PickStyleLines, this, &MainWindow::togglePickStyleLines); setCommandHandler(MI_About, this, &MainWindow::onAbout); + setCommandHandler(MI_MaximizePanel, this, &MainWindow::maximizePanel); } //----------------------------------------------------------------------------- @@ -1126,6 +1127,16 @@ void MainWindow::resetRoomsLayout() DVGui::info(QObject::tr("The rooms will be reset the next time you run Toonz.")); } +void MainWindow::maximizePanel() +{ + DockLayout *currDockLayout = getCurrentRoom()->dockLayout(); + QPoint p = mapFromGlobal(QCursor::pos()); + QWidget* myWidge = currDockLayout->containerOf(p); + DockWidget* w = static_cast(myWidge); + if (w) + w->maximizeDock(); +} + //----------------------------------------------------------------------------- void MainWindow::onCurrentRoomChanged(int newRoomIndex) @@ -1848,12 +1859,12 @@ void MainWindow::defineActions() createMenuWindowsAction(MI_OpenHistoryPanel, tr("&History"), ""); createMenuWindowsAction(MI_ResetRoomLayout, tr("&Reset to Default Rooms"), ""); - + createMenuWindowsAction(MI_MaximizePanel, tr("Maximize Current Panel"), "`"); createMenuWindowsAction(MI_About, tr("&About OpenToonz..."), ""); createRightClickMenuAction(MI_BlendColors, tr("&Blend colors"), ""); - createToggle(MI_OnionSkin, tr("Onion Skin"), "", false, RightClickMenuCommandType); + createToggle(MI_OnionSkin, tr("Onion Skin Toggle"), "\\", false, RightClickMenuCommandType); //createRightClickMenuAction(MI_LoadSubSceneFile, tr("Load As Sub-xsheet"), ""); //createRightClickMenuAction(MI_LoadResourceFile, tr("Load"), ""); diff --git a/toonz/sources/toonz/mainwindow.h b/toonz/sources/toonz/mainwindow.h index fb8793f2..cf5a8b32 100644 --- a/toonz/sources/toonz/mainwindow.h +++ b/toonz/sources/toonz/mainwindow.h @@ -101,6 +101,7 @@ public: void onLoadScene(); void onLoadSubScene(); void resetRoomsLayout(); + void maximizePanel(); void autofillToggle(); void onUpgradeTabPro(); void onAbout(); diff --git a/toonz/sources/toonz/menubarcommandids.h b/toonz/sources/toonz/menubarcommandids.h index 10b3c268..0e0cad6c 100644 --- a/toonz/sources/toonz/menubarcommandids.h +++ b/toonz/sources/toonz/menubarcommandids.h @@ -216,7 +216,7 @@ #define MI_OpenXshView "MI_OpenXshView" #define MI_OpenCleanupSettings "MI_OpenCleanupSettings" #define MI_ResetRoomLayout "MI_ResetRoomLayout" - +#define MI_MaximizePanel "MI_MaximizePanel" #define MI_OnionSkin "MI_OnionSkin" //#define MI_LoadResourceFile "MI_LoadResourceFile" diff --git a/toonz/sources/toonzqt/docklayout.h b/toonz/sources/toonzqt/docklayout.h index 9b603a6b..d17c55fc 100644 --- a/toonz/sources/toonzqt/docklayout.h +++ b/toonz/sources/toonzqt/docklayout.h @@ -93,7 +93,7 @@ public: QWidget *widgetAt(int) const; QLayoutItem *takeAt(int); void setGeometry(const QRect &rect); - + void update(); //Re-applies partition found void redistribute(); //Calculates partition void applyTransform(const QTransform &transform); //Applies tranformation to known parition - Da rimuovere, non serve... @@ -155,10 +155,12 @@ private: \sa DockLayout and DockPlaceholder classes. */ class DVAPI DockWidget : public QWidget -{ +{ friend class DockLayout; //DockLayout is granted access to placeholders' privates friend class DockPlaceholder; //As above. //friend Region; //Regions need access to m_saveIndex field. +public: + void maximizeDock(); protected: //Private attributes for dragging purposes diff --git a/toonz/sources/toonzqt/dockwidget.cpp b/toonz/sources/toonzqt/dockwidget.cpp index 0c4df963..ba1ecbad 100644 --- a/toonz/sources/toonzqt/dockwidget.cpp +++ b/toonz/sources/toonzqt/dockwidget.cpp @@ -385,6 +385,15 @@ void DockWidget::mouseDoubleClickEvent(QMouseEvent *me) //------------------------------------- +void DockWidget::maximizeDock() +{ + if (!m_floating) { + parentLayout()->setMaximized(this, !m_maximized); + } +} + +//------------------------------------- + //!Switch in selected dock placeholder's hierarchy. void DockWidget::wheelEvent(QWheelEvent *we) { From 9a725975debb375179da1167de1b3f646e34ea87 Mon Sep 17 00:00:00 2001 From: Jeremy Bullock Date: Sun, 5 Jun 2016 15:11:18 -0600 Subject: [PATCH 2/4] Maximize an entire room works now too. --- toonz/sources/toonz/mainwindow.cpp | 16 +++++++++++++++- toonz/sources/toonz/mainwindow.h | 1 + toonz/sources/toonz/menubarcommandids.h | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/toonz/sources/toonz/mainwindow.cpp b/toonz/sources/toonz/mainwindow.cpp index 72c52ec8..e2ebb7f6 100644 --- a/toonz/sources/toonz/mainwindow.cpp +++ b/toonz/sources/toonz/mainwindow.cpp @@ -443,6 +443,7 @@ MainWindow::MainWindow(const QString &argumentLayoutFileName, QWidget *parent, Q setCommandHandler(MI_About, this, &MainWindow::onAbout); setCommandHandler(MI_MaximizePanel, this, &MainWindow::maximizePanel); + setCommandHandler(MI_FullScreenWindow, this, &MainWindow::fullScreenWindow); } //----------------------------------------------------------------------------- @@ -1137,6 +1138,18 @@ void MainWindow::maximizePanel() w->maximizeDock(); } +void MainWindow::fullScreenWindow() +{ + QMainWindow *currWindow = TApp::instance()->getMainWindow(); + if (currWindow->isFullScreen()) { + currWindow->setWindowState(Qt::WindowMaximized); + } + else { + currWindow->setWindowState(Qt::WindowFullScreen); + } + +} + //----------------------------------------------------------------------------- void MainWindow::onCurrentRoomChanged(int newRoomIndex) @@ -1859,7 +1872,8 @@ void MainWindow::defineActions() createMenuWindowsAction(MI_OpenHistoryPanel, tr("&History"), ""); createMenuWindowsAction(MI_ResetRoomLayout, tr("&Reset to Default Rooms"), ""); - createMenuWindowsAction(MI_MaximizePanel, tr("Maximize Current Panel"), "`"); + createMenuWindowsAction(MI_MaximizePanel, tr("Toggle Maximize Panel"), "`"); + createMenuWindowsAction(MI_FullScreenWindow, tr("Toggle Full Screen"), "Ctrl+`"); createMenuWindowsAction(MI_About, tr("&About OpenToonz..."), ""); createRightClickMenuAction(MI_BlendColors, tr("&Blend colors"), ""); diff --git a/toonz/sources/toonz/mainwindow.h b/toonz/sources/toonz/mainwindow.h index cf5a8b32..c0ab4dcd 100644 --- a/toonz/sources/toonz/mainwindow.h +++ b/toonz/sources/toonz/mainwindow.h @@ -102,6 +102,7 @@ public: void onLoadSubScene(); void resetRoomsLayout(); void maximizePanel(); + void fullScreenWindow(); void autofillToggle(); void onUpgradeTabPro(); void onAbout(); diff --git a/toonz/sources/toonz/menubarcommandids.h b/toonz/sources/toonz/menubarcommandids.h index 0e0cad6c..06158e95 100644 --- a/toonz/sources/toonz/menubarcommandids.h +++ b/toonz/sources/toonz/menubarcommandids.h @@ -217,6 +217,7 @@ #define MI_OpenCleanupSettings "MI_OpenCleanupSettings" #define MI_ResetRoomLayout "MI_ResetRoomLayout" #define MI_MaximizePanel "MI_MaximizePanel" +#define MI_FullScreenWindow "MI_FullScreenWindow" #define MI_OnionSkin "MI_OnionSkin" //#define MI_LoadResourceFile "MI_LoadResourceFile" From 9230b7edb9181e662d17df891ce6809b53523a05 Mon Sep 17 00:00:00 2001 From: Jeremy Bullock Date: Mon, 6 Jun 2016 00:16:21 -0600 Subject: [PATCH 3/4] Fixed bug where unmaximizing sometimes made other panels appear blank --- toonz/sources/toonz/mainwindow.cpp | 18 +++++++++++++----- toonz/sources/toonz/mainwindow.h | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/toonz/sources/toonz/mainwindow.cpp b/toonz/sources/toonz/mainwindow.cpp index e2ebb7f6..d6886018 100644 --- a/toonz/sources/toonz/mainwindow.cpp +++ b/toonz/sources/toonz/mainwindow.cpp @@ -1131,11 +1131,19 @@ void MainWindow::resetRoomsLayout() void MainWindow::maximizePanel() { DockLayout *currDockLayout = getCurrentRoom()->dockLayout(); - QPoint p = mapFromGlobal(QCursor::pos()); - QWidget* myWidge = currDockLayout->containerOf(p); - DockWidget* w = static_cast(myWidge); - if (w) - w->maximizeDock(); + QPoint p; + if (!panelMaximized) + { + p = mapFromGlobal(QCursor::pos()); + panelMaximized = true; + } + else { + panelMaximized = false; + } + QWidget* currWidget = currDockLayout->containerOf(p); + DockWidget* currW = static_cast(currWidget); + if (currW) + currW->maximizeDock(); } void MainWindow::fullScreenWindow() diff --git a/toonz/sources/toonz/mainwindow.h b/toonz/sources/toonz/mainwindow.h index c0ab4dcd..72757443 100644 --- a/toonz/sources/toonz/mainwindow.h +++ b/toonz/sources/toonz/mainwindow.h @@ -72,7 +72,7 @@ class MainWindow : public QMainWindow bool m_saveSettingsOnQuit; int m_oldRoomIndex; QString m_currentRoomsChoice; - + bool panelMaximized; UpdateChecker *m_updateChecker; TopBar *m_topBar; From 01efa143587915e3ff7e42110c8ca53460c350da Mon Sep 17 00:00:00 2001 From: shun_iwasawa Date: Tue, 5 Jul 2016 19:28:44 +0900 Subject: [PATCH 4/4] add small fix and clang format --- toonz/sources/toonz/mainwindow.cpp | 47 ++++++++++------------------ toonz/sources/toonz/mainwindow.h | 3 +- toonz/sources/toonzqt/docklayout.h | 4 +-- toonz/sources/toonzqt/dockwidget.cpp | 9 +++--- 4 files changed, 24 insertions(+), 39 deletions(-) diff --git a/toonz/sources/toonz/mainwindow.cpp b/toonz/sources/toonz/mainwindow.cpp index 956ab0a9..9e02bb66 100644 --- a/toonz/sources/toonz/mainwindow.cpp +++ b/toonz/sources/toonz/mainwindow.cpp @@ -432,9 +432,9 @@ centralWidget->setLayout(centralWidgetLayout);*/ setCommandHandler(MI_PickStyleAreas, this, &MainWindow::togglePickStyleAreas); setCommandHandler(MI_PickStyleLines, this, &MainWindow::togglePickStyleLines); - setCommandHandler(MI_About, this, &MainWindow::onAbout); - setCommandHandler(MI_MaximizePanel, this, &MainWindow::maximizePanel); - setCommandHandler(MI_FullScreenWindow, this, &MainWindow::fullScreenWindow); + setCommandHandler(MI_About, this, &MainWindow::onAbout); + setCommandHandler(MI_MaximizePanel, this, &MainWindow::maximizePanel); + setCommandHandler(MI_FullScreenWindow, this, &MainWindow::fullScreenWindow); } //----------------------------------------------------------------------------- @@ -1096,34 +1096,19 @@ void MainWindow::resetRoomsLayout() { QObject::tr("The rooms will be reset the next time you run Toonz.")); } -void MainWindow::maximizePanel() -{ - DockLayout *currDockLayout = getCurrentRoom()->dockLayout(); - QPoint p; - if (!panelMaximized) - { - p = mapFromGlobal(QCursor::pos()); - panelMaximized = true; - } - else { - panelMaximized = false; - } - QWidget* currWidget = currDockLayout->containerOf(p); - DockWidget* currW = static_cast(currWidget); - if (currW) - currW->maximizeDock(); +void MainWindow::maximizePanel() { + DockLayout *currDockLayout = getCurrentRoom()->dockLayout(); + QPoint p = mapFromGlobal(QCursor::pos()); + QWidget *currWidget = currDockLayout->containerOf(p); + DockWidget *currW = dynamic_cast(currWidget); + if (currW) currW->maximizeDock(); } -void MainWindow::fullScreenWindow() -{ - QMainWindow *currWindow = TApp::instance()->getMainWindow(); - if (currWindow->isFullScreen()) { - currWindow->setWindowState(Qt::WindowMaximized); - } - else { - currWindow->setWindowState(Qt::WindowFullScreen); - } - +void MainWindow::fullScreenWindow() { + if (isFullScreen()) + setWindowState(Qt::WindowMaximized); + else + setWindowState(Qt::WindowFullScreen); } //----------------------------------------------------------------------------- @@ -1911,7 +1896,9 @@ void MainWindow::defineActions() { createMenuWindowsAction(MI_ResetRoomLayout, tr("&Reset to Default Rooms"), ""); createMenuWindowsAction(MI_MaximizePanel, tr("Toggle Maximize Panel"), "`"); - createMenuWindowsAction(MI_FullScreenWindow, tr("Toggle Full Screen"), "Ctrl+`"); + createMenuWindowsAction(MI_FullScreenWindow, + tr("Toggle Main Window's Full Screen Mode"), + "Ctrl+`"); createMenuWindowsAction(MI_About, tr("&About OpenToonz..."), ""); createRightClickMenuAction(MI_BlendColors, tr("&Blend colors"), ""); diff --git a/toonz/sources/toonz/mainwindow.h b/toonz/sources/toonz/mainwindow.h index 051fb5e7..8efc118b 100644 --- a/toonz/sources/toonz/mainwindow.h +++ b/toonz/sources/toonz/mainwindow.h @@ -69,7 +69,6 @@ class MainWindow final : public QMainWindow { bool m_saveSettingsOnQuit; int m_oldRoomIndex; QString m_currentRoomsChoice; - bool panelMaximized; UpdateChecker *m_updateChecker; TopBar *m_topBar; @@ -101,7 +100,7 @@ public: void onLoadSubScene(); void resetRoomsLayout(); void maximizePanel(); - void fullScreenWindow(); + void fullScreenWindow(); void autofillToggle(); void onUpgradeTabPro(); void onAbout(); diff --git a/toonz/sources/toonzqt/docklayout.h b/toonz/sources/toonzqt/docklayout.h index c21d0472..b19472ac 100644 --- a/toonz/sources/toonzqt/docklayout.h +++ b/toonz/sources/toonzqt/docklayout.h @@ -168,8 +168,8 @@ class DVAPI DockWidget : public QWidget { // privates friend class DockPlaceholder; // As above. // friend Region; //Regions need access to m_saveIndex field. - public: - void maximizeDock(); +public: + void maximizeDock(); protected: // Private attributes for dragging purposes diff --git a/toonz/sources/toonzqt/dockwidget.cpp b/toonz/sources/toonzqt/dockwidget.cpp index 5a56a8d6..44b58cf1 100644 --- a/toonz/sources/toonzqt/dockwidget.cpp +++ b/toonz/sources/toonzqt/dockwidget.cpp @@ -385,11 +385,10 @@ void DockWidget::mouseDoubleClickEvent(QMouseEvent *me) { //------------------------------------- -void DockWidget::maximizeDock() -{ - if (!m_floating) { - parentLayout()->setMaximized(this, !m_maximized); - } +void DockWidget::maximizeDock() { + if (!m_floating) { + parentLayout()->setMaximized(this, !m_maximized); + } } //-------------------------------------