diff --git a/src/filedialog.cpp b/src/filedialog.cpp index 18b55f1..28dc79c 100644 --- a/src/filedialog.cpp +++ b/src/filedialog.cpp @@ -42,3 +42,12 @@ FileDialog::~FileDialog() { delete fl; } + +bool FileDialog::exec() { + bool ret = BrowseDialog::exec(); + if (ret && fl->isDirectory(selected)) { + // FileDialog must only pick regular files. + ret = false; + } + return ret; +} diff --git a/src/filedialog.h b/src/filedialog.h index 5c086d2..ffdd87e 100644 --- a/src/filedialog.h +++ b/src/filedialog.h @@ -33,6 +33,7 @@ public: FileDialog(GMenu2X *gmenu2x, const string &text, const string &filter="", const string &file="", const string &title = "File Dialog"); virtual ~FileDialog(); + bool exec(); }; #endif /*INPUTDIALOG_H_*/