roundabout,
created on Friday, 2 May 2025, 18:05:11 (1746209111),
received on Friday, 2 May 2025, 18:05:14 (1746209114)
Author identity: vlad <vlad.muntoiu@gmail.com>
21e5a134d08b8b6e1b33b3e5d0235b5780815d58
panthera-www.cc
@@ -17,6 +17,7 @@ protected:
std::shared_ptr<gPanthera::LayoutManager> layout_manager; std::shared_ptr<gPanthera::ContentManager> content_manager; Gtk::Entry *url_bar = nullptr; std::string cookie_file = "cookies.txt";static void notify_callback(GObject *object, GParamSpec *pspec, gpointer data) { if(!gtk_widget_get_parent(GTK_WIDGET(object))) {
@@ -60,6 +61,9 @@ protected:
auto page = Gtk::make_managed<gPanthera::ContentPage>(content_manager, stack, page_content, page_tab); g_signal_connect(webview, "notify", G_CALLBACK(notify_callback), page->gobj()); webkit_web_view_load_uri(webview, "about:blank"); auto cookie_manager = webkit_network_session_get_cookie_manager(webkit_web_view_get_network_session(webview)); webkit_cookie_manager_set_persistent_storage(cookie_manager, cookie_file.c_str(), WEBKIT_COOKIE_PERSISTENT_STORAGE_TEXT); webkit_cookie_manager_set_accept_policy(cookie_manager, WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS);stack->add_page(*page); stack->set_visible_child(*page); content_manager->set_last_operated_page(page);
@@ -133,17 +137,7 @@ protected:
auto content_stack = Gtk::make_managed<gPanthera::ContentStack>(content_manager, detach_handler); auto content_stack_switcher = Gtk::make_managed<gPanthera::ContentTabBar>(content_stack, Gtk::Orientation::HORIZONTAL, return_extra_child); content_manager->add_stack(content_stack); WebKitWebView *webview = WEBKIT_WEB_VIEW(webkit_web_view_new());webkit_web_view_load_uri(webview, "https://www.example.com");gtk_widget_set_hexpand(GTK_WIDGET(webview), true);gtk_widget_set_vexpand(GTK_WIDGET(webview), true);auto page_1_content = Gtk::make_managed<Gtk::Box>();gtk_box_append(page_1_content->gobj(), GTK_WIDGET(webview));auto page_1_tab = new Gtk::Label("Page 1");auto page_1 = Gtk::make_managed<gPanthera::ContentPage>(content_manager, content_stack, page_1_content, page_1_tab);auto page_2_content = Gtk::make_managed<Gtk::Label>("Page 2...");auto page_2_tab = new Gtk::Label("Page 2");auto page_2 = Gtk::make_managed<gPanthera::ContentPage>(content_manager, content_stack, page_2_content, page_2_tab);WebKitWebView *webview = WEBKIT_WEB_VIEW(webkit_web_view_new()); // for some reason, this has to be createdcontent->set_name("content_box"); auto content_notebook = Gtk::make_managed<gPanthera::ContentNotebook>(content_stack, content_stack_switcher, Gtk::PositionType::TOP); content->append(*content_notebook);