fix:处理文件过多时的卡顿的情况。
This commit is contained in:
@@ -10,6 +10,7 @@
|
|||||||
#include <QLineEdit>
|
#include <QLineEdit>
|
||||||
#include <QListWidget>
|
#include <QListWidget>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
#include <QScrollBar>
|
||||||
#include <QTableWidgetItem>
|
#include <QTableWidgetItem>
|
||||||
#include <RemoteFile.h>
|
#include <RemoteFile.h>
|
||||||
|
|
||||||
@@ -107,6 +108,7 @@ void FileManager::InitControl()
|
|||||||
|
|
||||||
auto* line = ui->comboBox->lineEdit();
|
auto* line = ui->comboBox->lineEdit();
|
||||||
connect(line, &QLineEdit::returnPressed, this, [this]() { ui->btnVisit->click(); });
|
connect(line, &QLineEdit::returnPressed, this, [this]() { ui->btnVisit->click(); });
|
||||||
|
connect(ui->tableWidget->verticalScrollBar(), &QScrollBar::actionTriggered, this, [this]() { userScrol_ = true; });
|
||||||
}
|
}
|
||||||
|
|
||||||
void FileManager::InitMenu()
|
void FileManager::InitMenu()
|
||||||
@@ -239,9 +241,13 @@ void FileManager::SortFileInfo(SortMethod method)
|
|||||||
|
|
||||||
void FileManager::RefreshTab()
|
void FileManager::RefreshTab()
|
||||||
{
|
{
|
||||||
|
userScrol_ = false;
|
||||||
|
ui->tableWidget->clearContents();
|
||||||
ui->tableWidget->setRowCount(0);
|
ui->tableWidget->setRowCount(0);
|
||||||
ui->tableWidget->setRowCount(currentShowInfo_.vec.size());
|
|
||||||
for (int i = 0; i < currentShowInfo_.vec.size(); ++i) {
|
for (int i = 0; i < currentShowInfo_.vec.size(); ++i) {
|
||||||
|
|
||||||
|
ui->tableWidget->insertRow(ui->tableWidget->rowCount());
|
||||||
const DirFileInfo& fileInfo = currentShowInfo_.vec[i];
|
const DirFileInfo& fileInfo = currentShowInfo_.vec[i];
|
||||||
|
|
||||||
// ***********************************************************************************
|
// ***********************************************************************************
|
||||||
@@ -306,9 +312,16 @@ void FileManager::RefreshTab()
|
|||||||
}
|
}
|
||||||
item->setFlags(item->flags() & ~Qt::ItemIsEditable);
|
item->setFlags(item->flags() & ~Qt::ItemIsEditable);
|
||||||
ui->tableWidget->setItem(i, 4, item);
|
ui->tableWidget->setItem(i, 4, item);
|
||||||
|
|
||||||
|
if (i % 10 == 0) {
|
||||||
|
QGuiApplication::processEvents();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!userScrol_) {
|
||||||
ui->tableWidget->scrollToTop();
|
ui->tableWidget->scrollToTop();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void FileManager::HeaderClicked(int column)
|
void FileManager::HeaderClicked(int column)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ private:
|
|||||||
ClientCore* cliCore_;
|
ClientCore* cliCore_;
|
||||||
QMutex cbMut_;
|
QMutex cbMut_;
|
||||||
QMutex tbMut_;
|
QMutex tbMut_;
|
||||||
|
bool userScrol_{};
|
||||||
QVector<QString> drivers_;
|
QVector<QString> drivers_;
|
||||||
QSet<QString> fileTypes_;
|
QSet<QString> fileTypes_;
|
||||||
QSet<QString> curSelectTypes_;
|
QSet<QString> curSelectTypes_;
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
| 序号 | 类型 | 内容 | 说明 | 基于版本 | 完成版本 |
|
| 序号 | 类型 | 内容 | 说明 | 基于版本 | 完成版本 |
|
||||||
| :--: | :--: | ------------------------------------------------------------ | :----: | :------: | :------: |
|
| :--: | :--: | ------------------------------------------------------------ | :----: | :------: | :------: |
|
||||||
|
| 42 | 优化 | 访问文件过多时,界面有卡顿情况。 | | 0.2.3 | 0.2.4 |
|
||||||
| 41 | 问题 | 主动中断检查等待后,软件崩溃。 | | 0.2.3 | 0.2.4 |
|
| 41 | 问题 | 主动中断检查等待后,软件崩溃。 | | 0.2.3 | 0.2.4 |
|
||||||
| 40 | 问题 | 上传方完成后,接收端未接收完毕不能退出的问题。 | | 0.2.3 | 0.2.4 |
|
| 40 | 问题 | 上传方完成后,接收端未接收完毕不能退出的问题。 | | 0.2.3 | 0.2.4 |
|
||||||
| 39 | 优化 | Console端断联后应当自动退出。 | | 0.2.3 | 0.2.4 |
|
| 39 | 优化 | Console端断联后应当自动退出。 | | 0.2.3 | 0.2.4 |
|
||||||
|
|||||||
Reference in New Issue
Block a user