diff --git a/FrequencyList.cpp b/FrequencyList.cpp index 3d2ea482e..e05d5382b 100644 --- a/FrequencyList.cpp +++ b/FrequencyList.cpp @@ -551,7 +551,7 @@ QMimeData * FrequencyList::impl::mimeData (QModelIndexList const& items) const { if (item.isValid () && frequency_column == item.column ()) { - stream << QString {data (item, Qt::DisplayRole).toString ()}; + stream << frequency_list_.at (item.row ()); } } diff --git a/StationList.cpp b/StationList.cpp index aae2f72dc..baa6f8179 100644 --- a/StationList.cpp +++ b/StationList.cpp @@ -18,6 +18,7 @@ #include "pimpl_impl.hpp" #include "Bands.hpp" +#include "FrequencyList.hpp" #if !defined (QT_NO_DEBUG_STREAM) QDebug operator << (QDebug debug, StationList::Station const& station) @@ -508,10 +509,9 @@ bool StationList::impl::dropMimeData (QMimeData const * data, Qt::DropAction act QDataStream stream {&encoded_data, QIODevice::ReadOnly}; while (!stream.atEnd ()) { - QString frequency_string; - stream >> frequency_string; - auto frequency = Radio::frequency (frequency_string, 0); - auto const& band = bands_->find (frequency); + FrequencyList::Item item; + stream >> item; + auto const& band = bands_->find (item.frequency_); if (stations_.cend () == std::find_if (stations_.cbegin () , stations_.cend () , [&band] (Station const& s) {return s.band_name_ == band;}))