Files
frelay/Gui/Control/CompareControl.h

62 lines
1.1 KiB
C
Raw Normal View History

2025-06-20 14:58:47 +08:00
#ifndef COMPARECONTROL_H
2025-06-15 14:31:54 +08:00
#define COMPARECONTROL_H
#include <FileTrans.h>
#include <QMenu>
#include <QVector>
2025-06-15 14:31:54 +08:00
#include <QWidget>
namespace Ui {
class Compare;
}
struct CompareItem {
QString baseName;
QString localDir;
QString remoteDir;
};
2025-06-15 14:31:54 +08:00
class Compare : public QWidget
{
Q_OBJECT
public:
explicit Compare(QWidget* parent = nullptr);
2025-06-15 14:31:54 +08:00
~Compare();
signals:
void sigTasks(const QVector<TransTask>& tasks);
2025-06-30 01:05:28 +08:00
void sigTryVisit(bool local, const QString& path);
2025-06-20 14:58:47 +08:00
private:
void InitControl();
void InitTabWidget();
2025-06-30 01:05:28 +08:00
void InitMenu();
2025-06-20 14:58:47 +08:00
private:
void Save();
void Load();
void LoadTitles();
void Search();
void Reset();
void SetResult(const QVector<CompareItem>& items);
2026-02-02 21:25:58 +08:00
void FilterFiles(bool isUpload);
2026-02-02 21:25:58 +08:00
void TransToLeft(bool useSelectTypes);
void TransToRight(bool useSelectTypes);
2025-06-30 01:05:28 +08:00
private slots:
void deleteSelectedRows();
2025-06-15 14:31:54 +08:00
private:
2025-06-30 01:05:28 +08:00
QMenu* menu_;
Ui::Compare* ui;
// 现要求,保存、删除、拖入必须重置。
2026-02-02 21:25:58 +08:00
QSet<QString> curSelectTypes_;
bool isResource_{};
QVector<CompareItem> items_;
2025-06-15 14:31:54 +08:00
};
#endif // COMPARECONTROL_H