diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2017-04-16 21:33:38 +0200 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2017-04-16 21:33:38 +0200 |
commit | 14c76e247f982b153adba005283826a2b722f89f (patch) | |
tree | 4482b81f0cd812571183a244b40b06c978bfc056 /plugingui/filebrowser.h | |
parent | 41a34f74ed1cf16428533724c5eb6f381d813850 (diff) |
Hacky filebrowser-as-a-Dialog implementation.
Diffstat (limited to 'plugingui/filebrowser.h')
-rw-r--r-- | plugingui/filebrowser.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/plugingui/filebrowser.h b/plugingui/filebrowser.h index 7b31864..ff8a7e8 100644 --- a/plugingui/filebrowser.h +++ b/plugingui/filebrowser.h @@ -49,12 +49,20 @@ public: void setPath(const std::string& path); Notifier<const std::string&> fileSelectNotifier; // (const std::string& path) + Notifier<> fileSelectCancelNotifier; // From Widget: bool isFocusable() override { return true; } virtual void repaintEvent(RepaintEvent* repaintEvent) override; virtual void resize(std::size_t width, std::size_t height) override; + //! Return the filename selected in the browser. + std::string getFilename() const; + + //! Returns true if the filebrowser has a selection, false if the window was + //! closed or the cancel button was clicked. + bool hasFilename() const; + private: void listSelectionChanged(); void selectButtonClicked(); @@ -68,6 +76,7 @@ private: #endif void cancel(); + void select(const std::string& file); void changeDir(); Label lbl_path; @@ -79,6 +88,9 @@ private: Button btn_esc; Image back; + + bool has_filename{false}; + std::string filename; }; } // GUI:: |