Ver código fonte

GFilePicker: Make the path selected accessible externally

Robin Burchell 6 anos atrás
pai
commit
23c90da26c
2 arquivos alterados com 5 adições e 2 exclusões
  1. 3 1
      LibGUI/GFilePicker.cpp
  2. 2 1
      LibGUI/GFilePicker.h

+ 3 - 1
LibGUI/GFilePicker.cpp

@@ -122,7 +122,9 @@ GFilePicker::GFilePicker(const String& path, CObject* parent)
     ok_button->set_size_policy(SizePolicy::Fixed, SizePolicy::Fill);
     ok_button->set_preferred_size({ 80, 0 });
     ok_button->set_caption("OK");
-    ok_button->on_click = [this] (auto&) {
+    ok_button->on_click = [this, filename_textbox] (auto&) {
+        FileSystemPath path(String::format("%s/%s", m_model->path().characters(), filename_textbox->text().characters()));
+        m_selected_file = path.string();
         done(ExecOK);
     };
 }

+ 2 - 1
LibGUI/GFilePicker.h

@@ -8,7 +8,8 @@ public:
     GFilePicker(const String& path = "/", CObject* parent = nullptr);
     virtual ~GFilePicker() override;
 
-    String selected_file() const;
+    // TODO: Should this return a FileSystemPath instead?
+    String selected_file() const { return m_selected_file; }
 
     virtual const char* class_name() const override { return "GFilePicker"; }