File use-QVector-instead-of-QList-for-track-lists.patch of Package kwave4

From ae4027d640d3297e78d8d0c87389aade128476a5 Mon Sep 17 00:00:00 2001
From: Thomas Eschenbacher <Thomas.Eschenbacher@gmx.de>
Date: Tue, 15 Oct 2019 00:14:11 +0200
Subject: [PATCH] use QVector<unsigned int> instead of QList<unsigned int> for
 track lists. This makes clang happy and is a more efficient container anyway.

---
 libgui/FilterPlugin.cpp                   |  2 +-
 libgui/OverViewCache.cpp                  |  4 +--
 libgui/OverViewCache.h                    |  2 +-
 libgui/SelectionTracker.cpp               |  2 +-
 libgui/SelectionTracker.h                 |  3 +-
 libkwave/ClipBoard.cpp                    |  2 +-
 libkwave/ClipBoard.h                      |  2 +-
 libkwave/MimeData.cpp                     |  8 ++---
 libkwave/MultiTrackReader.cpp             |  2 +-
 libkwave/MultiTrackReader.h               |  3 +-
 libkwave/MultiTrackWriter.cpp             |  6 ++--
 libkwave/MultiTrackWriter.h               |  5 ++--
 libkwave/PlaybackController.cpp           |  4 +--
 libkwave/Plugin.cpp                       |  6 ++--
 libkwave/Plugin.h                         |  5 ++--
 libkwave/Signal.cpp                       | 18 ++++++------
 libkwave/Signal.h                         |  3 +-
 libkwave/SignalManager.cpp                | 36 ++++++++++++-----------
 libkwave/SignalManager.h                  | 20 ++++++-------
 libkwave/undo/UndoDeleteAction.cpp        | 10 ++++---
 libkwave/undo/UndoDeleteAction.h          |  5 ++--
 libkwave/undo/UndoDeleteTrack.cpp         |  4 +--
 libkwave/undo/UndoInsertAction.cpp        | 10 ++++---
 libkwave/undo/UndoInsertAction.h          |  5 ++--
 libkwave/undo/UndoModifyAction.cpp        |  4 +--
 libkwave/undo/UndoSelection.cpp           |  4 +--
 libkwave/undo/UndoSelection.h             |  6 ++--
 plugins/amplifyfree/AmplifyFreePlugin.cpp |  2 +-
 plugins/codec_mp3/MP3EncoderDialog.cpp    |  2 +-
 plugins/debug/DebugPlugin.cpp             |  2 +-
 plugins/export_k3b/K3BExportPlugin.cpp    |  2 +-
 plugins/noise/NoisePlugin.cpp             |  2 +-
 plugins/normalize/NormalizePlugin.cpp     |  2 +-
 plugins/reverse/ReversePlugin.cpp         |  2 +-
 plugins/samplerate/SampleRatePlugin.cpp   |  2 +-
 plugins/sonagram/SonagramPlugin.cpp       |  4 +--
 plugins/volume/VolumePlugin.cpp           |  4 +--
 plugins/zero/ZeroPlugin.cpp               |  2 +-
 38 files changed, 110 insertions(+), 97 deletions(-)

diff --git a/libgui/FilterPlugin.cpp b/libgui/FilterPlugin.cpp
index 67004dd4..fa4593ce 100644
--- a/libgui/FilterPlugin.cpp
+++ b/libgui/FilterPlugin.cpp
@@ -96,7 +96,7 @@ void Kwave::FilterPlugin::run(QStringList params)
     if (!interpreteParameters(params)) m_params = params;
 
     sample_index_t first, last;
-    QList<unsigned int> tracks;
+    QVector<unsigned int> tracks;
     selection(&tracks, &first, &last, true);
 
     // switch to interactive mode in pre-listen mode
diff --git a/libgui/OverViewCache.cpp b/libgui/OverViewCache.cpp
index ac11e1a7..0a2aa59d 100644
--- a/libgui/OverViewCache.cpp
+++ b/libgui/OverViewCache.cpp
@@ -37,7 +37,7 @@
 Kwave::OverViewCache::OverViewCache(Kwave::SignalManager &signal,
                                     sample_index_t src_offset,
                                     sample_index_t src_length,
-                                    const QList<unsigned int> *src_tracks)
+				    const QVector<unsigned int> *src_tracks)
     :m_signal(signal),
      m_selection(&signal, src_offset, src_length, src_tracks),
      m_min(), m_max(), m_state(), m_minmax(),
@@ -272,7 +272,7 @@ int Kwave::OverViewCache::getMinMax(int width, MinMaxArray &minmax)
     if (minmax.count() < width) // truncated, OOM
 	width = minmax.count();
 
-    QList<unsigned int> track_list;
+    QVector<unsigned int> track_list;
     const QList<QUuid> selected_tracks = m_selection.allTracks();
     foreach (unsigned int track, m_signal.allTracks())
 	if (selected_tracks.contains(m_signal.uuidOfTrack(track)))
diff --git a/libgui/OverViewCache.h b/libgui/OverViewCache.h
index d0b547b2..c9e61bf2 100644
--- a/libgui/OverViewCache.h
+++ b/libgui/OverViewCache.h
@@ -73,7 +73,7 @@ namespace Kwave
 	OverViewCache(Kwave::SignalManager &signal,
 	              sample_index_t src_offset,
 	              sample_index_t src_length,
-	              const QList<unsigned int> *src_tracks);
+	              const QVector<unsigned int> *src_tracks);
 
 	/** Destructor */
 	virtual ~OverViewCache();
diff --git a/libgui/SelectionTracker.cpp b/libgui/SelectionTracker.cpp
index 98acfb23..ea02461c 100644
--- a/libgui/SelectionTracker.cpp
+++ b/libgui/SelectionTracker.cpp
@@ -28,7 +28,7 @@
 Kwave::SelectionTracker::SelectionTracker(Kwave::SignalManager *signal,
                                           sample_index_t offset,
                                           sample_index_t length,
-                                          const QList<unsigned int> *tracks)
+					  const QVector<unsigned int> *tracks)
     :m_signal(signal),
      m_offset(offset),
      m_length((length || !signal) ? length : signal->length()),
diff --git a/libgui/SelectionTracker.h b/libgui/SelectionTracker.h
index bdbf9b97..6de28b57 100644
--- a/libgui/SelectionTracker.h
+++ b/libgui/SelectionTracker.h
@@ -26,6 +26,7 @@
 #include <QtCore/QObject>
 #include <QtCore/QPointer>
 #include <QtCore/QUuid>
+#include <QtCore/QVector>
 
 #include "libkwave/Sample.h"
 #include "libkwave/SignalManager.h"
@@ -52,7 +53,7 @@ namespace Kwave
 	SelectionTracker(Kwave::SignalManager *signal,
 	                 sample_index_t offset,
 	                 sample_index_t length,
-	                 const QList<unsigned int> *tracks);
+	                 const QVector<unsigned int> *tracks);
 
 	/** Destructor */
 	virtual ~SelectionTracker();
diff --git a/libkwave/ClipBoard.cpp b/libkwave/ClipBoard.cpp
index bd88b541..cb245dfc 100644
--- a/libkwave/ClipBoard.cpp
+++ b/libkwave/ClipBoard.cpp
@@ -68,7 +68,7 @@ void Kwave::ClipBoard::slotChanged(QClipboard::Mode mode)
 //***************************************************************************
 void Kwave::ClipBoard::copy(QWidget *widget,
                             Kwave::SignalManager &signal_manager,
-                            const QList<unsigned int> &track_list,
+                            const QVector<unsigned int> &track_list,
                             sample_index_t offset, sample_index_t length)
 {
     // break if nothing to do
diff --git a/libkwave/ClipBoard.h b/libkwave/ClipBoard.h
index 75198e3a..ada5d5ba 100644
--- a/libkwave/ClipBoard.h
+++ b/libkwave/ClipBoard.h
@@ -64,7 +64,7 @@ namespace Kwave
 	 * @param length number of samples
 	 */
 	void copy(QWidget *widget, Kwave::SignalManager &signal_manager,
-	          const QList<unsigned int> &track_list,
+		  const QVector<unsigned int> &track_list,
 	          sample_index_t offset, sample_index_t length);
 
 	/**
diff --git a/libkwave/MetaDataList.cpp b/libkwave/MetaDataList.cpp
--- a/libkwave/MetaDataList.cpp
+++ b/libkwave/MetaDataList.cpp
@@ -630,7 +630,7 @@
 
 //***************************************************************************
 void Kwave::MetaDataList::shiftLeft(sample_index_t offset, sample_index_t shift,
-                                    const QList<unsigned int> &tracks)
+                                    const QVector<unsigned int> &tracks)
 {
     MutableIterator it(*this);
     while (it.hasNext()) {
@@ -730,7 +730,7 @@
 
 //***************************************************************************
 void Kwave::MetaDataList::shiftRight(sample_index_t offset, sample_index_t shift,
-                                     const QList<unsigned int> &tracks)
+                                     const QVector<unsigned int> &tracks)
 {
     MutableIterator it(*this);
     it.toBack();
@@ -834,7 +834,7 @@
 
 //***************************************************************************
 void Kwave::MetaDataList::scalePositions(double scale,
-                                         const QList<unsigned int> &tracks)
+                                         const QVector<unsigned int> &tracks)
 {
     MutableIterator it(*this);
     while (it.hasNext()) {
diff --git a/libkwave/MetaDataList.h b/libkwave/MetaDataList.h
--- a/libkwave/MetaDataList.h
+++ b/libkwave/MetaDataList.h
@@ -25,6 +25,7 @@
 #include <QtCore/QVariant>
 #include <QtCore/QMapIterator>
 #include <QtCore/QMutableMapIterator>
+#include <QtCore/QVector>
 
 #include <kdemacros.h>
 
@@ -260,7 +260,7 @@
 	virtual void shiftLeft(
 	    sample_index_t offset,
 	    sample_index_t shift,
-	    const QList<unsigned int> &tracks
+	    const QVector<unsigned int> &tracks
 	);
 
 	/**
@@ -274,7 +274,7 @@
 	virtual void shiftRight(
 	    sample_index_t offset,
 	    sample_index_t shift,
-	    const QList<unsigned int> &tracks
+	    const QVector<unsigned int> &tracks
 	);
 
 	/**
@@ -285,7 +285,7 @@
 	 */
 	virtual void scalePositions(
 	    double scale,
-	    const QList<unsigned int> &tracks
+	    const QVector<unsigned int> &tracks
 	);
 
 	/**
diff --git a/libkwave/MimeData.cpp b/libkwave/MimeData.cpp
index 6dc2c3f1..95a59cf6 100644
--- a/libkwave/MimeData.cpp
+++ b/libkwave/MimeData.cpp
@@ -201,7 +201,7 @@
     Kwave::MetaDataList new_meta_data = meta_data.selectByRange(first, last);
 
     // move all meta data left, to start at the beginning of the selection
-    new_meta_data.shiftLeft(first, first, QList<unsigned int>());
+    new_meta_data.shiftLeft(first, first, QVector<unsigned int>());
 
     // fix the length information in the new file info
     // and change to uncompressed mode
@@ -281,7 +281,7 @@ sample_index_t Kwave::MimeData::decode(QWidget *widget, const QMimeData *e,
 
 	sample_index_t left  = pos;
 	sample_index_t right = left + decoded_length - 1;
-	QList<unsigned int> tracks = sig.selectedTracks();
+	QVector<unsigned int> tracks = sig.selectedTracks();
 	if (tracks.isEmpty()) tracks = sig.allTracks();
 
 	// special case: destination is currently empty
diff --git a/libkwave/MultiTrackReader.cpp b/libkwave/MultiTrackReader.cpp
index aedce6bb..24d58cce 100644
--- a/libkwave/MultiTrackReader.cpp
+++ b/libkwave/MultiTrackReader.cpp
@@ -32,7 +32,7 @@ Kwave::MultiTrackReader::MultiTrackReader()
 //***************************************************************************
 Kwave::MultiTrackReader::MultiTrackReader(Kwave::ReaderMode mode,
                                           Kwave::SignalManager &signal_manager,
-                                          const QList<unsigned int> &track_list,
+					  const QVector<unsigned int> &track_list,
                                           sample_index_t first,
                                           sample_index_t last)
     :Kwave::MultiTrackSource<Kwave::SampleReader, false>(0),
diff --git a/libkwave/MultiTrackReader.h b/libkwave/MultiTrackReader.h
index 5de02956..af4f3c59 100644
--- a/libkwave/MultiTrackReader.h
+++ b/libkwave/MultiTrackReader.h
@@ -23,6 +23,7 @@
 
 #include <QtCore/QObject>
 #include <QtCore/QList>
+#include <QVector>
 
 #include <kdemacros.h>
 
@@ -59,7 +60,7 @@ namespace Kwave
 	 */
 	MultiTrackReader(Kwave::ReaderMode mode,
 	                Kwave::SignalManager &signal_manager,
-	                const QList<unsigned int> &track_list,
+	                const QVector<unsigned int> &track_list,
 	                sample_index_t first, sample_index_t last);
 
 	/** Destructor */
diff --git a/libkwave/MultiTrackWriter.cpp b/libkwave/MultiTrackWriter.cpp
index e875f445..8adaad36 100644
--- a/libkwave/MultiTrackWriter.cpp
+++ b/libkwave/MultiTrackWriter.cpp
@@ -35,7 +35,7 @@ Kwave::MultiTrackWriter::MultiTrackWriter()
 
 //***************************************************************************
 Kwave::MultiTrackWriter::MultiTrackWriter(Kwave::SignalManager &signal_manager,
-                                          const QList<unsigned int> &track_list,
+					  const QVector<unsigned int> &track_list,
                                           Kwave::InsertMode mode,
                                           sample_index_t left,
                                           sample_index_t right)
@@ -52,7 +52,7 @@ Kwave::MultiTrackWriter::MultiTrackWriter(Kwave::SignalManager &signal_manager,
                                           Kwave::InsertMode mode)
     :Kwave::MultiWriter()
 {
-    QList<unsigned int> track_list = signal_manager.selectedTracks();
+    QVector<unsigned int> track_list = signal_manager.selectedTracks();
     sample_index_t left = 0;
     sample_index_t right = 0;
 
@@ -82,7 +82,7 @@ Kwave::MultiTrackWriter::~MultiTrackWriter()
 
 //***************************************************************************
 bool Kwave::MultiTrackWriter::init(Kwave::SignalManager &signal_manager,
-                                   const QList<unsigned int> &track_list,
+				   const QVector<unsigned int> &track_list,
                                    Kwave::InsertMode mode,
                                    sample_index_t left,
                                    sample_index_t right)
diff --git a/libkwave/MultiTrackWriter.h b/libkwave/MultiTrackWriter.h
index df3c3086..950f7260 100644
--- a/libkwave/MultiTrackWriter.h
+++ b/libkwave/MultiTrackWriter.h
@@ -23,6 +23,7 @@
 
 #include <QtCore/QObject>
 #include <QtCore/QList>
+#include <QtCore/QVector>
 
 #include <kdemacros.h>
 
@@ -56,7 +57,7 @@ namespace Kwave
 	 * @param right index of the last sample
 	 */
 	MultiTrackWriter(Kwave::SignalManager &signal_manager,
-	                 const QList<unsigned int> &track_list,
+	                 const QVector<unsigned int> &track_list,
 	                 Kwave::InsertMode mode,
 	                 sample_index_t left, sample_index_t right);
 
@@ -87,7 +88,7 @@ namespace Kwave
 	 * @internal
 	 */
 	bool init(Kwave::SignalManager &signal_manager,
-	          const QList<unsigned int> &track_list,
+	          const QVector<unsigned int> &track_list,
 	          Kwave::InsertMode mode,
 	          sample_index_t left, sample_index_t right);
 
diff --git a/libkwave/PlaybackController.cpp b/libkwave/PlaybackController.cpp
index 6886268e..36c36838 100644
--- a/libkwave/PlaybackController.cpp
+++ b/libkwave/PlaybackController.cpp
@@ -405,9 +405,9 @@ void Kwave::PlaybackController::run_wrapper(const QVariant &params)
     sample_index_t last       = m_playback_end;
     unsigned int out_channels = m_playback_params.channels;
 
-    QList<unsigned int> all_tracks = m_signal_manager.allTracks();
+    QVector<unsigned int> all_tracks = m_signal_manager.allTracks();
     unsigned int tracks = all_tracks.count();
-    QList<unsigned int> audible_tracks = m_signal_manager.selectedTracks();
+    QVector<unsigned int> audible_tracks = m_signal_manager.selectedTracks();
     unsigned int audible_count = audible_tracks.count();
 
     // get the list of selected channels
diff --git a/libkwave/Plugin.cpp b/libkwave/Plugin.cpp
index b9f1d004..a54ba2ff 100644
--- a/libkwave/Plugin.cpp
+++ b/libkwave/Plugin.cpp
@@ -153,7 +153,7 @@ int Kwave::Plugin::start(QStringList &)
     // set up the progress dialog when in processing (not pre-listen) mode
     if (m_progress_enabled && m_progress) {
 	sample_index_t first, last;
-	QList<unsigned int> tracks;
+	QVector<unsigned int> tracks;
 
 	selection(&tracks, &first, &last, true);
 	m_progress->setModal(true);
@@ -455,13 +455,13 @@ double Kwave::Plugin::signalRate()
 }
 
 //***************************************************************************
-const QList<unsigned int> Kwave::Plugin::selectedTracks()
+const QVector<unsigned int> Kwave::Plugin::selectedTracks()
 {
     return signalManager().selectedTracks();
 }
 
 //***************************************************************************
-sample_index_t Kwave::Plugin::selection(QList<unsigned int> *tracks,
+sample_index_t Kwave::Plugin::selection(QVector<unsigned int> *tracks,
                                         sample_index_t *left,
                                         sample_index_t *right,
                                         bool expand_if_empty)
diff --git a/libkwave/Plugin.h b/libkwave/Plugin.h
index ef944c84..7560653b 100644
--- a/libkwave/Plugin.h
+++ b/libkwave/Plugin.h
@@ -26,6 +26,7 @@
 #include <QtCore/QString>
 #include <QtCore/QThread>
 #include <QtCore/QTimer>
+#include <QtCore/QVector>
 
 #include <kdemacros.h>
 
@@ -209,7 +210,7 @@ namespace Kwave
 	/**
 	 * Returns an array of indices of currently selected channels.
 	 */
-	virtual const QList<unsigned int> selectedTracks();
+	virtual const QVector<unsigned int> selectedTracks();
 
 	/**
 	 * Returns the left and right sample index of the current selection
@@ -229,7 +230,7 @@ namespace Kwave
 	 * @return the number of selected samples (right-left+1) [1..length]
 	 */
 	virtual sample_index_t selection(
-	    QList<unsigned int> *tracks = 0,
+	    QVector<unsigned int> *tracks = 0,
 	    sample_index_t *left = 0, sample_index_t *right=0,
 	    bool expand_if_empty = false);
 
diff --git a/libkwave/Signal.cpp b/libkwave/Signal.cpp
index 626f0f59..b3007edf 100644
--- a/libkwave/Signal.cpp
+++ b/libkwave/Signal.cpp
@@ -86,17 +86,17 @@ Kwave::Track *Kwave::Signal::insertTrack(unsigned int index,
 	m_tracks.insert(index, t);
 
 	// connect to the new track's signals
-	connect(t, SIGNAL(sigSamplesDeleted(Kwave::Track *, sample_index_t,
+	connect(t, SIGNAL(sigSamplesDeleted(Kwave::Track*, sample_index_t,
 	    sample_index_t)),
-	    this, SLOT(slotSamplesDeleted(Kwave::Track *, sample_index_t,
+	    this, SLOT(slotSamplesDeleted(Kwave::Track*, sample_index_t,
 	    sample_index_t)));
-	connect(t, SIGNAL(sigSamplesInserted(Kwave::Track *, sample_index_t,
+	connect(t, SIGNAL(sigSamplesInserted(Kwave::Track*, sample_index_t,
 	    sample_index_t)),
-	    this, SLOT(slotSamplesInserted(Kwave::Track *, sample_index_t,
+	    this, SLOT(slotSamplesInserted(Kwave::Track*, sample_index_t,
 	    sample_index_t)));
-	connect(t, SIGNAL(sigSamplesModified(Kwave::Track *, sample_index_t,
+	connect(t, SIGNAL(sigSamplesModified(Kwave::Track*, sample_index_t,
 	    sample_index_t)),
-	    this, SLOT(slotSamplesModified(Kwave::Track *, sample_index_t,
+	    this, SLOT(slotSamplesModified(Kwave::Track*, sample_index_t,
 	    sample_index_t)));
 
 	connect(t, SIGNAL(sigSelectionChanged(bool)),
@@ -203,13 +203,13 @@ bool Kwave::Signal::mergeStripes(const Kwave::Stripe::List &stripes,
 }
 
 //***************************************************************************
-QList<unsigned int> Kwave::Signal::allTracks()
+QVector<unsigned int> Kwave::Signal::allTracks()
 {
     unsigned int track;
     unsigned int tracks = this->tracks();
-    QList<unsigned int> list;
+    QVector<unsigned int> list;
 
-    for (track=0; track < tracks; track++) {
+    for (track = 0; track < tracks; track++) {
 	list.append(track);
     }
 
diff --git a/libkwave/Signal.h b/libkwave/Signal.h
index ee49ffe4..2d9ec77a 100644
--- a/libkwave/Signal.h
+++ b/libkwave/Signal.h
@@ -26,6 +26,7 @@
 #include <QtCore/QReadWriteLock>
 #include <QtCore/QList>
 #include <QtCore/QUuid>
+#include <QtCore/QVector>
 
 #include <kdemacros.h>
 
@@ -106,7 +107,7 @@ namespace Kwave
 	/**
 	 * Returns an array of indices of all present tracks.
 	 */
-	QList<unsigned int> allTracks();
+	QVector<unsigned int> allTracks();
 
 	/**
 	 * Opens an output stream for a track, starting at a specified sample
diff --git a/libkwave/SignalManager.cpp b/libkwave/SignalManager.cpp
index 4b624423..bf95b4e0 100644
--- a/libkwave/SignalManager.cpp
+++ b/libkwave/SignalManager.cpp
@@ -28,6 +28,7 @@
 #include <QtCore/QFileInfo>
 #include <QtCore/QMutexLocker>
 #include <QtCore/QMutableListIterator>
+#include <QtCore/QVector>
 
 #include <kaboutdata.h>
 #include <kapplication.h>
@@ -596,9 +597,9 @@ QString Kwave::SignalManager::signalName()
 }
 
 //***************************************************************************
-const QList<unsigned int> Kwave::SignalManager::selectedTracks()
+const QVector<unsigned int> Kwave::SignalManager::selectedTracks()
 {
-    QList<unsigned int> list;
+    QVector<unsigned int> list;
     const unsigned int tracks = this->tracks();
 
     for (unsigned int track = 0; track < tracks; track++) {
@@ -610,7 +611,7 @@ const QList<unsigned int> Kwave::SignalManager::selectedTracks()
 }
 
 //***************************************************************************
-const QList<unsigned int> Kwave::SignalManager::allTracks()
+const QVector<unsigned int> Kwave::SignalManager::allTracks()
 {
     return m_signal.allTracks();
 }
@@ -692,7 +693,7 @@ int Kwave::SignalManager::executeCommand(const QString &command)
 	    Kwave::UndoTransactionGuard undo(*this, i18n("Crop"));
 	    sample_index_t rest = this->length() - offset;
 	    rest = (rest > length) ? (rest-length) : 0;
-	    QList<unsigned int> tracks = selectedTracks();
+	    QVector<unsigned int> tracks = selectedTracks();
 	    if (saveUndoDelete(tracks, offset+length, rest) &&
 		saveUndoDelete(tracks, 0, offset))
 	    {
@@ -1028,7 +1029,7 @@ void Kwave::SignalManager::slotSamplesInserted(unsigned int track,
     setModified(true);
 
     // only adjust the meta data once per operation
-    QList<unsigned int> tracks = selectedTracks();
+    QVector<unsigned int> tracks = selectedTracks();
     if (track == tracks[0]) {
 	m_meta_data.shiftRight(offset, length, tracks);
     }
@@ -1051,7 +1052,7 @@ void Kwave::SignalManager::slotSamplesDeleted(unsigned int track,
     setModified(true);
 
     // only adjust the meta data once per operation
-    QList<unsigned int> tracks = selectedTracks();
+    QVector<unsigned int> tracks = selectedTracks();
     if (track == tracks[0]) {
 	m_meta_data.shiftLeft(offset, length, tracks);
     }
@@ -1074,7 +1075,8 @@ void Kwave::SignalManager::slotSamplesModified(unsigned int track,
 
 //***************************************************************************
 bool Kwave::SignalManager::deleteRange(sample_index_t offset,
-    sample_index_t length, const QList<unsigned int> &track_list)
+				       sample_index_t length,
+				       const QVector<unsigned int> &track_list)
 {
     if (!length || track_list.isEmpty()) return true; // nothing to do
 
@@ -1122,7 +1124,7 @@ bool Kwave::SignalManager::deleteRange(sample_index_t offset,
 //***************************************************************************
 bool Kwave::SignalManager::insertSpace(sample_index_t offset,
                                        sample_index_t length,
-                                       const QList<unsigned int> &track_list)
+				       const QVector<unsigned int> &track_list)
 {
     if (!length) return true; // nothing to do
     Kwave::UndoTransactionGuard undo(*this, i18n("Insert Space"));
@@ -1159,7 +1161,7 @@ void Kwave::SignalManager::selectRange(sample_index_t offset,
 }
 
 //***************************************************************************
-void Kwave::SignalManager::selectTracks(QList<unsigned int> &track_list)
+void Kwave::SignalManager::selectTracks(QVector<unsigned int> &track_list)
 {
     unsigned int track;
     unsigned int n_tracks = tracks();
@@ -1183,7 +1185,7 @@ void Kwave::SignalManager::selectTrack(unsigned int track, bool select)
 
 //***************************************************************************
 QList<Kwave::Stripe::List> Kwave::SignalManager::stripes(
-    const QList<unsigned int> &track_list,
+    const QVector<unsigned int> &track_list,
     sample_index_t left, sample_index_t right)
 {
     QList<Kwave::Stripe::List> stripes;
@@ -1203,17 +1205,17 @@ QList<Kwave::Stripe::List> Kwave::SignalManager::stripes(
 //***************************************************************************
 bool Kwave::SignalManager::mergeStripes(
     const QList<Kwave::Stripe::List> &stripes,
-    const QList<unsigned int> &track_list)
+    const QVector<unsigned int> &track_list)
 {
     Q_ASSERT(stripes.count() == track_list.count());
     if (stripes.count() != track_list.count())
 	return false;
 
     QListIterator<Kwave::Stripe::List> it_s(stripes);
-    QListIterator<unsigned int>        it_t(track_list);
-    while (it_s.hasNext() && it_t.hasNext()) {
+    QVector<unsigned int>::const_iterator it_t = track_list.constBegin();
+    while (it_s.hasNext() && (it_t != track_list.constEnd())) {
 	Kwave::Stripe::List s = it_s.next();
-	unsigned int        t = it_t.next();
+	unsigned int        t = *(it_t++);
 	if (!m_signal.mergeStripes(s, t))
 	    return false; // operation failed
     }
@@ -1482,7 +1484,7 @@ bool Kwave::SignalManager::registerUndoAction(Kwave::UndoAction *action)
 }
 
 //***************************************************************************
-bool Kwave::SignalManager::saveUndoDelete(QList<unsigned int> &track_list,
+bool Kwave::SignalManager::saveUndoDelete(QVector<unsigned int> &track_list,
                                           sample_index_t offset,
                                           sample_index_t length)
 {
@@ -1664,7 +1666,7 @@ void Kwave::SignalManager::undo()
     // for this selection change at the end of the redo transaction
     if (redo_transaction) {
 	bool range_modified = !(m_selection == m_last_selection);
-	QList<unsigned int> tracks = selectedTracks();
+	QVector<unsigned int> tracks = selectedTracks();
 	bool tracks_modified = !(tracks == m_last_track_selection);
 	if (range_modified || tracks_modified) {
 	    UndoAction *redo_action = new(std::nothrow) Kwave::UndoSelection(
@@ -1992,7 +1997,7 @@ void Kwave::SignalManager::checkSelectionChange()
     bool range_modified = !(m_selection == m_last_selection);
 
     // detect track selection change
-    QList<unsigned int> tracks = selectedTracks();
+    QVector<unsigned int> tracks = selectedTracks();
     bool tracks_modified = !(tracks == m_last_track_selection);
 
     if (range_modified || tracks_modified) {
diff --git a/libkwave/SignalManager.h b/libkwave/SignalManager.h
index c970dc22..a20487c6 100644
--- a/libkwave/SignalManager.h
+++ b/libkwave/SignalManager.h
@@ -156,12 +156,12 @@ namespace Kwave
 	/**
 	 * Returns an array of indices of currently selected tracks.
 	 */
-	const QList<unsigned int> selectedTracks();
+	const QVector<unsigned int> selectedTracks();
 
 	/**
 	 * Returns an array of indices of all present tracks.
 	 */
-	const QList<unsigned int> allTracks();
+	const QVector<unsigned int> allTracks();
 
 	/**
 	 * Saves the signal to a file with a given resolution. If the file
@@ -181,7 +181,7 @@ namespace Kwave
 	 *         memory for undo
 	 */
 	bool deleteRange(sample_index_t offset, sample_index_t length,
-	                 const QList<unsigned int> &track_list);
+			 const QVector<unsigned int> &track_list);
 
 	/**
 	 * Deletes a range of samples and creates an undo action. Same as
@@ -202,7 +202,7 @@ namespace Kwave
 	 *         memory for undo
 	 */
 	bool insertSpace(sample_index_t offset, sample_index_t length,
-	                 const QList<unsigned int> &track_list);
+			 const QVector<unsigned int> &track_list);
 
 	/**
 	 * Sets the current start and length of the selection to new values.
@@ -233,9 +233,9 @@ namespace Kwave
 
 	/**
 	 * Selects multiple tracks, all other tracks will be disabled.
-	 * @param track_list list od track indices
+	 * @param track_list list of track indices
 	 */
-	void selectTracks(QList<unsigned int> &track_list);
+	void selectTracks(QVector<unsigned int> &track_list);
 
 	/**
 	 * Sets the selection flag of a track.
@@ -289,7 +289,7 @@ namespace Kwave
 	 *         between left and right
 	 */
 	QList<Kwave::Stripe::List> stripes(
-	    const QList<unsigned int> &track_list,
+	    const QVector<unsigned int> &track_list,
 	    sample_index_t left = 0,
 	    sample_index_t right = SAMPLE_INDEX_MAX);
 
@@ -301,7 +301,7 @@ namespace Kwave
 	 * @return true if succeeded, false if failed
 	 */
 	bool mergeStripes(const QList<Kwave::Stripe::List> &stripes,
-	                  const QList<unsigned int> &track_list);
+			  const QVector<unsigned int> &track_list);
 
 	/** Returns a reference to the undo manager */
 	inline Kwave::UndoManager &undoManager() { return m_undo_manager; }
@@ -619,7 +619,7 @@ namespace Kwave
 	 * @param length number of samples to delete
 	 * @return true if successful, false if out of memory or aborted
 	 */
-	bool saveUndoDelete(QList<unsigned int> &track_list,
+	bool saveUndoDelete(QVector<unsigned int> &track_list,
 	                    sample_index_t offset, sample_index_t length);
 
 	/**
@@ -725,7 +725,7 @@ namespace Kwave
 	Kwave::Selection m_last_selection;
 
 	/** the last track selection (stored in undo) */
-	QList <unsigned int> m_last_track_selection;
+	QVector <unsigned int> m_last_track_selection;
 
 	/**
 	 * Last known length of the signal. This will be used if a track is
diff --git a/libkwave/undo/UndoDeleteAction.cpp b/libkwave/undo/UndoDeleteAction.cpp
index e17e09dc..44371969 100644
--- a/libkwave/undo/UndoDeleteAction.cpp
+++ b/libkwave/undo/UndoDeleteAction.cpp
@@ -29,10 +29,12 @@
 #include "libkwave/undo/UndoInsertAction.h"
 
 //***************************************************************************
-Kwave::UndoDeleteAction::UndoDeleteAction(QWidget *parent_widget,
-                                          const QList<unsigned int> &track_list,
-                                          sample_index_t offset,
-                                          sample_index_t length)
+Kwave::UndoDeleteAction::UndoDeleteAction(
+    QWidget *parent_widget,
+    const QVector<unsigned int> &track_list,
+    sample_index_t offset,
+    sample_index_t length
+)
     :Kwave::UndoAction(),
      m_parent_widget(parent_widget),
      m_stripes(), m_meta_data(),
diff --git a/libkwave/undo/UndoDeleteAction.h b/libkwave/undo/UndoDeleteAction.h
index 57204604..76bb2ead 100644
--- a/libkwave/undo/UndoDeleteAction.h
+++ b/libkwave/undo/UndoDeleteAction.h
@@ -22,6 +22,7 @@
 
 #include <QtCore/QList>
 #include <QtCore/QString>
+#include <QtCore/QVector>
 
 #include "libkwave/MetaDataList.h"
 #include "libkwave/Sample.h"
@@ -48,7 +49,7 @@ namespace Kwave
 	 * @param length number of samples to delete
 	 */
 	UndoDeleteAction(QWidget *parent_widget,
-	                 const QList<unsigned int> &track_list,
+			 const QVector<unsigned int> &track_list,
 	                 sample_index_t offset, sample_index_t length);
 
 	/** Destructor */
@@ -93,7 +94,7 @@ namespace Kwave
 	Kwave::MetaDataList m_meta_data;
 
 	/** list of affected tracks */
-	QList<unsigned int> m_track_list;
+	QVector<unsigned int> m_track_list;
 
 	/** first deleted sample */
 	sample_index_t m_offset;
diff --git a/libkwave/undo/UndoDeleteTrack.cpp b/libkwave/undo/UndoDeleteTrack.cpp
index 4dec6eeb..6fac12a4 100644
--- a/libkwave/undo/UndoDeleteTrack.cpp
+++ b/libkwave/undo/UndoDeleteTrack.cpp
@@ -63,7 +63,7 @@ bool Kwave::UndoDeleteTrack::store(Kwave::SignalManager &manager)
     if (!m_length) return true; // shortcut: this is an empty action
 
     // fork off a multi track stripe list for the selected range
-    QList<unsigned int> track_list;
+    QVector<unsigned int> track_list;
     track_list.append(m_track);
     m_stripes = manager.stripes(track_list, 0, m_length - 1);
     if (m_stripes.isEmpty())
@@ -90,7 +90,7 @@ Kwave::UndoAction *Kwave::UndoDeleteTrack::undo(Kwave::SignalManager &manager,
     m_signal.insertTrack(m_track, m_length, &m_uuid);
 
     // merge the stripes back into the signal
-    QList<unsigned int> track_list;
+    QVector<unsigned int> track_list;
     track_list.append(m_track);
     if (!manager.mergeStripes(m_stripes, track_list)) {
 	qWarning("UndoDeleteTrack::undo() FAILED [mergeStripes]");
diff --git a/libkwave/undo/UndoInsertAction.cpp b/libkwave/undo/UndoInsertAction.cpp
index efae09c1..dafb7fbc 100644
--- a/libkwave/undo/UndoInsertAction.cpp
+++ b/libkwave/undo/UndoInsertAction.cpp
@@ -27,10 +27,12 @@
 #include "libkwave/undo/UndoInsertAction.h"
 
 //***************************************************************************
-Kwave::UndoInsertAction::UndoInsertAction(QWidget *parent_widget,
-                                          const QList<unsigned int> &track_list,
-                                          sample_index_t offset,
-                                          sample_index_t length)
+Kwave::UndoInsertAction::UndoInsertAction(
+    QWidget *parent_widget,
+    const QVector<unsigned int> &track_list,
+    sample_index_t offset,
+    sample_index_t length
+)
     :QObject(), UndoAction(),
      m_parent_widget(parent_widget),
      m_track_list(track_list),
diff --git a/libkwave/undo/UndoInsertAction.h b/libkwave/undo/UndoInsertAction.h
index c00b5949..36393980 100644
--- a/libkwave/undo/UndoInsertAction.h
+++ b/libkwave/undo/UndoInsertAction.h
@@ -23,6 +23,7 @@
 #include <QtCore/QList>
 #include <QtCore/QObject>
 #include <QtCore/QString>
+#include <QtCore/QVector>
 
 #include "libkwave/Sample.h"
 #include "libkwave/undo/UndoAction.h"
@@ -48,7 +49,7 @@ namespace Kwave
 	 * @param length number of inserted samples
 	 */
 	UndoInsertAction(QWidget *parent_widget,
-	                 const QList<unsigned int> &track_list,
+			 const QVector<unsigned int> &track_list,
 	                 sample_index_t offset,
 	                 sample_index_t length);
 
@@ -93,7 +94,7 @@ namespace Kwave
 	QWidget *m_parent_widget;
 
 	/** list of affected tracks */
-	QList<unsigned int> m_track_list;
+	QVector<unsigned int> m_track_list;
 
 	/** first sample */
 	sample_index_t m_offset;
diff --git a/libkwave/undo/UndoModifyAction.cpp b/libkwave/undo/UndoModifyAction.cpp
index 640ebb53..b54415b7 100644
--- a/libkwave/undo/UndoModifyAction.cpp
+++ b/libkwave/undo/UndoModifyAction.cpp
@@ -57,7 +57,7 @@ bool Kwave::UndoModifyAction::store(Kwave::SignalManager &manager)
     if (!m_length) return true; // shortcut: this is an empty action
 
     // fork off a multi track stripe list for the selected range
-    QList<unsigned int> track_list;
+    QVector<unsigned int> track_list;
     track_list.append(m_track);
     const sample_index_t left  = m_offset;
     const sample_index_t right = m_offset + m_length - 1;
@@ -75,7 +75,7 @@ Kwave::UndoAction *Kwave::UndoModifyAction::undo(
     const sample_index_t left  = m_offset;
     const sample_index_t right = m_offset + m_length - 1;
     QList<Kwave::Stripe::List> redo_data;
-    QList<unsigned int> track_list;
+    QVector<unsigned int> track_list;
     track_list.append(m_track);
     bool ok = true;
 
diff --git a/libkwave/undo/UndoSelection.cpp b/libkwave/undo/UndoSelection.cpp
index 026ebea4..0ebf46fe 100644
--- a/libkwave/undo/UndoSelection.cpp
+++ b/libkwave/undo/UndoSelection.cpp
@@ -31,7 +31,7 @@ Kwave::UndoSelection::UndoSelection(Kwave::SignalManager &manager)
 
 //***************************************************************************
 Kwave::UndoSelection::UndoSelection(Kwave::SignalManager &manager,
-                                    QList<unsigned int> selected_tracks,
+                                    QVector<unsigned int> selected_tracks,
                                     sample_index_t offset,
                                     sample_index_t length)
     :UndoAction(),
@@ -82,7 +82,7 @@ Kwave::UndoAction *Kwave::UndoSelection::undo(Kwave::SignalManager &manager,
     // store current selection for later redo
     sample_index_t old_offset = manager.selection().offset();
     sample_index_t old_length = manager.selection().length();
-    QList<unsigned int> old_selected_tracks = manager.selectedTracks();
+    QVector<unsigned int> old_selected_tracks = manager.selectedTracks();
 
     // restore the previous selection
     manager.selectRange(m_offset, m_length);
diff --git a/libkwave/undo/UndoSelection.h b/libkwave/undo/UndoSelection.h
index 4361b77a..e9a890bf 100644
--- a/libkwave/undo/UndoSelection.h
+++ b/libkwave/undo/UndoSelection.h
@@ -20,7 +20,7 @@
 #define UNDO_SELECTION_H
 
 #include "config.h"
-#include <QtCore/QList>
+#include <QtCore/QVector>
 
 #include "libkwave/Sample.h"
 #include "libkwave/undo/UndoAction.h"
@@ -53,7 +53,7 @@ namespace Kwave
 	 * @param length number of selected samples
 	 */
 	UndoSelection(Kwave::SignalManager &manager,
-	              QList<unsigned int> selected_tracks,
+	              QVector<unsigned int> selected_tracks,
 	              sample_index_t offset,
 	              sample_index_t length);
 
@@ -94,7 +94,7 @@ namespace Kwave
 	sample_index_t m_length;
 
 	/** Array with indices of selected tracks. */
-	QList<unsigned int> m_selected_tracks;
+	QVector<unsigned int> m_selected_tracks;
 
     };
 }
diff --git a/plugins/amplifyfree/AmplifyFreePlugin.cpp b/plugins/amplifyfree/AmplifyFreePlugin.cpp
index 79fb55ff..f8c19382 100644
--- a/plugins/amplifyfree/AmplifyFreePlugin.cpp
+++ b/plugins/amplifyfree/AmplifyFreePlugin.cpp
@@ -138,7 +138,7 @@ int Kwave::AmplifyFreePlugin::start(QStringList &params)
 void Kwave::AmplifyFreePlugin::run(QStringList params)
 {
     sample_index_t first, last;
-    QList<unsigned int> track_list;
+    QVector<unsigned int> track_list;
 
     interpreteParameters(params);
 
diff --git a/plugins/codec_mp3/MP3EncoderDialog.cpp b/plugins/codec_mp3/MP3EncoderDialog.cpp
index 8d2351e2..f098d0a3 100644
--- a/plugins/codec_mp3/MP3EncoderDialog.cpp
+++ b/plugins/codec_mp3/MP3EncoderDialog.cpp
@@ -608,7 +608,7 @@ void Kwave::MP3EncoderDialog::testSettings()
     meta_data.replace(Kwave::MetaDataList(info));
 
     // create a multi track reader
-    QList<unsigned int> track_list;
+    QVector<unsigned int> track_list;
     track_list.append(0);
     track_list.append(1);
     sample_index_t first = 0;
diff --git a/plugins/debug/DebugPlugin.cpp b/plugins/debug/DebugPlugin.cpp
index bf81b7d1..f242fe46 100644
--- a/plugins/debug/DebugPlugin.cpp
+++ b/plugins/debug/DebugPlugin.cpp
@@ -306,7 +306,7 @@ void Kwave::DebugPlugin::run(QStringList params)
 
 	// and use only the new track as target
 	last = signalLength() - 1;
-	QList<unsigned int> track_list;
+	QVector<unsigned int> track_list;
 	track_list.append(sig.tracks() - 1);
 	writers = new Kwave::MultiTrackWriter(sig, track_list,
 	                                      Kwave::Overwrite, 0, last);
diff --git a/plugins/noise/NoisePlugin.cpp b/plugins/noise/NoisePlugin.cpp
index 8b98bd63..344967f5 100644
--- a/plugins/noise/NoisePlugin.cpp
+++ b/plugins/noise/NoisePlugin.cpp
@@ -81,7 +81,7 @@ Kwave::PluginSetupDialog *Kwave::NoisePlugin::createDialog(QWidget *parent)
 
     // initialize the overview cache
     Kwave::SignalManager &mgr = manager().signalManager();
-    QList<unsigned int> tracks;
+    QVector<unsigned int> tracks;
     sample_index_t first, last;
     sample_index_t length = selection(&tracks, &first, &last, true);
     Kwave::OverViewCache *overview_cache =
diff --git a/plugins/normalize/NormalizePlugin.cpp b/plugins/normalize/NormalizePlugin.cpp
index e6a60e7f..9414fbb0 100644
--- a/plugins/normalize/NormalizePlugin.cpp
+++ b/plugins/normalize/NormalizePlugin.cpp
@@ -73,7 +73,7 @@ void Kwave::NormalizePlugin::run(QStringList params)
     Kwave::UndoTransactionGuard undo_guard(*this, i18n("Normalize"));
 
     // get the current selection
-    QList<unsigned int> tracks;
+    QVector<unsigned int> tracks;
     sample_index_t first = 0;
     sample_index_t last  = 0;
     sample_index_t length = selection(&tracks, &first, &last, true);
diff --git a/plugins/reverse/ReversePlugin.cpp b/plugins/reverse/ReversePlugin.cpp
index 9c973ec5..6e23c2f7 100644
--- a/plugins/reverse/ReversePlugin.cpp
+++ b/plugins/reverse/ReversePlugin.cpp
@@ -64,7 +64,7 @@ void Kwave::ReversePlugin::run(QStringList params)
     QSharedPointer<Kwave::UndoTransactionGuard> undo_guard;
 
     // get the current selection and the list of affected tracks
-    QList<unsigned int> tracks;
+    QVector<unsigned int> tracks;
     sample_index_t first = 0;
     sample_index_t last  = 0;
     sample_index_t length = selection(&tracks, &first, &last, true);
diff --git a/plugins/samplerate/SampleRatePlugin.cpp b/plugins/samplerate/SampleRatePlugin.cpp
index d1cb9b94..7f84bbfa 100644
--- a/plugins/samplerate/SampleRatePlugin.cpp
+++ b/plugins/samplerate/SampleRatePlugin.cpp
@@ -102,7 +102,7 @@ void Kwave::SampleRatePlugin::run(QStringList params)
     sample_index_t first = 0;
     sample_index_t last  = 0;
     sample_index_t length;
-    QList<unsigned int> tracks;
+    QVector<unsigned int> tracks;
     if (m_whole_signal) {
 	length = signalLength();
 	last   = (length) ? (length - 1) : 0;
diff --git a/plugins/sonagram/SonagramPlugin.cpp b/plugins/sonagram/SonagramPlugin.cpp
index 246c9bf6..f282b7fe 100644
--- a/plugins/sonagram/SonagramPlugin.cpp
+++ b/plugins/sonagram/SonagramPlugin.cpp
@@ -187,7 +187,7 @@ int Kwave::SonagramPlugin::start(QStringList &params)
                      m_sonagram_window, SLOT(close()));
 
     // get the current selection
-    QList<unsigned int> selected_channels;
+    QVector<unsigned int> selected_channels;
     sample_index_t offset = 0;
     sample_index_t length = 0;
     length = selection(&selected_channels, &offset, 0, true);
@@ -280,7 +280,7 @@ void Kwave::SonagramPlugin::makeAllValid()
     sample_index_t           first_sample;
     sample_index_t           last_sample;
     QBitArray                valid;
-    QList<unsigned int>      track_list;
+    QVector<unsigned int>    track_list;
 
     {
 	QMutexLocker _lock(&m_lock_job_list);
diff --git a/plugins/volume/VolumePlugin.cpp b/plugins/volume/VolumePlugin.cpp
index 05c2cc0c..ef8ebb9a 100644
--- a/plugins/volume/VolumePlugin.cpp
+++ b/plugins/volume/VolumePlugin.cpp
@@ -83,7 +83,7 @@ QStringList *Kwave::VolumePlugin::setup(QStringList &previous_params)
 
     // initialize the overview cache
     Kwave::SignalManager &mgr = manager().signalManager();
-    QList<unsigned int> tracks;
+    QVector<unsigned int> tracks;
     sample_index_t first, last;
     sample_index_t length = selection(&tracks, &first, &last, true);
     Kwave::OverViewCache *overview_cache = new Kwave::OverViewCache(mgr,
@@ -125,7 +125,7 @@ QStringList *Kwave::VolumePlugin::setup(QStringList &previous_params)
 //***************************************************************************
 void Kwave::VolumePlugin::run(QStringList params)
 {
-    QList<unsigned int> tracks;
+    QVector<unsigned int> tracks;
     sample_index_t first, last;
 
     interpreteParameters(params);
diff --git a/plugins/zero/ZeroPlugin.cpp b/plugins/zero/ZeroPlugin.cpp
index fa5089c9..3c3f3a8d 100644
--- a/plugins/zero/ZeroPlugin.cpp
+++ b/plugins/zero/ZeroPlugin.cpp
@@ -54,7 +54,7 @@ Kwave::ZeroPlugin::~ZeroPlugin()
 //***************************************************************************
 void Kwave::ZeroPlugin::run(QStringList params)
 {
-    QList<unsigned int> tracks;
+    QVector<unsigned int> tracks;
     sample_index_t first = 0;
     sample_index_t last  = 0;
     bool succeeded = true;
-- 
GitLab

openSUSE Build Service is sponsored by