fix: down remote file error.

This commit is contained in:
2025-06-20 09:45:39 +08:00
parent a8a9c43f8d
commit 32b206c2f5
11 changed files with 99 additions and 19 deletions

View File

@@ -23,18 +23,20 @@ FileManager::~FileManager()
void FileManager::SetModeStr(const QString& modeStr, int type, ClientCore* clientCore)
{
cliCore_ = clientCore;
ui->lbMode->setText(modeStr);
if (type == 0) {
fileHelper_ = std::make_shared<LocalFile>();
} else {
cliCore_ = clientCore;
auto remotePtr = std::make_shared<RemoteFile>();
remotePtr->setClientCore(clientCore);
ui->tableWidget->setIsRemote(true);
ui->tableWidget->setOwnIDCall([this]() { return cliCore_->GetOwnID(); });
ui->tableWidget->setRemoteIDCall([this]() { return cliCore_->GetRemoteID(); });
fileHelper_ = remotePtr;
}
ui->tableWidget->setOwnIDCall([this]() { return cliCore_->GetOwnID(); });
ui->tableWidget->setRemoteIDCall([this]() { return cliCore_->GetRemoteID(); });
ui->tableWidget->setBasePathCall([this]() { return curRoot_; });
connect(fileHelper_.get(), &DirFileHelper::sigHome, this, &FileManager::ShowPath);

View File

@@ -7,10 +7,17 @@
CpTableWidget::CpTableWidget(QWidget* parent) : QTableWidget(parent)
{
}
CpTableWidget::~CpTableWidget()
{
}
void CpTableWidget::dropEvent(QDropEvent* event)
{
}
void CpTableWidget::dragEnterEvent(QDragEnterEvent* event)

View File

@@ -12,10 +12,8 @@ public:
~CpTableWidget() override;
protected:
void dropEvent(QDropEvent* event) override;
void dragEnterEvent(QDragEnterEvent* event);
protected:
QPoint startPos_;
};
#endif // CP_TABLEWIDET_H

View File

@@ -8,10 +8,18 @@ TransForm::TransForm(QWidget* parent) : QDialog(parent), ui(new Ui::TransForm)
{
ui->setupUi(this);
setWindowTitle(tr("TransProgress"));
ui->edFrom->setReadOnly(true);
ui->edTo->setReadOnly(true);
ui->pedFrom->setReadOnly(true);
ui->pedTo->setReadOnly(true);
ui->edTask->setReadOnly(true);
connect(this, &TransForm::sigProgress, this, &TransForm::setProgress);
connect(this, &TransForm::sigDone, this, &TransForm::handleDone);
connect(this, &TransForm::sigFailed, this, &TransForm::handleFailed);
connect(this, &TransForm::sigSetUi, this, &TransForm::handleUI);
connect(this, &TransForm::sigTaskNum, this, &TransForm::showNum);
}
TransForm::~TransForm()
@@ -35,7 +43,13 @@ void TransForm::SetTasks(const QVector<TransTask>& tasks)
void TransForm::startTask()
{
qInfo() << "TransForm::startTask enter....";
curTaskNum_ = 0;
for (auto& task : tasks_) {
QString str = QString(tr("%1/%2")).arg(curTaskNum_).arg(tasks_.size());
emit sigTaskNum(str);
emit sigSetUi(task);
if (task.isUpload) {
fileTrans_->ReqSendFile(task);
@@ -74,9 +88,13 @@ void TransForm::startTask()
QThread::msleep(10);
}
}
++curTaskNum_;
str = QString(tr("%1/%2")).arg(curTaskNum_).arg(tasks_.size());
emit sigTaskNum(str);
}
tasks_.clear();
qDebug() << "TransForm::startTask exit....";
qInfo() << "TransForm::startTask exit....";
}
void TransForm::setProgress(double val)
@@ -109,11 +127,16 @@ void TransForm::handleUI(const TransTask& task)
}
}
void TransForm::showNum(const QString& data)
{
ui->edTask->setText(data);
}
void TransForm::showEvent(QShowEvent* event)
{
QDialog::showEvent(event);
workTh_ = new TranFromTh(this, this);
//fileTrans_->moveToThread(workTh_);
// fileTrans_->moveToThread(workTh_);
connect(workTh_, &QThread::finished, workTh_, &QObject::deleteLater);
workTh_->start();
}
@@ -121,5 +144,5 @@ void TransForm::showEvent(QShowEvent* event)
void TransForm::closeEvent(QCloseEvent* event)
{
exis_ = true;
QDialog::closeEvent(event);
QDialog::closeEvent(event);
}

View File

@@ -30,12 +30,14 @@ signals:
void sigFailed();
void sigDone();
void sigSetUi(const TransTask& task);
void sigTaskNum(const QString& data);
private:
void setProgress(double val);
void handleFailed();
void handleDone();
void handleUI(const TransTask& task);
void showNum(const QString& data);
protected:
void showEvent(QShowEvent* event) override;
@@ -44,6 +46,7 @@ protected:
private:
bool exis_{ false };
TranFromTh* workTh_{};
qint32 curTaskNum_{ 0 };
QVector<TransTask> tasks_;
FileTrans* fileTrans_{};
ClientCore* clientCore_{};

View File

@@ -46,7 +46,7 @@ void frelayGUI::InitControl()
localFile_ = new FileManager(this);
remoteFile_ = new FileManager(this);
localFile_->SetModeStr(tr("Local:"));
localFile_->SetModeStr(tr("Local:"), 0, clientCore_);
localFile_->SetOtherSideCall([this]() { return remoteFile_->GetCurRoot(); });
remoteFile_->SetModeStr(tr("Remote:"), 1, clientCore_);
remoteFile_->SetOtherSideCall([this]() { return localFile_->GetCurRoot(); });
@@ -90,9 +90,9 @@ void frelayGUI::ControlMsgHander(QtMsgType type, const QMessageLogContext& conte
{
Q_UNUSED(context);
if (!qApp || !qobject_cast<frelayGUI*>(qApp->activeWindow())) {
return;
}
//if (!qApp || !qobject_cast<frelayGUI*>(qApp->activeWindow())) {
// return;
//}
switch (type) {
case QtDebugMsg: