|
|
@@ -1,3 +1,4 @@
|
|
|
+#include <QDir>
|
|
|
#include <sstream>
|
|
|
#include "ui_ConflictItemWidget.h"
|
|
|
#include "conflictItemWidget.h"
|
|
|
@@ -108,9 +109,16 @@ void ConflictItemWidget::populateListStream(const std::map<int, std::vector<int>
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+std::string mergePath(const std::string& a, const QChar& separator, const std::string& b)
|
|
|
+{
|
|
|
+ std::stringstream ss;
|
|
|
+ ss << a << QString(separator).toStdString() << b;
|
|
|
+ return ss.str();
|
|
|
+}
|
|
|
+
|
|
|
ConflictItemWidget* ConflictItemWidget::FromMissingFile(QListWidget* parent, const std::vector<std::string>& rootPaths, const std::string& filename, const std::vector<bool>& version)
|
|
|
{
|
|
|
- const std::string fullPathFirstFound = rootPaths[std::distance(version.begin(), std::find(version.begin(), version.end(), true))] + "/" + filename;
|
|
|
+ const std::string fullPathFirstFound = mergePath(rootPaths[std::distance(version.begin(), std::find(version.begin(), version.end(), true))], QDir::separator(), filename);
|
|
|
ConflictItemWidget* result = new ConflictItemWidget(parent, QFile(fullPathFirstFound.c_str()), filename);
|
|
|
result->ui->ddUseVersion->setVisible(false);
|
|
|
std::stringstream ss;
|
|
|
@@ -123,7 +131,7 @@ ConflictItemWidget* ConflictItemWidget::FromMissingFile(QListWidget* parent, con
|
|
|
|
|
|
ConflictItemWidget* ConflictItemWidget::FromMissingDir(QListWidget* parent, const std::vector<std::string>& rootPaths, const std::string& filename, const std::vector<bool>& version)
|
|
|
{
|
|
|
- const std::string fullPathFirstFound = rootPaths[std::distance(version.begin(), std::find(version.begin(), version.end(), true))] + "/" + filename;
|
|
|
+ const std::string fullPathFirstFound = mergePath(rootPaths[std::distance(version.begin(), std::find(version.begin(), version.end(), true))], QDir::separator(), filename);
|
|
|
ConflictItemWidget* result = new ConflictItemWidget(parent, QFile(fullPathFirstFound.c_str()), filename);
|
|
|
result->ui->ddUseVersion->setVisible(false);
|
|
|
std::stringstream ss;
|
|
|
@@ -136,7 +144,7 @@ ConflictItemWidget* ConflictItemWidget::FromMissingDir(QListWidget* parent, cons
|
|
|
|
|
|
ConflictItemWidget* ConflictItemWidget::FromConflict(QListWidget* parent, const std::vector<std::string>& rootPaths, const std::string& filename, const std::vector<int>& version)
|
|
|
{
|
|
|
- const std::string fullPathFirstFound = rootPaths[std::distance(version.begin(), std::find_if(version.begin(), version.end(), [](const int& val) { return val != 0; }))] + "/" + filename;
|
|
|
+ const std::string fullPathFirstFound = mergePath(rootPaths[std::distance(version.begin(), std::find_if(version.begin(), version.end(), [](const int& val) { return val != 0; }))], QDir::separator(), filename);
|
|
|
ConflictItemWidget* result = new ConflictItemWidget(parent, QFile(fullPathFirstFound.c_str()), filename);
|
|
|
const auto fileByVersion = groupFileByVersion(version);
|
|
|
for (const auto& i : fileByVersion)
|