diff --git a/GUI/View/Import/RealDataSelectorWidget.cpp b/GUI/View/Import/RealDataSelectorWidget.cpp index 3b9c64c38fcaf691da7c9b867b24cf5754db39ec..a9c39e4bc88d080d09f3c6607ede2b5e696c2766 100644 --- a/GUI/View/Import/RealDataSelectorWidget.cpp +++ b/GUI/View/Import/RealDataSelectorWidget.cpp @@ -33,6 +33,23 @@ #include <QVBoxLayout> #include <map> +namespace { + +template<class T> +QString join_mapkeys(std::map<const QString, T> _map, const QString& _separator) +{ + QString result; + for (const auto& it : _map) { + if (!result.isEmpty()) + result += _separator; + result += it.first; + } + return result; +} + +} // namespace + + RealDataSelectorWidget::RealDataSelectorWidget(QWidget* parent, ProjectDocument* document) : QWidget(parent) , m_itemTree(new QTreeView(this)) @@ -290,12 +307,7 @@ void RealDataSelectorWidget::importData2D() {"CSV (*.txt *.csv *.dat)", IO::csv2D}, {"All (*.*)", IO::unknown2D}}; - QString filters; - for (const auto& it : filters2D) { - if (!filters.isEmpty()) - filters += ";;"; - filters += it.first; - } + QString filters = ::join_mapkeys(filters2D, ";;"); QString selectedFilter = ProjectManager::instance()->recentlyUsedImportFilter2D(); const QString dirname = ProjectManager::instance()->userImportDir();