From e69d0f7abd7b46c920e4dcd89761cfe812a62146 Mon Sep 17 00:00:00 2001 From: ejaaskel Date: Sat, 30 Mar 2024 19:04:57 +0100 Subject: [PATCH 01/11] Ensure that build and target are directories in .gitignore (#6884) Ensure that `build` and `target` are directories in `.gitignore`. --- .gitignore | 4 +-- include/ControllerRackView.h | 2 ++ include/ControllerView.h | 4 +++ src/gui/ControllerRackView.cpp | 45 ++++++++++++++++++++++++++++++++++ src/gui/ControllerView.cpp | 10 +++++++- src/gui/EffectRackView.cpp | 14 +++++++++++ src/gui/EffectView.cpp | 1 + 7 files changed, 77 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 1b855f204cb..cc2823ba06a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ -/build -/target +/build/ +/target/ .*.sw? .DS_Store *~ diff --git a/include/ControllerRackView.h b/include/ControllerRackView.h index 303cc2b401f..a4bf0901b27 100644 --- a/include/ControllerRackView.h +++ b/include/ControllerRackView.h @@ -66,6 +66,8 @@ class ControllerRackView : public QWidget, public SerializingObject public slots: void deleteController( lmms::gui::ControllerView * _view ); + void moveUp(lmms::gui::ControllerView* _view); + void moveDown(lmms::gui::ControllerView* _view); void onControllerAdded( lmms::Controller * ); void onControllerRemoved( lmms::Controller * ); diff --git a/include/ControllerView.h b/include/ControllerView.h index d1ba533a1a0..1a367e248f8 100644 --- a/include/ControllerView.h +++ b/include/ControllerView.h @@ -66,8 +66,12 @@ public slots: void deleteController(); void closeControls(); void renameController(); + void moveUp(); + void moveDown(); signals: + void moveUp(lmms::gui::ControllerView* _view); + void moveDown(lmms::gui::ControllerView* _view); void deleteController( lmms::gui::ControllerView * _view ); diff --git a/src/gui/ControllerRackView.cpp b/src/gui/ControllerRackView.cpp index 54c325dc660..52b8de242ba 100644 --- a/src/gui/ControllerRackView.cpp +++ b/src/gui/ControllerRackView.cpp @@ -24,6 +24,7 @@ */ #include +#include #include #include #include @@ -132,6 +133,33 @@ void ControllerRackView::deleteController( ControllerView * _view ) song->removeController( c ); } +void ControllerRackView::moveUp(ControllerView* view) +{ + // cannot delete the first module + if (view == m_controllerViews.first()) { return; } + + int i = 0; + for (auto it = m_controllerViews.begin(); it != m_controllerViews.end(); ++it, ++i) + { + if (*it == view) { break; } + } + ControllerView* temp = m_controllerViews[i - 1]; + m_controllerViews[i - 1] = view; + m_controllerViews[i] = temp; + + m_scrollAreaLayout->removeWidget(view); + m_scrollAreaLayout->insertWidget(i - 1, view); +} + +void ControllerRackView::moveDown(ControllerView* view) +{ + if(view != m_controllerViews.last()) + { + // moving next controller up is the same + moveUp(*(std::find(m_controllerViews.begin(), m_controllerViews.end(), view) + 1)); + } +} + @@ -141,9 +169,26 @@ void ControllerRackView::onControllerAdded( Controller * controller ) auto controllerView = new ControllerView(controller, scrollAreaWidget); + connect(controllerView, SIGNAL(moveUp(lmms::gui::ControllerView* )), this, + SLOT(moveUp(lmms::gui::ControllerView* )), Qt::QueuedConnection); + connect(controllerView, SIGNAL(moveDown(lmms::gui::ControllerView* )), this, + SLOT(moveDown(lmms::gui::ControllerView* )), Qt::QueuedConnection); connect( controllerView, SIGNAL(deleteController(lmms::gui::ControllerView*)), this, SLOT(deleteController(lmms::gui::ControllerView*)), Qt::QueuedConnection ); + QAction* moveUpAction = new QAction(controllerView); + moveUpAction->setShortcut(Qt::Key_Up | Qt::AltModifier); + moveUpAction->setShortcutContext(Qt::WidgetShortcut); + connect(moveUpAction, SIGNAL(triggered()), controllerView, SLOT(moveUp())); + controllerView->addAction( moveUpAction ); + + QAction* moveDownAction = new QAction(controllerView); + moveDownAction->setShortcut(Qt::Key_Down | Qt::AltModifier); + moveDownAction->setShortcutContext(Qt::WidgetShortcut); + connect(moveDownAction, SIGNAL(triggered()), controllerView, SLOT(moveDown())); + controllerView->addAction(moveDownAction); + + m_controllerViews.append( controllerView ); m_scrollAreaLayout->insertWidget( m_nextIndex, controllerView ); diff --git a/src/gui/ControllerView.cpp b/src/gui/ControllerView.cpp index d32e8d49c09..ad8cad9ff72 100644 --- a/src/gui/ControllerView.cpp +++ b/src/gui/ControllerView.cpp @@ -53,6 +53,7 @@ ControllerView::ControllerView( Controller * _model, QWidget * _parent ) : { this->setFrameStyle( QFrame::StyledPanel ); this->setFrameShadow( QFrame::Raised ); + this->setFocusPolicy(Qt::StrongFocus); auto vBoxLayout = new QVBoxLayout(this); @@ -132,6 +133,9 @@ void ControllerView::closeControls() m_show = true; } +void ControllerView::moveUp() { emit moveUp(this); } + +void ControllerView::moveDown() { emit moveDown(this); } void ControllerView::deleteController() { @@ -173,7 +177,11 @@ void ControllerView::modelChanged() void ControllerView::contextMenuEvent( QContextMenuEvent * ) { - QPointer contextMenu = new CaptionMenu( model()->displayName(), this ); + Controller* c = castModel(); + QPointer contextMenu = new CaptionMenu(c->name(), this); + contextMenu->addAction(embed::getIconPixmap("arp_up"), tr("Move &up"), this, SLOT(moveUp())); + contextMenu->addAction(embed::getIconPixmap("arp_down"), tr("Move &down"), this, SLOT(moveDown())); + contextMenu->addSeparator(); contextMenu->addAction( embed::getIconPixmap( "cancel" ), tr( "&Remove this controller" ), this, SLOT(deleteController())); diff --git a/src/gui/EffectRackView.cpp b/src/gui/EffectRackView.cpp index aa790d74dfc..58cb4006380 100644 --- a/src/gui/EffectRackView.cpp +++ b/src/gui/EffectRackView.cpp @@ -24,6 +24,7 @@ */ #include +#include #include #include #include @@ -177,6 +178,19 @@ void EffectRackView::update() connect( view, SIGNAL(deletePlugin(lmms::gui::EffectView*)), this, SLOT(deletePlugin(lmms::gui::EffectView*)), Qt::QueuedConnection ); + + QAction* moveUpAction = new QAction(view); + moveUpAction->setShortcut(Qt::Key_Up | Qt::AltModifier); + moveUpAction->setShortcutContext(Qt::WidgetShortcut); + connect(moveUpAction, SIGNAL(triggered()), view, SLOT(moveUp())); + view->addAction(moveUpAction); + + QAction* moveDownAction = new QAction(view); + moveDownAction->setShortcut(Qt::Key_Down | Qt::AltModifier); + moveDownAction->setShortcutContext(Qt::WidgetShortcut); + connect(moveDownAction, SIGNAL(triggered()), view, SLOT(moveDown())); + view->addAction(moveDownAction); + view->show(); m_effectViews.append( view ); if( i < view_map.size() ) diff --git a/src/gui/EffectView.cpp b/src/gui/EffectView.cpp index cbe2e4e95ed..9460bc24137 100644 --- a/src/gui/EffectView.cpp +++ b/src/gui/EffectView.cpp @@ -53,6 +53,7 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) : m_dragging(false) { setFixedSize(EffectView::DEFAULT_WIDTH, EffectView::DEFAULT_HEIGHT); + this->setFocusPolicy(Qt::StrongFocus); // Disable effects that are of type "DummyEffect" bool isEnabled = !dynamic_cast( effect() ); From 6033fc3053ee45d210ce2acf63940ed443dfd27a Mon Sep 17 00:00:00 2001 From: ejaaskel Date: Sat, 13 Apr 2024 20:52:19 +0530 Subject: [PATCH 02/11] added controller rack modules From 6a85189902da789ed34e04a52e35ff366e02909a Mon Sep 17 00:00:00 2001 From: Ross maxx Date: Sat, 13 Apr 2024 20:53:47 +0530 Subject: [PATCH 03/11] undo unnecessary gitignore changes --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index cc2823ba06a..1b855f204cb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ -/build/ -/target/ +/build +/target .*.sw? .DS_Store *~ From 3d49888b825a2b0d1986448afabd6e6c4b3d4755 Mon Sep 17 00:00:00 2001 From: Ross maxx Date: Sun, 14 Apr 2024 08:58:31 +0530 Subject: [PATCH 04/11] comment changes --- src/gui/ControllerRackView.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/ControllerRackView.cpp b/src/gui/ControllerRackView.cpp index 52b8de242ba..9df7f46cccb 100644 --- a/src/gui/ControllerRackView.cpp +++ b/src/gui/ControllerRackView.cpp @@ -135,7 +135,7 @@ void ControllerRackView::deleteController( ControllerView * _view ) void ControllerRackView::moveUp(ControllerView* view) { - // cannot delete the first module + // cannot move the first module further up if (view == m_controllerViews.first()) { return; } int i = 0; From 38a545c990d4918d81201b247668668858d72e10 Mon Sep 17 00:00:00 2001 From: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Date: Thu, 23 May 2024 10:49:17 +0530 Subject: [PATCH 05/11] remove this-> from setFocusPolicy() and obsolete comment Co-authored-by: saker --- src/gui/ControllerRackView.cpp | 1 - src/gui/ControllerView.cpp | 2 +- src/gui/EffectView.cpp | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/gui/ControllerRackView.cpp b/src/gui/ControllerRackView.cpp index 9df7f46cccb..604d963eff7 100644 --- a/src/gui/ControllerRackView.cpp +++ b/src/gui/ControllerRackView.cpp @@ -135,7 +135,6 @@ void ControllerRackView::deleteController( ControllerView * _view ) void ControllerRackView::moveUp(ControllerView* view) { - // cannot move the first module further up if (view == m_controllerViews.first()) { return; } int i = 0; diff --git a/src/gui/ControllerView.cpp b/src/gui/ControllerView.cpp index ad8cad9ff72..e1e51873274 100644 --- a/src/gui/ControllerView.cpp +++ b/src/gui/ControllerView.cpp @@ -53,7 +53,7 @@ ControllerView::ControllerView( Controller * _model, QWidget * _parent ) : { this->setFrameStyle( QFrame::StyledPanel ); this->setFrameShadow( QFrame::Raised ); - this->setFocusPolicy(Qt::StrongFocus); + setFocusPolicy(Qt::StrongFocus); auto vBoxLayout = new QVBoxLayout(this); diff --git a/src/gui/EffectView.cpp b/src/gui/EffectView.cpp index 1a5b321cc82..c8b31cf7290 100644 --- a/src/gui/EffectView.cpp +++ b/src/gui/EffectView.cpp @@ -53,7 +53,7 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) : m_dragging(false) { setFixedSize(EffectView::DEFAULT_WIDTH, EffectView::DEFAULT_HEIGHT); - this->setFocusPolicy(Qt::StrongFocus); + setFocusPolicy(Qt::StrongFocus); // Disable effects that are of type "DummyEffect" bool isEnabled = !dynamic_cast( effect() ); From 3fce9204b23b59a117036cc00cc5c97f69f06f8f Mon Sep 17 00:00:00 2001 From: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Date: Thu, 23 May 2024 10:50:17 +0530 Subject: [PATCH 06/11] Use std::swap Co-authored-by: saker --- src/gui/ControllerRackView.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/gui/ControllerRackView.cpp b/src/gui/ControllerRackView.cpp index 604d963eff7..47944176b9a 100644 --- a/src/gui/ControllerRackView.cpp +++ b/src/gui/ControllerRackView.cpp @@ -137,17 +137,10 @@ void ControllerRackView::moveUp(ControllerView* view) { if (view == m_controllerViews.first()) { return; } - int i = 0; - for (auto it = m_controllerViews.begin(); it != m_controllerViews.end(); ++it, ++i) - { - if (*it == view) { break; } - } - ControllerView* temp = m_controllerViews[i - 1]; - m_controllerViews[i - 1] = view; - m_controllerViews[i] = temp; - + const auto index = std::distance(m_controllerViews.begin(), view); + std::swap(m_controllerViews[index - 1], m_controllerViews[index]); m_scrollAreaLayout->removeWidget(view); - m_scrollAreaLayout->insertWidget(i - 1, view); + m_scrollAreaLayout->insertWidget(index - 1, view); } void ControllerRackView::moveDown(ControllerView* view) From 75be82945771c17e24c1e7151ef70a8bfe5bb8b8 Mon Sep 17 00:00:00 2001 From: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Date: Thu, 23 May 2024 10:51:15 +0530 Subject: [PATCH 07/11] some more cleanup Co-authored-by: saker --- src/gui/ControllerRackView.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/gui/ControllerRackView.cpp b/src/gui/ControllerRackView.cpp index 47944176b9a..8cd5b7a39ec 100644 --- a/src/gui/ControllerRackView.cpp +++ b/src/gui/ControllerRackView.cpp @@ -145,11 +145,8 @@ void ControllerRackView::moveUp(ControllerView* view) void ControllerRackView::moveDown(ControllerView* view) { - if(view != m_controllerViews.last()) - { - // moving next controller up is the same - moveUp(*(std::find(m_controllerViews.begin(), m_controllerViews.end(), view) + 1)); - } + if (view == m_controllerViews.last()) { return; } + moveUp(++view); } From 50687e5ba7645554759905e5665d569edf7b70e8 Mon Sep 17 00:00:00 2001 From: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Date: Thu, 23 May 2024 10:52:49 +0530 Subject: [PATCH 08/11] Replace slots with function pointers Co-authored-by: saker --- src/gui/ControllerRackView.cpp | 10 ++++------ src/gui/ControllerView.cpp | 4 ++-- src/gui/EffectRackView.cpp | 4 ++-- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/gui/ControllerRackView.cpp b/src/gui/ControllerRackView.cpp index 8cd5b7a39ec..a9f2b5cf692 100644 --- a/src/gui/ControllerRackView.cpp +++ b/src/gui/ControllerRackView.cpp @@ -158,23 +158,21 @@ void ControllerRackView::onControllerAdded( Controller * controller ) auto controllerView = new ControllerView(controller, scrollAreaWidget); - connect(controllerView, SIGNAL(moveUp(lmms::gui::ControllerView* )), this, - SLOT(moveUp(lmms::gui::ControllerView* )), Qt::QueuedConnection); - connect(controllerView, SIGNAL(moveDown(lmms::gui::ControllerView* )), this, - SLOT(moveDown(lmms::gui::ControllerView* )), Qt::QueuedConnection); + connect(controllerView, &ControllerView::moveUp, this, &ControllerRackView::moveUp); + connect(controllerView, &ControllerView::moveDown, this, &ControllerRackView::moveDown); connect( controllerView, SIGNAL(deleteController(lmms::gui::ControllerView*)), this, SLOT(deleteController(lmms::gui::ControllerView*)), Qt::QueuedConnection ); QAction* moveUpAction = new QAction(controllerView); moveUpAction->setShortcut(Qt::Key_Up | Qt::AltModifier); moveUpAction->setShortcutContext(Qt::WidgetShortcut); - connect(moveUpAction, SIGNAL(triggered()), controllerView, SLOT(moveUp())); + connect(moveUpAction, &QAction::triggered, controllerView, &ControllerView::moveUp); controllerView->addAction( moveUpAction ); QAction* moveDownAction = new QAction(controllerView); moveDownAction->setShortcut(Qt::Key_Down | Qt::AltModifier); moveDownAction->setShortcutContext(Qt::WidgetShortcut); - connect(moveDownAction, SIGNAL(triggered()), controllerView, SLOT(moveDown())); + connect(moveDownAction, &QAction::triggered, controllerView, &ControllerView::moveDown); controllerView->addAction(moveDownAction); diff --git a/src/gui/ControllerView.cpp b/src/gui/ControllerView.cpp index e1e51873274..5315bf9734a 100644 --- a/src/gui/ControllerView.cpp +++ b/src/gui/ControllerView.cpp @@ -179,8 +179,8 @@ void ControllerView::contextMenuEvent( QContextMenuEvent * ) { Controller* c = castModel(); QPointer contextMenu = new CaptionMenu(c->name(), this); - contextMenu->addAction(embed::getIconPixmap("arp_up"), tr("Move &up"), this, SLOT(moveUp())); - contextMenu->addAction(embed::getIconPixmap("arp_down"), tr("Move &down"), this, SLOT(moveDown())); + contextMenu->addAction(embed::getIconPixmap("arp_up"), tr("Move &up"), this, &ControllerView::moveUp); + contextMenu->addAction(embed::getIconPixmap("arp_down"), tr("Move &down"), this, &ControllerView::moveDown); contextMenu->addSeparator(); contextMenu->addAction( embed::getIconPixmap( "cancel" ), tr( "&Remove this controller" ), diff --git a/src/gui/EffectRackView.cpp b/src/gui/EffectRackView.cpp index 58cb4006380..9cad1d482f1 100644 --- a/src/gui/EffectRackView.cpp +++ b/src/gui/EffectRackView.cpp @@ -182,13 +182,13 @@ void EffectRackView::update() QAction* moveUpAction = new QAction(view); moveUpAction->setShortcut(Qt::Key_Up | Qt::AltModifier); moveUpAction->setShortcutContext(Qt::WidgetShortcut); - connect(moveUpAction, SIGNAL(triggered()), view, SLOT(moveUp())); + connect(moveUpAction, &QAction::triggered, view, &EffectView::moveUp); view->addAction(moveUpAction); QAction* moveDownAction = new QAction(view); moveDownAction->setShortcut(Qt::Key_Down | Qt::AltModifier); moveDownAction->setShortcutContext(Qt::WidgetShortcut); - connect(moveDownAction, SIGNAL(triggered()), view, SLOT(moveDown())); + connect(moveDownAction, &QAction::triggered, view, &EffectView::moveDown); view->addAction(moveDownAction); view->show(); From 15e2697aabb4a518c7e8a90c86bb5ce3abd9493d Mon Sep 17 00:00:00 2001 From: Rossmaxx Date: Thu, 23 May 2024 10:54:47 +0530 Subject: [PATCH 09/11] whitespace --- plugins/LadspaEffect/cmt/cmt | 2 +- src/gui/ControllerRackView.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/LadspaEffect/cmt/cmt b/plugins/LadspaEffect/cmt/cmt index 24599fb45b9..d8bf8084aa3 160000 --- a/plugins/LadspaEffect/cmt/cmt +++ b/plugins/LadspaEffect/cmt/cmt @@ -1 +1 @@ -Subproject commit 24599fb45b99fff6302136f13adb3817e5833e7d +Subproject commit d8bf8084aa3a47497092f5ab99c843a55090d151 diff --git a/src/gui/ControllerRackView.cpp b/src/gui/ControllerRackView.cpp index a9f2b5cf692..683f9925b65 100644 --- a/src/gui/ControllerRackView.cpp +++ b/src/gui/ControllerRackView.cpp @@ -167,7 +167,7 @@ void ControllerRackView::onControllerAdded( Controller * controller ) moveUpAction->setShortcut(Qt::Key_Up | Qt::AltModifier); moveUpAction->setShortcutContext(Qt::WidgetShortcut); connect(moveUpAction, &QAction::triggered, controllerView, &ControllerView::moveUp); - controllerView->addAction( moveUpAction ); + controllerView->addAction(moveUpAction); QAction* moveDownAction = new QAction(controllerView); moveDownAction->setShortcut(Qt::Key_Down | Qt::AltModifier); From 088d6abd61ff46e7376db421b851ecacd93000cf Mon Sep 17 00:00:00 2001 From: Rossmaxx Date: Thu, 23 May 2024 10:58:28 +0530 Subject: [PATCH 10/11] cmt --- plugins/LadspaEffect/cmt/cmt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/LadspaEffect/cmt/cmt b/plugins/LadspaEffect/cmt/cmt index d8bf8084aa3..24599fb45b9 160000 --- a/plugins/LadspaEffect/cmt/cmt +++ b/plugins/LadspaEffect/cmt/cmt @@ -1 +1 @@ -Subproject commit d8bf8084aa3a47497092f5ab99c843a55090d151 +Subproject commit 24599fb45b99fff6302136f13adb3817e5833e7d From c13979ab92462cab84b18e92a4ae65f31db25352 Mon Sep 17 00:00:00 2001 From: saker Date: Thu, 23 May 2024 07:49:26 -0400 Subject: [PATCH 11/11] Apply fixes --- include/ControllerRackView.h | 10 +++++----- include/ControllerView.h | 8 ++++---- include/EffectRackView.h | 7 +++---- include/EffectView.h | 7 +++---- src/gui/ControllerRackView.cpp | 35 ++++++++++++++++++---------------- src/gui/ControllerView.cpp | 14 +++++--------- src/gui/EffectRackView.cpp | 10 +++------- src/gui/EffectView.cpp | 6 +++--- 8 files changed, 45 insertions(+), 52 deletions(-) diff --git a/include/ControllerRackView.h b/include/ControllerRackView.h index a4bf0901b27..93d1e84380c 100644 --- a/include/ControllerRackView.h +++ b/include/ControllerRackView.h @@ -65,11 +65,11 @@ class ControllerRackView : public QWidget, public SerializingObject public slots: - void deleteController( lmms::gui::ControllerView * _view ); - void moveUp(lmms::gui::ControllerView* _view); - void moveDown(lmms::gui::ControllerView* _view); - void onControllerAdded( lmms::Controller * ); - void onControllerRemoved( lmms::Controller * ); + void deleteController(ControllerView* view); + void moveUp(ControllerView* view); + void moveDown(ControllerView* view); + void addController(Controller* controller); + void removeController(Controller* controller); protected: void closeEvent( QCloseEvent * _ce ) override; diff --git a/include/ControllerView.h b/include/ControllerView.h index 1a367e248f8..9b442672d94 100644 --- a/include/ControllerView.h +++ b/include/ControllerView.h @@ -63,16 +63,16 @@ class ControllerView : public QFrame, public ModelView public slots: void editControls(); - void deleteController(); + void removeController(); void closeControls(); void renameController(); void moveUp(); void moveDown(); signals: - void moveUp(lmms::gui::ControllerView* _view); - void moveDown(lmms::gui::ControllerView* _view); - void deleteController( lmms::gui::ControllerView * _view ); + void movedUp(ControllerView* view); + void movedDown(ControllerView* view); + void removedController(ControllerView* view); protected: diff --git a/include/EffectRackView.h b/include/EffectRackView.h index a1e21be0985..4a90c6b7a78 100644 --- a/include/EffectRackView.h +++ b/include/EffectRackView.h @@ -53,10 +53,9 @@ class EffectRackView : public QWidget, public ModelView public slots: void clearViews(); - void moveUp( lmms::gui::EffectView* view ); - void moveDown( lmms::gui::EffectView* view ); - void deletePlugin( lmms::gui::EffectView* view ); - + void moveUp(EffectView* view); + void moveDown(EffectView* view); + void deletePlugin(EffectView* view); private slots: virtual void update(); diff --git a/include/EffectView.h b/include/EffectView.h index e90700952c7..805e4a4279c 100644 --- a/include/EffectView.h +++ b/include/EffectView.h @@ -77,10 +77,9 @@ public slots: signals: - void moveUp( lmms::gui::EffectView * _plugin ); - void moveDown( lmms::gui::EffectView * _plugin ); - void deletePlugin( lmms::gui::EffectView * _plugin ); - + void movedUp(EffectView* view); + void movedDown(EffectView* view); + void deletedPlugin(EffectView* view); protected: void contextMenuEvent( QContextMenuEvent * _me ) override; diff --git a/src/gui/ControllerRackView.cpp b/src/gui/ControllerRackView.cpp index 683f9925b65..e7d2efebd06 100644 --- a/src/gui/ControllerRackView.cpp +++ b/src/gui/ControllerRackView.cpp @@ -69,8 +69,8 @@ ControllerRackView::ControllerRackView() : this, SLOT(addController())); Song * song = Engine::getSong(); - connect( song, SIGNAL(controllerAdded(lmms::Controller*)), SLOT(onControllerAdded(lmms::Controller*))); - connect( song, SIGNAL(controllerRemoved(lmms::Controller*)), SLOT(onControllerRemoved(lmms::Controller*))); + connect(song, &Song::controllerAdded, this, qOverload(&ControllerRackView::addController)); + connect(song, &Song::controllerRemoved, this, &ControllerRackView::removeController); auto layout = new QVBoxLayout(); layout->addWidget( m_scrollArea ); @@ -136,8 +136,12 @@ void ControllerRackView::deleteController( ControllerView * _view ) void ControllerRackView::moveUp(ControllerView* view) { if (view == m_controllerViews.first()) { return; } - - const auto index = std::distance(m_controllerViews.begin(), view); + + const auto storedView = std::find(m_controllerViews.begin(), m_controllerViews.end(), view); + assert(storedView != m_controllerViews.end()); + + const auto index = std::distance(m_controllerViews.begin(), storedView); + std::swap(m_controllerViews[index - 1], m_controllerViews[index]); m_scrollAreaLayout->removeWidget(view); m_scrollAreaLayout->insertWidget(index - 1, view); @@ -146,30 +150,29 @@ void ControllerRackView::moveUp(ControllerView* view) void ControllerRackView::moveDown(ControllerView* view) { if (view == m_controllerViews.last()) { return; } - moveUp(++view); -} - - + const auto storedView = std::find(m_controllerViews.begin(), m_controllerViews.end(), view); + assert(storedView != m_controllerViews.end()); + moveUp(*std::next(storedView)); +} -void ControllerRackView::onControllerAdded( Controller * controller ) +void ControllerRackView::addController(Controller* controller) { QWidget * scrollAreaWidget = m_scrollArea->widget(); auto controllerView = new ControllerView(controller, scrollAreaWidget); - connect(controllerView, &ControllerView::moveUp, this, &ControllerRackView::moveUp); - connect(controllerView, &ControllerView::moveDown, this, &ControllerRackView::moveDown); - connect( controllerView, SIGNAL(deleteController(lmms::gui::ControllerView*)), - this, SLOT(deleteController(lmms::gui::ControllerView*)), Qt::QueuedConnection ); + connect(controllerView, &ControllerView::movedUp, this, &ControllerRackView::moveUp); + connect(controllerView, &ControllerView::movedDown, this, &ControllerRackView::moveDown); + connect(controllerView, &ControllerView::removedController, this, &ControllerRackView::deleteController, Qt::QueuedConnection); - QAction* moveUpAction = new QAction(controllerView); + auto moveUpAction = new QAction(controllerView); moveUpAction->setShortcut(Qt::Key_Up | Qt::AltModifier); moveUpAction->setShortcutContext(Qt::WidgetShortcut); connect(moveUpAction, &QAction::triggered, controllerView, &ControllerView::moveUp); controllerView->addAction(moveUpAction); - QAction* moveDownAction = new QAction(controllerView); + auto moveDownAction = new QAction(controllerView); moveDownAction->setShortcut(Qt::Key_Down | Qt::AltModifier); moveDownAction->setShortcutContext(Qt::WidgetShortcut); connect(moveDownAction, &QAction::triggered, controllerView, &ControllerView::moveDown); @@ -185,7 +188,7 @@ void ControllerRackView::onControllerAdded( Controller * controller ) -void ControllerRackView::onControllerRemoved( Controller * removedController ) +void ControllerRackView::removeController(Controller* removedController) { ControllerView * viewOfRemovedController = 0; diff --git a/src/gui/ControllerView.cpp b/src/gui/ControllerView.cpp index 5315bf9734a..7f7c4729c67 100644 --- a/src/gui/ControllerView.cpp +++ b/src/gui/ControllerView.cpp @@ -133,14 +133,11 @@ void ControllerView::closeControls() m_show = true; } -void ControllerView::moveUp() { emit moveUp(this); } +void ControllerView::moveUp() { emit movedUp(this); } -void ControllerView::moveDown() { emit moveDown(this); } +void ControllerView::moveDown() { emit movedDown(this); } -void ControllerView::deleteController() -{ - emit( deleteController( this ) ); -} +void ControllerView::removeController() { emit removedController(this); } void ControllerView::renameController() { @@ -182,9 +179,8 @@ void ControllerView::contextMenuEvent( QContextMenuEvent * ) contextMenu->addAction(embed::getIconPixmap("arp_up"), tr("Move &up"), this, &ControllerView::moveUp); contextMenu->addAction(embed::getIconPixmap("arp_down"), tr("Move &down"), this, &ControllerView::moveDown); contextMenu->addSeparator(); - contextMenu->addAction( embed::getIconPixmap( "cancel" ), - tr( "&Remove this controller" ), - this, SLOT(deleteController())); + contextMenu->addAction( + embed::getIconPixmap("cancel"), tr("&Remove this controller"), this, &ControllerView::removeController); contextMenu->addAction( tr("Re&name this controller"), this, SLOT(renameController())); contextMenu->addSeparator(); contextMenu->exec( QCursor::pos() ); diff --git a/src/gui/EffectRackView.cpp b/src/gui/EffectRackView.cpp index 9cad1d482f1..478e117fe80 100644 --- a/src/gui/EffectRackView.cpp +++ b/src/gui/EffectRackView.cpp @@ -171,13 +171,9 @@ void EffectRackView::update() if( i >= m_effectViews.size() ) { auto view = new EffectView(effect, w); - connect( view, SIGNAL(moveUp(lmms::gui::EffectView*)), - this, SLOT(moveUp(lmms::gui::EffectView*))); - connect( view, SIGNAL(moveDown(lmms::gui::EffectView*)), - this, SLOT(moveDown(lmms::gui::EffectView*))); - connect( view, SIGNAL(deletePlugin(lmms::gui::EffectView*)), - this, SLOT(deletePlugin(lmms::gui::EffectView*)), - Qt::QueuedConnection ); + connect(view, &EffectView::movedUp, this, &EffectRackView::moveUp); + connect(view, &EffectView::movedDown, this, &EffectRackView::moveDown); + connect(view, &EffectView::deletedPlugin, this, &EffectRackView::deletePlugin, Qt::QueuedConnection); QAction* moveUpAction = new QAction(view); moveUpAction->setShortcut(Qt::Key_Up | Qt::AltModifier); diff --git a/src/gui/EffectView.cpp b/src/gui/EffectView.cpp index c8b31cf7290..6f2b984c32a 100644 --- a/src/gui/EffectView.cpp +++ b/src/gui/EffectView.cpp @@ -163,7 +163,7 @@ void EffectView::editControls() void EffectView::moveUp() { - emit moveUp( this ); + emit movedUp(this); } @@ -171,14 +171,14 @@ void EffectView::moveUp() void EffectView::moveDown() { - emit moveDown( this ); + emit movedDown(this); } void EffectView::deletePlugin() { - emit deletePlugin( this ); + emit deletedPlugin(this); }