浏览代码

LibGUI: Define supported functions for using command line arguments

Conrad Pankoff 5 年之前
父节点
当前提交
c4da2a49a5
共有 2 个文件被更改,包括 9 次插入0 次删除
  1. 4 0
      Libraries/LibGUI/GApplication.cpp
  2. 5 0
      Libraries/LibGUI/GApplication.h

+ 4 - 0
Libraries/LibGUI/GApplication.cpp

@@ -23,6 +23,10 @@ GApplication::GApplication(int argc, char** argv)
     s_the = this;
     m_event_loop = make<CEventLoop>();
     GWindowServerConnection::the();
+    if (argc > 0)
+        m_invoked_as = argv[0];
+    for (int i = 1; i < argc; i++)
+        m_args.append(argv[i]);
 }
 
 GApplication::~GApplication()

+ 5 - 0
Libraries/LibGUI/GApplication.h

@@ -35,6 +35,9 @@ public:
 
     void did_delete_last_window(Badge<GWindow>);
 
+    const String& invoked_as() const { return m_invoked_as; }
+    const Vector<String>& args() const { return m_args; }
+
 private:
     OwnPtr<CEventLoop> m_event_loop;
     OwnPtr<GMenuBar> m_menubar;
@@ -42,4 +45,6 @@ private:
     class TooltipWindow;
     TooltipWindow* m_tooltip_window { nullptr };
     bool m_quit_when_last_window_deleted { true };
+    String m_invoked_as;
+    Vector<String> m_args;
 };