summaryrefslogtreecommitdiff
path: root/src/wx/file_picker_ctrl.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-11-30 22:34:19 +0100
committerCarl Hetherington <cth@carlh.net>2019-11-30 22:34:19 +0100
commitd9e6b138e84e7a8504075b8581cca4d0fabfbc40 (patch)
treec86ea8f3d4a92c424c4e946be5524ea5e28d2cac /src/wx/file_picker_ctrl.cc
parent2ed188232e575e42d13cbc3aaab3b055c7ff26af (diff)
Try to improve the checking for overwrite of export files a little
on Linux; I think we need to do it ourselves rather than relying on wxFileDialog.
Diffstat (limited to 'src/wx/file_picker_ctrl.cc')
-rw-r--r--src/wx/file_picker_ctrl.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/wx/file_picker_ctrl.cc b/src/wx/file_picker_ctrl.cc
index 47b5dbca0..47211a269 100644
--- a/src/wx/file_picker_ctrl.cc
+++ b/src/wx/file_picker_ctrl.cc
@@ -29,11 +29,12 @@
using namespace std;
using namespace boost;
-FilePickerCtrl::FilePickerCtrl (wxWindow* parent, wxString prompt, wxString wildcard, bool open)
+FilePickerCtrl::FilePickerCtrl (wxWindow* parent, wxString prompt, wxString wildcard, bool open, bool warn_overwrite)
: wxPanel (parent)
, _prompt (prompt)
, _wildcard (wildcard)
, _open (open)
+ , _warn_overwrite (warn_overwrite)
{
_sizer = new wxBoxSizer (wxHORIZONTAL);
@@ -72,7 +73,11 @@ FilePickerCtrl::GetPath () const
void
FilePickerCtrl::browse_clicked ()
{
- wxFileDialog* d = new wxFileDialog (this, _prompt, wxEmptyString, wxEmptyString, _wildcard, _open ? wxFD_OPEN : wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
+ long style = _open ? wxFD_OPEN : wxFD_SAVE;
+ if (_warn_overwrite) {
+ style |= wxFD_OVERWRITE_PROMPT;
+ }
+ wxFileDialog* d = new wxFileDialog (this, _prompt, wxEmptyString, wxEmptyString, _wildcard, style);
d->SetPath (_path);
if (d->ShowModal () == wxID_OK) {
SetPath (d->GetPath ());