add: dir not and zero file size not trans and set recent ip to front.
This commit is contained in:
@@ -41,12 +41,18 @@ void CustomTableWidget::dropEvent(QDropEvent* event)
|
||||
QByteArray encoded = event->mimeData()->data("application/x-qabstractitemmodeldatalist");
|
||||
QDataStream stream(&encoded, QIODevice::ReadOnly);
|
||||
|
||||
QStringList parseData;
|
||||
QVector<TransTask> tasks;
|
||||
while (!stream.atEnd()) {
|
||||
int row, col;
|
||||
QMap<int, QVariant> roleData;
|
||||
stream >> row >> col >> roleData;
|
||||
if (col != 1) {
|
||||
parseData.append(roleData[Qt::DisplayRole].toString());
|
||||
}
|
||||
|
||||
for (int i = 0; i < (parseData.size() / 5); ++i) {
|
||||
if (parseData[i * 5 + 3] != "File") {
|
||||
qDebug() << QString(tr("Not Handle %1")).arg(parseData[i * 5 + 1]);
|
||||
continue;
|
||||
}
|
||||
TransTask task;
|
||||
@@ -55,10 +61,10 @@ void CustomTableWidget::dropEvent(QDropEvent* event)
|
||||
task.remoteId = ridCall_();
|
||||
if (isRemote_) {
|
||||
task.remotePath = GlobalData::Ins()->GetRemoteRoot();
|
||||
task.localPath = Util::Join(GlobalData::Ins()->GetLocalRoot(), roleData[Qt::DisplayRole].toString());
|
||||
task.localPath = Util::Join(GlobalData::Ins()->GetLocalRoot(), parseData[i * 5 + 1]);
|
||||
} else {
|
||||
task.localPath = GlobalData::Ins()->GetLocalRoot();
|
||||
task.remotePath = Util::Join(GlobalData::Ins()->GetRemoteRoot(), roleData[Qt::DisplayRole].toString());
|
||||
task.remotePath = Util::Join(GlobalData::Ins()->GetRemoteRoot(), parseData[i * 5 + 1]);
|
||||
}
|
||||
tasks.push_back(task);
|
||||
}
|
||||
|
||||
@@ -27,10 +27,27 @@ bool FrelayConfig::SaveIpPort(const QString& ipPort)
|
||||
vec = j["connections"].get<CgConVec>();
|
||||
}
|
||||
|
||||
auto MoveIpToFront = [](CgConVec& vec, const QString& ipPort) {
|
||||
auto it =
|
||||
std::find_if(vec.begin(), vec.end(), [&ipPort](const CgConnection& conn) { return conn.ip == ipPort.toStdString(); });
|
||||
if (it != vec.end()) {
|
||||
std::rotate(vec.begin(), it, it + 1);
|
||||
}
|
||||
};
|
||||
|
||||
auto saveConfig = [this, &p](const CgConVec& vec) {
|
||||
json j;
|
||||
j["connections"] = vec;
|
||||
std::ofstream ofs(p);
|
||||
ofs << std::setw(4) << j << std::endl;
|
||||
};
|
||||
|
||||
bool exist = false;
|
||||
for (const auto& v : vec) {
|
||||
if (v.ip == ipPort.toStdString()) {
|
||||
exist = true;
|
||||
MoveIpToFront(vec, ipPort);
|
||||
saveConfig(vec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -44,9 +61,7 @@ bool FrelayConfig::SaveIpPort(const QString& ipPort)
|
||||
vec.pop_back();
|
||||
}
|
||||
|
||||
j["connections"] = vec;
|
||||
std::ofstream ofs(p);
|
||||
ofs << std::setw(4) << j << std::endl;
|
||||
saveConfig(vec);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user