From 227de591bde1d3df20ee716e749decff21ba6aeb Mon Sep 17 00:00:00 2001 From: Achim Settelmeier Date: Sun, 31 May 2009 01:44:48 +0200 Subject: [PATCH] Use midiPort's loadSettings()/saveSettings() API. Changed MidiControlListener to use the built-in API to save and restore the midiPort configuration instead and removed the old iterator. Signed-off-by: Tobias Doerffel --- include/midi_control_listener.h | 5 +++++ src/core/midi/midi_control_listener.cpp | 26 +++++++------------------ 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/include/midi_control_listener.h b/include/midi_control_listener.h index 059824929..63a1a6d38 100644 --- a/include/midi_control_listener.h +++ b/include/midi_control_listener.h @@ -134,6 +134,11 @@ public: m_controlKeyCount = 0; } + inline midiPort * getMidiPort( void ) + { + return &m_port; + } + private: static const QString configClass; static QDomElement s_configTree; diff --git a/src/core/midi/midi_control_listener.cpp b/src/core/midi/midi_control_listener.cpp index a7a4ae569..898028602 100644 --- a/src/core/midi/midi_control_listener.cpp +++ b/src/core/midi/midi_control_listener.cpp @@ -187,18 +187,10 @@ void MidiControlListener::saveConfiguration( QDomDocument & doc ) conf.setAttribute( "useControlKey", m_useControlKey ); conf.setAttribute( "channel", m_channel + 1 ); - // get subscribed MIDI device - midiPort::map map = m_port.readablePorts(); - for( midiPort::map::iterator it = map.begin(); - it != map.end(); ++it ) - { - if( it.value() ) - { - QDomElement device = doc.createElement( "device" ); - device.appendChild( doc.createTextNode( it.key() ) ); - conf.appendChild( device ); - } - } + // save MIDI device settings + QDomElement devices = doc.createElement( "devices" ); + confRoot.appendChild( devices ); + m_port.saveSettings( doc, devices ); // add key actions for( ActionMap::const_iterator it = m_actionMapKeys.begin(); @@ -306,14 +298,10 @@ void MidiControlListener::readConfiguration() m_useControlKey = false; } - for( QDomElement deviceNode = s_configTree.firstChildElement( "device" ); - !deviceNode.isNull(); - deviceNode = deviceNode.nextSiblingElement( "device" ) ) + QDomElement devicesNode = s_configTree.firstChildElement( "devices" ); + if( !devicesNode.isNull() ) { - if( deviceNode.text() != "" ) - { - m_port.subscribeReadablePort( deviceNode.text(), true ); - } + m_port.loadSettings( devicesNode ); } }