Files
Renderive/Widget/Qt/File_Tool.h
T
2026-07-29 12:30:40 +08:00

37 lines
924 B
C++

#pragma once
#include <QDateTime>
#include <QDesktopServices>
#include <QFile>
#include <QFileDialog>
#include <QFileInfo>
#include <QHBoxLayout>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QUrl>
#include <QWidget>
#include "Message.h"
#include "global.h"
namespace Psc {
class File_Tool : public QWidget {
Q_OBJECT
public:
enum class Mode { OpenFile,
SaveFile,
Directory };
explicit File_Tool(const QString& title = {}, Mode mode = Mode::OpenFile, QWidget* parent = nullptr);
void set_title(const QString& t);
[[nodiscard]] QString path() const;
void set_path(const QString& p);
signals:
void path_changed(const QString&);
private:
Mode mode_;
QLabel* title_label{};
QLineEdit* path_edit{};
QPushButton* browse_btn{};
QPushButton* clear_btn{};
QPushButton* backup_clear_btn{};
};
} // namespace Psc