Data_deduplication_service
Service that will use hashes to deduplicate files
FileLineEdit.h
Go to the documentation of this file.
1 
2 
3 #ifndef DATA_DEDUPLICATION_SERVICE_FILELINEEDIT_H
4 #define DATA_DEDUPLICATION_SERVICE_FILELINEEDIT_H
5 
6 #include <QPushButton>
7 #include <QWidget>
8 #include <QLineEdit>
9 #include <QFileDialog>
10 #include <QHBoxLayout>
11 #include <QCheckBox>
12 #include <QLabel>
13 
14 #include "dbCommon.h"
15 
17 namespace windows {
19  enum EntryType {
21  Directory
22  };
23 
27  class FileLineEdit : public QWidget {
28  Q_OBJECT
29  public:
30  explicit FileLineEdit(QWidget *parent = nullptr,
31  const QString &dirPath = QDir::currentPath(),
32  bool saveFile = false,
33  bool readOnly = true);
34 
35  QString getContent() {
36  return lineEdit->text();
37  }
38 
39  bool isEmpty() {
40  return lineEdit->text().isEmpty();
41  }
42 
43  ~FileLineEdit() override = default;
44 
45  void setSaveFile(bool saveFile);
46 
47  bool isSaveFile() const;
48 
50  return type;
51  }
52  signals:
53  void contentChanged(const QString &str);
54  protected slots:
55  virtual void onBrowse();
56  protected:
57  QString dirPath;
58  QHBoxLayout *mainLayout;
59  QLineEdit *lineEdit;
60  QPushButton *pushButton;
61 
62  bool saveFile;
63 
65 
66  void setUpUi();
67  };
68 
73  Q_OBJECT
74  public:
75  explicit FileLineEditWithOption(QWidget *parent = nullptr,
76  const QString &dirPath = QDir::currentPath(),
77  bool saveFile = false,
78  bool readOnly = true);
79 
80  ~FileLineEditWithOption() override = default;
81 
82  signals:
83  void typeChanged(const EntryType &etr);
84  protected slots:
85  void onBrowse() override;
86 
87  protected:
88  QCheckBox *selectModeCheckBox;
89  };
90 
91 
92 } // windows
93 
94 #endif //DATA_DEDUPLICATION_SERVICE_FILELINEEDIT_H
Class that allow to choose either files or directories.
Definition: FileLineEdit.h:72
~FileLineEditWithOption() override=default
void onBrowse() override
Definition: FileLineEdit.cpp:100
QCheckBox * selectModeCheckBox
Definition: FileLineEdit.h:88
FileLineEditWithOption(QWidget *parent=nullptr, const QString &dirPath=QDir::currentPath(), bool saveFile=false, bool readOnly=true)
Definition: FileLineEdit.cpp:76
void typeChanged(const EntryType &etr)
Class for file name selection.
Definition: FileLineEdit.h:27
FileLineEdit(QWidget *parent=nullptr, const QString &dirPath=QDir::currentPath(), bool saveFile=false, bool readOnly=true)
Definition: FileLineEdit.cpp:5
bool isEmpty()
Definition: FileLineEdit.h:39
bool isSaveFile() const
Definition: FileLineEdit.cpp:71
QHBoxLayout * mainLayout
Definition: FileLineEdit.h:58
EntryType getType()
Definition: FileLineEdit.h:49
void setSaveFile(bool saveFile)
Definition: FileLineEdit.cpp:67
void contentChanged(const QString &str)
QLineEdit * lineEdit
Definition: FileLineEdit.h:59
QString dirPath
Definition: FileLineEdit.h:57
EntryType type
Definition: FileLineEdit.h:64
QPushButton * pushButton
Definition: FileLineEdit.h:60
QString getContent()
Definition: FileLineEdit.h:35
bool saveFile
Definition: FileLineEdit.h:62
virtual void onBrowse()
Definition: FileLineEdit.cpp:39
~FileLineEdit() override=default
void setUpUi()
Definition: FileLineEdit.cpp:25
windows namespace
Definition: FileLineEdit.cpp:4
EntryType
Entry type enum.
Definition: FileLineEdit.h:19
@ Directory
Definition: FileLineEdit.h:21
@ File
Definition: FileLineEdit.h:20