summaryrefslogtreecommitdiff
path: root/muse2/muse/widgets/mtrackinfo.cpp
diff options
context:
space:
mode:
authorTim E. Real <termtech@rogers.com>2011-05-26 00:18:47 +0000
committerTim E. Real <termtech@rogers.com>2011-05-26 00:18:47 +0000
commite8612708161b71b43d56ef47eede6cc58b035967 (patch)
tree18580394352c090068325ded37a8f53d6807c4a0 /muse2/muse/widgets/mtrackinfo.cpp
parenta1db21404d203bec7353099a9947778735271bfd (diff)
Moved all routing popup menu stuff from app, astrip, mstrip, mtrackinfo into new class RoutePopupMenu,
*massively* cleaning up those 4 files. Used new Route QVariant type as action data instead of integers. Moved MenuTitleItem definitions from astrip.cpp into it's own menutitleitem.cpp Added to settings: "Make popup menus stay open. Otherwise hold Ctrl."
Diffstat (limited to 'muse2/muse/widgets/mtrackinfo.cpp')
-rw-r--r--muse2/muse/widgets/mtrackinfo.cpp98
1 files changed, 10 insertions, 88 deletions
diff --git a/muse2/muse/widgets/mtrackinfo.cpp b/muse2/muse/widgets/mtrackinfo.cpp
index 465b7130..6dd02931 100644
--- a/muse2/muse/widgets/mtrackinfo.cpp
+++ b/muse2/muse/widgets/mtrackinfo.cpp
@@ -26,6 +26,7 @@
#include "app.h"
#include "route.h"
#include "popupmenu.h"
+#include "routepopup.h"
//---------------------------------------------------------
// setTrack
@@ -577,33 +578,6 @@ void MidiTrackInfo::iOutputPortChanged(int index)
}
//---------------------------------------------------------
-// routingPopupMenuActivated
-//---------------------------------------------------------
-
-//void MidiTrackInfo::routingPopupMenuActivated(int n)
-void MidiTrackInfo::routingPopupMenuActivated(QAction* act)
-{
- ///if(!midiTrackInfo || gRoutingPopupMenuMaster != midiTrackInfo || !selected || !selected->isMidiTrack())
- if((gRoutingPopupMenuMaster != this) || !selected || !selected->isMidiTrack())
- return;
- muse->routingPopupMenuActivated(selected, act->data().toInt());
-}
-
-#if 0
-//---------------------------------------------------------
-// routingPopupViewActivated
-//---------------------------------------------------------
-
-void MidiTrackInfo::routingPopupViewActivated(const QModelIndex& mdi)
-{
- ///if(!midiTrackInfo || gRoutingPopupMenuMaster != midiTrackInfo || !selected || !selected->isMidiTrack())
- if(gRoutingPopupMenuMaster != this || !selected || !selected->isMidiTrack())
- return;
- muse->routingPopupMenuActivated(selected, mdi.data().toInt());
-}
-#endif
-
-//---------------------------------------------------------
// inRoutesPressed
//---------------------------------------------------------
@@ -614,44 +588,9 @@ void MidiTrackInfo::inRoutesPressed()
if(!selected->isMidiTrack())
return;
- PopupMenu* pup = muse->prepareRoutingPopupMenu(selected, false);
- //PopupView* pup = muse->prepareRoutingPopupView(selected, false);
-
- /*
- QPoint ppt = QCursor::pos();
-
- int i = 0;
- for( ; i < MIDI_PORTS; ++i)
- {
- if(midiPorts[i].device() && !midiPorts[pi].device()->isSynti())
- break;
- }
- if(!pup || i == MIDI_PORTS)
- {
- int ret = QMessageBox::warning(this, tr("No devices"),
- tr("There are no midi port devices defined.\n"
- "Do you want to open the midi configuration dialog?"),
- QMessageBox::Ok | QMessageBox::Cancel,
- QMessageBox::Ok);
- if (ret == QMessageBox::Ok) {
- //printf("open config midi ports\n");
- muse->configMidiPorts();
- }
- if(!pup)
- return;
- }
- */
-
- ///gRoutingPopupMenuMaster = midiTrackInfo;
- gRoutingPopupMenuMaster = this;
- connect(pup, SIGNAL(triggered(QAction*)), SLOT(routingPopupMenuActivated(QAction*)));
- //connect(pup, SIGNAL(activated(const QModelIndex&)), SLOT(routingPopupViewActivated(const QModelIndex&)));
- connect(pup, SIGNAL(aboutToHide()), muse, SLOT(routingPopupMenuAboutToHide()));
- //connect(pup, SIGNAL(aboutToHide()), muse, SLOT(routingPopupViewAboutToHide()));
- pup->popup(QCursor::pos());
- //pup->setVisible(true);
+ RoutePopupMenu* pup = muse->getRoutingPopupMenu();
iRButton->setDown(false);
- return;
+ pup->exec(QCursor::pos(), selected, false);
}
//---------------------------------------------------------
@@ -665,17 +604,9 @@ void MidiTrackInfo::outRoutesPressed()
if(!selected->isMidiTrack())
return;
- PopupMenu* pup = muse->prepareRoutingPopupMenu(selected, true);
- if(!pup)
- return;
-
- ///gRoutingPopupMenuMaster = midiTrackInfo;
- gRoutingPopupMenuMaster = this;
- connect(pup, SIGNAL(triggered(QAction*)), SLOT(routingPopupMenuActivated(QAction*)));
- connect(pup, SIGNAL(aboutToHide()), muse, SLOT(routingPopupMenuAboutToHide()));
- pup->popup(QCursor::pos());
+ RoutePopupMenu* pup = muse->getRoutingPopupMenu();
oRButton->setDown(false);
- return;
+ pup->exec(QCursor::pos(), selected, true);
}
//---------------------------------------------------------
@@ -1044,7 +975,7 @@ void MidiTrackInfo::iPanChanged(int val)
void MidiTrackInfo::instrPopupActivated(QAction* act)
{
- //printf("MidiTrackInfo::instrPopupActivated\n"); // REMOVE Tim
+ //printf("MidiTrackInfo::instrPopupActivated\n");
if(act && selected)
{
@@ -1076,11 +1007,11 @@ void MidiTrackInfo::instrPopup()
//QMenu* pup = new QMenu;
PopupMenu* pup = new PopupMenu(true);
- ///instr->populatePatchPopup(pop, channel, song->mtype(), track->type() == Track::DRUM);
+ //instr->populatePatchPopup(pop, channel, song->mtype(), track->type() == Track::DRUM);
instr->populatePatchPopup(pup, channel, song->mtype(), track->type() == Track::DRUM);
- ///if(pop->actions().count() == 0)
- /// return;
+ //if(pop->actions().count() == 0)
+ // return;
if(pup->actions().count() == 0)
{
delete pup;
@@ -1090,7 +1021,7 @@ void MidiTrackInfo::instrPopup()
connect(pup, SIGNAL(triggered(QAction*)), SLOT(instrPopupActivated(QAction*)));
//connect(pup, SIGNAL(hovered(QAction*)), SLOT(instrPopupActivated(QAction*)));
- ///QAction *act = pop->exec(iPatch->mapToGlobal(QPoint(10,5)));
+ //QAction *act = pop->exec(iPatch->mapToGlobal(QPoint(10,5)));
QAction *act = pup->exec(iPatch->mapToGlobal(QPoint(10,5)));
if(act)
{
@@ -1310,15 +1241,6 @@ void MidiTrackInfo::updateTrackInfo(int flags)
return;
MidiTrack* track = (MidiTrack*)selected;
- // p3.3.47 Update the routing popup menu if anything relevant changes.
- //if(gRoutingPopupMenuMaster == midiTrackInfo && selected && (flags & (SC_ROUTE | SC_CHANNELS | SC_CONFIG)))
- if(flags & (SC_ROUTE | SC_CHANNELS | SC_CONFIG)) // p3.3.50
- // Use this handy shared routine.
- //muse->updateRouteMenus(selected);
- ///muse->updateRouteMenus(selected, midiTrackInfo); // p3.3.50
- muse->updateRouteMenus(selected, this);
-
- // Added by Tim. p3.3.9
setLabelText();
setLabelFont();