فهرست منبع

GFilePicker: Make the path selected accessible externally

Robin Burchell 6 سال پیش
والد
کامیت
23c90da26c
2فایلهای تغییر یافته به همراه5 افزوده شده و 2 حذف شده
  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_size_policy(SizePolicy::Fixed, SizePolicy::Fill);
     ok_button->set_preferred_size({ 80, 0 });
     ok_button->set_preferred_size({ 80, 0 });
     ok_button->set_caption("OK");
     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);
         done(ExecOK);
     };
     };
 }
 }

+ 2 - 1
LibGUI/GFilePicker.h

@@ -8,7 +8,8 @@ public:
     GFilePicker(const String& path = "/", CObject* parent = nullptr);
     GFilePicker(const String& path = "/", CObject* parent = nullptr);
     virtual ~GFilePicker() override;
     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"; }
     virtual const char* class_name() const override { return "GFilePicker"; }