From: D. M. M. <ros...@gm...> - 2009-03-17 22:17:39
|
On Tuesday 17 March 2009, cjn...@us... wrote: > Revision: 10071 > > http://rosegarden.svn.sourceforge.net/rosegarden/?rev=10071&view=rev > Author: cjnfryer > Date: 2009-03-17 22:08:37 +0000 (Tue, 17 Mar 2009) > > Log Message: > ----------- > Fixed TrackButton instrument select problem. > > Replicated the kde3 functionality of passing a number (turns out to be the > position of the instrument in the long list of instruments) with the sub- > menu entry. Here it's passed in the data() parameter of the QAction object. > The data parameter holds a QVariant which is a wrapper class for any of the > usual data types. > > Renamed the i counter, count, to match the Studio.cpp implementation and > because I found this functionality very difficult to find. > > This code remains somewhat messy (not least, the tabs are horrible!!) > > Modified Paths: > -------------- > branches/qt4/src/gui/editors/segment/TrackButtons.cpp > branches/qt4/src/gui/editors/segment/TrackButtons.h > > Modified: branches/qt4/src/gui/editors/segment/TrackButtons.cpp > =================================================================== > --- branches/qt4/src/gui/editors/segment/TrackButtons.cpp 2009-03-17 > 21:58:17 UTC (rev 10070) +++ > branches/qt4/src/gui/editors/segment/TrackButtons.cpp 2009-03-17 22:08:37 > UTC (rev 10071) @@ -641,7 +641,7 @@ > std::vector<QMenu*> instrumentSubMenus; > > // position index > - int i = 0; > + int count = 0; > > // Get the list > InstrumentList list = studio.getPresentationInstruments(); > @@ -748,7 +748,7 @@ > // > // connect(subMenu, SIGNAL(activated(int)), > // SLOT(slotInstrumentPopupActivated(int))); > - connect( subMenu, SIGNAL(triggered(QAction*)), this, > SLOT(slotInstrumentPopupActionTriggered(QAction*)) ); + connect( > subMenu, SIGNAL(triggered(QAction*)), this, > SLOT(slotInstrumentPopupActivated(QAction*)) ); > > } else if (!instrUsedByMe) { > > @@ -782,9 +782,12 @@ > tempMenu = new QAction(instrumentPopup); > tempMenu->setIcon( iconSet ); > tempMenu->setText( iname ); // for QAction > + tempMenu->setData( QVariant( count ) ); > // tempMenu->setTitle( iname ); // for QMenu > - tempMenu->setObjectName( iname + QString(i++) ); > + tempMenu->setObjectName( iname + QString(count) ); > > + count++; > + > instrumentSubMenus[instrumentSubMenus.size() - > 1]->addAction( tempMenu ); // > instrumentSubMenus[instrumentSubMenus.size() - 1]->addMenu( tempMenu ); // > qt3-old: instrumentSubMenus[instrumentSubMenus.size() - > 1]->addItem(iconSet, iname, i++); @@ -792,14 +795,10 @@ > > } > > - > -void TrackButtons:: slotInstrumentPopupActionTriggered( QAction* act ){ > - QMessageBox:: information( > - this, (""), > - ( QString("Thank you! \n You've clicked the instrument ") + QString( > act->text() ) ), - QMessageBox::Ok, > - QMessageBox::Ok > - ); > +void > +TrackButtons::slotInstrumentPopupActivated(QAction* act) > +{ > + slotInstrumentPopupActivated(act->data().toInt()); > } > > void > > Modified: branches/qt4/src/gui/editors/segment/TrackButtons.h > =================================================================== > --- branches/qt4/src/gui/editors/segment/TrackButtons.h 2009-03-17 21:58:17 > UTC (rev 10070) +++ > branches/qt4/src/gui/editors/segment/TrackButtons.h 2009-03-17 22:08:37 UTC > (rev 10071) @@ -143,7 +143,7 @@ > > void slotInstrumentSelection(int); > void slotInstrumentPopupActivated(int); // old kde3 > - void slotInstrumentPopupActionTriggered( QAction* ); // new qt4 > + void slotInstrumentPopupActivated(QAction*); // old kde3 > > void slotTrackInstrumentSelection(TrackId, int); > > > > This was sent by the SourceForge.net collaborative development platform, > the world's largest Open Source development site. > > --------------------------------------------------------------------------- >--- Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are > powering Web 2.0 with engaging, cross-platform capabilities. Quickly and > easily build your RIAs with Flex Builder, the Eclipse(TM)based development > software that enables intelligent coding and step-through debugging. > Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com > _______________________________________________ > Rosegarden-bugs mailing list > Ros...@li... - use the link below to unsubscribe > https://lists.sourceforge.net/lists/listinfo/rosegarden-bugs -- D. Michael McIntyre |