diff options
| author | Tim E. Real <termtech@rogers.com> | 2010-11-04 22:43:10 +0000 | 
|---|---|---|
| committer | Tim E. Real <termtech@rogers.com> | 2010-11-04 22:43:10 +0000 | 
| commit | 2428f541f4a60ade9dc402ac6bec1bb362b768b4 (patch) | |
| tree | e741764dd08062c1d4b72a197428fa0bfccc939c /muse2/muse | |
| parent | 9d40287bbcac059597b6432d6c9845c2ce05e148 (diff) | |
Instrument + name: Finished conversion of midi/synth cfg all pop up menus.
Diffstat (limited to 'muse2/muse')
| -rw-r--r-- | muse2/muse/confmport.cpp | 279 | ||||
| -rw-r--r-- | muse2/muse/confmport.h | 15 | 
2 files changed, 114 insertions, 180 deletions
| diff --git a/muse2/muse/confmport.cpp b/muse2/muse/confmport.cpp index 0de3379b..35cffb4b 100644 --- a/muse2/muse/confmport.cpp +++ b/muse2/muse/confmport.cpp @@ -230,15 +230,10 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)                      //RouteList* rl = (dev->rwFlags() & 1) ? dev->outRoutes() : dev->inRoutes();                      RouteList* rl = (col == DEVCOL_OUTROUTES) ? dev->outRoutes() : dev->inRoutes();   // p3.3.55 -               -                    ///Q3PopupMenu* pup = 0;                      QMenu* pup = 0;                      int gid = 0;                      std::list<QString> sl; -         -                    ///pup = new Q3PopupMenu(this);                      pup = new QMenu(this); -                    ///pup->setCheckable(true);          _redisplay:                      pup->clear(); @@ -262,28 +257,17 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)                        act->setData(gid);                        act->setCheckable(true);                        act->setChecked(_showAliases == 0); -                       -                      ///pup->insertItem(tr("Show first aliases"), gid); -                      ///pup->setItemChecked(gid, (_showAliases == 0));                        ++gid; -                                              act = pup->addAction(tr("Show second aliases"));                        act->setData(gid);                        act->setCheckable(true);                        act->setChecked(_showAliases == 1); -                       -                      ///pup->insertItem(tr("Show second aliases"), gid); -                      ///pup->setItemChecked(gid, (_showAliases == 1));                        ++gid; -                      ///pup->insertSeparator();                        pup->addSeparator(); -                                              for(std::list<QString>::iterator ip = sl.begin(); ip != sl.end(); ++ip)                         { -                        //int id = pup->insertItem(*ip, gid); -                        ///pup->insertItem(*ip, gid);                          act = pup->addAction(*ip);                          act->setData(gid);                          act->setCheckable(true); @@ -295,8 +279,6 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)                          {                            if (*ir == rt)                             { -                            //pup->setItemChecked(id, true); -                            ///pup->setItemChecked(gid, true);                              act->setChecked(true);                              break;                            } @@ -307,91 +289,84 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)                        //      pup->insertSeparator();                      //} -                    ///n = pup->exec(ppt, 0);                      act = pup->exec(ppt);                      if(act)                      {                        n = act->data().toInt(); -                      //if (n != -1)  -                      //{ -                        if(n == 0) // Show first aliases -                        { -                          //delete pup; -                          if(_showAliases == 0) -                            _showAliases = -1; -                          else   -                            _showAliases = 0; -                          goto _redisplay;   // Go back -                        } -                        else -                        if(n == 1) // Show second aliases +                      if(n == 0) // Show first aliases +                      { +                        //delete pup; +                        if(_showAliases == 0) +                          _showAliases = -1; +                        else   +                          _showAliases = 0; +                        goto _redisplay;   // Go back +                      } +                      else +                      if(n == 1) // Show second aliases +                      { +                        //delete pup; +                        if(_showAliases == 1) +                          _showAliases = -1; +                        else   +                          _showAliases = 1; +                        goto _redisplay;   // Go back +                      } +                       +                      QString s(act->text()); +                       +                      //if(dev->rwFlags() & 1) // Writable +                      if(col == DEVCOL_OUTROUTES) // Writable  p3.3.55 +                      { +                        Route srcRoute(dev, -1); +                        Route dstRoute(s, true, -1, Route::JACK_ROUTE); +             +                        iRoute iir = rl->begin(); +                        for(; iir != rl->end(); ++iir)                           { -                          //delete pup; -                          if(_showAliases == 1) -                            _showAliases = -1; -                          else   -                            _showAliases = 1; -                          goto _redisplay;   // Go back +                          if(*iir == dstRoute) +                            break;                          } -                         -                        ///QString s(pup->text(n)); -                        QString s(act->text()); -                         -                        //if(dev->rwFlags() & 1) // Writable -                        if(col == DEVCOL_OUTROUTES) // Writable  p3.3.55 +                        if(iir != rl->end())  +                          // disconnect +                          audio->msgRemoveRoute(srcRoute, dstRoute); +                        else  +                          // connect +                          audio->msgAddRoute(srcRoute, dstRoute); +                      } +                      else +                      //if(dev->rwFlags() & 2) // Readable +                      //if(col == DEVCOL_INROUTES) // Readable    p3.3.55 +                      { +                        Route srcRoute(s, false, -1, Route::JACK_ROUTE); +                        Route dstRoute(dev, -1); +             +                        iRoute iir = rl->begin(); +                        for(; iir != rl->end(); ++iir)                           { -                          Route srcRoute(dev, -1); -                          Route dstRoute(s, true, -1, Route::JACK_ROUTE); -               -                          iRoute iir = rl->begin(); -                          for(; iir != rl->end(); ++iir)  -                          { -                            if(*iir == dstRoute) -                              break; -                          } -                          if(iir != rl->end())  -                            // disconnect -                            audio->msgRemoveRoute(srcRoute, dstRoute); -                          else  -                            // connect -                            audio->msgAddRoute(srcRoute, dstRoute); +                          if(*iir == srcRoute) +                            break;                          } -                        else -                        //if(dev->rwFlags() & 2) // Readable -                        //if(col == DEVCOL_INROUTES) // Readable    p3.3.55 -                        { -                          Route srcRoute(s, false, -1, Route::JACK_ROUTE); -                          Route dstRoute(dev, -1); -               -                          iRoute iir = rl->begin(); -                          for(; iir != rl->end(); ++iir)  -                          { -                            if(*iir == srcRoute) -                              break; -                          } -                          if(iir != rl->end())  -                            // disconnect -                            audio->msgRemoveRoute(srcRoute, dstRoute); -                          else  -                            // connect -                            audio->msgAddRoute(srcRoute, dstRoute); -                        }   -                         -                        audio->msgUpdateSoloStates(); -                        song->update(SC_ROUTE); -                         -                        // p3.3.46 -                        //delete pup; -                        // FIXME: -                        // Routes can't be re-read until the message sent from msgAddRoute1()  -                        //  has had time to be sent and actually affected the routes. -                        ///goto _redisplay;   // Go back -                         -                      //} +                        if(iir != rl->end())  +                          // disconnect +                          audio->msgRemoveRoute(srcRoute, dstRoute); +                        else  +                          // connect +                          audio->msgAddRoute(srcRoute, dstRoute); +                      }   +                       +                      audio->msgUpdateSoloStates(); +                      song->update(SC_ROUTE); +                       +                      // p3.3.46 +                      //delete pup; +                      // FIXME: +                      // Routes can't be re-read until the message sent from msgAddRoute1()  +                      //  has had time to be sent and actually affected the routes. +                      ///goto _redisplay;   // Go back                      }                        delete pup;                      //iR->setDown(false);     // pup->exec() catches mouse release event -                                      }                    //break;                    return; @@ -413,16 +388,17 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)                      else                      // We clicked the 'down' button.                      { -                      Q3PopupMenu* pup = new Q3PopupMenu(this); +                      QMenu* pup = new QMenu(this); -                      pup->setCheckable(true); +                      QAction* act;                        // Could do it this way... -                      //pup->insertItem(tr("Create") + QT_TR_NOOP(" Jack") + tr(" input"), 1); -                      //pup->insertItem(tr("Create") + QT_TR_NOOP(" Jack") + tr(" output"), 2); -                      //pup->insertItem(tr("Create") + QT_TR_NOOP(" Jack") + tr(" combo"), 0); // p3.3.55 +                      //act = pup->addAction(tr("Create") + QT_TR_NOOP(" Jack") + tr(" input")); +                      //act = pup->addAction(tr("Create") + QT_TR_NOOP(" Jack") + tr(" output")); +                      //act = pup->addAction(tr("Create") + QT_TR_NOOP(" Jack") + tr(" combo"));                        // ... or keep it simple and let the user click on the green lights instead. -                      pup->insertItem(tr("Create") + QT_TR_NOOP(" Jack") + tr(" device"), 0);  //  +                      act = pup->addAction(tr("Create") + QT_TR_NOOP(" Jack") + tr(" device")); +                      act->setData(0);                        typedef std::map<std::string, int > asmap;                        typedef std::map<std::string, int >::iterator imap; @@ -466,8 +442,8 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)                        //int sz = midiDevices.size();                        //if(!mapALSA.empty())                        { -                        pup->insertSeparator(); -                        // pup->insertItem(new MenuTitleItem(QT_TR_NOOP("ALSA:"))); ddskrjo +                        pup->addSeparator(); +                        pup->addAction(new MenuTitleItem(QT_TR_NOOP("ALSA:"), pup));                          for(imap i = mapALSA.begin(); i != mapALSA.end(); ++i)                           { @@ -482,29 +458,18 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)                              if(md->deviceType() != MidiDevice::ALSA_MIDI)                                  continue; -                            //pup->insertItem(QT_TR_NOOP(md->name()), idx + 3); -                            pup->insertItem(QT_TR_NOOP(md->name()), idx); -                             -                            //for(int k = 0; k < MIDI_PORTS; ++k)  -                            //{ -                              //MidiDevice* dev = midiPorts[k].device(); -                              //if(dev && s == dev->name())  -                              if(md == dev)  -                              { -                                //pup->setItemEnabled(idx + 3, false); -                                //pup->setItemChecked(idx + 3, true); -                                pup->setItemChecked(idx, true); -                                //break; -                              }       -                            //} +                            act = pup->addAction(QT_TR_NOOP(md->name())); +                            act->setData(idx); +                            act->setCheckable(true); +                            act->setChecked(md == dev);                            }                            }                        }                          if(!mapSYNTH.empty())                        { -                        pup->insertSeparator(); -                        //pup->insertItem(new MenuTitleItem(QT_TR_NOOP("SYNTH:"))); ddskrjo +                        pup->addSeparator(); +                        pup->addAction(new MenuTitleItem(QT_TR_NOOP("SYNTH:"), pup));                          for(imap i = mapSYNTH.begin(); i != mapSYNTH.end(); ++i)                           { @@ -519,34 +484,18 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)                              if(md->deviceType() != MidiDevice::SYNTH_MIDI)                                  continue; -                            //pup->insertItem(QT_TR_NOOP(md->name()), idx + 3); -                            pup->insertItem(QT_TR_NOOP(md->name()), idx); -                             -                            //for(int k = 0; k < MIDI_PORTS; ++k)  -                            //{ -                              //MidiDevice* dev = midiPorts[k].device(); -                              //if(dev && s == dev->name())  -                              if(md == dev)  -                              { -                                //pup->setItemEnabled(idx + 3, false); -                                //pup->setItemChecked(idx + 3, true); -                                pup->setItemChecked(idx, true); -                                //break; -                              }       -                            //} +                            act = pup->addAction(QT_TR_NOOP(md->name())); +                            act->setData(idx); +                            act->setCheckable(true); +                            act->setChecked(md == dev);                            }                            }                        }                          //if(!mapJACK.empty())                        { -                        pup->insertSeparator(); -                        //pup->insertItem(new MenuTitleItem(QT_TR_NOOP("JACK:"))); ddskrjo -                         -                        //pup->insertItem(tr("<Create input>"), 1); -                        //pup->insertItem(tr("<Create output>"), 2); -                        //pup->insertItem(tr("<Create combo>"), 0);  // p3.3.55 -                        //pup->insertSeparator(); +                        pup->addSeparator(); +                        pup->addAction(new MenuTitleItem(QT_TR_NOOP("JACK:"), pup));                          for(imap i = mapJACK.begin(); i != mapJACK.end(); ++i)                           { @@ -561,47 +510,30 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)                              if(md->deviceType() != MidiDevice::JACK_MIDI)                                  continue; -                            //pup->insertItem(QT_TR_NOOP(md->name()), idx + 3); -                            pup->insertItem(QT_TR_NOOP(md->name()), idx); -                             -                            //for(int k = 0; k < MIDI_PORTS; ++k)  -                            //{ -                              //MidiDevice* dev = midiPorts[k].device(); -                              //if(dev && s == dev->name())  -                              if(md == dev)  -                              { -                                //pup->setItemEnabled(idx + 3, false); -                                //pup->setItemChecked(idx + 3, true); -                                pup->setItemChecked(idx, true); -                                //break; -                              }       -                            //} +                            act = pup->addAction(QT_TR_NOOP(md->name())); +                            act->setData(idx); +                            act->setCheckable(true); +                            act->setChecked(md == dev);                            }                            }                        }   -                      n = pup->exec(ppt, 0); -                      if(n == -1) +                      act = pup->exec(ppt); +                      if(!act)                        {                                delete pup;                          //break;                          return;                        } +                      n = act->data().toInt(); +                                              //printf("MPConfig::rbClicked n:%d\n", n);                        MidiDevice* sdev = 0;                        if(n < 0x10000000)                        {                          delete pup; -                        //if(n == 0)  // p3.3.55 -                        //  sdev = MidiJackDevice::createJackMidiDevice(QString(), 3); // 3:Readable/Writable. -                        //else -                        //if(n == 1) -                        //  sdev = MidiJackDevice::createJackMidiDevice(QString(), 2); // 2: Readable. -                        //else -                        //if(n == 2) -                        //  sdev = MidiJackDevice::createJackMidiDevice(QString(), 1); // 1:Writable.                          if(n <= 2)  // p3.3.55                          {                            sdev = MidiJackDevice::createJackMidiDevice();  @@ -630,7 +562,7 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)                          //if(n < 0x40000000)                            typ = MidiDevice::SYNTH_MIDI; -                        sdev = midiDevices.find(pup->text(n), typ); +                        sdev = midiDevices.find(act->text(), typ);                          delete pup;                          // Is it the current device? Reset it to <none>.                          if(sdev == dev) @@ -651,7 +583,7 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)                          //break;                          return;                    if (instrPopup == 0) -                        instrPopup = new Q3PopupMenu(this); +                        instrPopup = new QMenu(this);                    instrPopup->clear();                    for (iMidiInstrument i = midiInstruments.begin(); i                       != midiInstruments.end(); ++i)  @@ -663,13 +595,14 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)                          //  makes no sense for a non-synth device).                          SynthI* si = dynamic_cast<SynthI*>(*i);                          if(!si) -                          instrPopup->insertItem((*i)->iname()); +                          instrPopup->addAction((*i)->iname());                       } -                  n = instrPopup->exec(ppt, 0); -                  if (n == -1) -                        //break; -                        return; -                  QString s = instrPopup->text(n); +                   +                  QAction* act = instrPopup->exec(ppt, 0); +                  if(!act) +                    //break; +                    return; +                  QString s = act->text();                    item->setText(DEVCOL_INSTR, s);                    for (iMidiInstrument i = midiInstruments.begin(); i                       != midiInstruments.end(); ++i) { @@ -763,7 +696,7 @@ MPConfig::MPConfig(QWidget* parent, char* name)     : SynthConfigBase(parent, name)        {        _mptooltip = 0; -      popup      = 0; +      //popup      = 0;        instrPopup = 0;        _showAliases = -1; // 0: Show first aliases, if available. Nah, stick with -1: none at first. diff --git a/muse2/muse/confmport.h b/muse2/muse/confmport.h index 77683a3c..5a78bb74 100644 --- a/muse2/muse/confmport.h +++ b/muse2/muse/confmport.h @@ -9,18 +9,19 @@  #ifndef __CONFMPORT_H__  #define __CONFMPORT_H__ -#include <qwidget.h> -#include <q3whatsthis.h> -#include <qtooltip.h> +#include <QWidget> +#include <Q3WhatsThis> +#include <QToolTip>  //Added by qt3to4: -#include <Q3PopupMenu> +//#include <Q3PopupMenu>  #include "synthconfigbase.h"  class Q3ListView;  class Q3ListViewItem;  class QPoint; -class Q3PopupMenu; +//class Q3PopupMenu; +class QMenu;  class Q3Header;  class Xml; @@ -60,8 +61,8 @@ class MPWhatsThis : public Q3WhatsThis {  class MPConfig : public SynthConfigBase {        MPHeaderTip* _mptooltip; -      Q3PopupMenu* popup; -      Q3PopupMenu* instrPopup; +      //Q3PopupMenu* popup; +      QMenu* instrPopup;        int _showAliases; // -1: None. 0: First aliases. 1: Second aliases etc. | 
