X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FGUI%2FPUIFileDialog.cxx;h=fe6a15110c5a6ca2e19bd723e8df295a225ee06b;hb=5e4f212b846cd3eb4ce56a2823a9191d221d487c;hp=e76d1a87ef1100a2a401187d01ceed84c327eac2;hpb=2e1fb7972ef6146b275d20085a62c11ac7576813;p=flightgear.git diff --git a/src/GUI/PUIFileDialog.cxx b/src/GUI/PUIFileDialog.cxx index e76d1a87e..fe6a15110 100644 --- a/src/GUI/PUIFileDialog.cxx +++ b/src/GUI/PUIFileDialog.cxx @@ -27,8 +27,8 @@ private: PUIFileDialog* _dialog; }; -PUIFileDialog::PUIFileDialog(const std::string& aTitle, Usage use) : - FGFileDialog(aTitle, use), +PUIFileDialog::PUIFileDialog(Usage use) : + FGFileDialog(use), _listener(NULL) { SG_LOG(SG_GENERAL, SG_INFO, "created PUIFileDialog"); @@ -39,6 +39,7 @@ PUIFileDialog::~PUIFileDialog() if (_listener) { SGPropertyNode_ptr path = _dialogRoot->getNode("path"); path->removeChangeListener(_listener); + delete _listener; } } @@ -79,6 +80,13 @@ void PUIFileDialog::exec() gui->showDialog(name); } +void PUIFileDialog::close() +{ + NewGUI* gui = static_cast(globals->get_subsystem("gui")); + std::string name("native-file-0"); + gui->closeDialog(name); +} + void PUIFileDialog::pathChanged(const SGPath& aPath) { _callback->onFileDialogDone(this, aPath);