ddt 1.4.0
 
Loading...
Searching...
No Matches
ddtSaveAsDialog.hpp
Go to the documentation of this file.
1
9
10#ifndef DDT_DATAVISUALISATION_DDTDIALOGS_SAVEAS_HPP
11#define DDT_DATAVISUALISATION_DDTDIALOGS_SAVEAS_HPP
12
13#include <QGraphicsPathItem>
14#include <QGraphicsRectItem>
15#include <QtWidgets>
16
20class DdtSaveAsDialog : public QFileDialog {
21 Q_OBJECT
22
23 public:
28 struct SaveAsEntry {
30 QString filter;
31 };
32
36 static inline const SaveAsEntry JPEG_TYPE = {
37 QStringLiteral("jpg"), QStringLiteral("JPEG File (*.jpg *.jpeg)")};
38
42 static inline const SaveAsEntry FITS_TYPE = {
43 QStringLiteral("fits"), QStringLiteral("FITS File (*.fits)")};
44
50 DdtSaveAsDialog(QWidget* const parent = nullptr,
51 const std::vector<SaveAsEntry> types_ = {});
52
59 QString GetFilepath(const QString start_filepath);
60
61 private:
65 void ConfigureDialog();
66
72 QString GetDefaultFile(const QString start_path);
73
78 void LogError(const QString message);
79
86 bool ContainsKnownType(const QFileInfo& suffix);
87
93 QString CreateFilterFromTypes();
94
99 std::vector<SaveAsEntry> types;
100};
101
102#endif // DDT_DATAVISUALISATION_DDTDIALOGS_SAVEAS_HPP
DdtSaveAsDialog(QWidget *const parent=nullptr, const std::vector< SaveAsEntry > types_={})
Definition ddtSaveAsDialog.cpp:18
static const SaveAsEntry JPEG_TYPE
Definition ddtSaveAsDialog.hpp:36
QString GetFilepath(const QString start_filepath)
Definition ddtSaveAsDialog.cpp:33
static const SaveAsEntry FITS_TYPE
Definition ddtSaveAsDialog.hpp:42
Definition ddtSaveAsDialog.hpp:28
QString filter
File format filter.
Definition ddtSaveAsDialog.hpp:30
QString default_extension
Extension to append based on the filter.
Definition ddtSaveAsDialog.hpp:29