37 lines
857 B
C++
37 lines
857 B
C++
#pragma once
|
|
|
|
#include "Message.h"
|
|
|
|
#include <QDesktopServices>
|
|
#include <QFileDialog>
|
|
#include <QFileInfo>
|
|
#include <QFile>
|
|
#include <QDateTime>
|
|
#include <QHBoxLayout>
|
|
#include <QLabel>
|
|
#include <QLineEdit>
|
|
#include <QPushButton>
|
|
#include <QUrl>
|
|
#include <QWidget>
|
|
#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
|