Files
frelay/Gui/Control/FileControl.h

48 lines
969 B
C
Raw Normal View History

2025-06-17 17:20:54 +08:00
#ifndef FILECONTROL_H
2025-06-15 14:31:54 +08:00
#define FILECONTROL_H
#include <ClientCore.h>
#include <InfoDirFile.h>
#include <QWidget>
#include <Util.h>
2025-06-17 17:20:54 +08:00
#include <QMenu>
2025-06-15 14:31:54 +08:00
namespace Ui {
class FileManager;
}
class FileManager : public QWidget
{
Q_OBJECT
public:
explicit FileManager(QWidget* parent = nullptr);
~FileManager();
public:
void SetModeStr(const QString& modeStr, int type = 0, ClientCore* clientCore = nullptr);
2025-06-18 14:53:56 +08:00
void SetOtherSidePathCall(const std::function<QString()>& call);
QString GetCurRoot();
2025-06-15 14:31:54 +08:00
private:
void InitControl();
2025-06-17 17:20:54 +08:00
void InitMenu(bool remote = false);
2025-06-15 14:31:54 +08:00
void ShowPath(const QString& path);
void ShowFile(const DirFileInfoVec& info);
void doubleClick(int row, int column);
private:
void evtHome();
void evtFile();
void evtUp();
private:
Ui::FileManager* ui;
QString curRoot_;
2025-06-18 10:36:19 +08:00
QMenu* menu_;
2025-06-18 14:53:56 +08:00
ClientCore* cliCore_;
2025-06-15 14:31:54 +08:00
std::shared_ptr<DirFileHelper> fileHelper_;
};
#endif // FILECONTROL_H