summaryrefslogtreecommitdiff
path: root/src/gui_qt.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui_qt.cc')
-rw-r--r--src/gui_qt.cc16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/gui_qt.cc b/src/gui_qt.cc
index ec67527..3e7c696 100644
--- a/src/gui_qt.cc
+++ b/src/gui_qt.cc
@@ -857,10 +857,10 @@ public:
void add_file(std::string const& id, std::string const& label,
std::string const& value,
std::string const& description,
- bool must_exist,
+ uint8_t flags,
std::vector<Filter> const& filter) override {
values_.emplace_back(new FileValue(id, label, description, value,
- must_exist, filter));
+ flags, filter));
}
std::string get_string(std::string const& id) const override {
@@ -965,15 +965,15 @@ protected:
struct FileValue : public Value {
std::string value_;
- bool must_exist_;
+ uint8_t flags_;
std::vector<Filter> filter_;
FileValue(std::string const& id, std::string const& label,
std::string const& description,
std::string const& value,
- bool must_exist, std::vector<Filter> const& filter)
+ uint8_t flags, std::vector<Filter> const& filter)
: Value(FILE, id, label, description), value_(value),
- must_exist_(must_exist), filter_(filter) {
+ flags_(flags), filter_(filter) {
}
};
@@ -1112,7 +1112,7 @@ protected:
}
filter.append(')');
}
- if (value->must_exist_) {
+ if (!(value->flags_ & FILE_SAVE)) {
auto file = QFileDialog::getOpenFileName(
dialog_, QString::fromStdString(value->label_),
value->edit_->text(), filter);
@@ -1591,6 +1591,10 @@ GuiForm* GuiForm::create(std::string const& title,
}
// static
+uint8_t const GuiForm::FILE_OPEN = 0;
+uint8_t const GuiForm::FILE_SAVE = 1;
+
+// static
GuiFormApply* GuiFormApply::create(std::string const& title,
std::string const& text,
std::string const& apply_button,