add: copy full path.

This commit is contained in:
2025-06-29 00:13:35 +08:00
parent 985dcec4af
commit 07cd9b8a51
2 changed files with 26 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
#include "FileControl.h"
#include <LocalFile.h>
#include <QClipboard>
#include <QDateTime>
#include <QDialog>
#include <QDir>
@@ -11,6 +12,7 @@
#include <QTableWidgetItem>
#include <RemoteFile.h>
#include "GuiUtil/Public.h"
#include "ui_FileControl.h"
FileManager::FileManager(QWidget* parent) : QWidget(parent), ui(new Ui::FileManager)
@@ -99,6 +101,7 @@ void FileManager::InitMenu()
{
menu_ = new QMenu(ui->tableWidget);
menu_->addAction(tr("Filter"), this, &FileManager::ShowFilterForm);
menu_->addAction(tr("FullPath"), this, &FileManager::CopyFullPath);
menu_->addSeparator();
}
@@ -405,6 +408,28 @@ void FileManager::ShowFilterForm()
}
}
void FileManager::CopyFullPath()
{
int row = ui->tableWidget->currentRow();
if (row < 0) {
return;
}
QClipboard* clip = QApplication::clipboard();
bool found = false;
QString key = ui->tableWidget->item(row, 1)->text();
for (const auto& d : currentInfo_.vec) {
if (d.name == key) {
clip->setText(d.fullPath);
found = true;
return;
}
}
if (!found) {
FTCommon::msg(this, QString(tr("%1 not found.")).arg(key));
}
}
QString FileManager::GetRoot()
{
if (isRemote_) {

View File

@@ -54,6 +54,7 @@ private:
void FilterFile(const QStringList& selectedTypes);
void GenFilter();
void ShowFilterForm();
void CopyFullPath();
public slots:
void evtHome();