فهرست منبع

Browser: Add setting to change homepage URL

Marco Cutecchia 4 سال پیش
والد
کامیت
24c243942d
2فایلهای تغییر یافته به همراه18 افزوده شده و 0 حذف شده
  1. 17 0
      Userland/Applications/Browser/BrowserWindow.cpp
  2. 1 0
      Userland/Applications/Browser/BrowserWindow.h

+ 17 - 0
Userland/Applications/Browser/BrowserWindow.cpp

@@ -248,6 +248,23 @@ void BrowserWindow::build_menus()
 
     auto& settings_menu = menubar->add_menu("&Settings");
 
+    m_change_homepage_action = GUI::Action::create(
+        "Set Homepage URL", [this](auto&) {
+            auto config = Core::ConfigFile::get_for_app("Browser");
+            String homepage_url = config->read_entry("Preferences", "Home", "about:blank");
+            if (GUI::InputBox::show(this, homepage_url, "Enter URL", "Change homepage URL") == GUI::InputBox::ExecOK) {
+                if (URL(homepage_url).is_valid()) {
+                    config->write_entry("Preferences", "Home", homepage_url);
+                    Browser::g_home_url = homepage_url;
+                } else {
+                    GUI::MessageBox::show_error(this, "The URL you have entered is not valid");
+                }
+            }
+        },
+        this);
+
+    settings_menu.add_action(*m_change_homepage_action);
+
     m_search_engine_actions.set_exclusive(true);
     auto& search_engine_menu = settings_menu.add_submenu("&Search Engine");
 

+ 1 - 0
Userland/Applications/Browser/BrowserWindow.h

@@ -55,6 +55,7 @@ private:
     GUI::ActionGroup m_search_engine_actions;
     RefPtr<GUI::Action> m_disable_user_agent_spoofing;
     RefPtr<GUI::Action> m_disable_search_engine_action;
+    RefPtr<GUI::Action> m_change_homepage_action;
 };
 
 }